About This File
Version 2.0 is under development at the moment. Repo: https://github.com/Amaroth/GobGenerator2
- Change UI to WPF
- Provide configuration options via XML (thus extending compatibility)
- Direct DBC editing (without need of conversions to CSV)
- Include features ensuring avoidance of duplicate display and gameobject creation
- Extend possibilities of choosing what gets generated and what not
Yet another little tool from me. This one creates gamobject displayIDs and template gameobjects out of listfile, which means that it can create thousands of gameobjects in a few seconds - great for projects making their custom models and retro-porting them from newer expansions. Listfile can be anything containing full paths to files separated by line breaks. It creates gameobjects only for M2 and WMO files, others are ignored. Tool also generates template gameobjects with their model names as names (and optional prefix/postfix), which means that generated models are easily recognisible and that when you find nice-looking model in WMV and want to use it for spawn or for creating some gameobject you need, you can find that gameobject's template generated version just by typing its name into lookup command. This makes this tool viable even for usage on models which already are in WotLK client, as it makes life of spawners much, much easier.
- Generate your GameobjectDisplayInfo's CSV file and put it into directory where GobGenerator is.
- Get or create a listfile. The easiest way of doing so is simply creating an MPQ with all models you want to have gameobjects made of and just extracting its listfile. Note that you can also use listfiles of blizzlike MPQs, if you want to generate gameobjects for all blizzlike models as well.
- Open GobGenerator. Select input listfile (you can also type into model path field, which makes using larger number of listfiles with similiar names in the same path very easy).
- Fill in your database credentials. You may want to test a connection before proceeding.
- Start displayID is being taken from your GameobjectDisplayInfo.dbc (its 1 higher than the highest ID found in DBC). If you happen to see value 1 here, something is really wrong and check if your CSV is OK and in GobGenerator's directory.
- Start entry is by default 400000 and I'd suggest you to keep it that way. There are some gobs on 300000+ entries in blizzlike TC2 DB, thats why I've used 400000. Final entry of generated gameobject will be start entry + gob's displayID. This means that gob with displayID 96835 will have entry 496835 - and that can be sometimes very handy.
- Fill in prefixes and postfixes of gob names. Don't forget to add space behind prefix and in front of postfix, if you want to have it there. Gob's name will be prefix + its model name + postfix. So, if you choose "[Gen] " as prefix and " [DO NOT EDIT]" as postfix, result gob name might be something like "[Gen] mymodel.m2 [DO NOT EDIT]".
- By default INSERT queries are being used, which means that if any gameobject entry is already taken in DB, it will result in error. You can choose REPLACE, which will overwrite whatever might be on entries where gameobjects are to be put.
- Done, click on generate. If you have multiple listfiles, just select the 2nd one and click on generate again and so on.
- If anything goes wrong while SQL queries are being executed, those which weren't successful are being held in a backup file. There is also a file which keeps all possible SQL errors.
Thats all, C# src is, as always, included, and DBC to CSV convertor DBCUtil I use for this kind of quick tasks as well. If you happen to find any critical bug, let me know, but I don't really have a spare time to make source nicer or something like that, so report really only issues with functionality itself.