| 07-15-2009, 08:10 PM | #1 |
Hi all, I'm working with a team to develop a map, and I started using an SVN simply to keep separate versions backed up on an online file server. I discussed with some friends the options for have version control with a warcraft3 map, and we did not come to convenient solutions. Does anyone have a nice solution for version control and/or trac with warcraft3 maps (.j files, soft copies of GUI triggers, etc.)? Replies are greatly appreciated. |
| 07-16-2009, 04:02 AM | #2 |
I had the same case where I planned to make a map in collaboration with many peoples, so I used SVN to controll the acess to modify the map and its versions. However, subversion is designed to handle lots of text files, and not a single binary warcraft map. One option would be upload to the repository the many files that are inside the MPQ of the map. Instead of have SVN tracking the modifications only in a single .w3x file, I have it controlling each piece of the map, the terrain, the GUI triggers, OE changes. So, for example, if a editor do a modification in the terrain, it will not conflict with another that is only modifying some triggers, the two can be editing different parts of the map, and will be able to update their changes to the repository whithout a collision. To automate the process of extracting the war3map.* inside the map MQP and sending (commit) they to the repository, plus to get (checkout) this many files in a working copy and repack them in to a .w3x map, I did a small toll where each editor would use it to download the last version of the map, make any edition, and upload it back to the repository. It is written in C++ using MFC framework, just send me a PM if you want the source. To test it, just input any user/password and press the button below to checkout a copy of the map. It will be saved in the same directory of the program, also there will be folders named jass (.j imports), scripts (lua scripts), imports (resources imports), docs (whatever need to be shared among the editors) and a administrative hidden folder, bfomap. This link show you what files are in the repository under SVN version control. Finally, to the program work, it needs to be intalled in your computer a subversion client which runs through the command line (DOS). So just install the CollabNet Subversion Command-Line Client v1.6.3 (the second link) |
| 07-16-2009, 05:00 AM | #3 |
JassHelper has some sort of //! import command or something that allows it to import scripts from outside of the map. Just place something like //! import Main.j in the map script and place all files outside of the map to allow for external coding. You'll have to find your own solution for sharing other things. |
| 07-16-2009, 08:58 PM | #4 |
It seems that Midiway's process is the best that I'm going to find. Thanks, but no thanks for the source code. I would much rather write my own packer/unpacker of the .w3x. Thanks for explanation of your past experiences! |
