- Base pounter = sGameMan
- 0x3E48 UINT = 0=Solo/Deathmatch 1=Teams 2=Slitscreen
- 0x3FC8 - 1 = mission running, 2 = mission end
- 0x3FCC - Mission time
- 0x3FD4 - Last time bonus (seconds)
- Base pointer "sGameMan" = "BH6.exe"+013C549C (add 0x5000 to any of these offsets to make them alinged with sGameMan)
- -0xC410D8 = BSAA Agent health (4 bytes) This is for reference only, editing it doesn't affect anything.
- -0xC3EFE0 = Ingame or not? (2 bytes)
- -0x47420 = 1P active (1 byte) Following 7 bytes are for other players. 0 = active, -1 = not active, 1 = online player. If you force a value to be 0 during campaign mode, players joining will start spectating as that slot instead of taking control of them
- -0x4741F = 2P active (1 byte)
- -0x4741E = 3P active (1 byte)
- -0x4741D = 4P active (1 byte)
- -0x4741C = 5P active (1 byte)
- -0x4741B = 6P active (1 byte)
- -0x4741A = 7P active (1 byte)
- -0x47419 = 8P active (1 byte)
- -0x47418 = Multiplayer mode (4 bytes) Follows same values as game mode. Always 0 during singleplayer.
- -0x473E8 = Player count (1 byte)
- -0x473E7 = Online or not? (1 byte)
- -0x4FC8 = Main menu option (4 bytes) Controls which main menu option is selected. Some functions check this to see what mode is active. This and following doesn't reflect specific menus, but rather the menu depth. For instance, mercs menu could also be survivors menu or siege menu.
- -0x4FC0 = Play game menu option (4 bytes)
- -0x4FB8 = Extra content menu option (4 bytes)
- -0x4FB0 = Mercs menu option (4 bytes)
- -0x4F8C = Multiplayer state (4 bytes) Bitflags? Always 0 during solo. Usually 1 during lobby. 2 during loading. 4 during ingame.
- -0x4F54 = Game mode (4 bytes) 30 = mercs, 80 = no mercy, 0 = Campaing / Agent hunt, 50 = survivors, 40 = onslaught, 60 = predator, 70 = siege
- -0x4F48 = Chapter select (4 bytes)
- -0x4F44 = Sub chapter select (4 bytes)
- -0x4A5C = Main local player (4 bytes) Only main player can restart game and exit
- -0x4A50 = 1P control (4 bytes) 0 = local, 1 = AI, 2 = network
- -0x4A4C = 2P control (4 bytes)
- -0x4A48 = 3P control (4 bytes)
- -0x4A44 = 4P control (4 bytes)
- -0x4A40 = 5P control (4 bytes)
- -0x4A3C = 6P control (4 bytes)
- -0x4A38 = 7P control (4 bytes)
- -0x4A34 = 8P control (4 bytes)
- -0x4A30 = 1P controller (4 bytes) Which local controller is being used. Probably an extra value somewhere defining if it's keyboard or a gamepad.
- -0x4A2C = 2P controller (4 bytes)
- -0x4A28 = 3P controller (4 bytes)
- -0x4A24 = 4P controller (4 bytes)
- -0x4A20 = 5P controller (4 bytes)
- -0x4A1C = 6P controller (4 bytes)
- -0x4A18 = 7P controller (4 bytes)
- -0x4A14 = 8P controller (4 bytes)
- -0x4A10 = 1P team (4 bytes)
- -0x4A0C = 2P team (4 bytes) Changing this for mercs turns friendly fire on.
- -0x4A08 = 3P team (4 bytes)
- -0x4A04 = 4P team (4 bytes)
- -0x4A00 = 5P team (4 bytes)
- -0x49FC = 6P team (4 bytes)
- -0x49F8 = 7P team (4 bytes)
- -0x49F4 = 8P team (4 bytes)
- -0x4918 = Versus Spawn pos # (4 bytes) Spawn position from STP.
- -0x4914 = Agent hunt Spawn pos # (4 bytes) Spawn position from STP.
- -0x4870 = Agent hunt Enemy type # (4 bytes) Enemy type. Taken from an EM file?
- -0x4798 = Screen mode default (4 bytes)
- -0x4794 = Screen mode current (4 bytes) 0 = normal, 1 = splitscreen, 3 = cutscene, 5 = partner view
- -0x4790 = Screen 1 (4 bytes)
- -0x478C = Screen 2 (4 bytes)
- -0x11B8 = Mercs multi state (4 bytes) 0 = solo, 1= online, 2 = splitscreen, 3 = showed 3 for a brief moment after selecting splitscreen
- -0x1184 = 1P character select (4 bytes)
- -0x1180 = 2P character select (4 bytes)
- -0x117C = 3P character select (4 bytes)
- -0x1178 = 4P character select (4 bytes)
- -0x1174 = 5P character select (4 bytes)
- -0x1170 = 6P character select (4 bytes)
- -0x116C = 7P character select (4 bytes)
- -0x1168 = 8P character select (4 bytes)
- -0x1104 = 1P ready (4 bytes) 0 = empty, 1 = joined, 2 = ready
- -0x1100 = 2P ready (4 bytes)
- -0x10FC = 3P ready (4 bytes)
- -0x10F8 = 4P ready (4 bytes)
- -0x10F4 = 5P ready (4 bytes)
- -0x10F0 = 6P ready (4 bytes)
- -0x10EC = 7P ready (4 bytes)
- -0x10E8 = 8P ready (4 bytes)
- -0x10E4 = 1P slot (4 bytes) (0 = locked, 1 = open, 2 = private, 3 = host) (3P to 8P slots needs to be locked for mercenaries mode to end properly)
- -0x10E0 = 2P slot (4 bytes)
- -0x10DC = 3P slot (4 bytes)
- -0x10D8 = 4P slot (4 bytes)
- -0x10D4 = 5P slot (4 bytes)
- -0x10D0 = 6P slot (4 bytes)
- -0x10CC = 7P slot (4 bytes)
- -0x10C8 = 8P slot (4 bytes)
- -0x10C4 = 1P spawn (4 bytes) (array after this are player IDs?)
- -0x10C0 = 2P spawn (4 bytes)
- -0x10BC = 3P spawn (4 bytes)
- -0x10B8 = 4P spawn (4 bytes)
- -0x10B4 = 5P spawn (4 bytes)
- -0x10B0 = 6P spawn (4 bytes)
- -0x10AC = 7P spawn (4 bytes)
- -0x10A8 = 8P spawn (4 bytes)
- -0xD7C = Mercenaries score (4 bytes) - Visual only?
- -0xD70 = Mercenaries score (4 bytes) - Real?
- -0xCAC = Versus - enemy type # (4 bytes) Enemy type. Taken from EM20 in survivors. Changing it doesn't seem to affect anything.
- -0x794 = Extra content modes timer (4 bytes)
- 0xBC = BGM volume (4 bytes)
- 0xC0 = SE volume (4 bytes)
- 0xC4 = VOICE volume (4 bytes)
- 0xC8 = CHAT volume (4 bytes)
- 0x412A4 = Stage (4 bytes)
- 0x412DC = P1 Kill count (2 bytes) In coop, this number can go abnormally high. Some kills must be counted for both player.
- 2 = Times died
- 4 = Total damage dealt (2 bytes) Instakill moves (back melees and some counters) deal add nothing to this count. 50,000 is max for this value.
- 6 = Total damage taken (2 bytes)
- 8 = Times helped by partner
- A = Kills while dying?
- C = Melee kills (2 bytes) This includes any type of melee kills.
- E = Coup de Grace kills (2 bytes)
- 10 = Quick shot kills
- 12 = Counter kills (2 bytes)
- 14 = environmental kills
- 16 = kills with specific red barrel type
- 1C = head shot kills
- 1E = slide kills
- 20 = Gun kills (2 bytes)
- 22 = Knife kills
- 24 = Total grenade kills (2 bytes) Includes kills from any grenade type.
- 26 = Frag grenade kills (2 bytes)
- 28 = Fire grenade kills (2 bytes)
- 2A = Flash grenade kills
- 2C = Enemies flashed
- 30 = Kills while dying?
- 32 = Personal kill count? (2 bytes) Kill count not including indirect kills?
- 0x41394 = P2 Kill count (2 bytes)
- 0x4144C = P3 Kill count (2 bytes)
- 0x41504 = P4 Kill count (2 bytes)
- 0x415BC = P5 Kill count (2 bytes)
- 0x41674 = P6 Kill count (2 bytes)
- 0x4172C = P7 Kill count (2 bytes)
- 0x417E4 = P8 Kill count (2 bytes)
- 0x42D7C = 1P / Leon (2 bytes) In campaign mode each character is locked to a specific slot (Chris is always 3P, Leon is always 1P, etc). In other modes, host is always 1P and joining players take slots in order.
- 0x42DEC = 2P / Helena (2 bytes)
- 0x42E5C = 3P / Chris (2 bytes)
- 0x42ECC = 4P / Piers (2 bytes)
- 0x42F3C = 5P / Jake (2 bytes)
- 0x42FAC = 6P / Sherry (2 bytes)
- 0x4301C = 7P / Ada (2 bytes)
- 0x4308C = 8P / Agent (2 bytes)
- -0x10A0 = 1P or 2P active or controller related? (4 bytes)
- -aa7cac = Ingame or not? (2 bytes)
- abab56 = Ingame or not? (2 bytes)
- -0x4A58 = Player count (4 bytes) 1 = 1 player, 3 = 2 players. This is bitflag. Each bit is for a player.
- 0x42DEE = 2P Starting health? (2 bytes) This is just after the 2P / Helena value.
- 0x41870 = Leon savegame info (array of shorts) Total size is 0x70. First 6 bytes are costume, current health and maximum health. After this are the player info for the other 7 characters.
- 0x42D7C = Leon info (array of shorts) Total size is 0x70. Not sure how this is used. Mercs maybe?
- There is yet another player info somewhere which is also 0x70 long and matches the above, but it changes position each time you load a stage. If you search for Leon's full info, the second last one is usually the valid one which changes stuff ingame.
- 0x41892 = Leon assault rifle RN ammo (2 bytes) This is savegame version of value?
- 0x42D9E = Leon assault rifle RN ammo (2 bytes) What version of value is this?
- ? = Times shouted next to door (4 bytes) Always 0 when not at door. Increases once with each partner call. (values before it are input status, a value just after or two after is a value which makes player spam a specific voice command)
- ? = Last voice command used (4 bytes)
- Base pointer "Menu" = "BH6.exe"+014645F4
- 0x44 -> 0x220 = Menu Num (4 bytes)
- 0x44 -> 0x228 = Menu button amount (4 bytes)
- 0x44 -> 0x264 = Array with Id for each menu button (4 bytes each)
- ? = Menu Id 1 (1 byte)
- ? = Menu Id 2 (1 byte)
- ? = Menu Id 3 (1 byte)
- ? = Menu Id 4 (1 byte)
- ? = Menu Id 5 (1 byte)
- ? = Menu Id 6 (1 byte)
- ? = Menu Id 7 (1 byte)
- ? = Menu Id 8 (1 byte)
- Position reference:
- Leon urban chaos: 5C 49 FD 43 80 6C 8E 3E 8A 2A 36 C5
- Leon steel beast: 0A BF 06 C6 30 03 E1 44 52 34 98 45
- Leon rail yard: EE DA 0A 45 34 33 C8 42 74 D3 5F 44 (starting near middle)
- Leon rail yard after climbing middle ladder: 37 25 26 44 0A 07 16 44 A6 BE C3 3E
- Various reference:
- Player character/costumes:
- 0000 (Leon USA)
- 0001 (Leon Asia)
- 0010 (Leon Costume 1)
- 0011 (Leon Costume 2)
- 0012 (Leon Retro)
- 0013 (Nick)
- 0100 (Helena USA)
- 0101 (Helena Asia)
- 0102 (Helena carrying Deborah)
- 0110 (Helena Costume 1)
- 0111 (Helena Costume 2)
- 0112 (Helena Retro)
- 0200 (Chris Asia)
- 0201 (Chris Europe)
- 0210 (Chris Costume 1)
- 0211 (Chris Costume 2)
- 0212 (Chris Retro)
- (Chris Bad)
- 0213 (Coach)
- 0300 (Piers Asia?)
- 0301 (Piers Europe?)
- 0303 (Piers Canon)
- 0310 (Piers Costume 1)
- 0311 (Piers Costume 2)
- 0312 (Piers Retro)
- (Piers Personal)
- 0313 (Ellis)
- 0400 (Jake Europe)
- 0401 (Jake Monitor)
- 0402 (Jake Asia)
- 0403 (Jake Snow)
- 0410 (Jake Costume 1)
- 0411 (Jake Costume 2)
- 0412 (Jake Retro)
- 0500 (Sherry Europe)
- 0501 (Sherry Monitor)
- 0502 (Sherry China)
- 0503 (Sherry Snow)
- 0510 (Sherry Costume 1)
- 0511 (Sherry Costume 2)
- 0512 (Sherry Retro)
- 0513 (Rochelle)
- 0600 (Ada normal)
- 0602 (Carla)
- 0610 (Ada Costume 1)
- 0611 (Ada Costume 2)
- 0612 (Ada Retro)
- 0700 (Agent)
- 0702 (BSAA Rookie)
- Player character select:
- 0 Leon
- 1 Leon costume 1
- 2 Leon costume 2
- 3 Leon retro
- 4 Helena
- 5 Helena costume 1
- 8 Chris
- 12 Piers
- 16 Jake
- 20 Sherry
- 24 Ada
- 28 Carla
- 29 Agent
- 30 Coach
- 31 Nick
- 32 Ellis
- 33 Rochelle
- Menu ID 1-4:
- 01 ## 01 00 = campaign select
- 02 ## 01 00 = chapter select
- 03 ## 01 00 = difficulty/Screen type
- 04 ## 01 00 = campaign character select
- 05 ## 01 00 = system settings just before starting a campaign lobby
- 06 ## 01 00 = coop campaign lobby
- 02 0C 01 00 = splitscreen lobby (for mercs, no mercy and onslaught)
- Menu ID 5-8:
- 02 03 02 01 = Extra content
- 02 03 01 01 = Play game
- 02 03 02 01 = Campaign
- 02 03 02 02 = Coop lobby (campaign)
- Voice command IDs: (based on Leon)
- 00 = This way
- 01 = Wait
- 02 = Move in
- 03 = Come back here
- 04 = Sure
- 05 = Not right now
- 06 = Glad you're here
- 07 = I'm on my way
- 08 = Wish I could help / Sorry
- 09 = Roger
- 0A = Beautiful
- 0B = I need backup!
- 0C = You gotta help me!
- 0D = Helena / Hey
- 0E = C'mon
- 0F = I know already / Relax, okay
- 10 = Move
- 11 = Everything okay? / Okay, let's go. / You okay?
- 12 = Move your head! / Don't worry, I got your back!
- 13 = Hang in there. / I'm on my way.
Raw Paste