| 12-21-2004, 02:31 AM | #1 |
1. Goal: Allow for faster editing of units/abilities/spells/etc. Okay my idea - open an exported object file from a map. Open that file and parse it, convert each object as an object class, which would have a pointer at the end, pointing to the next object. (linked list) Allow for some sort of user editing. If things go well, then more values could be changed in this editor than the other editors (change ability type to/from aura/spell/etc., or add more fields to the object). Lastly, convert the edited list back into an object list which can be imported into a map. I don't even know what the object export would look like, so I know I'll need help doing this, if I decide to do this. I personally think I'll probably get frustrated before I'm done, and doubt I would be a good person to work on this project, but I could help (but I don't want to be the lead programmer). 2. Random map generator I know the maps are compressed slightly with what I think is the standard zdeflate. So I at least know some structure. Goal: Random map melee map generator like there was for WCII. The program would require a whole ton of input to know what to do. How many levels, base level, cliff/land/water (water map, land map, air map), randomness to hieght map, abundence of gold/wood, umm, yeah... This is a large project, but I'm hoping there are some other people who have a lot of time (not just the winter holidays like me (college student)). So I guess start by constructing the different layers *texture, *terrain, *units (trees, mines), etc. Then slightly compress it so it looks just like a normal map. If anyone is the slightest bit interested, please try and gather as many people as possible. I do not want to lead either project, but I would gladly write some functions (assuming it is writen in C, C++, C#) Hey thanks for reading this. My hopes are rather low, so don't be afraid to squash them. |
| 12-22-2004, 10:01 AM | #2 |
I like both ideas, and both couldn be quite easily done without too much programming knowledge. First off I'm glad that some people are still willing to program tools for the mapping community. Regarding your first idea: All you will need is file format specifications for slk-files (tables used by war3), the object editor generated files (w3u, w3a, w3t, w3b and so on) and know how to handle ini files (because the txt files used in war3 are just like ini files). For specifications use the following document: http://umswe.wc3campaigns.com/specs/insidethew3m.html I'll explain the structure using abilities as an example: -Get the meaning of each field from Units\AbilityMetaData.slk and their description from UI\WorldEditStrings.txt (using the WESTRING_ references from the meta data file -Read all abilities from Units\AbilityData.slk, also extract all additional information about abilities from Units\*AbilityFunc.txt and Units\*AbilityStrings.txt now you've got the standard settings for all abilities -Read the war3map.w3a file from the provided map and apply all changes to the standard settings that are defined in there -to save changes you'll have to compare each value with the standard values and compile all changes into a new .w3a file (or maybe it's easier to keep a boolean for each control, if it has been changed) Regarding additional functionality: There's not much that can be added, because the fields that can be changed are limited through the field definitions in the meta data file. But you can at least enable the hidden abilities (like move, attack, Aloc ...) for editing Also you could add splat editing (and generate new Splats\*.slk files). Regarding the other idea: the random map generator would be a bit harder I guess. All the specifications you need can be found in the above mentioned document (.w3e, .doo ...) |
| 12-30-2004, 10:18 PM | #3 |
Hey, thanks. |
