BalsamV is a library and editor for the binary file used by HCE to store the profile configuration. It reads the saved values and allows the editing of them. The main advantage is more freedom over setting values, including name hacks and custom resolutions without refresh-rate locks.
This project is currently a work progress. At the moment, all values can be edited except:
- KBM/Controller Input mappings
- Video gamma value
- Video refresh rate
- Sound EAX/HW Acceleration
- Download & run the executable.
- If a HCE profile exists, it will automatically be loaded. If not, please
click on
Load
and select yourblam.sav
[1]. - Edit the values accordingly, then click
Save
.
[1] - The blam.sav
binary can be found in <personal hce data>\savegames\<profile name>\blam.sav
.
The following documentation covers both the blam.sav
and lastprof.txt
files,
and the BalsamV library.
Considering that the blam.sav
binary contains a lot of properties, the BalsamV
library and documentation has been split up into three categories. Refer to the
following development documentation for information on the various sections
blam.sav
binary:
Document | Topics |
---|---|
BalsamV.Profile | Profile name and player colour. |
BalsamV.Settings | Video, audio and network settings. |
BalsamV.Input | Keyboard, mouse and controller mappings. |
- The last accessed HCE profile can be deduced by parsing the text data of the
lastprof.txt
file. - The text file in question is officially located in
Documents\My Games\Halo CE
. - BalsamV validates the inbound
lastprof.txt
data by checking for thelam.sav
suffix[1].
[1] - Yup, the lack of b
is deliberate!
- The
blam.sav
integrity is verified by HCE on process initiation by checking the CRC32 hash stored at0x1FFC
. - The hash is stored as an unsigned int32, with the value being the bitwise
complement of the CRC32 of
blam.sav
data range from0x0000
to0x1FFC
.