The following is an analysis of the hex data inside a gametype (blam.lst) file.
Gametype file analysis
Code: Select all
Change Name
Gametype Name:
00 - 2D
Offset 00 is 00, and then each letter is interspersed with 00. For example:
abcdefghijklmnopqrstuvw =
00 61 00 62 00 63 00 64 00 65 00 66 00 67 00 68
00 69 00 6A 00 6B 00 6C 00 6D 00 6E 00 6F 00 70
00 71 00 72 00 73 00 74 00 75 00 76 00 77 (00 00)
Player Options
Number of Lives:
53
Infinite - 00
1 - 01
3 - 03
5 - 05
Maximum Health:
50% -
100% -
150% -
200% -
300% -
400% -
Shields:
Yes -
No -
Respawn Time:
Instant -
5 seconds -
10 seconds -
15 seconds -
Respawn Time Growth:
None -
5 seconds -
10 seconds -
15 seconds -
Odd Man Out:
No -
Yes -
Invisible Players:
No -
Yes -
Suicide Penalty:
None -
5 seconds -
10 seconds -
15 seconds -
Item Options
(Note: Several options use the value at 3B. We should consider this number
as being divided into two parts: the tens place is "x" and the ones place is "y".
For the Item Options, the first number refers to Starting Equipment and the
second number refers to Infinite Grenades. So 23 gives you No/Generic and
07 gives you Yes/Custom. See Indicator Options below for shared values.)
Infinite Grenades:
3B
No - x3
Yes - x7
Weapon Set:
5F
Normal - 00
Pistols - 01
Rifles - 02
Plasma Weapons - 03
Sniper - 04
No Sniping - 05
Rocket Launchers - 06
Shotguns - 07
Short Range - 08
Human - 09
Covenant - 0A
Classic - 0B
Heavy Weapons - 0C
Starting Equipment:
3B
Custom - 0y
Generic - 2y
Vehicle Options
Respawn time:
6A - 6B
Never - 00 00
30 seconds - 03 84
60 seconds - 07 08
90 seconds - 0A 8C
2 minutes - 0E 10
3 minutes - 15 18
5 minutes - 23 28
Vehicle Types:
61 - 63
Default - 02 40 20
Warthogs - 02 40 22
Ghosts - 02 40 23
Scorpions - 02 40 24
Rocket Warthogs - 02 40 25
Banshees - 02 40 26
Gun Turrets - 02 40 27
Custom (0 0 0 0 0 0) - 00 00 08
Custom (1 0 0 0 0 0) - 00 00 18
Custom (2 0 0 0 0 0) - 00 00 28
Custom (3 0 0 0 0 0) - 00 00 38
Custom (4 0 0 0 0 0) - 00 00 48
Custom (0 1 0 0 0 0) - 00 00 88
Custom (0 2 0 0 0 0) - 00 01 08
Custom (0 3 0 0 0 0) - 00 01 88
Custom (0 4 0 0 0 0) - 00 02 08
Custom (0 0 1 0 0 0) - 00 04 08
Custom (0 0 2 0 0 0) - 00 08 08
Custom (0 0 3 0 0 0) - 00 0C 08
Custom (0 0 4 0 0 0) - 00 10 08
Custom (0 0 0 1 0 0) - 00 20 08
Custom (0 0 0 2 0 0) - 00 40 08
Custom (0 0 0 3 0 0) - 00 60 08
Custom (0 0 0 4 0 0) - 00 80 08
Custom (0 0 0 0 1 0) - 01 00 08
Custom (0 0 0 0 2 0) - 02 00 08
Custom (0 0 0 0 3 0) - 03 00 08
Custom (0 0 0 0 4 0) - 04 00 08
Custom (0 0 0 0 0 1) - 08 00 08
Custom (0 0 0 0 0 2) - 10 00 08
Custom (0 0 0 0 0 3) - 18 00 08
Custom (0 0 0 0 0 4) - 20 00 08
(combination examples:)
Custom (1 1 0 0 0 0) - 00 00 98
Custom (2 2 0 0 0 0) - 00 01 28
Custom (0 0 3 3 0 0) - 00 6C 08
Custom (0 0 0 0 4 4) - 24 00 08
Custom (1 1 1 1 1 1) - 09 24 98
Custom (2 2 2 2 2 2) - 12 49 28
Custom (3 3 3 3 3 3) - 1B 6D B8
Custom (4 4 4 4 4 4) - 24 92 48
Indicator Options:
Objectives Indicator:
3F
None - 02
Motion Tracker - 00
Nav Points - 01
Other Players on Radar:
(Note: Other Players on Radar shares value 3B with Infinite Grenades,
Starting Equipment, and Friend Indicators on Screen.)
3B
All - (default value)
Friends - xy --- add 4 to x
No - xy --- subtract 1 from y
Friend Indicators on Screen:
(Note: Friend Indicators on Screen shares value 3B with Infinite Grenades,
Starting Equipment, and Other Players on Radar.)
3B
Yes - (default value)
No - xy --- subtract 2 from y
Teamplay Options
Friendly Fire:
6C
On - 01
Off - 00
Friendly Fire Penalty:
72 - 73
None - 00 00
5 seconds - 00 96
10 seconds - 01 2C
15 seconds - 01 C2
Auto Team Balance:
74
No - 00
Yes - 01
---
So here is all the information. I cannot make a gametype-making application, but I'm sure someone else can. Unfortunately, there is more to it than simply modifying these values. I'm exploring the other changes necessary, but apparently, the Halo Demo application modifies the gametype file when it is opened. Everything after 9B is modified, but it looks like 1FC0 - 1FC3 and 1FD0 - 1FD3 have a significance. There are two values that can potentially screw up your entire Halo Demo application (multiplayer games) if modded incorrectly, and those are at 3A and 95, I believe. The original Slayer map contains 01 at those locations, but simply adding those values will corrupt your application.
Good luck.
-Sparky
December 31, 2008
---