Releases: RockmanEXEZone/chaudloader
Releases · RockmanEXEZone/chaudloader
v0.8.0
- Breaking API change: functions that return strings representing binary data now return
Buffer
s. You shouldn't need to do anything, unless you were previously manipulating string data, in which case you should switch to theBuffer
API. - Breaking API change:
chaudloader.util.edit_msg
no longer uses the returned table for editing: you must mutate the input table instead. You shouldn't need to do anything, as it is unlikely you were not just directly mutating the input table. - Breaking API change:
chaudloader.util.merge_msg
no longer returns the merged msg. You should make sure you were not using the return value ofmerge_msg
. - API documentation has been moved into API.md.
- New
Buffer
API for more user-friendly binary data editing. Please see API.md for more information on the Buffer API. - Functions are now grouped into relevant namespaces (e.g.
chaudloader.pack_msg
->chaudloader.msg.pack
). Compatibility shims are provided incompat.lua
and automatically loaded. Most code even from v0.1 should work, as long as you haven't been inspecting the strings directly. - Friendlier Linux installer launcher, thanks to @ArthurCose.
v0.7.1
v0.7.0
-
exe .dats are now lazily repacked: if you don't start a game, they will not be repacked.
-
Add support for unpacking msgs from mpaks via
chaudloader.unpack_msg
andchaudloader.pack_msg
. -
Mpak.to_raw
renamed toMpak.pack
. -
Added
chaudloader.util
library for directly importing TextPet patch msg format, as well as other convenience functions, e.g.:local exe6 = chaudloader.ExeDat("exe6.dat") chaudloader.util.edit_mpak(exe6, "exe6/data/msg/message_eng", function (mpak) chaudloader.util.merge_msgs_from_mod_directory(mpak, "msgs") end)
v0.6.2
v0.6.1
v0.6.0
ENV
has been renamed toGAME_ENV
.game_volume
has been renamed to justname
.MOD_ENV
has been added for mod introspection.- Lua C libraries can now be loaded via
require
. This is preferred overchaudloader.unsafe.init_mod_dll
, as it allows Lua code to call C library functions directly instead of passing a marshaled blob. - Lua is now dynamically linked. The archive also comes with the Lua headers and import library the DLL was compiled with, for building Lua C libraries.
- The installer now provides manual instructions for installing if the automatic installation doesn't work (e.g. on Steam Deck).
v0.5.0
- Added
requires_loader_version
toinfo.toml
for compatibility checking. - Added
chaudloader.ENV
to get information of the environment the mod is running in. - Added
chaudloader.Mpak
for parsing mpaks. - Mods that use
chaudloader.unsafe
must now indicateunsafe = true
in their info.toml. - Moved
init_mod_dll
tochaudloader.unsafe.init_mod_dll
. ChaudLoaderInit
should now be namedchaudloader_init
.
v0.4.0
For users
- By popular demand, bnlc_mod_loader is now known as chaudloader.
- New setup tool! Just run
install.exe
!
For modders
init.dll
will no longer automatically be loaded, you must usechaudloader.init_mod_dll
to load a DLL. An additional unstructured buffer may be passed to the DLL init function namedChaudLoaderInit
.- New
chaudloader
API (see README.md for more information). Thebnlc_mod_loader
API will continue to work fine. - Some support for packing/unpacking mpak files.
v0.3.0
write_dat_contents
andread_dat_contents
renamed towrite_exe_dat_contents
andread_exe_dat_contents
.- Temporary files are now cleaned up on restart, to avoid leaving files everywhere on your computer, and are no longer copied around a second time. However, the monkey's paw dictates that temporary files are now no longer cleaned up normal exit. Temporary files are stored in
%TEMPDIR%\bnlc_mod_loader
. read_exe_dat_contents
will now fail if the dat file to load from doesn't exist.