- Typed event initializations. This makes the number and types of parameters match for an init and its event. Typed inits support many features that regular instructions have, like autocomplete, tooltips, and doc box info for all arguments. They look like this:
// Before (note: this syntax is still fully supported)
$Event(73791090, Default, function(X0_1, X1_1, X2_1, X3_1, X4_4, X8_4, X12_1)) { ... });
InitializeEvent(0, 73791090, 2633277, 2046402020, 1069547520, 4);
// After
$Event(73791090, Default, function(areaId, blockId, regionId, indexId, destEntityId, delayTime, weather) { ... });
$InitializeEvent(0, 73791090, 61, 46, 40, 0, 2046402020, 1.5, Weather.Fog);
To use it, params must have correct padding and all usages of a param must have the same type and width. Inits for events in different files like common_func.emevd.dcx
are supported. See https://soulsmodding.wikidot.com/tutorial:mattscript-documentation#inits for details.
Existing files can be converted with "Edit > Preview Conversion to MattScript", but note this effectively compiles then decompiles the file, so it will be reformatted. Just in case, make sure to carefully check the diff and backup/version-control the files.
- Full support for AC6: https://soulsmods.github.io/emedf/ac6-emedf.html. Note that several unused event scripts have command usages which are incompatible with those actually used by the game, so these are automatically fixed on decompile.
- Event names for Elden Ring and AC6 based on the spreadsheets. These are added to new and converted files automatically.
- More robust command line interface. Use
DarkScript3.exe /cmd -help
- Add textbox to filter the map list when a file/project is open.
- Support both DSMapStudio and Smithbox for fetching game metadata, in all games, not just Elden Ring.
- Fix ER DLC event ids being unpacked as signed ints when they need to be unsigned ints.
.NET 6.0 Desktop and ASP.NET Runtimes are required. Download them from https://aka.ms/dotnet/6.0/windowsdesktop-runtime-win-x64.exe and https://aka.ms/dotnet/6.0/aspnetcore-runtime-win-x64.exe
Contributors: @thefifthmatt