Repository navigation
Releases
Releases · Adrestie/WoW-mods-installer
Mod-Installer V1.13
- Conditional parts (
partsin installer.json): a module can carry packages that are installed only while their condition holds, for nowrequires.classes(each class a row ofChrClasses.dbc, checked in the game and on the server). They are re-evaluated after every install, update or removal of any module: a part goes in when its classes appear and goes out when they disappear. Removing a module removes its parts first. Check and--statusshow each part's state. See MANIFEST.md, sectionparts. owned_idsas ranges: a DBC entry'sowned_idsmay be a list of[first, last]pairs, for a module given more than one identifier block.
Mod-Installer V1.12
- a package without server module (
"server_module": false) may declarebeforestatements indatabase: they run on removal, before its rows are deleted, and undo what its SQL changed in rows that are not its own (a flag on a game creature, for instance). Module tables stay refused for such a package. - removal runs a
beforestatement on a table the module lists neither intablesnor inrows(it was skipped)
Mod-Installer V1.11
- new Compact... button (bottom right of the window) and
--compact [patch-Y] [--yes]in the console: rewrites the chosen custom patch archives with only the files they hold, giving back the space left by removed and replaced files. The game reads exactly the same files. Patch Z is selected by default, a backup is offered (ticked), and only the game needs to be closed. - new manifest key
dependencies: warns at install when a required module is missing, and at removal when other modules depend on this one - new manifest key
server_data: copies maps, vmaps and mmaps files into the worldserver's Data folder and puts back the files they replaced on removal
Mod-Installer V1.10
- new Update mode: reinstalls an installed module (the "Update" button, or
--update --yesin the console) and keeps the players' data: the database rows the module markskept_on_updatestay in place - the module's
.confis merged: settings changed by the server owner are kept, new settings are added - Wow.exe patches and the components shared with other modules are kept as they are during an update
Mod-Installer V1.9
- modules install and uninstall on any client, whatever its languages:
Data\patch-Z.MPQserves every language read before Data, and each ruRU, zhCN or zhTW folder present gets the same content in itspatch-xxXX-Z.MPQ; the installer no longer asks for or reads the game's language - the players get the module's texts in the language of their client: each translated text is written for every language, in English where the module has no translation yet
- a DBC file copied whole from another archive serves every language of the game; conflicts and leftovers are searched in every language
- conflict with another mod: the window names the other mod's archives that hold the conflicting items and offers "Disable the other mod...", which renames them
<name>.disabled(this does not uninstall that mod); in the console,--statusreports it and--disable-modswith--yesdoes it - "Remove leftovers" is no longer offered when nothing it could remove stands in the way
- every text of the window can be selected and copied (Ctrl+A, Ctrl+C, right-click Copy)
Mod-Installer V1.8
- each module's manifest declares the folders it needs (
fields): required, or optional with the reason; the window shows the module folder, then the required folders in one panel and the optional ones in another, under what they add to the module; a folder the module does not use is not shown (a server-only module no longer asks for the game, a module without database no longer asks for MySQL) - an optional worldserver folder may be left empty, by a player who does not run the server: only the game part goes in, without the DBC rows and SQL that need the server; in the console,
--server ""leaves it empty - a package without server module may carry database rows: the installer applies its SQL itself and removes those rows
- shorter notes and state texts in the window
- a manifest without
fieldsis refused: use the current version of each module (all WoW-mods modules carry it)
Mod-Installer V1.7
- writes everything into one archive, the one the game reads last: Data\patch-Z.MPQ, or patch-xxXX-Z.MPQ in the language folder for ruRU, zhCN and zhTW clients; another mod's archive is never written into
- reads the archives in the game's real order (fixes ruRU, zhCN and zhTW clients)
- refuses, before writing anything, when that archive is full or when the game reads one of the module's DBC files from an archive read after it
Mod-Installer V1.6
- fixes "Achievement_Criteria.dbc has 28 fields, 31 expected: unexpected client version": an older DBC in an archive the game does not read it from (locale-xxXX.MPQ of 3.0, another language's folder) no longer stops the installer
- when the file the game reads has another layout, the message names its archive, and the archives the installer cannot open
Mod-Installer V1.5
- detects when a mpq is full and create patch-z.mpq
- if patch-z.mpq is full, nothing can be done
Mod-Installer V1.4
- Only the archives the game loads count. In
Data: the base archives,patch.MPQ
andpatch-?.MPQ(one character). In the language folder: its base archives,
patch-xxXX.MPQandpatch-xxXX-?.MPQ. The installer never writes into any other
.mpqfile, such aspatch-enUS-Z.mpqon a German client. What a module left in one
is still removed. - Wow.exe check of interface files. A module that changes
Interface\GlueXMLor
Interface\FrameXMLmakes the game quit at start ("login UI files are corrupt")
when Wow.exe still checks those files against Blizzard's signature. When Wow.exe
3.3.5a (build 12340) does, and WarcraftXL is not loaded, the installer offers to
patch it: 2 bytes per check, after a copyWow.exe.wow-mods.bak
(--patch-wow-exein the console). Removal puts the original bytes back. An
unknown Wow.exe is refused. - Backup of the game archives. Before an archive changes, at install and at
removal, the installer offers to copy it beside itself
(<name>.backup-<date>-<time>), ticked by default (--no-backupin the console).
It first checks that the drive has room for the copies and the data to write.