Double Pene
So your version changing actually works correctly now? Is there a way I could fix it in my exe in the mean time before OS gets released?
Printable View
Double Pene
So your version changing actually works correctly now? Is there a way I could fix it in my exe in the mean time before OS gets released?
I'd like to know if in BlamLib there's a way to check if a map is protected before opening them. I just added a test class for cache extraction, and am seeing what can be done about that particular thing.
Edit: Also, I'm interested in FP animations... does anyone know if there's a way to find out what animation is playing?
I haven't integrated the rolling-version-changer stuff into production code yet. I'd recommend writing a simple C# app that applies the changes you make so you're not releasing dedi.exe after dedi.exe...(and that allows you to change the app's build info too, so people know when it's old or new)
I've never dealt with protected maps using BlamLib (other than Reach) so there's no support for it in Halo1. I know I asked Steelix to make the first tag instance's (so, the scenario) group tag to be 'prot' but that was only for OS's sake. If he flags the map as protected somewhere in the cache header then I can see about adding support for them. If the only "flag" is that 'prot' thing I asked for way-back, then it will take some tweaking/hacking to the tag header/instances loading code.
I just compiled the Guerilla portion of the OpenSauce HEK project, and I have the dll file that Visual Studio built, but I can't seem to find a way to build the CheApe program (That or find it at all in the OpenSauce directory or the Halo CE directory)
How would I get CheApe?
CheApe is basically the codename for the editing kit modifications, just like how Yelo is for the game engine modifications. There's the native CheApe dlls (which you built) which are loaded by OS "enabled" HEK programs. Then there's the CheApe interfaces in OpenSauceIDE. The thing you want is "CheApe Applier" under the Tools menu. Click it, select Halo1_CE as the engine in the popup dialog, then specify all the paths. It will then apply the changes needed to copies of the selected source HEK exes (eg, tool and/or guerilla and/or sapien) then output the results to the specified directory.
Note: Just think of the native CheApe dlls as the CheApe runtime and the interfaces provided by the OpenSauceIDE as the CheApe SDK (tools).
From there you can use the main CheApe interface in OpenSauceIDE to build tag_groups.map cache files. You'd again select Halo1_CE as the engine in the popup dialog then use the CheApe project editor to build your additional editor data that will be used by the CheApe runtime proper.
To give some history on CheApe: It initially began (around this same time, back in 2006) as a Guerilla-only modification as sort of a proof-of-concept for allowing designers to document tag definitions. I started off with only allowing new tag groups to be defined (instead of overriding existing ones, which is what a designer would need the ability to do in order to markup the tags with their own comments and such) and went from there (never really did work on allowing it to override existing tag groups since it was no longer a PoC project). Eventually I added tool and sapien support and eventually added support for things besides custom tag groups (eg, custom scripting definitions and HEK EXE fixups). I kept the tag_groups.map name just for legacy's sake, though I probably could have gone with "CheApeCache.map" or whatever instead.
He can't compile LowLevel.dll, his boost set up is borked or something.
After applying the changes to the regular HEK exe's using OpenSauceIDE, the following occurs:
1. OS_Guerilla fails to load. It opens for one second before automatically closing. debug.txt shows the following:
2. OS_Sapien has no problems. Works as intended.Code:03.05.11 20:30:56 guerilla pc 01.00.09.0620 ----------------------------------------------
03.05.11 20:30:56 reference function: _write_to_error_file
03.05.11 20:30:56 reference address: 4011a4
03.05.11 20:30:56 EAX: 0x004E121A
03.05.11 20:30:56 EBX: 0x77656101
03.05.11 20:30:56 ECX: 0x00000000
03.05.11 20:30:56 EDX: 0x00000000
03.05.11 20:30:56 EDI: 0x0018F1F8
03.05.11 20:30:56 ESI: 0x00000000
03.05.11 20:30:56 EBP: 0x0018F0D0
03.05.11 20:30:56 ESP: 0x0018F0C0
03.05.11 20:30:56 EIP: 0x77B50BD2, 83 C4 04 C2 ?????
03.05.11 20:30:56 EXCEPTION halt in \halopc\haloce\source\memory\data.c,#544: data
3. When called upon by Command Prompt, OS_Tool shows commands up to "import-device-defaults" before spitting out an error:
Any idea on what this would mean?Code:EAX: 0x00000000
EBX: 0x0060F601
ECX: 0x00000000
EDX: 0x00000000
EDI: 0x0018FB40
ESI: 0x00000000
EBP: 0x0018FA18
ESP: 0x0018FA08
EIP: 0x77B50BD2, 83 C4 04 C2 ?????
EXCEPTION halt in \halopc\haloce\source\cseries\debug_memory.c,#160: Attempted an operation with pointer at 0x6e2cf0 when no pointers have been allocated. (\halopc\haloce\source\tag_files\tag_groups.c:2637)
Edit: Dwood helped me with this problem, you need the CheApe dll files in the Halo CE root Directory as well as OpenSauceIDE's files as well