D2RLoader 1.0.0-beta
This is a large update focused on mod creators, especially anyone updating mods for D2R 3.0+. It adds a proper in-game options panel, a developer console, d2rl mod integration tools, JSON patches, and a cleaner folder layout for D2RLoader-integrated mods.
This release is also a breaking update for old alpha plugins. They will need to be migrated, but updating is recommended to get access to the new config system, plugin API changes, Memory patch support, crash dumps, and debugging tools.
Highlights
- Developer console
- Live reload of excel files
- In-game D2RLoader Options panel
- In-game mod selection with optional restart
- D2RLoader mod integration through the d2rl command
- JSON Memory patch support for simple DLL-less patches
- Native WASD movement
- Softmoddable fonts
- Larger localization Memory limits
- Fixes for stash-heavy mods, rendering issues, monster levels, and D2R 3.2
Changelog
General
- Configuration files now use .toml.
- D2RLoader mod configuration files are now stored in <mod>/d2rloader.
- Previously stored in <mod>/mod.mpq/d2rloader.
- All D2RLoader configs, logs, and plugins now live under the d2rloader folder.
- When updating, it is recommended to delete the old D2RLoader.ini and logs folder.
- Alpha plugins are no longer compatible and must be updated.
- Plugins now support two modes: Native Hooks and D2RLoader API.
- Native Hooks is currently the only usable mode. In the future, plugins may be able to use the D2RLoader API mode for fewer conflicts.
- Added text_locale and audio_locale support.
- Added partial .mpq support.
- Increased save file size support to 32 KB.
- Restored the 30-day login check.
- This was never meant to be broken.
- Replaced the default main menu with the D2RLoader main menu.
- Mods are unaffected.
- Added set_materials_limit for the advanced stash tab.
- Added display_item_levels to show item levels.
- Added write_crash_dumps to help debug crashes.
- Added Ctrl/Shift-clicks to move through extra stash tabs faster.
- Added proper "failed to join" fatal error messages, similar to Legacy Diablo II.
- Added D2RLoader Memory patch support.
- Mods can now include DLL-less JSON patch files in <mod>/d2rloader/patches.
- Plugins can also apply runtime patches through the D2RLoader plugin API.
- WASD movement is now supported natively.
- Fonts are now softmoddable.
- Drop fonts into data/hd/ui/fonts to have them loaded.
- Increased STRING_MEMORY_SIZE from 1.3 MB to 16 MiB.
- Increased KEY_MEMORY_SIZE from 460 KB to 8 MiB.
- This allows much larger modded localization files.
- The Game Creation button is now used for D2RLoader Options.
- This opens the in-game D2RLoader configuration panel.
- Added the General tab.
- Added the Gameplay tab.
- Added the Extensions tab.
- Added the About tab.
- Added controller support to the D2RLoader options panel.
- show_tcpip_button now reloads panels when applied in-game.
- Mods without D2RLoader integration will have their Game Creation button replaced by D2RLoader.
- If the mod removed the button, D2RLoader will add its own below the Play button.
- Added in-game mod selection, with an option to automatically restart the game after changing mods.
- Fixed health and mana display issues above 16k.
- Fixed some issues with in-game event messages.
- Fixed an issue where the renderer showed invalid textures.
- Fixed the Loot Filters panel being broken on 3.2.
- Fixed a regression where monster levels were restricted to an int8.
- Fixed a crash caused by stashes with too many items.
- Fixed a renderer Memory issue caused by too many stash pages.
- The game uses a proxy unit for each page, then tries to create a valid model for each one, which can exhaust renderer Memory (???)
- Partially fixed issues with Bind Demon.
- This will be fixed in a future update. For now, mod authors should use the 3.1 monpet calc.
- Added a developer console with history support.
- Press Ctrl + ` to open it.
- enable_console must be set to true in d2rloader.toml.
- cheat — Run a cheat. Use help cheats for the full cheat list.
- class — Set the player's class.
- clear — Clear the console output.
- clearcorpses — Remove nearby corpses and dead-unit test data.
- clearitems — Remove nearby Ground items.
- color_test — Show all D2R console text colors.
- cubeinputs — Spawn Horadric Cube recipe input items.
- debug — Control debug mode and tools. Use debug keybinds for debug controls.
- exit — Exit the game.
- fps — Toggle the FPS display.
- goto — Warp the player to a level ID/name, with optional coordinates.
- god — Toggle invincibility, stamina, and mana cheats.
- heal — Restore current health to maximum.
- help — List commands or show detailed help for a command/topic.
- op — Grant cheat operator permission to an in-game player.
- deop — Revoke cheat operator permission from an in-game player.
- d2rl — Create and maintain D2RLoader mod integrations. Use d2rl init, convert, update, or unpack.
- patches — List D2RLoader Memory patch status.
- plugins — List D2RLoader plugin status.
- reload — Reload data/global/excel TXT tables.
- revealmap — Reveal the current map.
- version — Show the D2RLoader version.
- init <mod_name> — Create a new mod folder with D2RLoader integration.
- Created at <game>/mods/<mod_name>.
- convert [mod_name] — Add D2RLoader integration files to an existing mod.
- This helps prepare a mod for D2RLoader. It does not automatically fix unsupported or outdated mod files.
- update [mod_name] — Restore missing D2RLoader files and verify D2RLoader metadata.
- unpack [mod_name] — Unpack D2RLoader's bundled reference data.
- PageUp — Pause
- Insert — Freecam
- K — Show level info.
- L — Show path info.
- 0 — Change time.
- 9 — Change environment cycle.
- , — Show logical room information.
- . — Show tile coordinate information.
- Ctrl + Mousewheel — Camera zoom.
- Home — Autoreveal map.
- End — Reveal units on the map.
- Live editing for Skills.txt, MonStats.txt, and Missiles.txt.
- Unit Inspector.
- Skills, stats, models, states, and pets.
- Monster Spawner.
- Item Spawner.
- Teleport tools.
- Cheat controls.
- Combat Log.
- Treasure Class debugger.
- Desecrated Zones debugger.
- Physics debugger.
- Renderer debugger.
- UI debugger.
Changelog
General
- Added Korean localization for D2RLoader.
- Contribution by 엽굵 (YupGoolg).
- Added assert history to crash reports.
- Added a way for mods to disable debug tools and cheats.
- Create an empty file named .DISABLE_DEBUG in data/global/.
- This is especially useful for mods shipped as a single <mod>.mpq.
- Overridden gameplay options are now shown correctly in the D2RLoader options panel.
- Assertions are now fully ignored when both the console and assert dialogs are disabled.
- If only the console is disabled, unique assertions are kept in the background until the console is opened.
- Fixed issues with the regional CN build of D2R.
- Fixed FPS issues caused by looped assertions being formatted repeatedly.
- Fixed a potential crash on fresh installations.
- Fixed MPQ UI layouts not being resolved correctly.
TOM_RUS
3