1.16.1 · Index · Add Address · Statistics · Reference · About
Multiple entries were found!
Address | Player ID | Version | Name | Size | Length | SCR | Description |
---|---|---|---|---|---|---|---|
004FF900 | -141977 | 1.16.1 | Filename for Lastreplay | 12 | 1 | Contains the string "LastReplay". | |
004FF90C | -141974 | 1.16.1 | Replay Speed Limiters | 4 | 7 | The speed in milliseconds to spend each frame during a replay. The array index is dependant on the game speed. | |
004FF928 | -141967 | 1.16.1 | Replay Command Table | 16 | 2 | Contains the replay commands "show" and "hide" along with function pointers. | |
004FF948 | -141959 | 1.16.1 | Replay show command modifiers | 32 | 12 | Contains sub-commands and leaderboard values to use in the "/replay show" command. | |
004FFAD0 | -141861 | 1.16.1 | Menu Info Array | 12 | 27 | Contains the menu index, background index, and menu path. | |
004FFC20 | -141777 | 1.16.1 | Campaign List Info | 8 | 85 | Contains the campaign listing info. WORD gluHist.tbl index WORD mapdata.dat index WORD cinematic index BYTE race index BYTE bonus flag | |
004FFF60 | -141569 | 1.16.1 | Establishing shot pointers | 8 | 65 | 64 entries defining campaign mission prologue/establishing shots 1 entry defining campaign mission epilogue (hybrids bonus mission) INT pointer to script filename INT mapdata.dat index | |
0050C000 | -129241 | 1.16.1 | cInit Constructor Function Table | 4 | 310 | Standard C-Runtime. Generated by Visual C++. | |
005122A0 | -122929 | 1.16.1 | Campaign list pointers | 4 | 6 | Pointer to memory location of details of first mission in SC zerg, SC terran, SC protoss, BW zerg, BW terran and BW protoss campaigns Data pointed to: http://farty1billion.dyndns.org/EUDDB/?pg=entry&id=423 | |
005122B8 | -122923 | 1.16.1 | Current Cinematic ID | 4 | 1 | An index for the currently playing cinematic. | |
005124D8 | -122787 | 1.16.1 | Game Speed Refresh Rate | 4 | 7 | Simple Data | Contains the value in milliseconds required for each frame. Array index dependant on game speed. To change current game speed needs to set all 7 values (0x5124D8, 0x5124DC, ..., 0x5124F0) Fastest=42, #x1=36, #x2=29, #x3=21, #x4=12, #x5=1 |
005124F4 | -122780 | 1.16.1 | Replay Speed Refresh Rate | 4 | 7 | Contains the time in milliseconds spent each frame. Array index dependent on game speed. | |
00512510 | -122773 | 1.16.1 | Image Update Functions | 8 | 18 | An array of image functions. The array is officially called sgUpdateFuncs. | |
005125A0 | -122737 | 1.16.1 | Image Drawing Functions | 12 | 18 | This corresponds to a value in images.dat. The official name for this array is sgDrawFuncs. Structure: +0x0 id +0x4 normal draw function pointer +0x8 mirror draw function | |
00512678 | -122683 | 1.16.1 | Active Nation ID | 4 | 1 | Backed By Code | This is the same as Human ID unless you are playing Team Melee. The official name for this is g_ActiveNationID. |
0051267C | -122682 | 1.16.1 | Active Human ID | 4 | 1 | Backed By Code | This is your player ID. The official name for this is g_ActiveHumanID. |
00512680 | -122681 | 1.16.1 | Active Storm ID | 4 | 1 | Unsupported | This is your active storm ID, which is different from your player ID. The official name for this is g_ActiveStormID. |
00512684 | -122680 | 1.16.1 | Local Nation ID | 4 | 1 | Backed By Code | The official name for this is g_LocalNationID. P1: 00 P2: 01 P3: 02 etc. |
00512688 | -122679 | 1.16.1 | Local Human ID | 4 | 1 | The official name for this is g_LocalHumanID. | |
0051268C | -122678 | 1.16.1 | Local Storm ID | 4 | 1 | Unsupported | The official name for this is g_LocalStormID. |
00512690 | -122677 | 1.16.1 | Cinematic File Name Array | 4 | 28 | Contains string pointers for the file names of all game cinematics. | |
00512700 | -122649 | 1.16.1 | Race Filename Modifiers | 8 | 1 | Contains 3 bytes "ztp" used when loading race-specific files, like the user HUD for example. | |
00512708 | -122647 | 1.16.1 | Cursor Filename Array | 4 | 19 | Contains pointers to a string for each cursor image. | |
00512754 | -122628 | 1.16.1 | Cursor Scroll Type Modifiers | 2 | 10 | Unsupported | Contains the index for the cursor used for scrolling. |
005127DC | -122594 | 1.16.1 | Tileset Color Cycle Pointers | 4 | 9 | Contains pointers to the tileset color cycle data. Array index dependant on tileset. | |
00512800 | -122585 | 1.16.1 | Trigger Action Function Array | 4 | 60 | Contains function pointers for all trigger actions. | |
00513B68 | -121343 | 1.16.1 | Mouse and Keyboard Scroll Speed | 7 | 7 | Supported | Edited by PereC, 2021.04.12 For SC:R, In menu - Options - Speed, you can set Key Scroll Speed and Mouse Scroll Speed, each has 7 levels. For each level, the Scroll Speed has 7 different values, each 1 byte. level 1: 0x513B68, 0x513B69, 0x513B6A, ..., 0x513B6E level 2: 0x513B6F, 0x513B70, 0x513B71, ..., 0x513B72 ... level 7: 0x513B92, 0x513B93, 0x513B94, ..., 0x513B98 If you set all the 7 bytes of level2 to 0, then you can't scroll the screen by mouse if you set the Mouse Scroll Speed to level2 in game, but you can still scroll screen by keyboard if Key Scroll Speed is not in level2. If you set all the 49 bytes to 0, then you can't scroll the screen using mouse or keyboard. See: https://cafe.naver.com/edac/39325 |
00513B68 | -121343 | 1.16.1 | Mouse Scroll Speed Array | 7 | 7 | Supported | Amount of Mouse Scroll Speed. Array index dependent on mouse scroll level (0 to 6). |
00514178 | -120955 | 1.16.1 | Unit Reqs data | 1090 | 1 | Simple Data | Packed list of opcodes/parameters for data requiremens. First u16 is the unit ID for the script, followed by the script. 0x##FF is an opcode, 0x##00 is a parameter, FFFF is the end of the script. |
005145C0 | -120681 | 1.16.1 | Upgrade Reqs data | 838 | 1 | Simple Data | |
00514908 | -120471 | 1.16.1 | Research Req Data | 318 | 1 | Simple Data | |
00514A48 | -120391 | 1.16.1 | Tech Use Req Data | 688 | 1 | Simple Data | |
00514CF8 | -120219 | 1.16.1 | Order Req Data | 1316 | 1 | Simple Data | |
00515A98 | -119347 | 1.16.1 | Trigger Condition Function Array | 4 | 24 | Contains function pointers for all trigger conditions. | |
00515B84 | -119288 | 1.16.1 | Damage type/factor multipliers vs unit size | 20 | 5 | Weapon damage typa, against each unit size struct { int id; int multipliers[4]; // independant = 0, small = 1, medium = 2, large = 3 } dmgMultiplier; dmgMultiplier weaponDamageTypes[5]; // Independent, Explosive, Concussive, Normal, Ignore Armor Values are represented as a fraction of 256, so 256 = 100% damage, 512 = 200% damage, 64 = 25% damage. The minimum amount of damage able to be done is 0.5, so a 0 multiplier means any attack will do .5 damage. Independent is the the unit size used for powerups such as data disc, and hence this is why they take 0.5 damage from each hit and take a long time to kill. Weapon factor is applied after subtracting unit armor from the weapon's damage. Independent damage 0x515B88 vs independent - 0 0x515B8C vs small - 0 0x515B90 vs medium - 0 0x515B94 vs large - 0 Explosive damage 0x515B9C vs independent - 0 0x515BA0 vs small - 128 0x515BA4 vs medium - 192 0x515BA8 vs large - 256 Concussive damage 0x515BB0 vs independent - 0 0x515BB4 vs small - 256 0x515BB8 vs medium - 128 0x515BBC vs large - 64 Normal damage 0x515BC4 vs independent - 0 0x515BC8 vs small - 256 0x515BCC vs medium - 256 0x515BD0 vs large - 256 Ignore armor 0x515BD8 vs independent - 0 0x515BDC vs small - 256 0x515BE0 vs medium - 256 0x515BE4 vs large - 256 | |
005187E8 | -116447 | 1.16.1 | s_button Offset | 12 | 250 | Backed By Code | +0x00 (EPD -116447) Number of available buttons. 0 = Button disabled +0x04 (EPD -116446) s_button Address. +0x08 (EPD -116445) Unknown. 0 ~ 227 = Units buttons 228 ~ 249 = Internal buttons (228 = Blank) |
005193A0 | -115697 | 1.16.1 | Unit Infomation | 12 | 228 | See Description | Edited by PereC, 2021-06-05 In SC:R, 64-bit starcraft ignores this part. You are suggested to use 32-bit starcraft if this part of memory is modified by EUD triggers. +0x0: Unit ID +0x4: Status Function +0x8: Display Function |
00519E50 | -115013 | 1.16.1 | Mission Briefing Action Function Array | 4 | 10 | Contains function pointers for all mission briefing actions. | |
0051A280 | -114745 | 1.16.1 | Player 1 Trigger List | 4 | 3 | Backed By Code | |
0051A28C | -114742 | 1.16.1 | Player 2 Trigger List | 4 | 3 | Backed By Code | |
0051A298 | -114739 | 1.16.1 | Player 3 Trigger List | 4 | 3 | Backed By Code | |
0051A2A4 | -114736 | 1.16.1 | Player 4 Trigger List | 4 | 3 | Backed By Code | |
0051A2B0 | -114733 | 1.16.1 | Player 5 Trigger List | 4 | 3 | Backed By Code | |
0051A2BC | -114730 | 1.16.1 | Player 6 Trigger List | 4 | 3 | Backed By Code | |
0051A2C8 | -114727 | 1.16.1 | Player 7 Trigger List | 4 | 3 | Backed By Code | |
0051A2D4 | -114724 | 1.16.1 | Player 8 Trigger List | 4 | 3 | Backed By Code | |
0051CA14 | -112212 | 1.16.1 | Last Random Number | 4 | 1 | Simple Data | Randomization seed for the next random number, mask with 0x7FFF0000 for the last returned number. int getRandomNumber(){ lastRandomNumber = lastRandomNumber * 0x15A4E35 + 1; return (lastRandomNumber >> 16) & 0x7FFF; } |
0051CE84 | -111928 | 1.16.1 | Network Mode Delay | 4 | 1 | Read Only | 1 in single player, 2 in LAN, 5 on battle.net. Described at http://wiki.teamliquid.net/starcraft/LatencyChanger In SC:R, the value is determined by the combination of Turn Rate and room name (#x) speed. |
0051CE88 | -111927 | 1.16.1 | Network Mode Delay 2 | 4 | 1 | Appears to be a duplicate of 0x0051CE84. Not sure which value is the one that is actually used. In SC:R, the value is determined by the combination of Turn Rate and room name (#x) speed. | |
0051CE8C | -111926 | 1.16.1 | Inverse System Time | 4 | 1 | Value : -GetTickCount() (about 10ms error) Used for input polling. See .text:004D98D8 for more info. Can be used to detect lagging or syncing with game audio. | |
0051CE98 | -111923 | 1.16.1 | Fog of War Update Counter | 4 | 1 | Simple Data | Set to 0 to update FoW. Toggle between 0 and 1 in separate trigger cycles to fast update FoW. With single frame hypers: (see 0x006509A0) Set to 1 to fast update Fog of War. Set to 0 to never Fog of War revealed areas. (ie. "war ain't what it used to be" cheat) |
0051CED0 | -111909 | 1.16.1 | GRP Array | 4 | 999 | Read Only | Pointer to each GRP for each images.dat entry |
0051F2A8 | -109615 | 1.16.1 | Images Attack Overlay Array | 4 | 999 | Read Only | Pointers to GRP handles for all images. |
00520244 | -108616 | 1.16.1 | Images Damage Overlay Array | 4 | 999 | Read Only | Pointer to LO? handles for all images.dat entries. |
005211E0 | -107617 | 1.16.1 | Images Special Overlay Array | 4 | 999 | Read Only | Pointer to LO? handles for all images.dat entries. |
0052217C | -106618 | 1.16.1 | Images Landing Dust Overlay Array | 4 | 999 | Read Only | Pointer to LO? handles for all images.dat entries. |
00523118 | -105619 | 1.16.1 | Images Liftoff Dust Overlay Array | 4 | 999 | Read Only | Pointer to LO? handles for all images.dat entries. |
005240D0 | -104613 | 1.16.1 | Images Damage Overlay Frame | 1 | 999 | Simple Data | |
0052E5C8 | -94055 | 1.16.1 | Images Shield Overlay Array | 4 | 999 | Pointer to GRP handles for all images. | |
0052F568 | -93055 | 1.16.1 | Images Array | 64 | 5000 | Read Only | The array of images currently processed in the game. |
0057EB68 | -11775 | 1.16.1 | First Image Pointer | 4 | 1 | Read Only | Pointer to the first CImage instance. |
0057EB70 | -11773 | 1.16.1 | Last Image Pointer | 4 | 1 | Read Only | Pointer to the last CImage instance. |
0057EE7C | -11578 | 1.16.1 | Player Human IDs | 4 | 8 | Unsupported | The Human ID for each player.llll |
0057EE9C | -11570 | 1.16.1 | Player Name | 25 | 1 | Unsupported | If you are playing as 'asdf' then you will find on that address: 'asdf' |
0057EEC0 | -11561 | 1.16.1 | Player Nation IDs | 4 | 8 | Unsupported | The Nation ID for each player. |
0057EEE0 | -11553 | 1.16.1 | Active Player Structures | 36 | 12 | Backed By Code | A structure for each player containing their HumanID, StormID, Type, Race, Team, and Name. +0x00 = HumanID (4 bytes) +0x04 = StormID (4 bytes) +0x08 = Type (1 byte; 0 = inactive, 1 = computer, 2 = human, 3 = rescuable, 7 = neutral) +0x09 = Race (1 byte; 0 = zerg, 1 = terran, 2 = protoss) +0x0A = Team (1 byte) +0x0B = Name (25 bytes) |
0057F094 | -11444 | 1.16.1 | Last Whisper Player | 25 | 1 | The name of the player that last whispered you (in-game only). | |
0057F0B0 | -11437 | 1.16.1 | Vision Filter | 4 | 1 | A shared vision filter used for changing the player's vision settings. | |
0057F0B4 | -11436 | 1.16.1 | Multiplayer Mode | 4 | 1 | Read Only | A boolean value that specifies if the game is Single or Multi player. The official name for this field is gbMultiPlayerMode. 0=single 1=Multi |
0057F0B8 | -11435 | 1.16.1 | Network Player Status Array | 4 | 8 | Unsupported | An array containing flags for each player's network status. |
0057F0D8 | -11427 | 1.16.1 | Network Maximum Buffer Size | 4 | 1 | A value indicating the maximum size for the command buffer that the network provider allows. | |
0057F0DC | -11426 | 1.16.1 | Main Menu Dialog Handle | 4 | 1 | Unsupported | A handle to the main menu BIN dialog. |
0057F0F0 | -11421 | 1.16.1 | Player Minerals | 4 | 12 | Simple Data | The current amount of minerals the player has. |
0057F120 | -11409 | 1.16.1 | Player Gas | 4 | 12 | Simple Data | The current amount of gas the player has. |
0057F150 | -11397 | 1.16.1 | Player Total Gas Harvested | 4 | 12 | Simple Data | The total gas the player has ever harvested |
0057F180 | -11385 | 1.16.1 | Player Total Minerals Harvested | 4 | 12 | Simple Data | The total minerals the player has ever harvested |
0057F1B0 | -11373 | 1.16.1 | Starting Player Local ID | 4 | 1 | Simple Data | |
0057F1B4 | -11372 | 1.16.1 | Player Slot Types | 1 | 12 | Simple Data | |
0057F1C0 | -11369 | 1.16.1 | Player Slot Races | 1 | 12 | Simple Data | |
0057F1CC | -11366 | 1.16.1 | Team Game Main Player | 1 | 4 | Simple Data | |
0057F1D0 | -11365 | 1.16.1 | Screen Tile Position | 2 | 2 | Simple Data | |
0057F1D4 | -11364 | 1.16.1 | MapSize | 2 | 2 | Simple Data | 2byte Width 2byte Height width + 65536*height |
0057F1D8 | -11363 | 1.16.1 | Messsage Send To Filter | 2 | 2 | Simple Data | |
0057F1DA | -11363 | 1.16.1 | Message Player Filter | 2 | 2 | Simple Data | Should be within the previous entry |
0057F1DC | -11362 | 1.16.1 | Tileset | 2 | 1 | Simple Data | The current tileset ID being used. Changing to 1 will turn null terrain into Space with stars (Space platform tileset) |
0057F1DE | -11362 | 1.16.1 | Current Music | 2 | 2 | Simple Data | |
0057F1E0 | -11361 | 1.16.1 | BWGame Unk_f0 | 1 | 1 | Simple Data | |
0057F1E1 | -11361 | 1.16.1 | Active Player Count | 1 | 1 | Simple Data | The number of active players in the game. |
0057F1E2 | -11361 | 1.16.1 | Console Index | 1 | 1 | Simple Data | A value indicating which console GUI should be displayed. 0 = zerg 1 = terran 2 = protoss |
0057F1E3 | -11361 | 1.16.1 | Is Custom Single Player | 1 | 1 | Simple Data | |
0057F1E4 | -11360 | 1.16.1 | BWGame unk_f4 | 4 | 1 | Simple Data | |
0057F1E8 | -11359 | 1.16.1 | BWGame unk_f8 | 4 | 1 | Simple Data | |
0057F1EC | -11358 | 1.16.1 | Shared Vision | 4 | 12 | Simple Data | The shared vision values for each player. StarCraft does not draw vision for players 9-12, but they can see players that have visioned with them and players can detect units they have shared vision with.. |
0057F21C | -11346 | 1.16.1 | Player Color Mapping | 4 | 8 | Simple Data | A mapping of the player's colors. |
0057F23C | -11338 | 1.16.1 | Elapsed Time | 4 | 1 | Simple Data | The elapsed game time (in game ticks, ~42ms per tick on fastest). |
0057F240 | -11337 | 1.16.1 | Saved Elapsed Seconds | 4 | 1 | Simple Data | |
0057F244 | -11336 | 1.16.1 | Campaign Index | 2 | 1 | Simple Data | A value indicating which campaign is being played. |
0057F246 | -11336 | 1.16.1 | Next Scenario name | 32 | 1 | Simple Data | The name of the next scenario, set using the Set Next Scenario trigger. |
0057F266 | -11328 | 1.16.1 | Single Player Race | 1 | 1 | Simple Data | |
0057F267 | -11328 | 1.16.1 | Single Player Computer Races | 1 | 8 | Simple Data | |
0057F26F | -11326 | 1.16.1 | BWGame unk_17F | 1 | 1 | Simple Data | |
0057F270 | -11325 | 1.16.1 | Saved Screen Positions | 4 | 3 | Simple Data | Pos 1: -11325 X + 65536*Y Pos 2: -11324 X + 65536*Y Pos 3: -11323 X + 65536*Y |
0057F27C | -11322 | 1.16.1 | Player Units available | 228 | 12 | Simple Data | 1 row of 228 bytes, 1 per unit, per player offset + (Cp * 228) + 100 |
0057FD2C | -10638 | 1.16.1 | BWGame unk_c3c | 1 | 8 | Simple Data | |
0057FD34 | -10636 | 1.16.1 | Last Event Position | 4 | 2 | Simple Data | A POINT structure containing the position of the last event that occured (spacebar). PlayerID + 1 for Y position |
0057FD3C | -10634 | 1.16.1 | Map File Name | 260 | 1 | Simple Data | The current map's file name. |
0057FE40 | -10569 | 1.16.1 | Map Title | 32 | 1 | Simple Data | The current map's title. |
0057FE60 | -10561 | 1.16.1 | Hotkeyed Unit | 864 | 8 | Simple Data | Purpose To detect the hotkey and then the slot that a unit is stored in and/or the unit that is stored in a slot within a hotkey for any player. Math The total amount of units that can be hotkeyed is 12. There are 9 hotkeys in existence. 12 * 9 = 108 108 is the total amount of EPD values for each player. If we want to check if there's a unit in the seventh slot within the hotkey CTRL+0 for Player 1, -10561 + 7 = -10555. If we want to check if there's a unit in the first slot within the hotkey CTRL+1 for Player 1, -10561 + 12 = -10550. If we want to check if there's a unit in the first slot within the hotkey CTRL+0 for Player 2, -10561 + 109 = -10452. 12 * 9 * 8 = 864 864 is the total combined number of all players' EPD value. We can check any slots within any hotkeys for any player to detect if any unit exist. At least 1 We can check any slots within any hotkeys for any player to detect if no unit exist. At least 3749 but what if we want to detect if a specific unit within the map is hotkeyed in a certain slot? Unit alpha ID (Unit Entity) Index # Alpha ID 0 2049 1 3748 [+1700] 2 3747 [-1] 3 3746 [-1] Confused? Hint: http://www.staredit.net/topic/14226/ (Read Section 6) ^^^^^^^Parts of this seem to be wrong. This is the magic formula: with the variables p = player number (starting at 0 up to 7) h = hotkey number i = index in a hotkey (starting at 0 up to 11) u = unit id then if player p has unit u hotkeyed in index i of hotkey h, we have, for u > 0 memory(-10561+(p*216)+(h*12)+i) == 3749 - u, and for u = 0, memory(-10561+(p*216)+(h*12)+i) == 2049. ============== Edited by PereC, 2021.06.25: Each u32 stores the Alpha ID of a hotkeyed unit: Starting from 0x57FE60: All the hotkeyed unit of P1 0x57FE60: Alpha ID of the 1st unit in P1 hotkey 0 0x57FE64: Alpha ID of the 2nd unit in P1 hotkey 0 0x57FE68: Alpha ID of the 3rd unit in P1 hotkey 0 ... 0x57FE60 + 4 * 11: Alpha ID of the 12th unit in P1 hotkey 0 0x57FE60 + 4 * 12: Alpha ID of the 1st unit in P1 hotkey 1 0x57FE60 + 4 * 13: Alpha ID of the 2nd unit in P1 hotkey 1 ... 0x57FE60 + 4 * 119: Alpha ID of the 12th unit in P1 hotkey 9 From 0x57FE60 + 4 * 120 to 0x57FE60 + 4 * 216: ?????? ----------- Starting from 0x57FE60 + 216: All the hotkeyed unit of P2 ----------- Starting from 0x57FE60 + 216 * 2: All the hotkeyed unit of P3 ----------- ... ----------- Starting from 0x57FE60 + 216 * 7: All the hotkeyed unit of P8 ----------- Personally I don't know why there are 864 bytes for each player. Intuitively there should be 4 * 12 * 10 = 480 bytes for each player, cuz there are 10 hotkeys and 12 units within a hotkey. |
00581960 | -8833 | 1.16.1 | BWGame unk_2870 | 1 | 1024 | Simple Data | |
00581D60 | -8577 | 1.16.1 | Default Message Filter | 1 | 1 | Simple Data | Controls who you chat with when pressing Enter. (To Allies: hello) 0 = Player0 1 = Player1 2 = Player2 3 = Player3 4 = Player4 5 = Player5 6 = Player6 7 = Player7 8 = All 9 = Allies |
00581D61 | -8577 | 1.16.1 | Player Lose Type | 1 | 1 | Simple Data | |
00581D62 | -8577 | 1.16.1 | Player Left | 1 | 8 | Simple Data | |
00581D6A | -8575 | 1.16.1 | Player Selection Circle Colors | 1 | 12 | Simple Data | Each byte sets the color of the selection circle: 000 - Green 001 - Yellow 002 - Red 017 - Grey Blue* 136 - Light Grey* 138 - Dark Grey* Higher values can give different colors (most give solid black.) Asterisk colors are inconsistent. p1 = -8575 with mask 0x00FF0000 p2 = -8575 with mask 0xFF000000 p3 = -8574 with mask 0x000000FF p4 = -8574 with mask 0x0000FF00 p5 = -8574 with mask 0x00FF0000 p6 = -8574 with mask 0xFF000000 p7 = -8573 with mask 0x000000FF p8 = -8573 with mask 0x0000FF00 p9 = -8573 with mask 0x00FF0000 p10 = -8573 with mask 0xFF000000 p11 = -8572 with mask 0x000000FF p12 = -8572 with mask 0x0000FF00 |
00581D76 | -8572 | 1.16.1 | Unit Color Table | 8 | 12 | Simple Data | Each byte corresponds to a palette index used for each player color. (The low values for the starting address is the selection circle color for players 11 and 12. Usually 0x0101 ... See that address for details.) |
00581DD6 | -8548 | 1.16.1 | Minimap Color Table | 1 | 12 | Simple Data | Each byte references a palette index. This table is immediately after the unit color table, so the low value is the last 2 bytes of Player 12's unit color. |
00581DE2 | -8545 | 1.16.1 | BWGame unk_2cf2 | 1 | 2 | Simple Data | |
00581DE4 | -8544 | 1.16.1 | Score Total Units Produced | 4 | 12 | Simple Data | Appears to be flipped; units owned, and not produced. |
00581E14 | -8532 | 1.16.1 | Score Units Produced | 4 | 12 | Simple Data | Appears to be flipped; units owned, and not produced. |
00581E44 | -8520 | 1.16.1 | Score Units Owned | 4 | 12 | Simple Data | Appears to be flipped; to be units produced, and not owned. |
00581E74 | -8508 | 1.16.1 | Number of Units Lost | 4 | 12 | Simple Data | Deaths for "Any Unit" stored here. |
00581EA4 | -8496 | 1.16.1 | Number of Units Killed | 4 | 12 | Simple Data | Kills for "Any Unit" stored here. |
00581ED4 | -8484 | 1.16.1 | Score Unit Total | 4 | 12 | Simple Data | |
00581F04 | -8472 | 1.16.1 | Score Kill Total | 4 | 12 | Simple Data | |
00581F34 | -8460 | 1.16.1 | Score Structures Constructed Total | 4 | 12 | Simple Data | |
00581F64 | -8448 | 1.16.1 | Number of Buildings Constructed | 4 | 12 | Simple Data | |
00581F94 | -8436 | 1.16.1 | Number of Buildings Owned | 4 | 12 | Simple Data | |
00581FC4 | -8424 | 1.16.1 | Number of Buildings Lost | 4 | 12 | Simple Data | Deaths for "Buildings" stored here. |
00581FF4 | -8412 | 1.16.1 | Number of Buildings Razed | 4 | 12 | Simple Data | Kills for "Buildings" stored here. |
00582024 | -8400 | 1.16.1 | Buildings Score | 4 | 12 | Simple Data | Score for "Buildings", or buildings produced. |
00582054 | -8388 | 1.16.1 | Razings Score | 4 | 12 | Simple Data | Score for "Razings", or buildings killed. |
00582084 | -8376 | 1.16.1 | Number of Factories Constructed | 4 | 12 | Simple Data | |
005820B4 | -8364 | 1.16.1 | Number of Factories Owned | 4 | 12 | Simple Data | |
005820E4 | -8352 | 1.16.1 | Number of Factories Lost | 4 | 12 | Simple Data | Deaths for "Factories" stored here. |
00582114 | -8340 | 1.16.1 | Number of Factories Razed | 4 | 12 | Simple Data | Kills for "Factories" stored here. |
00582144 | -8328 | 1.16.1 | Zerg Control Available | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
00582174 | -8316 | 1.16.1 | Zerg Control Used | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
005821A4 | -8304 | 1.16.1 | Zerg Control Max | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
005821D4 | -8292 | 1.16.1 | Terran Supply Available | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
00582204 | -8280 | 1.16.1 | Terran Supply Used | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
00582234 | -8268 | 1.16.1 | Terran Supply Max | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
00582264 | -8256 | 1.16.1 | Protoss Psi Available | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
00582294 | -8244 | 1.16.1 | Protoss Psi Used | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
005822C4 | -8232 | 1.16.1 | Protoss Psi Max | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536. |
005822F4 | -8220 | 1.16.1 | Score Custom | 4 | 12 | Simple Data | |
00582324 | -8208 | 1.16.1 | All Unit Counts Table | 48 | 228 | Simple Data | Counts per player, per unit For each unit, 4 bytes per player, for 12 players. offset + (unit*12 + player) * sizeof(u32) |
00584DE4 | -5472 | 1.16.1 | Completed Unit Counts Table | 48 | 228 | Simple Data | Counts per player, per unit For each unit, 4 bytes per player, for 12 players. offset + (unit*12 + player) * sizeof(u32) |
00585474 | -5052 | 1.16.1 | Larva Count | 12 | 1 | (Why does this entry exist? Should be within the Completed Unit Counts Table) The amount of larva a hatchery, lair, or hive currently have. | |
005878A4 | -2736 | 1.16.1 | Killed Unit Counts Table | 48 | 228 | Simple Data | Counts per player, per unit. For each unit, 4 bytes per player, for 12 players. offset + (unit*12 + player) * sizeof(u32) |
0058A364 | 1.16.1 | Death Table Start | 48 | 228 | Simple Data | Counts per player, per unit First entry in the death table (P1 marine) for 1.16.1. Structured like P1 marine P2 marine ... P12 marine P1 ghost P2 ghost ... P12 ghost ... ... For each unit, 4 bytes per player, for 12 players. offset + (unit*12 + player) * sizeof(u32) | |
0058CE24 | 2736 | 1.16.1 | SC Technologies Available (0-23) | 24 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. 1 row per player, 24 bytes per row, 1 byte per tech. BW techs are elsewhere. Offset: 24 * Player + Offs SC Techs: ID Offs. Name 00 +0 Stim Packs 01 +1 Lockdown 02 +2 EMP Shockwave 03 +3 Spider Mines 04 +4 Scanner Sweep 05 +5 Tank Siege Mode 06 +6 Defensive Matrix 07 +7 Irradiate 08 +8 Yamato Gun 09 +9 Cloaking Field 10 +10 Personnel Cloaking 11 +11 Burrowing 12 +12 Infestation 13 +13 Spawn Broodlings 14 +14 Dark Swarm 15 +15 Plague 16 +16 Consume 17 +17 Ensnare 18 +18 Parasite 19 +19 Psionic Storm 20 +20 Hallucination 21 +21 Recall 22 +22 Stasis Field 23 +23 Archon Warp |
0058CF44 | 2808 | 1.16.1 | SC Technologies Researched (0-23) | 24 | 12 | Simple Data | [See SC Technologies Available] http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=410 |
0058D064 | 2880 | 1.16.1 | SC Tech Research In Progress | 1 | 36 | Simple Data | Who knows |
0058D088 | 2889 | 1.16.1 | SC Upgrades Available (0-45) | 46 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. 1 row per player, 46 bytes per row, 1 byte per upgrade. BW upgrades are elsewhere. Offset: 46 * Player + Offs SC Upgrades: ID Offs. Name 00 +0 Terran Infantry Armor 01 +1 Terran Vehicle Plating 02 +2 Terran Ship Plating 03 +3 Zerg Carapace 04 +4 Zerg Flyer Caparace 05 +5 Protoss Armor 06 +6 Protoss Plating 07 +7 Terran Infantry Weapons 08 +8 Terran Vehicle Weapons 09 +9 Terran Ship Weapons 10 +10 Zerg Melee Attacks 11 +11 Zerg Missile Attacks 12 +12 Zerg Flyer Attacks 13 +13 Protoss Ground Weapons 14 +14 Protoss Air Weapons 15 +15 Protoss Plasma Shields 16 +16 U-238 Shells 17 +17 Ion Thrusters 18 +18 Burst Lasers (Unused) 19 +19 Titan Reactor (SV +50) 20 +20 Ocular Implants 21 +21 Moebius Reactor (Ghost +50) 22 +22 Apollo Reactor (Wraith +50) 23 +23 Colossus Reactor (BC +50) 24 +24 Ventral Sacs 25 +25 Antennae 26 +26 Pneumatized Carapace 27 +27 Metabolic Boost 28 +28 Adrenal Glands 29 +29 Muscular Augments 30 +30 Grooved Spines 31 +31 Gamete Meiosis (Queen +50) 32 +32 Metasynaptic Node (Defiler +50) 33 +33 Singularity Charge 34 +34 Leg Enhancements 35 +35 Scarab Damage 36 +36 Reaver Capacity 37 +37 Gravitic Drive 38 +38 Sensor Array 39 +39 Gravitic Boosters 40 +40 Khaydarin Amulet (HT +50) 41 +41 Apial Sensors 42 +42 Gravitic Thrusters 43 +43 Carrier Capacity 44 +44 Khaydarin Core (Arbiter +50) 45 +45 Unknown Upgrade45 |
0058D2B0 | 3027 | 1.16.1 | SC Upgrades Researched (0-45) | 46 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. 1 row per player, 46 bytes per row, 1 byte per upgrade. BW upgrades are elsewhere. Offset: 46 * Player + Offs SC Upgrades: ID Offs. Name 00 +0 Terran Infantry Armor 01 +1 Terran Vehicle Plating 02 +2 Terran Ship Plating 03 +3 Zerg Carapace 04 +4 Zerg Flyer Caparace 05 +5 Protoss Armor 06 +6 Protoss Plating 07 +7 Terran Infantry Weapons 08 +8 Terran Vehicle Weapons 09 +9 Terran Ship Weapons 10 +10 Zerg Melee Attacks 11 +11 Zerg Missile Attacks 12 +12 Zerg Flyer Attacks 13 +13 Protoss Ground Weapons 14 +14 Protoss Air Weapons 15 +15 Protoss Plasma Shields 16 +16 U-238 Shells 17 +17 Ion Thrusters 18 +18 Burst Lasers (Unused) 19 +19 Titan Reactor (SV +50) 20 +20 Ocular Implants 21 +21 Moebius Reactor (Ghost +50) 22 +22 Apollo Reactor (Wraith +50) 23 +23 Colossus Reactor (BC +50) 24 +24 Ventral Sacs 25 +25 Antennae 26 +26 Pneumatized Carapace 27 +27 Metabolic Boost 28 +28 Adrenal Glands 29 +29 Muscular Augments 30 +30 Grooved Spines 31 +31 Gamete Meiosis (Queen +50) 32 +32 Metasynaptic Node (Defiler +50) 33 +33 Singularity Charge 34 +34 Leg Enhancements 35 +35 Scarab Damage 36 +36 Reaver Capacity 37 +37 Gravitic Drive 38 +38 Sensor Array 39 +39 Gravitic Boosters 40 +40 Khaydarin Amulet (HT +50) 41 +41 Apial Sensors 42 +42 Gravitic Thrusters 43 +43 Carrier Capacity 44 +44 Khaydarin Core (Arbiter +50) 45 +45 Unknown Upgrade45 |
0058D4D8 | 3165 | 1.16.1 | SC Upgrade in Progress Lvl 1 (Unused?) | 1 | 72 | Simple Data | Who knows |
0058D520 | 3183 | 1.16.1 | SC Upgrade in Progress Lvl 2 (Unused?) | 1 | 72 | Simple Data | Who knows |
0058D5B0 | 3219 | 1.16.1 | Player's Force | 1 | 8 | Simple Data | 8 bytes: 1 byte for each active player, specifying which of the 4 forces (0-based) that the player's on: EPD 3219 Player 1: 0x0058D5B0 Player 2: 0x0058D5B1 force*256 Player 3: 0x0058D5B2 force*65536 Player 4: 0x0058D5B3 force*16777216 EPD 3220 Player 5: 0x0058D5B4 Player 6: 0x0058D5B5 force*256 Player 7: 0x0058D5B6 force*65536 Player 8: 0x0058D5B7 force*16777216 each force have a multipler value to differentiate themselves from one another: Force 1 Force 2 (*2 to Player) Force 3 (*3 to Player) Force 4 (*4 to Player) force flags force names PLAYER'S FORCE |
0058D5B8 | 3221 | 1.16.1 | Force Flags | 1 | 4 | Simple Data | 4 bytes: 1 byte for each force specifying the flags; force 1: 0x0058D5B8 force 2: 0x0058D5B9 bits*256 force 3: 0x0058D5BA bits*65536 force 4: 0x0058D5BB bits*16777216 7 bits: 1 bit per flag per force; bit 0: randomize location (+1 to byte) bit 1: ally (+2 to byte) bit 2: allied victory (+4 to byte) bit 3: shared vision (+8 to byte) bit 4: unknown/unused (+16 to byte) bit 5: unknown/unused (+32 to byte) bit 6: unknown/unused (+64 to byte) bit 7: unknown/unused (+128 to byte) EPD 3221: read not one byte, but all four bytes and 12 bits FORCE FLAGS force names player's force |
0058D5BC | 3222 | 1.16.1 | Force Names | 30 | 4 | Simple Data | 4 byte integers: 1 integer for each force, string number of the name per force: force 1: 0x0058D5BC (EPD 3222) force 2: 0x0058D5DC (EPD 3230) force 3: 0x0058D5F8 (EPD 3237) force 4: 0x0058D614 (EPD 3244) untested: even forces strip two characters from the start of the force name advice: use [EUD] Text to Value converter force flags FORCE NAMES player's force |
0058D634 | 3252 | 1.16.1 | Player Alliances | 12 | 12 | Simple Data | EPD 3252 + 0x00: P1 ally status to P1 + 0x01: P1 ally status to P2 (*256). + 0x02: P1 ally status to P3 (*65536). + 0x03: P1 ally status to P4 (*16777216). EPD 3253 + 0x04: P1 ally status to P5. + 0x05: P1 ally status to P6 (*256). + 0x06: P1 ally status to P7 (*65536). + 0x07: P1 ally status to P8 (*16777216). EPD 3254 P1 ally status to P9-P12. EPD 3255 + 0x0C: P2 ally status to P1. + 0x0D: P2 ally status to P2 (*256). etc 0x00: Enemy, 0x01: Ally, 0x02: Allied Victory Note - A player is always allied OR allied victory to themself. I could not confirm through testing if it was just one of them, but in most cases, it's allied. Otherwise assume allied victory instead. |
0058D6C4 | 3288 | 1.16.1 | Mission Objectives Index | 4 | 12 | Simple Data | EPD 3288 (+0x00): This is the Mission Objective String ID for Player 1. To find the String ID for a Mission Objective: 1) Look at Player 1's Mission Objective text. 2) Go into the String Editor of the Map Editor you're using. 3) Find the exact string used in Player 1's Mission Objective text within the String Editor. 4) Now count all of the string above it, and add 1 to the total number. Note: This does not work if Player 1 does not have any text in his Mission Objective. In fact, the value of the address would be 0. EPD 3289 (+0x04): This is the Mission Objective String ID for Player 2. EPD 3290 (+0x08): This is the Mission Objective String ID for Player 3. EPD 3291 (+0x0C): This is the Mission Objective String ID for Player 4. EPD 3292 (+0x10): This is the Mission Objective String ID for Player 5. etc |
0058D6F4 | 3300 | 1.16.1 | Countdown Timer | 4 | 1 | Simple Data | Changing the value of this address with EUP or EUD is worthwhile, as the timer will not appear graphically and yet count down till zero without any of the players knowing. In other words, this could be used as another death counter for certain events. [So is this 'Display Countdown Timer' then?] |
0058D6F8 | 3301 | 1.16.1 | Elapsed Time | 4 | 1 | Simple Data | Game Seconds (1 Game Second = 16 Game Ticks = ~1072ms on normal speed = ~672ms on fastest speed) Reportedly can be modified to prevent flag beacons from creating flags. |
0058D6FC | 3302 | 1.16.1 | SC Switch Table (Unused?) | 4 | 1 | Simple Data | 32 switches, probably pre-1.04 when number of switches was increased to 256. |
0058D700 | 3303 | 1.16.1 | Player Victory Status | 1 | 8 | Simple Data | |
0058D708 | 3305 | 1.16.1 | Leaderboard Has Computer Players | 4 | 1 | Simple Data | |
0058D70C | 3306 | 1.16.1 | Leader Board Type | 1 | 1 | Simple Data | |
0058D70D | 3306 | 1.16.1 | Leader Board Condition | 1 | 1 | Simple Data | |
0058D70E | 3306 | 1.16.1 | Leader Board Subtype | 2 | 1 | Simple Data | |
0058D710 | 3307 | 1.16.1 | Leader Board Goal | 4 | 1 | Simple Data | |
0058D714 | 3308 | 1.16.1 | Leader Board String Index | 4 | 1 | Simple Data | |
0058D718 | 3309 | 1.16.1 | #'s of Game Pauses | 1 | 8 | Simple Data | The base value of this address is: (P1 + P2 + P3 + P4) * 3 = 50529027 Player 1: *1 Player 2: *256 Player 3: *65536 Player 4: *16777216 Player 1, 2, 3, and 4 all have three remaining game pauses that they can use to stop the game from running temporarily. If Player 2 were to pause the game, and have only two remaining game pauses left as a result, the new value of the address is: 50529027 - 256 = 50528771. The same as EPD 3310, except: Player 5: *1 Player 6: *256 Player 7: *65536 Player 8: *16777216 Challenge (Try it) - Create a easy formula from all of the information given. |
0058D720 | 3311 | 1.16.1 | Start Locations | 4 | 8 | Simple Data | Point: u16 X u16 Y EPD 3311 +0x00: P1 Start Location (X, Y*65536) +0x01: P2 Start Location (X*16777216, Y*256) *256 +0x02: Unknown (4194352) *65536 +0x03: Unknown (805322752) *16777216 EPD 3312 +0x04: Unknown (3145792) +0x05: P3 Start Location (X*16777216, Y*256) *256 +0x06: Unknown (4194352) *65536 +0x07: Unknown (805322752) *1677216 EPD 3313 +0x08: Unknown (3145792) +0x09: P4 Start Location (X*16777216, Y*256) *256 +0x0A: Unknown (4194352) *65536 +0x0B: Unknown (805322752) *16777216 EPD 3314 + 0x0C: Unknown (3145792) +0x0D: P5 Start Location (X*16777216, Y*256) *256 +0x0E: Unknown (12582960) *65536 +0x0F: Unknown (805355520) *16777216 EPD 3315 +0x10: Unknown (3145920) +0x11: P6 Start Location (X*16777216, Y*256) *256 +0x12: Unknown (12582960) *65536 +0x13: Unknown (805355520) *16777216 EPD 3316 +0x14: Unknown (3145920) +0x15: P7 Start Location (X*16777216, Y*256) *256 +0x16: Unknown (12582960) *65536 +0x17: Unknown (805355520) *16777216 EPD 3317 +0x18: Unknown (3145920) +0x19: P8 Start Location (X*16777216, Y*256) *256 +0x1A: Unknown (12582960) *65536 +0x1B: Unknown (805355520) *16777216 Base Value (when start locations are placed top-left of the map) Player 1: 3145792 Player 2-8: 1073754112 Already you can tell that all of this is confusing and doesn't make a lot of sense on its own, so here's a tutorial that will hopefully clear up some things: 1.To check if the position of Player 3's Start Location is at the location you placed it at, look at EPD 3312. 2. Look at the X pixel placement of P3 start location in your map editor and write it down. 3. Look at the Y pixel placement of P3 start location in your map editor and write it down. 4. Now plug those numbers into this formula: Memory at Death Table + 3312 is exactly (3145792 + (((Start Location X * 16777216) + (Start Location Y * 256)) * 256) + (4194352 * 65536) + (805322752 * 16777216)) 3145792, 4194352, and 805322752 are "constants," that you need to know and account for in the equation. Because EPD reads 4 bytes at once (this formula does not work for Player 1 and Player 2 Start Location. If you understood everything that was said so far, then coming up with another formula that's specific to those two will be easy). 5. The trigger should work, and if it doesn't, then either you have miscalculated or these "unknowns", are not constant. Challenge - Find out what those unknowns are actually for, and/or create an easier formula than the one I have come up with. |
0058D740 | 3319 | 1.16.1 | Vanilla Location Table | 20 | 64 | Simple Data | This Location Table is not used in the Expansion (Brood War)! +0x00 (EPD 3319) This is the LEFT position of the location (X1). +0x04 (EPD 3320) This is the TOP position of the location (Y1). +0x08 (EPD 3321) This is the RIGHT position of the location (X2). +0x0C (EPD 3322) This is the BOTTOM position of the location (Y2). +0x10 (EPD 3323) String ID: 1) Look in the String Editor of the Map Editor you're using 2) Find the name of the location within it 3) Now count all the strings that are above it, and add 1 to the total number. 4) The number you came to is the String ID for that location Flags (Affect Layers): Low Ground: 65536 Med Ground: 131072 High Ground: 262144 Low Air: 524288 Med Air: 1048576 High Air: 2097152 When all flags are enabled, the value of the address is: 4128768 + String ID When all flags are disabled, the value of the address is: String ID Note: the 64th location is "Anywhere." |
0058DC40 | 3639 | 1.16.1 | Switch Table | 32 | 1 | Simple Data | +0x00 (EPD 3639) Switch 1: *1 Switch 2: *2 Switch 3: *4 Switch 4: *8 Switch 5: *16 Switch 6: *32 Switch 7: *64 Switch 8: *128 ... Switch 32: *2147483648 When none of the switches from 1 to 32 are set, the value of the address is: 0 When only switch 8 is set, the value of the address is: 128. When only switch 2 and switch 8 are set, the value of the address is: 2 + 128 = 130. +0x04 (EPD 3640): Switch 33-64 +0x08 (EPD 3641): Switch 65-96 +0x0C (EPD 3642): Switch 97-128 +0x10 (EPD 3643): Switch 129-160 +0x14 (EPD 3644): Switch 161-192 +0x18 (EPD 3645): Switch 193-224 +0x1C (EPD 3646): Switch 225-256 |
0058DC60 | 3647 | 1.16.1 | Location Table | 20 | 255 | Simple Data | +0x00 (EPD 3647) This is the LEFT position of the location (X1). +0x04 (EPD 3648) This is the TOP position of the location (Y1). +0x08 (EPD 3649) This is the RIGHT position of the location (X2). +0x0C (EPD 3650) This is the BOTTOM position of the location (Y2). +0x10 (EPD 3651) String ID: 1) Look in the String Editor of the Map Editor you're using 2) Find the name of the location within it 3) Now count all the strings that are above it, and add 1 to the total number. 4) The number you came to is the String ID for that location Flags (Affect Layers): Low Ground: 65536 Med Ground: 131072 High Ground: 262144 Low Air: 524288 Med Air: 1048576 High Air: 2097152 When all flags are enabled, the value of the address is: 4128768 + String ID When all flags are disabled, the value of the address is: String ID Note: the 64th (1-based) location is "Anywhere." |
0058F04C | 4922 | 1.16.1 | Time Pause State | 4 | 1 | Simple Data | If FALSE, the value of the address is 0, and the countdown timer is not paused. if TRUE, the value of the address is greater than 0, and the countdown timer is paused. |
0058F050 | 4923 | 1.16.1 | BW Technologies Available (24-43) | 20 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. 1 row per player, 20 bytes per row, 1 byte per tech. |
0058F140 | 4983 | 1.16.1 | BW Technologies Researched (24-43) | 20 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. 1 row per player, 20 bytes per row, 1 byte per tech. |
0058F230 | 5043 | 1.16.1 | BW Tech Research In Progress | 1 | 72 | [SCR: Simple data] Who knows | |
0058F278 | 5061 | 1.16.1 | BW Upgrades Available (46-60) | 15 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. 1 row per player, 15 bytes per row, 1 byte per upgrade. |
0058F32C | 5106 | 1.16.1 | BW Upgrades Researched (46-60) | 15 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. 1 row per player, 46 bytes per row, 1 byte per upgrade. *****ALL BW upgrades addresses generated automatically in Eud Editor 2 0.17.9.7 are wrong***** *****Please follow contents below***** Offset: 15 * Player + Offs BW Upgrades: ID Offs. Name 00 +0 unknown upgrade46 01 +1 argus jewel (corsair +50) 02 +2 unknown upgrade48 03 +3 arugs talisman (DA +50) 04 +4 unknown upgrade50 05 +5 caduceus reactor (medic +50) 06 +6 chitinous plating 07 +7 anabolic synthesis 08 +8 charon booster 09 +9 unknown upgrade55 10 +10 unknown upgrade56 11 +11 unknown upgrade57 12 +12 unknown upgrade58 13 +13 unknown upgrade59 14 +14 unknown upgrade60 |
0058F3E0 | 5151 | 1.16.1 | BW Upgrade In Progress | 1 | 96 | Simple Data | Who knows |
0058F440 | 5175 | 1.16.1 | Is Expansion | 1 | 1 | Simple Data | 1 if your game is using the Expansion set. |
0058F441 | 5175 | 1.16.1 | BWGame unk_10351 | 1 | 1 | Simple Data | |
0058F442 | 5175 | 1.16.1 | Unknown Player Color Something | 1 | 8 | Simple Data | |
0058F44A | 5177 | 1.16.1 | BWGame "Literally Unused" | 1 | 29604 | Simple Data | |
005968A0 | 12623 | 1.16.1 | Input Procedures | 4 | 19 | A list of functions that determine how user input is handled. | |
005968AC | 12626 | 1.16.1 | Mouse Left Click | 4 | 1 | Detects the left click of a mouse. Use only actions that won't desync (check the Reference). | |
00596904 | 12648 | 1.16.1 | Game Mode | 2 | 1 | Unsupported | Determines the game's mode. In-Game, in-menu, battle.net, etc. The official name is gwGameMode. |
00596A18 | 12717 | 1.16.1 | Virtual Key Array | 1 | 256 | Backed By Code | An array containing the state of all the virtual key codes (VK_). |
005993C4 | 15384 | 1.16.1 | Pointer to "MTXM" map tile data | 4 | 1 | Backed By Code | |
005993D4 | 15388 | 1.16.1 | Pointer to map "STR " section | 4 | 1 | Backed By Code | Pointer default: first string |
0059BA5C | 17854 | 1.16.1 | Game Subtype ID | 4 | 1 | Subtype ID specified in GOT template. Top Vs. Bottom: Number is the number of players on top (1 = "1 vs #", 2 = "2 vs #", etc.) Greed: 1=2500, 2=5000, 3=7500, 4=10000 Slaughter: 1=15, 2=30, 3=45, 4=60 Team Melee/FFA/CTF: 1=2 teams, 2=3 teams, 3=4 teams | |
0059C080 | 18247 | 1.16.1 | Mapdata.dat - Mission dir | 4 | 65 | Mapdata.tbl string index | |
0059CC78 | 19013 | 1.16.1 | Last Time for Drop Window | 4 | 1 | Simple Data | Last GetTickCount Win32 API Time for Drop Window shown. Whenever a player disconnects, StarCraft will display drop window. If 2 minutes elapsed since last drop window showed, StarCraft will reset the drop timer to 45 seconds. |
0059CC80 | 19015 | 1.16.1 | Drop Timer | 4 | 1 | Simple Data | The time remaining before a player is dropped. See the address 0x59CC78 (Last Time of Drop Window) for application. |
0059CCA8 | 19025 | 1.16.1 | Unitnode Table | 336 | 1700 | Backed By Code | [SCR: See individual entries] See Unitnode Structure in the Reference page or https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Source/BW/CUnit.h Units are loaded to index 0 then 1699, 1698, 1697... (this includes pre-placed map units) Compute the memory location of an index using: 0x0059CCA8 + (0x150 * index) Example: Index 1699 is at 0x00628298 = 0x0059CCA8 + (0x150 * 0x6A3) (player 161,741) where 0x0059CCA8 is the base address, 0x150 = 336 is the size and 0x6A3 = 1699 is the unit index Index 1698 is at 0x00628148 = 0x0059CCA8 + (0x150 * 0x6A2) Index 1697 is at 0x00627FF8 = 0x0059CCA8 + (0x150 * 0x6A1) Index 1696 is at 0x00627EA8 = 0x0059CCA8 + (0x150 * 0x6A0) etc. (difference between each index is the size, 336 = 0x150) |
0059CCA8 | 19025 | 1.16.1 | CUnit - Previous Unit | 4 | 1 | Supported | |
0059CCAC | 19026 | 1.16.1 | CUnit - Next Unit | 4 | 1 | Supported | |
0059CCB0 | 19027 | 1.16.1 | CUnit - HP | 4 | 1 | Supported | Amount of HP that a unit currently has. Value displayed in-game is divided by 256. For example, a Marine that has 40 HP in-game would have 10240 or 0x2800 HP in memory. Offset from unit index address: 0x08 Unit Index 0 HP = 0x0059CCA8 + 0x08 = 0x0059CCB0 Unit Index 1 HP = 0x00628298 + 0x08 = 0x006282A0 Unit Index 2 HP = 0x00628148 + 0x08 = 0x00628150 Example: Regenerate HP for unit at index 2 to a max of 100 HP Unit Index 2 HP = 0x00628148 + 0x08 = 0x00628150 Trigger("Player 1"){ Conditions: // HP is less than 100 MemoryAddr(0x628150, At most, 25599); Actions: // Add 16/256 HP MemoryAddr(0x628150, Add, 16); Preserve Trigger(); } //-----------------------------------------------------------------// Trigger("Player 1"){ Conditions: // HP is over 100 MemoryAddr(0x628150, At least, 25601); Actions: // Set to 100 HP MemoryAddr(0x628150, Set To, 25600); Preserve Trigger(); } |
0059CCB4 | 19028 | 1.16.1 | CUnit - Sprite | 4 | 1 | Supported | Pointer to CSprite. Contains the graphics of the unit. |
0059CCB8 | 19029 | 1.16.1 | CUnit - Target Pos | 2 | 2 | Supported | X + 65536*Y |
0059CCBC | 19030 | 1.16.1 | CUnit - Target Unit | 4 | 1 | Supported | CUnit target pointer |
0059CCC0 | 19031 | 1.16.1 | CUnit - Next Movement Waypoint | 2 | 2 | Unsupported | 0x0000FFFF x-coord 0xFFFF0000 y-coord The next way point in the path the unit is following to get to its destination. Equal to moveToPos for air units since they don't need to navigate around buildings or other units. (bwapi) |
0059CCC4 | 19032 | 1.16.1 | CUnit - Next Target Waypoint | 4 | 1 | Unsupported | 0x0000FFFF x-coord 0xFFFF0000 y-coord The desired position (bwapi) "When this is set to a certain point, a unit will face in the direction of that point while it idles. This has no effect on the unit when it's moving. By default, it was on the current position of the Marine. When the unit is attacking another unit, this point is set to the unit's target. This is likely used to make a unit face its target when attacking." -Roy |
0059CCC8 | 19033 | 1.16.1 | CUnit - Movement Flags | 1 | 1 | Supported | Flags that enable/disable certain movement. Need more testing. 0x01 - Ordered at least once 0x02 - Accelerating 0x04 - Breaking 0x08 - Starting attack 0x10 - Moving 0x20 - Lifted 0x40 - Unknown 0x80 - Always zero |
0059CCC9 | 19033 | 1.16.1 | CUnit - Current Direction 1 | 1 | 1 | Supported | 256 directions starting from the top going clockwise. 0x0000FF00 - *256 |
0059CCCA | 19033 | 1.16.1 | CUnit - Flingy Turn Radius | 1 | 1 | Supported | "The unit flips out when this is frozen on a specific value. It will have difficulty turning, and will usually be seen walking diagonally instead of facing the direction it is actually walking towards." -Roy |
0059CCCB | 19033 | 1.16.1 | CUnit - Velocity Direction 1 | 1 | 1 | Supported | This usually only differs from the currentDirection field for units that can accelerate and travel in a different direction than they are facing. For example Mutalisks can change the direction they are facing faster than then can change the direction they are moving. |
0059CCCC | 19034 | 1.16.1 | CUnit - Flingy ID | 2 | 1 | Supported | The Flingy ID of the unit. |
0059CCCF | 19034 | 1.16.1 | CUnit - Flingy Movement Type | 1 | 1 | Supported | The type of movement that the unit use (*16777216). |
0059CCD0 | 19035 | 1.16.1 | CUnit - Position Coordinates | 2 | 2 | Supported | The coordinates of a unit on the map (X + 65536*Y). |
0059CCD4 | 19036 | 1.16.1 | CUnit - Halt X Coordinate | 4 | 1 | Supported | The X coordinate of a unit on the map (*256). |
0059CCD8 | 19037 | 1.16.1 | CUnit - Halt Y Coordinate | 4 | 1 | Supported | The Y coordinate of a unit on the map (*256). |
0059CCDC | 19038 | 1.16.1 | CUnit - Flingy Top Speed | 4 | 1 | Supported | |
0059CCE0 | 19039 | 1.16.1 | CUnit - Move Acceleration | 4 | 1 | Supported | CUnit.current_speed1 Related to turning and from observations, it is apparent that this is similar (or the same) to the move speed of a unit. |
0059CCE4 | 19040 | 1.16.1 | CUnit - Move Speed | 4 | 1 | Supported | CUnit.current_speed2 The speed that the unit is currently moving at. An example of this in use would be to tell the difference between a marine that is using Stim Packs and a marine that is not using Stim Packs. |
0059CCE8 | 19041 | 1.16.1 | CUnit - Move Speed On X-Axis | 4 | 1 | Supported | CUnit.current_speed.x The speed that the unit is currently moving at on the X-Axis (Left = Negative, Right = Positive). An example of this would be to detect if a unit is absolutely moving towards the right (not diagonally). |
0059CCEC | 19042 | 1.16.1 | CUnit - Move Speed On Y-Axis | 4 | 1 | Supported | CUnit.current_speed.y The speed that the unit is currently moving at on the Y-Axis (Up = Negative, Down = Positive). An example of this in use would be to tell if a unit is going absolutely down (not diagonally). |
0059CCF0 | 19043 | 1.16.1 | CUnit - Flingy Acceleration | 2 | 1 | Supported | |
0059CCF2 | 19043 | 1.16.1 | CUnit - Current Direction 2 | 1 | 1 | Supported | |
0059CCF3 | 19043 | 1.16.1 | CUnit - Velocity Direction 2 | 1 | 1 | Supported | The direction a unit is currently facing (*16777216). Up Least 0 Most 16777215 Up-Right Least 536870912 Most 553648127 Right Least 1073741824 Most 1090519039 Down-Right Least 1610612736 Most 1627389951 Down Least 2147483648 Most 2164260863 Down-Left Least 2684354560 Most 2701131775 Left Least 3221225472 Most 3238002687 Up-Left Least 3758096384 Most 3774873599 |
0059CCF4 | 19044 | 1.16.1 | CUnit - Player ID | 1 | 1 | Supported | The owner of the cunit. Mask: 0x000000FF *1 P1: 00 P2: 01 P3: 02 etc. |
0059CCF5 | 19044 | 1.16.1 | CUnit - Main Order ID | 1 | 1 | Supported | Specification of type of order given. See http://www.staredit.net/wiki/index.php?title=Orders.dat_Entry_Listing Mask: 0x0000FF00 *256 |
0059CCF6 | 19044 | 1.16.1 | CUnit - Main Order State | 1 | 1 | Supported | Additional order (*65536) information. More extensive testing is necessary. BWAPI doc: 0x01 Moving/Following Order 0x02 No collide (Larva)? 0x04 Harvesting? Working? 0x08 Constructing Stationary Note: I don't actually think these are flags |
0059CCF7 | 19044 | 1.16.1 | CUnit - Order Signal | 1 | 1 | Supported | Additional order (*16777216) information. Set by iscript. BWAPI doc: 0x01 Update building graphic/state 0x02 Casting spell 0x04 Reset collision? Always enabled for hallucination... 0x10 Lift/Land state Potential Link: https://github.com/bwapi/bwapi/blob/master/Documentation/dox/orders.dox |
0059CCF8 | 19045 | 1.16.1 | CUnit - Order Unit Type | 2 | 1 | Supported | 228 = none? |
0059CCF9 | 19045 | 1.16.1 | CUNIT - Idle Order Timer | 4 | 1 | (*256) While the unit is specifically following the order to move to an area, the value of this address is 0. When it is not moving, the value appears to randomize itself. When the unit is given an order to attack an area, it switches from randomizing itself to being zero repeatedly with a delay. This might explain why units that are attacking are slower at firing the auto-acquired target once it is in range than it is to patrol towards them instead. Note that a building is always zero. 0x0059CCFA (*65536) 0x0059CCFB (*16777216) | |
0059CCFC | 19046 | 1.16.1 | CUnit - Main Order Timer | 1 | 1 | Supported | A timer for orders. An example would be the time left before a worker harvest the gas from a mine or transport unloading. |
0059CCFD | 19046 | 1.16.1 | CUnit - Cooldown | 1 | 3 | Supported | The firing rate (or cooldown) for ground weapons (*256). 0x0059CCFD The firing rate (or cooldown) for air weapons (*65536). 0x0059CCFE The casting rate (or cooldown) for spells (*16777216). 0x0059CCFF |
0059CD00 | 19047 | 1.16.1 | CUnit - Order Coordinates | 2 | 2 | Supported | The coordinates of an order given to a unit (X + 65536*Y) Advice: use a trigger duplicator. X: *1 Mask: 0x0000FFFF Y: *65536 Mask: 0xFFFF0000 |
0059CD04 | 19048 | 1.16.1 | CUnit - Order Target Unit | 4 | 1 | Supported | The unit targeted by another unit (Index Pointer). |
0059CD08 | 19049 | 1.16.1 | CUnit - Shield Points | 4 | 1 | Supported | The amount of shield points that a unit have (*256). |
0059CD0C | 19050 | 1.16.1 | CUnit - Unit Type | 2 | 1 | Supported | |
0059CD10 | 19051 | 1.16.1 | CUnit - Previous Player Unit | 4 | 1 | Supported | Pointer to previous CUnit owned by the same player |
0059CD14 | 19052 | 1.16.1 | CUnit - Next Player Unit | 4 | 1 | Supported | Pointer to the next CUnit owned by the same player. |
0059CD18 | 19053 | 1.16.1 | CUnit - Sub Unit | 4 | 1 | Supported | Pointer to this unit's subunit CUnit. |
0059CD1C | 19054 | 1.16.1 | CUnit - Order Queue Head | 4 | 1 | (Unsupported?) Pointer to COrder | |
0059CD20 | 19055 | 1.16.1 | CUnit - Order Queue Tail | 4 | 1 | (Unsupported?) Pointer to COrder. | |
0059CD24 | 19056 | 1.16.1 | CUnit - Auto-Target Unit | 4 | 1 | Supported | Pointer to CUnit. The auto-acquired target (Note: This field is actually used for different targets internally, especially by the AI) (bwapi) |
0059CD28 | 19057 | 1.16.1 | CUnit - Connected Unit | 4 | 1 | Supported | Pointer to CUnit. Addon is connected to building (addon has conntected building, but not in other direction (officially "pAttached") (bwapi) |
0059CD2C | 19058 | 1.16.1 | CUnit - Order Queue Count | 1 | 1 | Supported | The number of queued orders a unit currently has. |
0059CD2D | 19058 | 1.16.1 | CUnit - Order Queue Timer | 1 | 1 | Supported | BWAPI doc: counts/cycles down from from 8 to 0 (inclusive). See also [Cycle Counter]. |
0059CD2E | 19058 | 1.16.1 | CUnit - Unknown 0x086 | 1 | 1 | Supported | Pathing related? |
0059CD2F | 19058 | 1.16.1 | CUnit - Attack Notify Timer | 1 | 1 | Supported | |
0059CD30 | 19059 | 1.16.1 | CUnit - Previous Unit Type | 2 | 1 | (Unsupported?) Stores the type of the unit prior to being morphed/constructed (bwapi) | |
0059CD32 | 19059 | 1.16.1 | CUnit - Last Event Timer | 1 | 1 | (Unsupported?) countdown that stops being recent when it hits 0 (bwapi) | |
0059CD33 | 19059 | 1.16.1 | CUnit - Last Event Color | 1 | 1 | (Unsupported? 17 = was completed (train, morph), 174 = was attacked (bwapi) | |
0059CD34 | 19060 | 1.16.1 | CUnit - Unused 0x08C | 2 | 1 | Supported | |
0059CD36 | 19060 | 1.16.1 | CUnit - Rank Increase | 1 | 1 | Supported | Adds to unit's base rank. (*65536) |
0059CD37 | 19060 | 1.16.1 | CUnit - Kill Count | 1 | 1 | Supported | The kill count of a unit (*16777216). |
0059CD38 | 19061 | 1.16.1 | CUnit - Last Attacking Player | 1 | 1 | Supported | The player that last attacked this unit |
0059CD39 | 19061 | 1.16.1 | CUnit - Secondary Order Timer | 1 | 1 | Supported | |
0059CD3A | 19061 | 1.16.1 | CUnit - AI Action Flag | 1 | 1 | Supported | Internal use by AI only (bwapi) |
0059CD3B | 19061 | 1.16.1 | CUnit - User Action Flags | 1 | 1 | Supported | Some flags that change when the user interacts with the unit 2 = issued an order 3 = interrupted an order 4 = self destructing (bwapi) |
0059CD3C | 19062 | 1.16.1 | CUnit - Button Set | 2 | 1 | Supported | The current button set of a unit. |
0059CD3C | 19062 | 1.16.1 | Order Destination Invalid (???) | 4 | 1 | "When this address is frozen and you order a unit to try to walk into water or other invalid terrain, the unit will walk in place when it determines it cannot complete the destination, instead of coming to a full stop." -Roy | |
0059CD3E | 19062 | 1.16.1 | CUnit - Is Cloaked | 1 | 1 | Supported | |
0059CD3F | 19062 | 1.16.1 | CUnit - Movement State | 1 | 1 | Supported | https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Source/BW/Path.h // Names are official UM_Init = 0x00, UM_InitSeq = 0x01, UM_Lump = 0x02, UM_Turret = 0x03, UM_Bunker = 0x04, UM_BldgTurret = 0x05, UM_Hidden = 0x06, UM_Flyer = 0x07, UM_FakeFlyer = 0x08, UM_AtRest = 0x09, UM_Dormant = 0x0A, UM_AtMoveTarget = 0x0B, UM_CheckIllegal = 0x0C, UM_MoveToLegal = 0x0D, UM_LumpWannabe = 0x0E, UM_FailedPath = 0x0F, UM_RetryPath = 0x10, UM_StartPath = 0x11, UM_UIOrderDelay = 0x12, UM_TurnAndStart = 0x13, UM_FaceTarget = 0x14, UM_NewMoveTarget = 0x15, UM_AnotherPath = 0x16, UM_Repath = 0x17, UM_RepathMovers = 0x18, UM_FollowPath = 0x19, UM_ScoutPath = 0x1A, UM_ScoutFree = 0x1B, UM_FixCollision = 0x1C, UM_WaitFree = 0x1D, UM_GetFree = 0x1E, UM_SlidePrep = 0x1F, UM_SlideFree = 0x20, UM_ForceMoveFree = 0x21, UM_FixTerrain = 0x22, UM_TerrainSlide = 0x23 |
0059CD40 | 19063 | 1.16.1 | CUnit - Build Queue | 2 | 5 | Supported | Queue of units to build. Note that it doesn't begin with index 0, but with #buildQueueSlot index. (bwapi) |
0059CD4A | 19065 | 1.16.1 | CUnit - Energy | 2 | 1 | Supported | Amount of energy a unit has. (value*256) * 65536 |
0059CD4C | 19066 | 1.16.1 | CUnit - Build Queue Slot | 1 | 1 | Supported | Index of active unit in #buildQueue. (bwapi) |
0059CD4D | 19066 | 1.16.1 | CUnit - Uniqueness Identifier | 1 | 1 | Supported | A byte used to determine uniqueness of the unit |
0059CD4E | 19066 | 1.16.1 | CUnit - Secondary Order ID | 1 | 1 | Supported | The order ID for passive orders such as Cloak, Build, ExpandCreep, cloaking field, etc. |
0059CD4F | 19066 | 1.16.1 | CUnit - Building Overlay State | 1 | 1 | Supported | 0 means the building has the largest amount of fire/blood (bwapi) |
0059CD50 | 19067 | 1.16.1 | CUnit - HP Gain | 2 | 1 | Supported | hp gained on construction or repair (bwapi) |
0059CD52 | 19067 | 1.16.1 | Cunit - Shield Gain | 2 | 1 | Supported | Shield gain on construction (bwapi) |
0059CD54 | 19068 | 1.16.1 | CUnit - Remaining Build Time | 2 | 1 | Supported | The remaining time before a building is constructed. |
0059CD56 | 19068 | 1.16.1 | CUnit - Previous HP | 2 | 1 | Supported | The HP of the unit before it changed (example Drone->Hatchery, the Drone's HP will be stored here) |
0059CD58 | 19069 | 1.16.1 | CUnit - Loaded Unit Index | 2 | 8 | Unsupported | (Unsupported?) Unit ID's (not pointers) of loaded units. |
0059CD68 | 19073 | 1.16.1 | CUnit - Vulture - Spider Mines | 1 | 1 | Supported | The amount of spider mines that a vulture has left. Also: Carrier/Reaver - Pointer to first CUnit inside the hangar Scarab/Interceptor - Pointer to parent Beacon - Unknown Building - Addon CUnit pointer Worker - Powerup CUnit pointer |
0059CD68 | 19073 | 1.16.1 | CUnit - Carrier/Reaver - In Hangar | 4 | 1 | Supported | CUnit pointer to first unit inside the hangar. Also: Vulture - Scarab count Scarab/Interceptor - Pointer to parent Beacon - Unknown Building - Addon CUnit pointer Worker - Powerup CUnit pointer |
0059CD68 | 19073 | 1.16.1 | CUnit - Scarab/Interceptor - Parent Unit | 4 | 1 | Supported | CUnit pointer to parent unit Also: Vulture - Spider mine count Carrier/Reaver - Pointer to first CUnit inside the hangar Beacon - Unknown Building - Addon CUnit pointer Worker - Powerup CUnit pointer |
0059CD68 | 19073 | 1.16.1 | CUnit - Beacon - Unknown +00 | 4 | 1 | Supported | Unknown ? Also: Vulture - Spider mine count Carrier/Reaver - Pointer to first CUnit inside the hangar Scarab/Interceptor - Pointer to parent Building - Addon CUnit pointer Worker - Powerup CUnit pointer |
0059CD68 | 19073 | 1.16.1 | CUnit - Building - Addon | 4 | 1 | Supported | CUnit pointer to addon. -- is this different from Connected Unit? Also: Vulture - Spider mine count Carrier/Reaver - Pointer to first CUnit inside the hangar Scarab/Interceptor - Pointer to parent Beacon - Unknown Building - Addon CUnit pointer Worker - Powerup CUnit pointer |
0059CD68 | 19073 | 1.16.1 | CUnit - Worker - Powerup Unit | 4 | 1 | Supported | CUnit pointer to the powerup carried by a worker Also: Vulture - Spider mine count Carrier/Reaver - Pointer to first CUnit inside the hangar Scarab/Interceptor - Pointer to parent Beacon - Unknown Worker - Powerup CUnit pointer |
0059CD6C | 19074 | 1.16.1 | CUnit - Carrier/Reaver - Out Hanger | 4 | 1 | Supported | CUnit pointer to first child outside the hangar Also: Scarab/Interceptor: pointer to previous Beacon: Unknown Building: Addon building type and upgrade/research time Worker: Target resource coordinates |
0059CD6C | 19074 | 1.16.1 | CUnit - Scarab/Interceptor - Previous | 4 | 1 | Supported | CUnit pointer to previous scarab/interceptor Also: Carrier/Reaver: pointer to first child outside the hangar Beacon: Unknown Building: Addon building type and upgrade/research time Worker: Target resource coordinates |
0059CD6C | 19074 | 1.16.1 | CUnit - Beacon - Unknown +04 | 4 | 1 | Supported | Unknown Also: Carrier/Reaver: pointer to first child outside the hangar Scarab/Interceptor: pointer to previous Building: Addon building type and upgrade/research time Worker: Target resource coordinates |
0059CD6C | 19074 | 1.16.1 | CUnit - Building - Addon Building Type | 2 | 1 | Supported | Also: Carrier/Reaver: pointer to first child outside the hangar Scarab/Interceptor: pointer to previous Beacon: Unknown Worker: Target resource coordinates |
0059CD6C | 19074 | 1.16.1 | CUnit - Worker - Target Resource Coord | 2 | 2 | Supported | 0x0000FFFF x-coordinate 0xFFFF0000 y-coordinate Also: Carrier/Reaver: pointer to first child outside the hangar Scarab/Interceptor: pointer to previous Beacon: Unknown Building: Addon building type and upgrade/research time |
0059CD6E | 19074 | 1.16.1 | CUnit - Building - Upgrade/Research Time | 2 | 1 | Supported | |
0059CD70 | 19075 | 1.16.1 | CUnit - Carrier/Reaver - In Hangar Count | 1 | 1 | Supported | Amount of units in hangar. Also: Scarab/Interceptor - pointer to next scarab/interceptor Beacon - Flag spawn frame Building - Tech type/upgrade type/larva timer/landing timer Worker - Target resource CUnit pointer |
0059CD70 | 19075 | 1.16.1 | CUnit - Scarab/Interceptor - Next | 4 | 1 | Supported | CUnit pointer to next scarab/interceptor Also: Carrier/Reaver - number of units in hangar Beacon - Flag spawn frame Building - Tech type/upgrade type/larva timer/landing timer Worker - Target resource pointer |
0059CD70 | 19075 | 1.16.1 | CUnit - Beacon - Flag Spawn Frame | 4 | 1 | Supported | flag beacons, the frame that the flag will spawn (bwapi) Also: Carrier/Reaver - number of units in hangar Scarab/Interceptor - pointer to next scarab/interceptor Building - Tech type/upgrade type/larva timer/landing timer Worker - Target resource pointer |
0059CD70 | 19075 | 1.16.1 | CUnit - Building - Tech Type | 1 | 1 | Supported | Also: Carrier/Reaver - number of units in hangar Scarab/Interceptor - pointer to next scarab/interceptor Beacon - Flag spawn frame Worker - Target resource pointer |
0059CD70 | 19075 | 1.16.1 | CUnit - Worker - Target Resource Unit | 4 | 1 | Supported | CUnit pointer Also: Carrier/Reaver - number of units in hangar Scarab/Interceptor - pointer to next scarab/interceptor Beacon - Flag spawn frame Building - Tech type/upgrade type/larva timer/landing timer |
0059CD71 | 19075 | 1.16.1 | CUnit - Carrier/Reaver - Out Hangar Count | 1 | 1 | Supported | The amount of interceptors that a carrier has (*256). Also: Building - Upgrade type |
0059CD71 | 19075 | 1.16.1 | CUnit - Building - Upgrade Type | 1 | 1 | Supported | Also: Carrier/Reaver - Out hangar count |
0059CD72 | 19075 | 1.16.1 | CUnit - Building - Larva Spawn Timer | 1 | 1 | Supported | The remaining time left before a larva is created on buildings (*65536). |
0059CD73 | 19075 | 1.16.1 | CUnit - Building - Landing Timer | 1 | 1 | Supported | Detects if a Terran building is landing (*16777216). |
0059CD74 | 19076 | 1.16.1 | CUnit - Scarab/Interceptor - In Hanger | 1 | 1 | Supported | Boolean value? Also: Building - Creep timer Worker - Repair/resource timer |
0059CD74 | 19076 | 1.16.1 | CUnit - Building - Creep Timer | 1 | 1 | Supported | Also: Scarab/Interceptor - In hangar Worker - Repair/resource timer |
0059CD74 | 19076 | 1.16.1 | CUnit - Worker - Repair/Resource Timer | 2 | 1 | Supported | Also: Scarab/Interceptor - In hangar Building - Creep timer |
0059CD75 | 19076 | 1.16.1 | CUnit - Building - Upgrade Level | 1 | 1 | Supported | |
0059CD76 | 19076 | 1.16.1 | CUnit - Worker - Is Carring Something | 1 | 1 | Supported | |
0059CD77 | 19076 | 1.16.1 | CUnit - Worker - Resource Carry Count | 1 | 1 | Supported | |
0059CD78 | 19077 | 1.16.1 | CUnit - Resource - Resource Count | 2 | 1 | Supported | Amount of Resource if its Mineral Field or Vespene Gayser Also: Nydus - Exit unit Ghost - Nuke dot sprite Pylon - Power overlay Nuke Silo - Attached nuke Powerup - Origin Coords Gatherer - Harvst target unit Hatchery? - Harvest Value |
0059CD78 | 19077 | 1.16.1 | CUnit - Worker - Harvest Target Unit | 4 | 1 | Supported | CUnit pointer to harvested mineral/geyser Also: Resource - Resource count/iscript/queue count Nydus - Exit unit Ghost - Nuke dot sprite Pylon - Power overlay Nuke Silo - Attached nuke Powerup - Origin Coords Hatchery? - Harvest Value |
0059CD78 | 19077 | 1.16.1 | CUnit - Nydus - Exit Unit | 4 | 1 | Supported | CUnit pointer to connected exit Also: Resource - Resource count/iscript/queue count Ghost - Nuke dot sprite Pylon - Power overlay Nuke Silo - Attached nuke Powerup - Origin Coords Worker - Harvest target unit Hatchery? - Harvest Value |
0059CD78 | 19077 | 1.16.1 | CUnit - Ghost - Nuke Dot Sprite | 4 | 1 | Supported | Pointer to nuke dot CSprite Also: Resource - Resource count/iscript/queue count Nydus - Exit unit Pylon - Power overlay Nuke Silo - Attached nuke Powerup - Origin Coords Worker - Harvest target unit Hatchery? - Harvest Value |
0059CD78 | 19077 | 1.16.1 | CUnit - Pylon - Power Overlay Sprite | 4 | 1 | Supported | Pointer to overlay CSprite Also: Resource - Resource count/iscript/queue count Nydus - Exit unit Ghost - Nuke dot sprite Nuke Silo - Attached nuke Powerup - Origin Coords Worker - Harvest target unit Hatchery? - Harvest Value |
0059CD78 | 19077 | 1.16.1 | CUnit - Nuke Silo - Attached Nuke | 4 | 1 | Supported | CUnit pointer to attached nuke Also: Resource - Resource count/iscript/queue count Nydus - Exit unit Ghost - Nuke dot sprite Pylon - Power overlay Powerup - Origin Coords Worker - Harvest target unit Hatchery? - Harvest Value |
0059CD78 | 19077 | 1.16.1 | CUnit - Powerup - Origin Coordinates | 2 | 2 | Supported | Coordinates where the powerup was picked up from. 0x0000FFFF x-coord 0xFFFF0000 y-coord Also: Resource - Resource count/iscript/queue count Nydus - Exit unit Ghost - Nuke dot sprite Pylon - Power overlay Nuke Silo - Attached nuke Worker - Harvest target unit Hatchery? - Harvest Value |
0059CD78 | 19077 | 1.16.1 | CUnit - Hatchery? - Harvest Value | 2 | 4 | Supported | https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Source/BW/CUnit.h#L227 left, top, right, bottom ? Also: Resource - Resource count/iscript/queue count Nydus - Exit unit Ghost - Nuke dot sprite Pylon - Power overlay Nuke Silo - Attached nuke Powerup - Origin Coords Worker - Harvest target unit |
0059CD7A | 19077 | 1.16.1 | CUnit - Resource - Resource IScript | 1 | 1 | Supported | Current iscript animation ? |
0059CD7B | 19077 | 1.16.1 | CUnit - Resource - Gatherer Queue Count | 1 | 1 | Supported | as named in bwapi, or "Boolean on whether is extracted-added by jehn" ??? |
0059CD7C | 19078 | 1.16.1 | CUnit - Worker - Previous Harvest Unit | 4 | 1 | Supported | CUnit pointer "When there is a gather conflict" (bwapi) "It is taken to wait unit the next" (jehn) Also: Resource - Next gatherer Silo - Ready |
0059CD7C | 19078 | 1.16.1 | CUnit - Resource - Next Gatherer | 4 | 1 | Supported | CUnit pointer to the next worker unit waiting in line to gather Also: Silo - Ready Worker - Previous harvest unit |
0059CD7C | 19078 | 1.16.1 | CUnit - Silo - Ready | 1 | 1 | Supported | Also: Resource - Next gatherer Worker - Previous harvest unit |
0059CD80 | 19079 | 1.16.1 | CUnit - Resource - Resource Group | 1 | 1 | Supported | Also: Worker - Next harvest unit |
0059CD80 | 19079 | 1.16.1 | CUnit - Worker - Next Harvest Unit | 4 | 1 | Supported | Also: Resource - Resource group/resource belongs to AI |
0059CD81 | 19079 | 1.16.1 | CUnit - Resource - Reource Belongs to AI | 1 | 1 | Supported | |
0059CD84 | 19080 | 1.16.1 | CUnit - Status Flags | 4 | 1 | Supported | https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Source/BW/UnitStatusFlags.h 0x00000001 - Completed 0x00000002 - GroundedBuilding (Building on the ground) 0x00000004 - In Air 0x00000008 - Disabled (Protoss unpowered) 0x00000010 - Burrowed 0x00000020 - In Building 0x00000040 - In Transport 0x00000080 - Unknown (Target acquisition) 0x00000100 - Requires detection 0x00000200 - Cloaked 0x00000400 - Doodad State thing 0x00000800 - Cloaking for free (no energy to cloak) 0x00001000 - Cannot receive orders 0x00002000 - NoBrkCodeStart (Iscript) 0x00004000 - Unknown 0x00008000 - Cannot Attack (unknown) 0x00010000 - Is A Unit 0x00020000 - Is A Building 0x00040000 - Ignore Tile Collision 0x00080000 - Unknown 0x00100000 - Is Normal (set for normal units, not set for hallucinated units) 0x00200000 - No Collide 0x00400000 - unknown 0x00800000 - Is Gathering 0x01000000 - unknown 0x02000000 - unknown (turret related) 0x04000000 - Invincible 0x08000000 - Holding Position 0x10000000 - Speed Upgrade 0x20000000 - Cooldown Upgrade 0x40000000 - Is Hallucination (set for hallucinated units, not set for normal units) 0x80000000 - Is Self Destructing (Set for when the unit is self-destructing (scarab, scourge, infested terran)) Offset from CUnit Base: 0xDC (= 0x0059CD84 - 0x0059CCA8) |
0059CD88 | 19081 | 1.16.1 | CUnit - Resource Type | 1 | 1 | (Unsupported?) Resource being held by worker: 1 = gas 2 = ore (bwapi) | |
0059CD89 | 19081 | 1.16.1 | CUnit - Wireframe Randomizer | 1 | 1 | (Unsupported?) | |
0059CD8A | 19081 | 1.16.1 | CUnit - Secondary Order State | 1 | 1 | (Unsupported?) | |
0059CD8B | 19081 | 1.16.1 | CUnit - Recent Order Time | 1 | 1 | (Unsupported?) Counts down from 15 to 0 when most orders are given, or when the unit moves after reaching a patrol location (bwapi) | |
0059CD8C | 19082 | 1.16.1 | CUnit - Visiblity Status | 4 | 1 | (Unsupported?) Flags specifying which players can detect this unit (cloaked/burrowed) (bwapi) | |
0059CD90 | 19083 | 1.16.1 | CUnit - Secondary Order Position | 2 | 2 | (Unsupported?) Unused according to bwapi. 0x0000FFFF x-coord 0xFFFF0000 y-coord | |
0059CD94 | 19084 | 1.16.1 | CUnit - Unit beingBuilt | 4 | 1 | Unsupported | The current unit that's being produced from a building. For a better description of what this does, more testing is necessary. |
0059CD98 | 19085 | 1.16.1 | CUnit - Previous Burrowed Unit | 4 | 1 | (Unsupported?) CUnit pointer to previous burrowed unit | |
0059CD9C | 19086 | 1.16.1 | CUnit - Next Burrowed Unit | 4 | 1 | (Unsupported?) Pointer to CUnit of next burrowed unit | |
0059CDA0 | 19087 | 1.16.1 | CUnit - Rally - Rally Coordinates | 2 | 2 | Supported | The coordinates of a rally from a building (X + 65536*Y) 0x0000FFFF - X coordinate 0xFFFF0000 - Y coordinate For pylons: Previous Psi Provider (CUnit pointer) |
0059CDA0 | 19087 | 1.16.1 | CUnit - Pylon - Previous Psi Provider | 4 | 1 | Supported | CUnit pointer to previous psi provider For other buildings: The coordinates of a rally from a building |
0059CDA4 | 19088 | 1.16.1 | CUnit - Rally - Rally Unit | 4 | 1 | Supported | The unit that a building set their rally to (CUnit pointer). For pylons: Next Psi Provider (CUnit pointer) |
0059CDA4 | 19088 | 1.16.1 | CUnit - Pylon - Next Psi Provider | 4 | 1 | Supported | CUnit pointer to next psi provider For other buildings: The unit that a building set their rally to |
0059CDA8 | 19089 | 1.16.1 | CUnit - Pathing Pointer | 4 | 1 | (Unsupported?) Pointer to pathing data. | |
0059CDAC | 19090 | 1.16.1 | CUnit - Pathing Collision Interval | 1 | 1 | Supported | Unknown? |
0059CDAD | 19090 | 1.16.1 | CUnit - Pathing Flags | 1 | 1 | Supported | 0x01 = uses pathing 0x02 = ? 0x04 = ? (bwapi) |
0059CDAF | 19090 | 1.16.1 | CUnit - Is Healing | 1 | 1 | Supported | Detects if a unit is currently being healed (*16777216). |
0059CDB0 | 19091 | 1.16.1 | CUnit - Contour Bounds | 2 | 4 | (Unsupported?) a rect that specifies the closest contour (collision) points (bwapi) s16 left, s16 top, s16 bottom, s16 right ? | |
0059CDB8 | 19093 | 1.16.1 | CUnit - Remove Timer | 2 | 1 | Supported | When this timer equals 0, the following are destroyed: hallucinations Swarm Disruption Web Broodlings Could be more? |
0059CDBA | 19093 | 1.16.1 | CUnit - Matrix Damage Absorption | 2 | 1 | Supported | The amount of damage the matrix has absorbed (*16777216). |
0059CDBC | 19094 | 1.16.1 | CUnit - Matrix Timer | 1 | 1 | Supported | The amount of time remaining for matrix by a science vessel. |
0059CDBD | 19094 | 1.16.1 | CUnit - Stim Timer | 1 | 1 | Supported | The amount of time remaining (*256) for the stim effect applied to a marine or firebat. |
0059CDBE | 19094 | 1.16.1 | CUnit - Ensnare Timer | 1 | 1 | Supported | The amount of time remaining (*65536) to ensure by a queen, infested Kerrigan. Initialised to 75 (4915200). Timers decay 1 tick per 8 frames, so 75 / 2.9762 = 25.2 RL seconds on Fastest. 75 timer * 8 frame * 0.042 seconds (Which is MS) |
0059CDBF | 19094 | 1.16.1 | CUnit - Lockdown Timer | 1 | 1 | Supported | The amount of time remaining (*16777216) for lockdown by a ghost. Initialised to 131 (2,197,815,296). Timers decay 1 tick per 8 frames, so 131 / 2.9762 = 44.02 RL seconds on Fastest. |
0059CDC0 | 19095 | 1.16.1 | CUnit - Irradiate Timer | 1 | 1 | Supported | The amount of time remaining for irradiate by a science vessel. |
0059CDC1 | 19095 | 1.16.1 | CUnit - Stasis Timer | 1 | 1 | Supported | The amount of time remaining (*256) for stasis by a arbiter. |
0059CDC2 | 19095 | 1.16.1 | CUnit - Plague Timer | 1 | 1 | Supported | Detects if a unit has been plagued by defiler (*65536) |
0059CDC3 | 19095 | 1.16.1 | CUnit - Storm Timer | 1 | 1 | Supported | If a unit is under storm (*16777216) |
0059CDC4 | 19096 | 1.16.1 | CUnit - Irradiated By | 4 | 1 | Supported | CUnit pointer to casting unit which irradiated this unit. |
0059CDC8 | 19097 | 1.16.1 | CUnit - Irradiate Player ID | 1 | 1 | Supported | Player ID who irradiated the unit. |
0059CDC9 | 19097 | 1.16.1 | CUnit - Parasite Flags | 1 | 1 | Supported | Detects if a unit have been infected with a parasite (*256). Flags connected to player ID. Value is a sum of: P1: 256 P2: 512 P3: 1024 P4: 2048 P5: 4096 P6: 8192 P7: 16384 P8: 32768 |
0059CDCA | 19097 | 1.16.1 | CUnit - Cycle Counter | 1 | 1 | Supported | Counts/cycles up from 0 to 7 inclusive (*65536) |
0059CDCB | 19097 | 1.16.1 | CUnit - Blind State | 1 | 1 | Supported | Detects if a unit has been blinded (*16777216) by a medic. |
0059CDCC | 19098 | 1.16.1 | CUnit - Maelstorm Timer | 1 | 1 | Supported | The remaining time that a unit has before Maelstorm wears off. |
0059CDCD | 19098 | 1.16.1 | CUnit - Unused Timer | 1 | 1 | Supported | Potentially from Valkyrie Afterburner or Ultralisk Roar. |
0059CDCE | 19098 | 1.16.1 | CUnit - Acid Spore Count | 1 | 1 | Supported | The amount of Acid Spores applied to a unit (*65536). This value is incremented when a spore timer becomes non-0, and decremented when a spore timer becomes 0. It represents the extra damage (+1) and weapon cooldown (+12.5% per spore) inflicted on the current unit, and controls which overlay graphic to display and the green "Acid Spore (x)" rank string. Artificially decrementing this value can result in an underflow wrap-around to 255 if a spore timer subsequently decrements to 0. Unfortunately the code to remove the graphical overlay is tied to the last spore timer decrementing to 0, so simply setting this value back to 0 does not remove the graphical overlay. The best approach is to detect if the value is at least 10, then set the value to 1 and set sporeTimer[1] to 1, so that when it decrements the graphical overlay will be removed. |
0059CDCF | 19098 | 1.16.1 | CUnit - Acid Spore 1/9 | 1 | 1 | See Description | [SCR: Other acid spore timers are NOT supported and give EUD errors on access] Timer for 1st of 9 acid spores applied to a unit (*16777216) Initialised to 150 (2,516,582,400). Timers decay 1 tick per 8 frames, so 150 / 2.9762 = 50.4 RL seconds on Fastest. This is the timer for the first acid spore that hits a target, you can reduce the value and the spore will decay quickly as expected. When a 2nd spore is applied that timer is recorded separately and independently. The first spore will decay as per its timer and the 2nd one decays based on its timer. |
0059CDD0 | 19099 | 1.16.1 | CUnit - Acid Spore 2/9 | 1 | 1 | Unsupported | Timer for 2nd of 9 acid spores applied to a unit Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595 |
0059CDD1 | 19099 | 1.16.1 | CUnit - Acid Spore 3/9 | 1 | 1 | Unsupported | Timer for 3rd of 9 acid spores applied to a unit (*256) Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595 |
0059CDD2 | 19099 | 1.16.1 | CUnit - Acid Spore 4/9 | 1 | 1 | Unsupported | Timer for 4th of 9 acid spores applied to a unit (*65536) Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595 |
0059CDD3 | 19099 | 1.16.1 | CUnit - Acid Spore 5/9 | 1 | 1 | Unsupported | Timer for 5th of 9 acid spores applied to a unit (*16777216) Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595 |
0059CDD4 | 19100 | 1.16.1 | CUnit - Acid Spore 6/9 | 1 | 1 | Unsupported | Timer for 6th of 9 acid spores applied to a unit Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595 |
0059CDD5 | 19100 | 1.16.1 | CUnit - Acid Spore 7/9 | 1 | 1 | Unsupported | Timer for 7th of 9 acid spores applied to a unit (*256) Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595 |
0059CDD6 | 19100 | 1.16.1 | CUnit - Acid Spore 8/9 | 1 | 1 | Unsupported | Timer for 8th of 9 acid spores applied to a unit (*65536) Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595 |
0059CDD7 | 19100 | 1.16.1 | CUnit - Acid Spore 9/9 | 1 | 1 | Unsupported | Timer for 9th of 9 acid spores applied to a unit (*16777216) Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595 |
0059CDD8 | 19101 | 1.16.1 | CUnit - Bullet Behavior 3x3 Attack | 2 | 1 | (Unsupported?) Counts up for the number of bullets shot by a unit using this weapon behaviour and resets after it reaches 12 (bwapi) | |
0059CDDC | 19102 | 1.16.1 | CUnit - AI Data | 4 | 1 | (Unsupported?) Pointer to AI class | |
0059CDE0 | 19103 | 1.16.1 | Emp Shockwave Missiles (???) | 4 | 1 | The total amount of missiles from *all science vessel that you can see on the map. *: Not completely tested and confirmed. | |
0059CDE0 | 19103 | 1.16.1 | CUnit - Air Strength | 2 | 1 | Unsupported | |
0059CDE2 | 19103 | 1.16.1 | CUnit - Ground Strength | 2 | 1 | Unsupported | |
0059CDE4 | 19104 | 1.16.1 | CUnit - Unit Finder | 4 | 4 | (Unsupported?) PID+0 left PID+1 right PID+2 top PID+3 bottom | |
0059CDF4 | 19108 | 1.16.1 | CUnit - Repulse Unknown | 1 | 1 | Supported | |
0059CDF5 | 19108 | 1.16.1 | CUnit - Repulse Angle | 1 | 1 | Supported | Updated when the air unit is being pushed (*256). Need more testing. Set entire Player ID to 0 to remove air repulsion for the CUnit. |
0059CDF6 | 19108 | 1.16.1 | CUnit - Drift X | 1 | 1 | Supported | For air units when they're pushed (*65536) on X-axis. Formula from BWAPI: (mapsizex/1.5 max) Need more testing. |
0059CDF7 | 19108 | 1.16.1 | CUnit - Drift Y | 1 | 1 | Supported | For air units when they're pushed (*16777216) on Y-axis. Formula from BWAPI: (mapsizex/1.5 max) Need more testing. |
0059D568 | 19585 | 1.16.1 | SC Upgrade in Progress Lvl 3 (???) | 1 | 72 | Who knows | |
006283F8 | 161829 | 1.16.1 | Last Unit Pointer | 4 | 1 | The value is pointer to the last unit in the unitNodeTable. -added by jehn | |
00628430 | 161843 | 1.16.1 | First Unit Pointer | 4 | 1 | Backed By Code | The value is pointer to the first unit in the unitNodeTable. |
00628438 | 161845 | 1.16.1 | First Empty Unit | 4 | 1 | Backed By Code | The address of the unit structure to be created -added by jehn |
00628448 | 161849 | 1.16.1 | Screen Coordinate X | 4 | 1 | Read Only | The position of the screen on the X Axis. Note that it's locked on an 8 pixel grid, so 2 would mean 16 pixel. |
00628470 | 161859 | 1.16.1 | Screen Coordinate Y | 4 | 1 | Read Only | The position of the screen on the Y Axis. Note that it's locked on an 8 pixel grid, so 2 would mean 16 pixel. |
0062848C | 161866 | 1.16.1 | glScrollPixelX | 4 | 1 | Read Only | Duplicate of screen coordinates? |
00628494 | 161868 | 1.16.1 | gfpCellMap | 4 | 1 | Backed By Code | Pointer to VX4 megatile buffer? |
006284A8 | 161873 | 1.16.1 | glScrollPixelY | 4 | 1 | Read Only | Duplicate of screen coordinates? |
006284B8 | 161877 | 1.16.1 | Current Player Selection | 4 | 12 | Backed By Code | Selection group of the current player Seems to be duplicated at 0x59724C and 0x597208? |
006284E8 | 161889 | 1.16.1 | Player 1 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group selection. Points to address 0x0059CCA8 |
00628518 | 161901 | 1.16.1 | Player 2 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group selection. |
00628548 | 161913 | 1.16.1 | Player 3 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group selection. |
00628578 | 161925 | 1.16.1 | Player 4 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group selection. |
006285A8 | 161937 | 1.16.1 | Player 5 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group selection. |
006285D8 | 161949 | 1.16.1 | Player 6 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group selection. |
00628608 | 161961 | 1.16.1 | Player 7 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group selection. |
00628638 | 161973 | 1.16.1 | Player 8 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group selection. |
00629D98 | 163469 | 1.16.1 | Sprite Table | 36 | 2500 | Read Only | [SCR: See individual entries] Difference between each entry: 9 Player ID's Struct: https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Source/BW/CSprite.h Populates like CUnit, with 2nd entry at the rearmost of the table, and the 3rd the 2nd rearmost entry of the table; first entry will be a cursour sprite, having sprite ID of 318. |
00629D98 | 163469 | 1.16.1 | CSprite - Previous Entry | 4 | 1 | Supported | |
00629D9C | 163470 | 1.16.1 | CSprite - Next Entry | 4 | 1 | Supported | |
00629DA0 | 163471 | 1.16.1 | CSprite - Sprite ID | 2 | 1 | Supported | |
00629DA2 | 163471 | 1.16.1 | CSprite - Player ID | 1 | 1 | Supported | |
00629DA3 | 163471 | 1.16.1 | CSprite - Selection Index | 1 | 1 | Supported | Index in the selection area at the bottom of the screen. |
00629DA4 | 163472 | 1.16.1 | CSprite - Visibility Flags | 1 | 1 | Unsupported | Player bits indicating the visiblity for a player. P1: 1 P2: 2 P3: 4 P4: 8 P5: 16 P6: 32 P7: 64 P8: 128 |
00629DA5 | 163472 | 1.16.1 | CSprite - Elevation Level | 1 | 1 | Unsupported | |
00629DA6 | 163472 | 1.16.1 | CSprite - Draw Flags | 1 | 1 | Unsupported | 0x01 - Draw selection circle 0x02 - Ally selection? 0x04 - Ally selection? 0x08 - Draw HP bar 0x10 - 0x20 - Hidden 0x40 - Burrowed 0x80 - Iscript unbreakable code section |
00629DA7 | 163472 | 1.16.1 | CSprite - Selection Timer | 1 | 1 | Unsupported | |
00629DA8 | 163473 | 1.16.1 | CSprite - Index | 2 | 1 | Unsupported | |
00629DAA | 163473 | 1.16.1 | CSprite - Unknown Flags 12 | 1 | 1 | Unsupported | |
00629DAB | 163473 | 1.16.1 | CSprite - Unknown flags 13 | 1 | 1 | Unsupported | |
00629DAC | 163474 | 1.16.1 | CSprite - Position | 2 | 2 | Unsupported | 65536*Y + X |
00629DB0 | 163475 | 1.16.1 | CSprite - Primary Image | 4 | 1 | Unsupported | Pointer to main CImage instance. |
00629DB4 | 163476 | 1.16.1 | CSprite - Image Head | 4 | 1 | Unsupported | Pointer to first CImage instance associated with this sprite. |
00629DB8 | 163477 | 1.16.1 | CSprite - Image Tail | 4 | 1 | Unsupported | Pointer to last CImage instance associated with this sprite. |
0063FF48 | 186105 | 1.16.1 | Pylon Auras are Visible | 4 | 1 | Read-Only (Writing to it apparently does nothing :C .) | |
00640B24 | 186864 | 1.16.1 | gameTextCounters | 4 | 12 | Unsupported | Contains the tick count for when the message should disappear. Corresponds to the same index of game text. |
00640B58 | 186877 | 1.16.1 | Next Display Text Line | 4 | 1 | Simple Data | First line to be drawn on screen or written to. Changing this value to 11 or 12 and then doing a Display Text action will allow displaying a status message. |
00640B60 | 186879 | 1.16.1 | Display Text | 218 | 13 | Backed By Code | Line IDs: 0-10: display text lines (first line defined by 0x640B58 - Next Display Text Line) 11: ? 12: status message |
00650980 | 203143 | 1.16.1 | Trigger Wait Timers | 4 | 8 | Wait action timers for each player | |
006509A0 | 203151 | 1.16.1 | Trigger Execution Timer (Hyper triggers) | 4 | 1 | Simple Data | When this value reaches 0, trigger loop executes. Preserve to 0 for single-tick hypers, or 1 for traditional hyper triggers (2 ticks). Wait(n) will make this value 1 after ceil(n / 'ms per tick') + 1, so Wait(0) makes this value to 1, making the trigger loop execute every 2 ticks. |
006509B0 | 203155 | 1.16.1 | Trigger Current Player aka CP Trick | 4 | 1 | Simple Data | Used to dynamically run EUDs or dereference pointers. Sets "Current Player" in triggers to be a reference to a different base address for the deaths table. e.g. Set Deaths("Int:203155", "Terran Marine", Set to, EPD); Set Deaths("Int:203155", "Terran Marine", Add/Subtract, whatever); Set Deaths("Current Player", "Terran Marine", Set to/Add/Subtract, whatever); Example: Implement Set Minerals for current player // Add -11421 to 0x006509B0 (player ID corresponding to 0x0057F0F0) SetMemory(0x6509B0, Add, 0xFFFFD363); // Add 50 to byte offset for that address -- current player will increase target address by 4 bytes for each player that runs it SetDeaths(CurrentPlayer, Add, 50, "Terran Marine"); // Add +11421 to 0x006509B0 to set it back to what it was SetMemory(0x6509B0, Add, 0x00002C9D); Example: Implement a SetKills action for Current Player // Add -2736 to 0x6509B0 (player ID corresponding to 0x005878A4) SetMemory(0x6509B0, Add, 0xFFFFF550); // Current player combined with unit ID now references the correct target address in the Kills table) // This SetDeaths is now really SetKills to add/subtract/set to for unit of choice SetDeaths(CurrentPlayer, Subtract, 1, "Terran Ghost"); // Add +2736 to 0x006509B0 to set it back to what it was SetMemory(0x6509B0, Add, 0x00000AB0); Note: Set Deaths needs to be for current player, P1/P2/etc. would modify the normal deaths table. Note2: Cannot use Any Unit/Men/Buildings/Factories for the unit, those do have Unit IDs, are not stored in the Kills table, and would overflow into other areas. |
00654880 | 207175 | 1.16.1 | Network Buffer | 496 | 1 | Backed By Code | Game Command Queue. See https://github.com/phu54321/vgce/blob/master/docs/Blizzard/Starcraft/packets2.txt Also https://github.com/bwapi/bwapi/blob/main/bwapi/BWAPI/Source/BW/OrderTypes.cpp Not sure if the size is 496, the value in 0x0057F0D8 Edited by PereC, 2021.04.03 |
00654AA0 | 207311 | 1.16.1 | Network Buffer Used | 4 | 1 | Supported | Command queue (0x00654880) space used. Edited by PereC, 2021.04.03 |
006556E0 | 208095 | 1.16.1 | Accept Commands | 4 | 1 | Unsupported | If 1, commands are accepted. If 0, all commands are ignored. |
00655700 | 208103 | 1.16.1 | Upgrades.dat - Max Level | 1 | 61 | Simple Data | |
00655740 | 208119 | 1.16.1 | Upgrades.dat - Mineral Cost Base | 2 | 61 | Simple Data | Address 0x00655740 - Upgrade ID 000 - bit-mask 0x0000FFFF Address 0x00655740 - Upgrade ID 001 - bit-mask 0xFFFF0000 Address 0x00655744 - Upgrade ID 002 - bit-mask 0x0000FFFF Address 0x00655744 - Upgrade ID 003 - bit-mask 0xFFFF0000 etc. |
006557C0 | 208151 | 1.16.1 | Upgrades.dat - Gas Cost Factor | 2 | 61 | Simple Data | |
00655840 | 208183 | 1.16.1 | Upgrades.dat - Gas Cost Base | 2 | 61 | Simple Data | |
006558C0 | 208215 | 1.16.1 | Upgrades.dat - Dat Requirement Offset | 2 | 61 | Simple Data | |
00655940 | 208247 | 1.16.1 | Upgrades.dat - Time Factor | 2 | 61 | Simple Data | |
006559C0 | 208279 | 1.16.1 | Upgrades.dat - Mineral Cost Factor | 2 | 61 | Simple Data | |
00655A40 | 208311 | 1.16.1 | Upgrades.dat - Label | 2 | 61 | Simple Data | stat_txt.tbl index |
00655AC0 | 208343 | 1.16.1 | Upgrades.dat - Icon | 2 | 61 | Simple Data | cmdicons.grp frame |
00655B3C | 208374 | 1.16.1 | Upgrades.dat - Brood War Flag | 1 | 61 | Simple Data | |
00655B80 | 208391 | 1.16.1 | Upgrades.dat - Time Base | 2 | 61 | Simple Data | |
00655BFC | 208422 | 1.16.1 | Upgrades.dat - Race | 1 | 61 | Simple Data | 0 = Zerg 1 = Terran 2 = Protoss 3 = All |
00655C58 | 208445 | 1.16.1 | Portdata.dat - Idle SMK | 4 | 110 | Backed By Code | 1-based reference to portdata.tbl |
00655E10 | 208555 | 1.16.1 | Portdata.dat - Idle SMK Change | 1 | 110 | ||
00655E80 | 208583 | 1.16.1 | Portdata.dat - Talking SMK | 4 | 110 | Backed By Code | 1-based reference to portdata.tbl |
00656038 | 208693 | 1.16.1 | Portdata.dat - Idle Unknown | 1 | 110 | ||
006560A8 | 208721 | 1.16.1 | Portdata.dat - Talking SMK change | 1 | 110 | ||
00656118 | 208749 | 1.16.1 | Portdata.dat - Talking unknown | 1 | 110 | ||
00656198 | 208781 | 1.16.1 | Techdata.dat - Unknown1 | 2 | 44 | Simple Data | |
006561F0 | 208803 | 1.16.1 | Techdata.dat - Gas Cost | 2 | 44 | Simple Data | Address 0x006561F0 - Tech ID 000 - bit-mask 0x0000FFFF - *1 Address 0x006561F0 - Tech ID 001 - bit-mask 0xFFFF0000 - *65536 Address 0x006561F4 - Tech ID 002 - bit-mask 0x0000FFFF - *1 Address 0x006561F4 - Tech ID 003 - bit-mask 0xFFFF0000 - *65536 |
00656248 | 208825 | 1.16.1 | Techdata.dat - Mineral Cost | 2 | 44 | Simple Data | Address 0x00656248 - Tech ID 000 - bit-mask 0x0000FFFF - *1 Address 0x00656248 - Tech ID 001 - bit-mask 0xFFFF0000 - *65536 Address 0x0065624C - Tech ID 002 - bit-mask 0x0000FFFF - *1 Address 0x0065624C - Tech ID 003 - bit-mask 0xFFFF0000 - *65536 |
006562A0 | 208847 | 1.16.1 | Techdata.dat - Label | 2 | 44 | Simple Data | stat_txt.tbl index |
006562F8 | 208869 | 1.16.1 | Techdata.dat - Data Restrictions | 2 | 44 | Simple Data | |
00656350 | 208891 | 1.16.1 | Techdata.dat - Researched | 1 | 44 | Simple Data | DatEdit says Unused? |
00656380 | 208903 | 1.16.1 | Techdata.dat - Energy Cost | 2 | 44 | Simple Data | |
006563D8 | 208925 | 1.16.1 | Techdata.dat - Time | 2 | 44 | Simple Data | |
00656430 | 208947 | 1.16.1 | Techdata.dat - Icon | 2 | 44 | Simple Data | cmdicons.grp frame index |
00656488 | 208969 | 1.16.1 | Techdata.dat - Race | 1 | 44 | Simple Data | 0 = Zerg 1 = Terran 2 = Protoss 3 = All |
006564B4 | 208980 | 1.16.1 | Techdata.dat - Brood War Flag | 1 | 44 | Simple Data | |
006564E0 | 208991 | 1.16.1 | Weapons.dat - Damage Factor | 1 | 130 | Simple Data | |
00656568 | 209025 | 1.16.1 | Weapons.dat - Target Error Message | 2 | 130 | Simple Data | stat_txt.tbl index |
00656670 | 209091 | 1.16.1 | Weapons.dat - Behavior | 1 | 130 | Simple Data | 0 = Fly & Don't Follow Target 1 = Fly & Follow Target 2 = Appear on Target Unit 3 = Persist on Target Site 4 = Appear on Target Site 5 = Appear on Attacker 6 = Attack & Self-Destruct 7 = Bounce 8 = Attack Target 3x3 Area 9 = Go to Max. Range |
006566F8 | 209125 | 1.16.1 | Weapons.dat - Effect | 1 | 130 | Simple Data | 0 = None 1 = Normal Hit 2 = Splash (Radial) 3 = Splash (Enemy) 4 = Lockdown 5 = Nuclear Missile 6 = Parasite 7 = Broodlings 8 = EMP Shockwave 9 = Irradiate 10 = Ensnare 11 = Plague 12 = Stasis Field 13 = Dark Swarm 14 = Consume 15 = Yamato Gun 16 = Restoration 17 = Disruption Web 18 = Corrosive Acid 19 = Mind Control 20 = Feedback 21 = Optical Flare 22 = Maelstrom 23 = Unused (Crash) 24 = Splash (Air) |
00656780 | 209159 | 1.16.1 | Weapons.dat - Icon | 2 | 130 | Simple Data | cmdicons.grp frame |
0065678C | 209162 | 1.16.1 | Damage type/factor multipliers vs unit size | 20 | 5 | (What's this?) | |
00656888 | 209225 | 1.16.1 | Weapons.dat - Splash Inner Radius | 2 | 130 | Simple Data | |
00656990 | 209291 | 1.16.1 | Weapons.dat - Attack Angle | 1 | 130 | Simple Data | "Angle within which the weapon can be fired without waiting for the unit's graphics to turn. 128 = 180 degrees." |
00656A18 | 209325 | 1.16.1 | Weapons.dat - Minimum Range | 4 | 130 | Simple Data | 16 times the value in DatEdit. |
00656C20 | 209455 | 1.16.1 | Weapons.dat - Graphics Y Offset | 1 | 130 | Simple Data | |
00656CA8 | 209489 | 1.16.1 | Weapons.dat - Graphics | 4 | 130 | Simple Data | Flingy.dat index Weapon Graphic |
00656EB0 | 209619 | 1.16.1 | Weapons.dat - Damage Amount | 2 | 130 | Simple Data | |
00656FB8 | 209685 | 1.16.1 | Weapons.dat - Cooldown | 1 | 130 | Simple Data | |
00657040 | 209719 | 1.16.1 | Weapons.dat - Remove After | 1 | 130 | Simple Data | "Time until the weapon is removed if it does not hit a target." |
006570C8 | 209753 | 1.16.1 | Weapons.dat - Splash Middle Radius | 2 | 130 | Simple Data | |
006571D0 | 209819 | 1.16.1 | Weapons.dat - Upgrade ID | 1 | 130 | Simple Data | Upgrades.dat index |
00657258 | 209853 | 1.16.1 | Weapons.dat - Damage Type | 1 | 130 | Simple Data | 0 = Independent 1 = Explosive 2 = Concussive 3 = Normal 4 = Ignore Armor |
006572E0 | 209887 | 1.16.1 | Weapons.dat - Label | 2 | 130 | Simple Data | stat_txt.tbl index |
006573E8 | 209953 | 1.16.1 | Weapons.dat - Special Attack | 1 | 130 | Simple Data | Reference only? |
00657470 | 209987 | 1.16.1 | Weapons.dat - Maximum Range | 4 | 130 | Simple Data | Value is 16 times what DatEdit shows. |
00657678 | 210117 | 1.16.1 | Weapons.dat - Upgrade Bonus | 2 | 130 | Simple Data | |
00657780 | 210183 | 1.16.1 | Weapons.dat - Splash Outer Radius | 2 | 130 | Simple Data | |
00657888 | 210249 | 1.16.1 | Weapons.dat - Launch Spin | 1 | 130 | Simple Data | |
00657910 | 210283 | 1.16.1 | Weapons.dat - Graphics X Offset | 1 | 130 | Simple Data | |
00657998 | 210317 | 1.16.1 | Weapons.dat - Target Flags | 2 | 130 | Simple Data | 0x001 Air 0x002 Ground 0x004 Mechanical 0x008 Organic 0x010 non-Building 0x020 non-Robotic 0x040 Terrain 0x080 Organic or Mechanical 0x100 Own This is actually better thought of "which units can this weapon deal damage to". Eg if you give a ground weapon the air + ground target as well as splash, then when it attacks a ground unit, any air units in the vicinity will also take splash damage. If you also set it to have Mechanical targeting, then the weapon will be able to attack all types of ground units, but only deal damage to ones with the mechanical flag. |
00657A9C | 210382 | 1.16.1 | Game Brightness | 4 | 1 | Simple Data | Darkens the screen without affecting UI elements. Appears to be a modifier for Fog of War Masks? Technically a 1 byte value, but the high bytes are padding and not used. Valid values are 0-31, with 0 being black and 31 being maximum brightness. Values >31 appear to just be black. The value appears to be the index in tileset\*\dark.pcx remapping palette. |
00657AA0 | 210383 | 1.16.1 | Fog of War Masks | 1 | 4096 | Backed By Code | Sets the brightness parts of the fog of war masks. Corresponds to dark.pcx indexes, with valid values from 0 (black) to 31 (full brightness). Values >31 in 1.16.1 are glitched colors. 4 bytes at 0x00657AA0 correspond to unexplored fog. 4 bytes at 0x0065825C correspond to explored areas in fog. 4 bytes at 0x00658A9C correspond to visible areas. Other addresses relate to the transitions between these areas. Setting to 0x1F1F1F1F will fully clear the mask, though units and buildings may not be visible or selectable depending on the actual fog state. Additionally, using different values for each byte, e.g. 0x1F001F00, will create vertical stripes (tested in 1.16.1). |
0065FC18 | 218669 | 1.16.1 | Units.dat - Max Hits (Air) | 1 | 228 | Simple Data | This value is for statistics purposes only (?) |
0065FD00 | 218727 | 1.16.1 | Units.dat - Gas Cost | 2 | 228 | Simple Data | |
0065FEC8 | 218841 | 1.16.1 | Units.dat - Armor | 1 | 228 | Simple Data | |
0065FFB0 | 218899 | 1.16.1 | Units.dat - "What" Sound Start | 2 | 228 | Simple Data | sfxdata.dat start index |
00660178 | 219013 | 1.16.1 | Units.dat - Computer AI Unit Type | 1 | 228 | Simple Data | "AI Internal" in DatEdit |
00660260 | 219071 | 1.16.1 | Units.dat - Map String | 2 | 228 | Simple Data | If this property is different from 0, the unit's name will be read from the strings stored within the map (CHK) that is currently loaded, instead of the stat_txt.tbl file. |
00660428 | 219185 | 1.16.1 | Units.dat - Build Time | 2 | 228 | Simple Data | |
006605F0 | 219299 | 1.16.1 | Units.dat - Start Direction | 1 | 228 | Simple Data | "Direction unit will face after it is created. Values start at 0 (the unit will face the top of the screen) and go on clockwise through subsequent turning stages until 31 (unit will face a little left from the complete turn). Value of 32 means unit will face a random direction." -DatEdit |
006606D8 | 219357 | 1.16.1 | Units.dat - Brood War Flag | 1 | 228 | Simple Data | |
006607C0 | 219415 | 1.16.1 | Units.dat - Subunit 1 | 2 | 228 | Simple Data | 228 = None |
00660988 | 219529 | 1.16.1 | Units.dat - Transport Space Provided | 1 | 228 | Simple Data | |
00660A70 | 219587 | 1.16.1 | Units.dat - Dat Requirement Offset | 2 | 228 | Simple Data | u16 index of 0x00514178 (address is 0x00514178 + 2*this value) |
00660C38 | 219701 | 1.16.1 | Units.dat - Subunit 2 | 2 | 228 | Simple Data | Unused. |
00660E00 | 219815 | 1.16.1 | Units.dat - Shield Amount | 2 | 228 | Simple Data | |
00660FC8 | 219929 | 1.16.1 | Units.dat - Movement Flags | 1 | 228 | Simple Data | |
006610B0 | 219987 | 1.16.1 | Units.dat - Construction Animation | 4 | 228 | Simple Data | 0 = No graphics |
00661440 | 220215 | 1.16.1 | Units.dat - "Yes" Sound End | 2 | 106 | Simple Data | sfxdata.dat end index |
00661518 | 220269 | 1.16.1 | Units.dat - Staredit Availability Flags | 2 | 228 | Simple Data | 0x0001 - Non-Neutral 0x0002 - Unit Listing & Palette 0x0004 - Mission Briefing 0x0008 - Player Settings 0x0010 - All Races 0x0020 - Set Doodad State 0x0040 - Non-Location Triggers 0x0080 - Unit&&Hero Settings 0x0100 - Location Triggers 0x0200 - BroodWar Only |
006616E0 | 220383 | 1.16.1 | Units.dat - Air Weapon | 1 | 228 | Simple Data | Weapons.dat index |
006617C8 | 220441 | 1.16.1 | Units.dat - Unit Dimensions | 8 | 228 | Simple Data | Struct: 2 bytes - Left Dimension (from center) 2 bytes - Up Dimension 2 bytes - Right Dimension 2 bytes - Down Dimension |
00661EE8 | 220897 | 1.16.1 | Units.dat - "Pissed" Sound End | 2 | 106 | Simple Data | sfxdata.dat end index |
00661FC0 | 220951 | 1.16.1 | Units.dat - "Ready" Sound | 2 | 106 | Simple Data | sfxdata.dat index |
00662098 | 221005 | 1.16.1 | Units.dat - Right-click Action | 1 | 228 | Simple Data | 0 = No commands/Auto Attack 1 = Normal movement/Normal Attack 2 = Normal movement/No Attack 3 = No movement/Normal Attack 4 = Harvest 5 = Harvest&Repair 6 = Nothing (with indicator) (I think) |
00662180 | 221063 | 1.16.1 | Units.dat - Size Class | 1 | 228 | Simple Data | 0 = Independent 1 = Small 2 = Medium 3 = Large |
00662268 | 221121 | 1.16.1 | Units.dat - Human Init Action | 1 | 228 | Simple Data | "Human Idle Action" in DatEdit Orders.dat index |
00662350 | 221179 | 1.16.1 | Units.dat - Max HP | 4 | 228 | Simple Data | Lowest byte is fractional part (*256) |
006626E0 | 221407 | 1.16.1 | Units.dat - Addon Placement | 4 | 96 | Simple Data | Struct: 2 bytes - X Pos 2 bytes - Y Pos Only exists for buildings (First entry is 106 Command Center) |
00662860 | 221503 | 1.16.1 | Units.dat - Building Dimensions | 4 | 228 | Simple Data | Struct: 2 bytes - Width 2 bytes - Height Setting to 0 will make the unit (not just buildings) invisible: - It won't appear on the minimap - It won't appear on the main map - It can't be selected by the mouse in any way - 'Bring' triggers will not locate it - Units can still attack (and will display missile graphics) - Units still cause and are affected by collision - Units can't be targetted by other units This dimension is used when determining if units with the Building flag can fit in the available spaace. Units without the Building flag will rely on their collision dimensions instead. Setting this to a size of 31x31 or smaller will allow buildings to be built on any terrain, including water and cliffs, although the placement mechanics are a little wonky. |
00662BF0 | 221731 | 1.16.1 | Units.dat - "What" Sound End | 2 | 228 | Simple Data | sfxdata.dat end index |
00662DB8 | 221845 | 1.16.1 | Units.dat - Seek Range | 1 | 228 | Simple Data | 1 range unit here = 2 range units in Weapons.dat. If the value is 0 in DatEdit, here it will be half of Max Range in the unit's weapon range. |
00662EA0 | 221903 | 1.16.1 | Units.dat - Computer Init Action | 1 | 228 | Simple Data | "Computer Idle" in DatEdit Orders.dat index |
00662F88 | 221961 | 1.16.1 | Units.dat - Portrait | 2 | 228 | Simple Data | 0xFFFF = No Portrait |
00663150 | 222075 | 1.16.1 | Units.dat - Elevation Level | 1 | 228 | Simple Data | Elevation Level |
00663238 | 222133 | 1.16.1 | Units.dat - Sight Range | 1 | 228 | Simple Data | Set value from 0-11. Values greater than 11 will crash. Example: Setting SCV Sight Range to 5. Base Address = 0x00663238 SCV Units.dat Index = 0x7 0x00663238 + 0x7 = 0X66323F 0x0066323F is not divisible by 4, next lowest multiple of 4 is 0x0066323C Went down 3 bytes to get from 0x0066323F to 0x0066323C Therefore, need to modify 0xFF000000 at 0x0066323C to the change value at 0x0066323F // set SCV sight range to 5 Masked MemoryAddr(0x0066323C, Set To, 0x05000000, 0xFF000000); |
00663320 | 222191 | 1.16.1 | Units.dat - Attack Unit Order | 1 | 228 | Simple Data | Orders.dat reference |
00663408 | 222249 | 1.16.1 | Units.dat - Build Score | 2 | 228 | Simple Data | |
006635D0 | 222363 | 1.16.1 | Units.dat - Armor Upgrade ID | 1 | 228 | Simple Data | Upgrades.dat index |
006636B8 | 222421 | 1.16.1 | Units.dat - Ground Weapon | 1 | 228 | Simple Data | weapons.dat reference |
006637A0 | 222479 | 1.16.1 | Units.dat - Group Flags | 1 | 228 | Simple Data | 0x01 - Zerg (Uses underlings, can build on creep) 0x02 - Terran (Uses Supply, has sublabel, buildings will burn) 0x04 - Protoss (Uses Psi) 0x08 - Men 0x10 - Building 0x20 - Factory 0x40 - Independent 0x80 - Neutral Example: Set Protoss Observatory as Terran and Unset Protoss so it will burn and can be repaired. Protoss Observatory Units.dat Index = 159 = 0x9F 0x006637A0 + 0x9F = 0x0066383F 0x0066383F is not divisible by 4, next lowest multiple of 4 = 0x0066383C Therefore, modify 0xFF00000 at 0x0066383C to hit 0x0066383F // set Protoss Observatory Terran MemoryAddr(0x0066383C, Add, 0x02000000); // unset Protoss Observatory Protoss MemoryAddr(0x0066383C, Subtract, 0x04000000); |
00663888 | 222537 | 1.16.1 | Units.dat - Mineral Cost | 2 | 228 | Simple Data | |
00663A50 | 222651 | 1.16.1 | Units.dat - Attack Move Order ID | 1 | 228 | Simple Data | Orders.dat index |
00663B38 | 222709 | 1.16.1 | Units.dat - "Pissed" Sound Start | 2 | 106 | Simple Data | sfxdata.dat start index |
00663C10 | 222763 | 1.16.1 | Units.dat - "Yes" Sound Start | 2 | 107 | Simple Data | sfxdata.dat start index |
00663CE8 | 222817 | 1.16.1 | Units.dat - Supply Used | 1 | 228 | Simple Data | Value here is twice what you see in-game. (Hence why 2 Zerglings = 1 Underling) |
00663DD0 | 222875 | 1.16.1 | Units.dat - Rank/Sublabel | 1 | 228 | Simple Data | "Controls ground units movement: units with lower Rank will stop and wait to allow units with higher Rank to continue movement." For Terran Units this shows a stat_txt string (starting at index 550). |
00663EB8 | 222933 | 1.16.1 | Units.dat - Kill Score | 2 | 228 | Simple Data | Kill Score |
00664080 | 223047 | 1.16.1 | Units.dat - Advanced Flags | 4 | 228 | Simple Data | 0x00000001 - Building 0x00000002 - Addon 0x00000004 - Flyer 0x00000008 - Worker 0x00000010 - Subunit 0x00000020 - Flying Building 0x00000040 - Hero 0x00000080 - Regenerates HP 0x00000100 - Animated Idle(?) 0x00000200 - Cloakable 0x00000400 - Two Units in 1 Egg 0x00000800 - Single Entity 0x00001000 - Resource Depot 0x00002000 - Resource Container 0x00004000 - Robotic Unit 0x00008000 - Detector 0x00010000 - Organic Unit 0x00020000 - Requires Creep 0x00040000 - Unused(?) 0x00080000 - Requires Psi 0x00100000 - Burrowable 0x00200000 - Spellcaster 0x00400000 - Permanent Cloak 0x00800000 - Pickup Item(?) 0x01000000 - Ignore Supply Check 0x02000000 - Use Medium Overlays 0x04000000 - Use Large Overlays 0x08000000 - Battle Reactions 0x10000000 - Full Auto-Attack 0x20000000 - Invincible 0x40000000 - Mechanical Unit 0x80000000 - Produces Units(?) |
00664410 | 223275 | 1.16.1 | Units.dat - Transport Space Required | 1 | 228 | Simple Data | |
006644F8 | 223333 | 1.16.1 | Units.dat - Graphics (Flingy ID) | 1 | 228 | Backed By Code | flingy.dat index |
006645E0 | 223391 | 1.16.1 | Units.dat - Max Hits (Ground) | 1 | 228 | Simple Data | This value is for statistics purposes only (?) |
006646C8 | 223449 | 1.16.1 | Units.dat - Supply Provided | 1 | 228 | Simple Data | The value is twice what you see in-game. |
006647B0 | 223507 | 1.16.1 | Units.dat - Has Shields | 1 | 228 | Simple Data | Example: Unset "has shields" for Protoss Observatory Base Address = 0x006647B0 Protoss Observatory Units.dat Index = 159 = 0x9F 0x006647B0 + 0x9F = 0x0066484F 0x0066484F is not divisible by 4, next lowest multiple of 4 = 0x0066484C Went down by 3 bytes to reach the multiple of 4 Therefore, modify 0xFF00000 at 0x0066484C to change value at 0x0066484F // set observatory "has shields" to 0 Masked MemoryAddr(0x0066484C, Set To, 0, 0xFF000000); |
00664898 | 223565 | 1.16.1 | Units.dat - Idle Order | 1 | 228 | Simple Data | "Return to Idle" in DatEdit Orders.dat index |
00664980 | 223623 | 1.16.1 | Units.dat - Infestation Unit | 2 | 96 | Simple Data | Only exists for buildings (First entry is 106 Command Center) |
00664A40 | 223671 | 1.16.1 | Orders.dat - Unknown 4 | 1 | 189 | Simple Data | |
00664B00 | 223719 | 1.16.1 | Orders.dat - Use Weapon Targetting | 1 | 189 | Simple Data | |
00664BC0 | 223767 | 1.16.1 | Orders.dat - Unknown 12 | 1 | 189 | Simple Data | |
00664C80 | 223815 | 1.16.1 | Orders.dat - Unknown 11 | 1 | 189 | Simple Data | |
00664D40 | 223863 | 1.16.1 | Orders.dat - Animation | 1 | 189 | Simple Data | 0 = Initial 1 = Death 2 = Ground Attack - Initial 3 = Air Attack - Initial 4 = Unused1 5 = Ground Attack - Repeat 6 = Air Attack - Repeat 7 = Cast Spell 8 = Return to Idle from Ground Attack 9 = Return to Idle from Air Attack 10 = Unused2 11 = Walking 12 = Return to Idle from Walking 13 = Special State 1 (Bouncing Animation) 14 = Special State 2 15 = Almost Built 16 = Built 17 = Landing 18 = Lift-Off 19 = Building Is Working 20 = Return to Idle from Working 21 = Warp In 22 = Unused 3 23 = Initial (StarEdit only) 24 = Disable 25 = Burrow 26 = UnBurrow 27 = Enable 28 = No Animation |
00664E00 | 223911 | 1.16.1 | Orders.dat - Energy Technology | 1 | 189 | Simple Data | Techdata.dat index for energy |
00664EC0 | 223959 | 1.16.1 | Orders.dat - Highlight Button ID | 2 | 189 | Simple Data | cmdicons.grp frame index or 0xFFFF for none. |
00665040 | 224055 | 1.16.1 | Orders.dat - Can Be Interrupted | 1 | 189 | Simple Data | |
00665100 | 224103 | 1.16.1 | Orders.dat - Unknown 7 | 1 | 189 | Simple Data | |
006651C0 | 224151 | 1.16.1 | Orders.dat - Unknown 9 | 1 | 189 | Simple Data | |
00665280 | 224199 | 1.16.1 | Orders.dat - Label ID | 2 | 189 | Simple Data | Doesn't do anything. |
00665400 | 224295 | 1.16.1 | Orders.dat - Obscured Order | 1 | 189 | Simple Data | Orders.dat index "Order to be run if the target is obscured by the Fog-of-War." |
006654C0 | 224343 | 1.16.1 | Orders.dat - Can Be Obstructed? | 1 | 189 | Simple Data | |
00665580 | 224391 | 1.16.1 | Orders.dat - Dat Reqs Offset | 2 | 189 | Simple Data | |
00665700 | 224487 | 1.16.1 | Orders.dat - Can Be Queued | 1 | 189 | Simple Data | |
006657C0 | 224535 | 1.16.1 | Orders.dat - Unknown 5 | 1 | 189 | Simple Data | |
00665880 | 224583 | 1.16.1 | Orders.dat - Targeting | 1 | 189 | Simple Data | Weapons.dat index "Weapon used by the order to determine the targeting rules, if "Use Weapon Targeting" is checked." |
00665940 | 224631 | 1.16.1 | Orders.dat - Order is Secondary | 1 | 189 | Simple Data | Order goes in bSecondaryOrderID instead of bMainOrderID. |
00665A00 | 224679 | 1.16.1 | Orders.dat - Unknown 3 | 1 | 189 | Simple Data | |
00665AC0 | 224727 | 1.16.1 | Sprites.dat - Selection Circle | 1 | 387 | Read Only | Images.dat reference starting at index 561. Starts on sprites.dat entry 130. |
00665C48 | 224825 | 1.16.1 | Sprites.dat - Visible | 1 | 517 | Simple Data | |
00665E50 | 224955 | 1.16.1 | Sprites.dat - HP Bar Length | 1 | 387 | Read Only | Starts on Sprites.dat ID 130. |
00665FD8 | 225053 | 1.16.1 | Sprites.dat - Selection Vertical Offset | 1 | 387 | Read Only | Starts on Sprites.dat ID 130. |
00666160 | 225151 | 1.16.1 | Sprites.dat - Image Index | 2 | 517 | Backed By Code | Images.dat index |
00666570 | 225411 | 1.16.1 | Sprites.dat - Unknown | 1 | 517 | Simple Data | Unknown flag. |
00666778 | 225541 | 1.16.1 | Images.dat - Landing Dust Overlay | 4 | 999 | Read Only | images.tbl lo? index |
00667718 | 226541 | 1.16.1 | Images.dat - Draw If Cloaked | 1 | 999 | Simple Data | |
00667B00 | 226791 | 1.16.1 | Images.dat - Special Overlay | 4 | 999 | Read Only | Images.tbl lo? index |
00668AA0 | 227791 | 1.16.1 | Images.dat - GRP File | 4 | 999 | Read Only | Images.tbl grp index |
00669A40 | 228791 | 1.16.1 | Images.dat - Drawing Function (Remapping Table) | 1 | 999 | Simple Data | 0 - normal 1 - doesn't draw hallucination 2 - non-vision cloaking 3 - non-vision cloaked 4 - non-vision uncloaking 5 - vision cloaking 6 - vision cloaked 7 - vision uncloaking 8 - EMP 9 - uses remapping 10 - shadow 11 - HP bar 12 - warp texture 13 - selection circle remapping 14 - draw original player color (used for flags -- player color stored in coloring data) 15 - draw update rect 16 - hallucination 17 - warp flash |
00669E28 | 229041 | 1.16.1 | Images.dat - Remapping Table (Drawing Function) | 1 | 999 | Backed By Code | If Drawing Function is 9: 0 = No remapping 1 = ofire.pcx (Orange) 2 = gfire.pcx (Green) 3 = bfire.pcx (Blue) 4 = bexpl.pcx (Blue2) 5 = Special (Own cloak) 6 = (crash) 7 = (crash) 8 = Unk8 (?) 9 = Unk9 (?) |
0066A210 | 229291 | 1.16.1 | Images.dat - Damage Overlay | 4 | 999 | Read Only | Images.tbl lof pointer |
0066B1B0 | 230291 | 1.16.1 | Images.dat - Attack Overlay | 4 | 999 | Read Only | images.dat lo? index |
0066C150 | 231291 | 1.16.1 | Images.dat - Clickable | 1 | 999 | Simple Data | |
0066C538 | 231541 | 1.16.1 | Images.dat - Sheilds Overlay | 4 | 999 | Read Only | None = 0 Small = 133 Medium = 2 Large = 184 |
0066D4D8 | 232541 | 1.16.1 | Images.dat - Use Full Iscript | 1 | 999 | Simple Data | |
0066D8C0 | 232791 | 1.16.1 | Images.dat - Lift-off Dust Overlay | 4 | 999 | Read Only | images.tbl lod index |
0066E860 | 233791 | 1.16.1 | Images.dat - Graphics Turns | 1 | 999 | Simple Data | |
0066EC48 | 234041 | 1.16.1 | Images.dat - Iscript ID | 4 | 999 | Backed By Code | Iscript.bin ID |
0068C104 | 264040 | 1.16.1 | AIScript pointer | 4 | 1 | Backed By Code | |
0068C108 | 264041 | 1.16.1 | BWScript pointer | 4 | 1 | Backed By Code | |
0068C144 | 264056 | 1.16.1 | Send Message Type | 4 | 1 | Simple Data | Can be used to check if send message box is open (At Least 1) |
0068C14C | 264058 | 1.16.1 | Current Button Set | 4 | 1 | Simple Data | The button set ID of the currently selected single unit. There is a 1-to-1 relationship between unit ID and it's button set, eg the buttonset for terran ghost is ID 1. There are also several group buttonsets, for when multiple workers, or burrowable, or cloakable units etc selected: * 244 - generic units, shows move/stop/attack/guard/patrol buttons * 245 - workers, shows move/stock/attack + gather and return resources buttons * 246 - cloakable units, as per 'generic' + cloak/decloak buttons * 247 - burrowable units, as per 'generic' + burrow/unburrow buttons Refer to button tabs in Firegraft. Through experimentation, buttons occasionally have a delay of up to 2-3 seconds before changes in game state will update the button status (eg when a new tech is available, a button that relies on that tech may stay greyed out for 2-3 seconds). Setting this address with a different value (eg 244) is a way to force a refresh for the currently displayed button set. Note that SC constantly updates this address to reflect the current unit's actual button set, to prevent units from being able to action commands that they shouldn't have access to (the infamous 1.13 patch series to stop any building from making any unit). |
0068C1F4 | 264100 | 1.16.1 | TranWire.grp pointer | 4 | 1 | Backed By Code | Overwriting a particular unit's frame offset with a different frame offset can change the image used for that unit. GRP header: u16 frameCount u16 width u16 height GRP Frame (* frameCount) u8 x u8 y u8 w u8 h u32 offset |
0068C1FC | 264102 | 1.16.1 | GrpWire.grp Pointer | 4 | 1 | Backed By Code | Overwriting a particular unit's frame offset with a different frame offset can change the image used for that unit. GRP header: u16 frameCount u16 width u16 height GRP Frame (* frameCount) u8 x u8 y u8 w u8 h u32 offset |
0068C204 | 264104 | 1.16.1 | Wirefram.grp Pointer | 4 | 1 | Backed By Code | Overwriting a particular unit's frame offset with a different frame offset can change the image used for that unit. GRP header: u16 frameCount u16 width u16 height GRP Frame (* frameCount) u8 x u8 y u8 w u8 h u32 offset |
0068C448 | 264249 | 1.16.1 | Sfxdata.dat - minVolume | 1 | 1144 | Unknown 4 | |
0068C8C0 | 264535 | 1.16.1 | Sfxdata.dat - Flags | 1 | 1144 | Value is some combination of: - 1 preload - 2 unitSpeech - 16 oneAtTime - 32 neverPreempt | |
0068CD38 | 264821 | 1.16.1 | Sfxdata.dat - lengthAdjust | 2 | 1144 | Unknown 3 | |
0068D628 | 265393 | 1.16.1 | Sfxdata.dat - Priority | 1 | 1144 | Unknown 1 | |
0068DAA0 | 265679 | 1.16.1 | Sfxdata.dat - Sound file | 4 | 1144 | Direct pointer to SFXData.tbl string. This can be changed as long as the wav hasn't been loaded. This means that any wav without the 'preload' flag should be able to be pointed to a different wav file. | |
006C9858 | 326973 | 1.16.1 | Flingy.dat - Movement Control | 1 | 209 | Simple Data | 0 = Flingy.dat Control 1 = Partially Mobile, Weapon 2 = Iscript.bin Control |
006C9930 | 327027 | 1.16.1 | Flingy.dat - Halt Distance | 4 | 209 | Simple Data | Measured in pixels*256 |
006C9C78 | 327237 | 1.16.1 | Flingy.dat - Acceleration | 2 | 209 | Simple Data | Measured in pixels-per-frame. |
006C9E20 | 327343 | 1.16.1 | Flingy.dat - Turn Radius | 1 | 209 | Simple Data | |
006C9EF8 | 327397 | 1.16.1 | Flingy.dat - Top Speed | 4 | 209 | Simple Data | Measured in pixels-per-frame, but written as "Speed*(320/3)" |
006CA240 | 327607 | 1.16.1 | Flingy.dat - Unused | 1 | 209 | Simple Data | Unused in DatEdit |
006CA318 | 327661 | 1.16.1 | Flingy.dat - Sprite Index | 2 | 209 | Simple Data | Sprites.dat index |
006CA94D | 328058 | 1.16.1 | Displayed HP | 4 | 1 | The current HP of the selected unit. | |
006CA9F0 | 328099 | 1.16.1 | Unit being Produced | 4 | 1 | Unsupported | Set value to 1 to detect any unit currently being trained on any building. Not fully tested. |
006CDDC0 | 331415 | 1.16.1 | Mouse Button State | 4 | 1 | Simple Data | 2: Left button pressed. 8: Right button pressed. 32: Middle button pressed Edited by PereC, 2021.03.29 |
006CDDC4 | 331416 | 1.16.1 | Mouse Coordinate X | 4 | 1 | Simple Data | Relative to the screen. |
006CDDC8 | 331417 | 1.16.1 | Mouse Coordinate Y | 4 | 1 | Simple Data | Relative to the screen. |
006CDFD4 | 331548 | 1.16.1 | Game Speed | 4 | 1 | Backed By Code | The current game speed. The values are as follows: 0 = Slowest 1 = Slower 2 = Slow 3 = Normal 4 = Fast 5 = Faster 6 = Fastest Note: SC:R no longer uses this address. The value is always 0 in SC:R. |
006CDFE0 | 331551 | 1.16.1 | Music Volume | 4 | 1 | Backed By Code | 0-100 for music volume Note: SC:R no longer uses this address. The value is always 0 in SC:R. |
006CDFE4 | 331552 | 1.16.1 | Digital Volume | 4 | 1 | Backed By Code | 0-100 for sound volume Note: SC:R no longer uses this address. The value is always 0 in SC:R. |
006D0C68 | 334401 | 1.16.1 | Creep Tile Backup Buffer | 4 | 1 | Unsupported | Pointer to the u16 buffer that stores the tile IDs of tiles overwritten by creep in the Active Map Tile buffer. Values are normally 0 until a creep tile replaces them. |
006D0C6C | 334402 | 1.16.1 | Tile Buffer Height | 4 | 1 | Unsupported | Copy of Map Height? |
006D0C70 | 334403 | 1.16.1 | Tile Function Pointers | 4 | 4 | Unsupported | 0x006D0C70 -> 0x0047E2D0 -- refreshes map tiles for drawing? 0x006D0C74 -> isCreepCovered -- checks if a tile is creep 0x006D0C78 -> isTileVisible -- checks if a player can see the tile 0x006D0C7C -> null pointer? -- I couldn't find what function is actually put here |
006D0E80 | 334535 | 1.16.1 | Creep Overlay Buffer | 4 | 1 | Unsupported | Pointer to u8 flags relating to the creep overlay for each map tile. |
006D0E84 | 334536 | 1.16.1 | Active Tile Buffer | 4 | 1 | Unsupported | Pointer to u16 array of active map tiles. |
006D0F08 | 334569 | 1.16.1 | Tile Buffer Width | 4 | 1 | Unsupported | Copy of Map Width |
006D0F30 | 334579 | 1.16.1 | Replay Header | 633 | 1 | Read Only | https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Source/BW/Replay.h |
006D0F30 | 334579 | 1.16.1 | Replay Header - Is Broodwar | 1 | 1 | Read Only | |
006D0F31 | 334579 | 1.16.1 | Replay Header - Frame Count | 4 | 1 | Read Only | |
006D0F35 | 334580 | 1.16.1 | Replay Header - Campaign ID | 2 | 1 | Read Only | |
006D0F37 | 334580 | 1.16.1 | Replay Header - Command ID | 1 | 1 | Read Only | struct gameSeed |
006D0F38 | 334581 | 1.16.1 | Replay Header - Rand Seed | 4 | 1 | Read Only | struct gameSeed. Unix time on game start.(The number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970) |
006D0F3C | 334582 | 1.16.1 | Replay Header - Player Bytes | 1 | 8 | Read Only | struct gameSeed |
006D0F44 | 334584 | 1.16.1 | Replay Header - Unknown_0 | 4 | 1 | Read Only | struct networkGameHeader |
006D0F48 | 334585 | 1.16.1 | Replay Header - 해당 플레이어 이름 | 25 | 1 | Read Only | 게임 제목? "This is the name that the host has chosen when creating the game." struct networkGameHeader |
006D0F60 | 334591 | 1.16.1 | Replay Header - Game flags | 4 | 1 | Read Only | struct networkGameHeader |
006D0F64 | 334592 | 1.16.1 | Replay Header - MapSize | 2 | 2 | Read Only | 2Byte MapWidth 2Byte MapHeight struct networkGameHeader |
006D0F68 | 334593 | 1.16.1 | Replay Header - Active Player Count | 1 | 1 | Read Only | struct networkGameHeader |
006D0F69 | 334593 | 1.16.1 | Replay Header - Available Slots | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6A | 334593 | 1.16.1 | Replay Header - Game Speed | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6B | 334593 | 1.16.1 | Replay Header - Game State | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6C | 334594 | 1.16.1 | Replay Header - Game Type | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6D | 334594 | 1.16.1 | Replay Header - Unknown_1 | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6E | 334594 | 1.16.1 | Replay Header - Game Subtype | 2 | 1 | Read Only | struct networkGameHeader |
006D0F70 | 334595 | 1.16.1 | Replay Header - Seed (Unused) | 4 | 1 | Read Only | struct networkGameHeader |
006D0F74 | 334596 | 1.16.1 | Replay Header - Tileset | 2 | 1 | Read Only | struct networkGameHeader |
006D0F76 | 334596 | 1.16.1 | Replay Header - Autosaved | 1 | 1 | Read Only | struct networkGameHeader |
006D0F77 | 334596 | 1.16.1 | Replay Header- Computer Player Count | 1 | 1 | Read Only | struct networkGameHeader |
006D0F78 | 334597 | 1.16.1 | Replay Header - Game Name | 1 | 25 | Read Only | struct networkGameHeader |
006D0F91 | 334603 | 1.16.1 | Replay Header - Map Name | 1 | 24 | Read Only | struct networkGameHeader |
006D0FB1 | 334611 | 1.16.1 | Replay Header - Game Type | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB2 | 334611 | 1.16.1 | Replay Header - Unknown | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB3 | 334611 | 1.16.1 | Replay Header - Subtype | 2 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB5 | 334612 | 1.16.1 | Replay Header - Subtype display | 2 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB7 | 334612 | 1.16.1 | Replay Header - Subtype Label | 2 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB9 | 334613 | 1.16.1 | Replay Header - Victory Condition | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FBA | 334613 | 1.16.1 | Replay Header - Resource Type | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FBB | 334613 | 1.16.1 | Replay Header - Use Standard Units | 1 | 1 | Read Only | boolean struct networkGameHeader.gameTemplateInfo |
006D0FBC | 334614 | 1.16.1 | Replay Header - Fog of War (Unused) | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FBD | 334614 | 1.16.1 | Replay Header - Starting Units | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FBE | 334614 | 1.16.1 | Replay Header - Use Fixed Positions | 1 | 1 | Read Only | boolean struct networkGameHeader.gameTemplateInfo |
006D0FBF | 334614 | 1.16.1 | Replay Header - Usage Restriction Flags | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FC0 | 334615 | 1.16.1 | Replay Header - Allies Allowed | 1 | 1 | Read Only | boolean struct networkGameHeader.gameTemplateInfo |
006D0FC1 | 334615 | 1.16.1 | Replay Header - Teams | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FC2 | 334615 | 1.16.1 | Replay Header - Cheats | 1 | 1 | Read Only | boolean struct networkGameHeader.gameTemplateInfo |
006D0FC3 | 334615 | 1.16.1 | Replay Header - Tournament Mode | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FC4 | 334616 | 1.16.1 | Replay Header - Victory Condition Value | 4 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FC8 | 334617 | 1.16.1 | Replay Header - Resources Value | 4 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FCC | 334618 | 1.16.1 | Replay Header - Unused value | 4 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FD0 | 334619 | 1.16.1 | Replay Header - Extra | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FD1 | 334619 | 1.16.1 | Replay Header - Player Entries | 36 | 12 | Read Only | Unfortunately this struct is not dword-aligned. +0 - u32 slot (0x006D0FD1) +4 - u32 storm ID (0x006D0FD5) +8 - u8 type (0x006D0FD9) +9 - u8 race (0x006D0FDA) +A - u8 team (0x006D0FDB) +B - char name[25] (0x006D0FDC) For next player add 9 player ID's. |
006D1181 | 334727 | 1.16.1 | Replay Header - Player Colors | 4 | 8 | Read Only | |
006D11A1 | 334735 | 1.16.1 | Replay Header - Player Force Data | 1 | 8 | Read Only | |
006D1200 | 334759 | 1.16.1 | iscript.bin pointer | 4 | 1 | Backed By Code | |
006D1238 | 334773 | 1.16.1 | stat_txt.tbl pointer | 4 | 1 | Backed By Code | |
006D1260 | 334783 | 1.16.1 | Tile Flags Pointer | 4 | 1 | Backed By Code | Pointer to (Map Width)x(Map Height) array of u32 flags: 0x000000xx - Visibility Flags -- bits correspond to each player 0x0000xx00 - Explored Flags -- bits correspond to each player 0x00010000 - Walkable 0x00020000 - Unused? 0x00040000 - Unwalkable 0x00080000 - Unused? 0x00100000 - Unused? 0x00200000 - Unused? 0x00400000 - Has Creep 0x00800000 - Unbuildable (i.e., water tiles) 0x01000000 - Low Ground 0x02000000 - Med Ground 0x04000000 - High Ground 0x08000000 - Occupied (i.e. contains a building) 0x10000000 - Creep Receeding 0x20000000 - Cliff Edge 0x40000000 - Temporary Creep 0x80000000 - Unused? Taken from: https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Source/BW/Structures.h#L80 |
006D5A6C | 339394 | 1.16.1 | Cheat Flags | 4 | 1 | Simple Data | Setting cheat flags will work in multiplayer games, but maybe not as expected. 00000001 **Black Sheep Wall 00000002 Operation CWAL 00000004 Power Overwhelming 00000008 *Something For Nothing 00000010 *Show Me The Money 00000040 Game Over Man 00000080 There Is No Cow Level 00000100 Staying Alive 00000200 Ophelia 00000800 The Gathering 00001000 Medieval Man 00002000 Modify The Phase Variance 00004000 **War Aint What It Used To Be 00020000 Food For Thought 00040000 *Whats Mine Is Mine 00080000 *Breathe Deep 20000000 noglues * If any of these are enabled and you use any cheat it will instead disable these and do their action (and since you can't use cheats in multiplayer they are useless there.) ** If you enable these in Multiplayer they will be automatically disabled. 28000200 - These flags apparently do not clear at the start of a game. Radio Free Zerg doesn't use these flags. |
006D5BB0 | 339475 | 1.16.1 | Music ID | 4 | 1 | Change this value and toggle music and it will play a different sound track. 0 = Off 1 = Zerg 1 2 = Zerg 2 3 = Zerg 3 4 = Terran 1 5 = Terran 2 6 = Terran 3 7 = Protoss 1 8 = Protoss 2 9 = Protoss 3 10 = Zerg Briefing Room 11 = Terran Briefing Room 12 = Protoss Briefing Room 13 = Zerg Defeat 14 = Terran Defeat 15 = Protoss Defeat 16 = Zerg Victory 17 = Terran Victory 18 = Protoss Victory 19 = Zerg Victory 20 = Terran Victory 21 = Protoss Victory 22 = Title/Menu Music 23 = Terran 2 (Credits?) 24 = Radio Free Zerg Others crash. | |
006D5BBE | 339478 | 1.16.1 | Minimap State | 4 | 1 | Minimap State - Pressing Tab, Shift+tab changes this 0x00 - default 0x01 - Enemies red, allies yellow 0x02 - Enemies red, allies yellow, ememy units red, ally units yellow, your units teal | |
006D5EC8 | 339673 | 1.16.1 | CV5 Pointer | 4 | 1 | Backed By Code | |
1505E670 | 86724803 | 1.16.1 | Storm Graphics Palette | 4 | 256 | Read Only | |
19046138 | 103477109 | 1.16.1 | Battle.snp Join Channel | 4 | 1 | Simple Data | |
1904613C | 103477110 | 1.16.1 | Battle.snp Join Channel | 4 | 1 | Simple Data |