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.