Skip to content

WoW modding tool for mass-generating gameobjects and their displayIDs quickly and easily.

Notifications You must be signed in to change notification settings

Amaroth/GobGenerator2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GobGenerator 2.0 test3 pre-release

Application can be used for two purpouses, both include mass imports of new gameobjects into gameobject_template (or table with similiar function, if you use different emu).

Supports:

  • Client - 3.3.5 (in theory should work for everything between 3.0.3 and 5.4.7 though)
  • Emu - TC2 release 335.63 (and probably most of if not all previous releases, and most of if not all of other emus as well, as long as they use MySQL)

Listfile > DBC > Database

If you want to follow this pipeline, provide a listfile to application. Any file with line-break-separated file paths will do, (listfile) file exported from MPQ(s) is recommended though. If you have many models for import, insert them into an MPQ file and then export its (listfile). Note that only paths ending with .wmo, .m2, .mdx and .mdl are used from input file, other lines are ignored. MDX, MDL and M2 extensions are interchangeable and all are considered to be M2 in this tool. For WMOs, tool does filter out only root ones (so example_000.wmo will be ignored, while example.wmo will not).

Continue by providing the following input data:

  • GameObjectDisplayInfo.dbc - gameobject displayIDs will be generated here.
  • File types - change in case you want tool to fully ignore either M2s or WMOs.
  • Host - IP/domain name of your MySQL server.
  • Login - for MySQL.
  • Password - for MySQL.
  • Database name - change only if you use different name than world for your world database.
  • Table name - change only if creature_template is for whatever reason named differently in your database.
  • Port - 3306 is default for MySQL, change only if you are running on different port.
  • Start displayID - use the one suggested by tool (it finds next free one in DBC authomaticaly) or higher, you should never use lower than originaly suggested. Start displayID is suggested after selecting DBC (and after generation).
  • Base gob entry - round number with at least 1 more digit than your displayIDs are is recommended, final entry will be baseEntry+displayID (so for baseEntry 400000 and displayID 12345 will be generated gameobject with entry 412345 - its neat-looking and provides quick search for displayID in game options).
  • Name prefix and name postfix - final gameobject's name will be prefix + file name (from its path) + postfix, so for example [Gen] model.m2 [Do not edit].
  • Data import method - INSERT will ensure that no data already in existence will be lost. If you are sure that there is nothing within range you are going to use (f.e. by using Check for collisions button) or that you can or even want to overwrite whatever is there, use REPLACE.
  • Avoid duplicates - check this if you don't want to have tool generate displayIDs for file paths which already exist somewhere in DBC. By using this, you avoid having multiple displayIDs (and generated gameobjects) for the same models. When all this input is provided/checked, you can either Check for collisions to find out what your entries and displayIDs will be and wheter there aren't any collisions occuring, or Generate data.

You can save all data you filled into window by Save settings button, so its used as default settings when tool is run again. You can choose wheter your password is to be saved, too, or not. Note that both login and password are being saved encrypted.

DBC > Database

If you don't want to actually create new displayIDs, but only want to create generated gameobjects for already existing displayIDs, provide GameObjectDisplayInfo.dbc, file types, MySQL connection information, INSERT/REPLACE method. If you want to, you can specify the first and the last displayIDs to choose range from which displayIDs for gameobject generation will be taken - by default its 0-16777215(max possible displayID).

Then click on Only displayID > Gob button. Tool will go through specified range, pick either M2s, WMOs or both, generate gameobjects for them and either INSERTs or REPLACEs them into your database.

Customization via configs

This part can be ignored by everyone who doesn't have compatibility issues with his emulator's database, or who isn't unhappy with default values set to gamebjects or displayIDs generated by this tool.

If you want to change the way application behaves without touching actual code, you need to modify configs. M2 and WMO SQL configs store configuration for generated gameobject data. Change inner text of elements Entry, DisplayID or Name if any of these 3 fields have different than default (TC2 335.63) names in your database.

You can also change values and add elements under element DefaultValues. For every single element in this part, value provided in its inner text will be inserted into field specified by element's name. Because there are two separate config files for M2 and WMO, you can specify different values for both. By default both M2 and WMO get only type field set, 5 is used for M2 and 14 is used for WMO. If type field is named in different manner in your database, rename element. If you want to use different types, change values within elements.

Other fields than entry, displayId and name have default values set in gameobject_template's structure in MySQL (for TC2 335.63), and those are either 0 or "". So unless you want to change those default values without actually touching your database's structure or unless some of other fields have no default values set (and you don't want to set them, for whatever reason), you can use this part, too.

For DBC data output configuration, use DBC configs. I can't imagine anyone ever using those, but if you do, change ONLY inner text of elements. Touching actual name of elements will only break them, and application won't be able to read them.

Releases

No releases published

Packages

No packages published

Languages