Skip to content

HCE Profile Binary Editor.

License

Notifications You must be signed in to change notification settings

MirisWisdom/HCE.BalsamV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

HCE.BalsamV

HCE Profile Binary Editor

Download

Introduction

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

Usage

  1. Download & run the executable.
  2. If a HCE profile exists, it will automatically be loaded. If not, please click on Load and select your blam.sav[1].
  3. Edit the values accordingly, then click Save.

[1] - The blam.sav binary can be found in <personal hce data>\savegames\<profile name>\blam.sav.

Documentation

The following documentation covers both the blam.sav and lastprof.txt files, and the BalsamV library.

Binary Properties

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.

Profile

  • 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 the lam.sav suffix[1].

[1] - Yup, the lack of b is deliberate!

Checksum

  • The blam.sav integrity is verified by HCE on process initiation by checking the CRC32 hash stored at 0x1FFC.
  • The hash is stored as an unsigned int32, with the value being the bitwise complement of the CRC32 of blam.sav data range from 0x0000 to 0x1FFC.