View Full Version : HCE Halo CE Editing Games Type Question
Harbinger
November 6th, 2011, 08:20 PM
Most Players know there's a Bug in the Halo CE Game Type Editor, and possibly some are also aware that there's a small program created by ZION called Game Type Fix Utility whose primary function is to provide better Custom Control over Parameters such as increasing Score Limit, Kills/Captures, Time Limit etc.
Additionally this utility can be used to increase the number of Kills in the Juggernaut Game Type above the default 15. However a nasty consequence of tweaking this particular threshold above 15 also enables the "Slow Ball" Trait and there is no visible means of being able to turn it off.
Apparently ZION also created another utility called Halo CE Game Type Editor (external), but there are no working download links available anywhere it seems on the net.
The question I ask is if anyone understands the Structure of the CE Game Type Blam.lst file sufficiently well enough to know exactly which Bytes/Bits are responsible for the Slow Ball Trait, and if it's possible to reset this value after the number of Kills has been increased above 15 in the Juggernaut Game Type?
Alternatively if anyone knows where a copy of ZION's Halo CE Game Type Editor (external) is located for download?
Any help is greatly appreciated.
flyingmonkey3
November 8th, 2011, 03:46 PM
http://www.freewebs.com/imiron/blamlstexplanation.htm
Harbinger
November 11th, 2011, 02:49 PM
Thanks. :downs:
An explanation of the blam.lst file structure for "Halo Trial" Game Types is an excellent Starting Point. I believe there is a difference in the actual Game Type Structure between Halo Combat Evolved (Trial) & Halo Custom Edition blam.lst Files. However at the moment anything is better than nothing, (everything is appreciated) but if anyone does know if ZION'S (external) Game Type Editor (CE Version) is available for download, (or even knows ZION) this would be very helpful too. :eng101:
Harbinger
November 11th, 2011, 05:07 PM
Okay it looks like the blam.lst structure is identical, (or similar enough) to be able to use the suggest blam list explanation to see which bits/bytes/words etc. needs tweaking to manually modify a Game Type.
Now it's time to come clean:
It's possible to extend the Number of Kills in Juggernaut Game Type, (say to 25) but only with the "Trait with Ball" LOCKED on SLOW. Possible Values, (Hex Offset 80) are: 00=Slow, 01=NORMAL, 02=FAST. Tampering with this value to anything other than 00 when the Kill Number is increased above 15*, (*Decimal) in Juggernaut Game Type cause Halo to reject loading the Game Type. All possible values, (Hex Offset 30) are: 01=CTF, 02=Slayer, 03=Oddball, 04=KOTH, 05=Race, and owing to the way Game Types are configured, Juggernaut = 03.
I'm hoping you "Bright Sparks" here at Modacity Land might be able to supply a solution: Otherwise it appears there is no way to increase a Juggernaut Game Type with more than the standard 15 Kills UNLESS the Ball Trait = SLOW. :ugh:
flyingmonkey3
November 14th, 2011, 10:53 AM
Actually it looks like you were right. The blam structure for CE appears to be different from that of trial and PC.
E: After some investigation I think I've figured it out. The blam structure for CE has an extra 20 bytes of padding before and after the gametype settings section. In other words, add 0x20 to these offsets:
7c-7f 124-127 Word Moving hill 0=off; 1=on (KOH) Racetype 0=Normal; 1=any order; 2=Rally (Race)
Random start 0=No; 1=Yes (Oddball)
80 128 Byte Team scoring 0=minimum; 1=Maximum; 2=Sum (Race)
Ballspeed 0=Slow; 1=Normal; 2=Fast (Oddball)
81-82 129-130 Unknown
83 131 Byte Trait with ball 0=None; 1=Invisible;
2=Extra damage; 3=Damage Resistent
84-87 132-135 Unknown
88-8b 136 Byte Trait without ball 0=None; 1=Invisible;
2=Extra damage; 3=Damage Resistent
8c-8d 137-139 Unknown
8c 140 Byte Balltype 0=Normal; 1=Reverse Tag; 2=Juggernaut
8d-90 141-143 Unknown
90 144 Byte Ballcount Spawn
and add 0x40 to these offsets:
98-9b 152-155 Word CRC-32 1's complement of the first 0x098 bytes in the file. Highlight the file from 0000 to 0097 inclusive and have
hexedit calculate the crc-32 with 1's complement. Remember
to reverse the byte order and insert it here.
Also note that when you use f2 to check the gametype settings, it will read them using the trial/PC definitions (without the 0x20 padding before and after). In other words, what is displayed is wrong.
Harbinger
November 21st, 2011, 06:04 AM
Many thanks to flyingmonkey3 for the assistance, so things are looking hopeful.:downs:
The only bit, (pardon the pun) I haven't tried doing yet is:
98-9b 152-155 Word CRC-32 1's complement of the first 0x098 bytes in the file.
Highlight the file from 0000 to 0097 inclusive and have hexedit calculate the crc-32 with 1's complement.
Remember to reverse the byte order and insert it here.
and off course adding the 0x40 offset to allow for the "Padding".
In hindsight it's obvious a Game Type would use an inbuilt Data Integrity Check, (since Maps do as well) meaning that just "Diving" straight in to the Hex and altering a single Byte, (without properly recalculating an updated CRC Value) the was bound to fail.:ohdear:
So here goes: Fingers Crossed, (plus Toes, other Parts etc.) and will let you know if it works.:haw:
Ps.
Still no knowledge on the whereabouts of ZION's "External" Game Type Editor then ?
(if it still exists)
flyingmonkey3
November 21st, 2011, 09:14 AM
If you have Hex Workshop, generating the checksum is pretty simple since it does that for you.
Harbinger
November 21st, 2011, 11:12 AM
Hex Workshop is cool, so there's no problem Generating the Checksum. Feeling pretty confident this Nut's been Cracked.
What's important to note is when the blam.lst file is for Halo CE, to include the 0x40 offset padding:
Highlight the Data from 0000 to 00D7 inclusive and let
Hexedit calculate the crc-32 with 1's complement.
Remember to reverse the byte order and insert it here:
D8-DB 216-219 Word CRC-32 1's complement of the first 0x0D8 bytes in the File Data.
(Note +0x40 was added to these offsets)
Voila.:realsmug:
Here's the updated Addresses for a HALO CE Game Type blam.lst File:
Remember the blam structure for Halo CE has an extra 20 bytes of padding before and after the Game Type
settings section. In other words +0x20 are added to Game Type offsets for Halo CE:
9C-9F 156-159 Word Moving hill 0=off; 1=on (KOH)
Racetype 0=Normal; 1=any order; 2=Rally (Race)
Random start 0=No; 1=Yes (Oddball)
A0 160 Byte Team scoring 0=minimum; 1=Maximum; 2=Sum (Race)
Ballspeed 0=Slow; 1=Normal; 2=Fast (Oddball)
A1-A2 161-162 Unknown
A3 163 Byte Trait with ball 0=None; 1=Invisible;
2=Extra damage; 3=Damage Resistent
A4-A7 164-167 Unknown
A8-AB 168 Byte Trait without ball 0=None; 1=Invisible;
2=Extra damage; 3=Damage Resistent
AC-AD 172-174 Unknown
AC 172 Byte Balltype 0=Normal; 1=Reverse Tag; 2=Juggernaut
AD-B0 173-176 Unknown
B0 176 Byte Ballcount Spawn
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.