Address | Player ID | Name | Size | Length | SCR | Description |
---|---|---|---|---|---|---|
004FF900 | -141977 | Filename for Lastreplay | 12 | 1 | Contains the string "LastReplay". | |
004FF90C | -141974 | Replay Speed Limiters | 4 | 7 | The speed in milliseconds to spend each frame during a repl… | |
004FF928 | -141967 | Replay Command Table | 16 | 2 | Contains the replay commands "show" and "hid… | |
004FF948 | -141959 | Replay show command modifiers | 32 | 12 | Contains sub-commands and leaderboard values to use in the … | |
004FFAD0 | -141861 | Menu Info Array | 12 | 27 | Contains the menu index, background index, and menu path. | |
004FFC20 | -141777 | Campaign List Info | 8 | 85 | Contains the campaign listing info. WORD gluHist.tbl inde… | |
004FFF60 | -141569 | Establishing shot pointers | 8 | 65 | 64 entries defining campaign mission prologue/establishing … | |
0050C000 | -129241 | cInit Constructor Function Table | 4 | 310 | Standard C-Runtime. Generated by Visual C++. | |
005122A0 | -122929 | Campaign list pointers | 4 | 6 | Pointer to memory location of details of first mission in S… | |
005122B8 | -122923 | Current Cinematic ID | 4 | 1 | An index for the currently playing cinematic. | |
005124D8 | -122787 | Game Speed Refresh Rate | 4 | 7 | Simple Data | Contains the value in milliseconds required for each frame.… |
005124F4 | -122780 | Replay Speed Refresh Rate | 4 | 7 | Contains the time in milliseconds spent each frame. Array i… | |
00512510 | -122773 | Image Update Functions | 8 | 18 | An array of image functions. The array is officially called… | |
005125A0 | -122737 | Image Drawing Functions | 12 | 18 | This corresponds to a value in images.dat. The official nam… | |
00512678 | -122683 | Active Nation ID | 4 | 1 | Backed By Code | This is the same as Human ID unless you are playing Team Me… |
0051267C | -122682 | Active Human ID | 4 | 1 | Backed By Code | This is your player ID. The official name for this is g_Act… |
00512680 | -122681 | Active Storm ID | 4 | 1 | Unsupported | This is your active storm ID, which is different from your … |
00512684 | -122680 | Local Nation ID | 4 | 1 | Backed By Code | The official name for this is g_LocalNationID. P1: 00 P… |
00512688 | -122679 | Local Human ID | 4 | 1 | The official name for this is g_LocalHumanID. | |
0051268C | -122678 | Local Storm ID | 4 | 1 | Unsupported | The official name for this is g_LocalStormID. |
00512690 | -122677 | Cinematic File Name Array | 4 | 28 | Contains string pointers for the file names of all game cin… | |
00512700 | -122649 | Race Filename Modifiers | 8 | 1 | Contains 3 bytes "ztp" used when loading race-spe… | |
00512708 | -122647 | Cursor Filename Array | 4 | 19 | Contains pointers to a string for each cursor image. | |
00512754 | -122628 | Cursor Scroll Type Modifiers | 2 | 10 | Unsupported | Contains the index for the cursor used for scrolling. |
005127DC | -122594 | Tileset Color Cycle Pointers | 4 | 9 | Contains pointers to the tileset color cycle data. Array in… | |
00512800 | -122585 | Trigger Action Function Array | 4 | 60 | Contains function pointers for all trigger actions. | |
00513B68 | -121343 | Mouse and Keyboard Scroll Speed | 7 | 7 | Supported | Edited by PereC, 2021.04.12 For SC:R, In menu - Options -… |
00513B68 | -121343 | Mouse Scroll Speed Array | 7 | 7 | Supported | Amount of Mouse Scroll Speed. Array index dependent on mous… |
00514178 | -120955 | Unit Reqs data | 1090 | 1 | Simple Data | Packed list of opcodes/parameters for data requiremens. … |
005145C0 | -120681 | Upgrade Reqs data | 838 | 1 | Simple Data | |
00514908 | -120471 | Research Req Data | 318 | 1 | Simple Data | |
00514A48 | -120391 | Tech Use Req Data | 688 | 1 | Simple Data | |
00514CF8 | -120219 | Order Req Data | 1316 | 1 | Simple Data | |
00515A98 | -119347 | Trigger Condition Function Array | 4 | 24 | Contains function pointers for all trigger conditions. | |
00515B84 | -119288 | Damage type/factor multipliers vs unit size | 20 | 5 | Weapon damage typa, against each unit size struct { i… | |
005187E8 | -116447 | s_button Offset | 12 | 250 | Backed By Code | +0x00 (EPD -116447) Number of available buttons. 0 = Butt… |
005193A0 | -115697 | Unit Infomation | 12 | 228 | See Description | Edited by PereC, 2021-06-05 In SC:R, 64-bit starcraft igno… |
00519E50 | -115013 | Mission Briefing Action Function Array | 4 | 10 | Contains function pointers for all mission briefing actions. | |
0051A280 | -114745 | Player 1 Trigger List | 4 | 3 | Backed By Code | |
0051A28C | -114742 | Player 2 Trigger List | 4 | 3 | Backed By Code | |
0051A298 | -114739 | Player 3 Trigger List | 4 | 3 | Backed By Code | |
0051A2A4 | -114736 | Player 4 Trigger List | 4 | 3 | Backed By Code | |
0051A2B0 | -114733 | Player 5 Trigger List | 4 | 3 | Backed By Code | |
0051A2BC | -114730 | Player 6 Trigger List | 4 | 3 | Backed By Code | |
0051A2C8 | -114727 | Player 7 Trigger List | 4 | 3 | Backed By Code | |
0051A2D4 | -114724 | Player 8 Trigger List | 4 | 3 | Backed By Code | |
0051CA14 | -112212 | Last Random Number | 4 | 1 | Simple Data | Randomization seed for the next random number, mask with 0x… |
0051CE84 | -111928 | Network Mode Delay | 4 | 1 | Read Only | 1 in single player, 2 in LAN, 5 on battle.net. Described… |
0051CE88 | -111927 | Network Mode Delay 2 | 4 | 1 | Appears to be a duplicate of 0x0051CE84. Not sure which val… | |
0051CE8C | -111926 | Inverse System Time | 4 | 1 | Value : -GetTickCount() (about 10ms error) Used for inpu… | |
0051CE98 | -111923 | Fog of War Update Counter | 4 | 1 | Simple Data | Set to 0 to update FoW. Toggle between 0 and 1 in separa… |
0051CED0 | -111909 | GRP Array | 4 | 999 | Read Only | Pointer to each GRP for each images.dat entry |
0051F2A8 | -109615 | Images Attack Overlay Array | 4 | 999 | Read Only | Pointers to GRP handles for all images. |
00520244 | -108616 | Images Damage Overlay Array | 4 | 999 | Read Only | Pointer to LO? handles for all images.dat entries. |
005211E0 | -107617 | Images Special Overlay Array | 4 | 999 | Read Only | Pointer to LO? handles for all images.dat entries. |
0052217C | -106618 | Images Landing Dust Overlay Array | 4 | 999 | Read Only | Pointer to LO? handles for all images.dat entries. |
00523118 | -105619 | Images Liftoff Dust Overlay Array | 4 | 999 | Read Only | Pointer to LO? handles for all images.dat entries. |
005240D0 | -104613 | Images Damage Overlay Frame | 1 | 999 | Simple Data | |
0052E5C8 | -94055 | Images Shield Overlay Array | 4 | 999 | Pointer to GRP handles for all images. | |
0052F568 | -93055 | Images Array | 64 | 5000 | Read Only | The array of images currently processed in the game. |
0057EB68 | -11775 | First Image Pointer | 4 | 1 | Read Only | Pointer to the first CImage instance. |
0057EB70 | -11773 | Last Image Pointer | 4 | 1 | Read Only | Pointer to the last CImage instance. |
0057EE7C | -11578 | Player Human IDs | 4 | 8 | Unsupported | The Human ID for each player.llll |
0057EE9C | -11570 | Player Name | 25 | 1 | Unsupported | If you are playing as 'asdf' then you will find o… |
0057EEC0 | -11561 | Player Nation IDs | 4 | 8 | Unsupported | The Nation ID for each player. |
0057EEE0 | -11553 | Active Player Structures | 36 | 12 | Backed By Code | A structure for each player containing their HumanID, Storm… |
0057F094 | -11444 | Last Whisper Player | 25 | 1 | The name of the player that last whispered you (in-game onl… | |
0057F0B0 | -11437 | Vision Filter | 4 | 1 | A shared vision filter used for changing the player's … | |
0057F0B4 | -11436 | Multiplayer Mode | 4 | 1 | Read Only | A boolean value that specifies if the game is Single or Mul… |
0057F0B8 | -11435 | Network Player Status Array | 4 | 8 | Unsupported | An array containing flags for each player's network st… |
0057F0D8 | -11427 | Network Maximum Buffer Size | 4 | 1 | A value indicating the maximum size for the command buffer … | |
0057F0DC | -11426 | Main Menu Dialog Handle | 4 | 1 | Unsupported | A handle to the main menu BIN dialog. |
0057F0F0 | -11421 | Player Minerals | 4 | 12 | Simple Data | The current amount of minerals the player has. |
0057F120 | -11409 | Player Gas | 4 | 12 | Simple Data | The current amount of gas the player has. |
0057F150 | -11397 | Player Total Gas Harvested | 4 | 12 | Simple Data | The total gas the player has ever harvested |
0057F180 | -11385 | Player Total Minerals Harvested | 4 | 12 | Simple Data | The total minerals the player has ever harvested |
0057F1B0 | -11373 | Starting Player Local ID | 4 | 1 | Simple Data | |
0057F1B4 | -11372 | Player Slot Types | 1 | 12 | Simple Data | |
0057F1C0 | -11369 | Player Slot Races | 1 | 12 | Simple Data | |
0057F1CC | -11366 | Team Game Main Player | 1 | 4 | Simple Data | |
0057F1D0 | -11365 | Screen Tile Position | 2 | 2 | Simple Data | |
0057F1D4 | -11364 | MapSize | 2 | 2 | Simple Data | 2byte Width 2byte Height width + 65536*height |
0057F1D8 | -11363 | Messsage Send To Filter | 2 | 2 | Simple Data | |
0057F1DA | -11363 | Message Player Filter | 2 | 2 | Simple Data | Should be within the previous entry |
0057F1DC | -11362 | Tileset | 2 | 1 | Simple Data | The current tileset ID being used. Changing to 1 will tu… |
0057F1DE | -11362 | Current Music | 2 | 2 | Simple Data | |
0057F1E0 | -11361 | BWGame Unk_f0 | 1 | 1 | Simple Data | |
0057F1E1 | -11361 | Active Player Count | 1 | 1 | Simple Data | The number of active players in the game. |
0057F1E2 | -11361 | Console Index | 1 | 1 | Simple Data | A value indicating which console GUI should be displayed. … |
0057F1E3 | -11361 | Is Custom Single Player | 1 | 1 | Simple Data | |
0057F1E4 | -11360 | BWGame unk_f4 | 4 | 1 | Simple Data | |
0057F1E8 | -11359 | BWGame unk_f8 | 4 | 1 | Simple Data | |
0057F1EC | -11358 | Shared Vision | 4 | 12 | Simple Data | The shared vision values for each player. StarCraft does… |
0057F21C | -11346 | Player Color Mapping | 4 | 8 | Simple Data | A mapping of the player's colors. |
0057F23C | -11338 | Elapsed Time | 4 | 1 | Simple Data | The elapsed game time (in game ticks, ~42ms per tick on fas… |
0057F240 | -11337 | Saved Elapsed Seconds | 4 | 1 | Simple Data | |
0057F244 | -11336 | Campaign Index | 2 | 1 | Simple Data | A value indicating which campaign is being played. |
0057F246 | -11336 | Next Scenario name | 32 | 1 | Simple Data | The name of the next scenario, set using the Set Next Scena… |
0057F266 | -11328 | Single Player Race | 1 | 1 | Simple Data | |
0057F267 | -11328 | Single Player Computer Races | 1 | 8 | Simple Data | |
0057F26F | -11326 | BWGame unk_17F | 1 | 1 | Simple Data | |
0057F270 | -11325 | Saved Screen Positions | 4 | 3 | Simple Data | Pos 1: -11325 X + 65536Y Pos 2: -11324 X + 65536Y … |
0057F27C | -11322 | Player Units available | 228 | 12 | Simple Data | 1 row of 228 bytes, 1 per unit, per player offset + (Cp … |
0057FD2C | -10638 | BWGame unk_c3c | 1 | 8 | Simple Data | |
0057FD34 | -10636 | Last Event Position | 4 | 2 | Simple Data | A POINT structure containing the position of the last event… |
0057FD3C | -10634 | Map File Name | 260 | 1 | Simple Data | The current map's file name. |
0057FE40 | -10569 | Map Title | 32 | 1 | Simple Data | The current map's title. |
0057FE60 | -10561 | Hotkeyed Unit | 864 | 8 | Simple Data | Purpose To detect the hotkey and then the slot that a … |
00581960 | -8833 | BWGame unk_2870 | 1 | 1024 | Simple Data | |
00581D60 | -8577 | Default Message Filter | 1 | 1 | Simple Data | Controls who you chat with when pressing Enter. (To Allies:… |
00581D61 | -8577 | Player Lose Type | 1 | 1 | Simple Data | |
00581D62 | -8577 | Player Left | 1 | 8 | Simple Data | |
00581D6A | -8575 | Player Selection Circle Colors | 1 | 12 | Simple Data | Each byte sets the color of the selection circle: 000 - Gr… |
00581D76 | -8572 | Unit Color Table | 8 | 12 | Simple Data | Each byte corresponds to a palette index used for each play… |
00581DD6 | -8548 | Minimap Color Table | 1 | 12 | Simple Data | Each byte references a palette index. This table is immedi… |
00581DE2 | -8545 | BWGame unk_2cf2 | 1 | 2 | Simple Data | |
00581DE4 | -8544 | Score Total Units Produced | 4 | 12 | Simple Data | Appears to be flipped; units owned, and not produced. |
00581E14 | -8532 | Score Units Produced | 4 | 12 | Simple Data | Appears to be flipped; units owned, and not produced. |
00581E44 | -8520 | Score Units Owned | 4 | 12 | Simple Data | Appears to be flipped; to be units produced, and not owned. |
00581E74 | -8508 | Number of Units Lost | 4 | 12 | Simple Data | Deaths for "Any Unit" stored here. |
00581EA4 | -8496 | Number of Units Killed | 4 | 12 | Simple Data | Kills for "Any Unit" stored here. |
00581ED4 | -8484 | Score Unit Total | 4 | 12 | Simple Data | |
00581F04 | -8472 | Score Kill Total | 4 | 12 | Simple Data | |
00581F34 | -8460 | Score Structures Constructed Total | 4 | 12 | Simple Data | |
00581F64 | -8448 | Number of Buildings Constructed | 4 | 12 | Simple Data | |
00581F94 | -8436 | Number of Buildings Owned | 4 | 12 | Simple Data | |
00581FC4 | -8424 | Number of Buildings Lost | 4 | 12 | Simple Data | Deaths for "Buildings" stored here. |
00581FF4 | -8412 | Number of Buildings Razed | 4 | 12 | Simple Data | Kills for "Buildings" stored here. |
00582024 | -8400 | Buildings Score | 4 | 12 | Simple Data | Score for "Buildings", or buildings produced. |
00582054 | -8388 | Razings Score | 4 | 12 | Simple Data | Score for "Razings", or buildings killed. |
00582084 | -8376 | Number of Factories Constructed | 4 | 12 | Simple Data | |
005820B4 | -8364 | Number of Factories Owned | 4 | 12 | Simple Data | |
005820E4 | -8352 | Number of Factories Lost | 4 | 12 | Simple Data | Deaths for "Factories" stored here. |
00582114 | -8340 | Number of Factories Razed | 4 | 12 | Simple Data | Kills for "Factories" stored here. |
00582144 | -8328 | Zerg Control Available | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
00582174 | -8316 | Zerg Control Used | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
005821A4 | -8304 | Zerg Control Max | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
005821D4 | -8292 | Terran Supply Available | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
00582204 | -8280 | Terran Supply Used | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
00582234 | -8268 | Terran Supply Max | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
00582264 | -8256 | Protoss Psi Available | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
00582294 | -8244 | Protoss Psi Used | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
005822C4 | -8232 | Protoss Psi Max | 4 | 12 | Simple Data | 4 bytes per player Despite being 4 bytes, the game will … |
005822F4 | -8220 | Score Custom | 4 | 12 | Simple Data | |
00582324 | -8208 | All Unit Counts Table | 48 | 228 | Simple Data | Counts per player, per unit For each unit, 4 bytes per… |
00584DE4 | -5472 | Completed Unit Counts Table | 48 | 228 | Simple Data | Counts per player, per unit For each unit, 4 bytes per p… |
00585474 | -5052 | Larva Count | 12 | 1 | (Why does this entry exist? Should be within the Completed … | |
005878A4 | -2736 | Killed Unit Counts Table | 48 | 228 | Simple Data | Counts per player, per unit. For each unit, 4 bytes per … |
0058A364 | 0 | Death Table Start | 48 | 228 | Simple Data | Counts per player, per unit First entry in the death tab… |
0058CE24 | 2736 | SC Technologies Available (0-23) | 24 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. … |
0058CF44 | 2808 | SC Technologies Researched (0-23) | 24 | 12 | Simple Data | [See SC Technologies Available] http://farty1billion.dyndn… |
0058D064 | 2880 | SC Tech Research In Progress | 1 | 36 | Simple Data | Who knows |
0058D088 | 2889 | SC Upgrades Available (0-45) | 46 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. … |
0058D2B0 | 3027 | SC Upgrades Researched (0-45) | 46 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. … |
0058D4D8 | 3165 | SC Upgrade in Progress Lvl 1 (Unused?) | 1 | 72 | Simple Data | Who knows |
0058D520 | 3183 | SC Upgrade in Progress Lvl 2 (Unused?) | 1 | 72 | Simple Data | Who knows |
0058D5B0 | 3219 | Player's Force | 1 | 8 | Simple Data | 8 bytes: 1 byte for each active player, specifying which o… |
0058D5B8 | 3221 | Force Flags | 1 | 4 | Simple Data | 4 bytes: 1 byte for each force specifying the flags; forc… |
0058D5BC | 3222 | Force Names | 30 | 4 | Simple Data | 4 byte integers: 1 integer for each force, string number o… |
0058D634 | 3252 | Player Alliances | 12 | 12 | Simple Data | EPD 3252 + 0x00: P1 ally status to P1 + 0x01: P1 ally sta… |
0058D6C4 | 3288 | Mission Objectives Index | 4 | 12 | Simple Data | EPD 3288 (+0x00): This is the Mission Objective String I… |
0058D6F4 | 3300 | Countdown Timer | 4 | 1 | Simple Data | Changing the value of this address with EUP or EUD is worth… |
0058D6F8 | 3301 | Elapsed Time | 4 | 1 | Simple Data | Game Seconds (1 Game Second = 16 Game Ticks = ~1072ms on no… |
0058D6FC | 3302 | SC Switch Table (Unused?) | 4 | 1 | Simple Data | 32 switches, probably pre-1.04 when number of switches was … |
0058D700 | 3303 | Player Victory Status | 1 | 8 | Simple Data | |
0058D708 | 3305 | Leaderboard Has Computer Players | 4 | 1 | Simple Data | |
0058D70C | 3306 | Leader Board Type | 1 | 1 | Simple Data | |
0058D70D | 3306 | Leader Board Condition | 1 | 1 | Simple Data | |
0058D70E | 3306 | Leader Board Subtype | 2 | 1 | Simple Data | |
0058D710 | 3307 | Leader Board Goal | 4 | 1 | Simple Data | |
0058D714 | 3308 | Leader Board String Index | 4 | 1 | Simple Data | |
0058D718 | 3309 | #'s of Game Pauses | 1 | 8 | Simple Data | The base value of this address is: (P1 + P2 + P3 + P4) * 3 … |
0058D720 | 3311 | Start Locations | 4 | 8 | Simple Data | Point: u16 X u16 Y EPD 3311 +0x00: P1 Start Location … |
0058D740 | 3319 | Vanilla Location Table | 20 | 64 | Simple Data | This Location Table is not used in the Expansion (Brood War… |
0058DC40 | 3639 | Switch Table | 32 | 1 | Simple Data | +0x00 (EPD 3639) Switch 1: *1 Switch 2: *2 Switch 3: … |
0058DC60 | 3647 | Location Table | 20 | 255 | Simple Data | +0x00 (EPD 3647) This is the LEFT position of the locat… |
0058F04C | 4922 | Time Pause State | 4 | 1 | Simple Data | If FALSE, the value of the address is 0, and the countdown … |
0058F050 | 4923 | BW Technologies Available (24-43) | 20 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. … |
0058F140 | 4983 | BW Technologies Researched (24-43) | 20 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. … |
0058F230 | 5043 | BW Tech Research In Progress | 1 | 72 | [SCR: Simple data] Who knows | |
0058F278 | 5061 | BW Upgrades Available (46-60) | 15 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. … |
0058F32C | 5106 | BW Upgrades Researched (46-60) | 15 | 12 | Simple Data | Table layout is reverse compared to deaths/kills table. … |
0058F3E0 | 5151 | BW Upgrade In Progress | 1 | 96 | Simple Data | Who knows |
0058F440 | 5175 | Is Expansion | 1 | 1 | Simple Data | 1 if your game is using the Expansion set. |
0058F441 | 5175 | BWGame unk_10351 | 1 | 1 | Simple Data | |
0058F442 | 5175 | Unknown Player Color Something | 1 | 8 | Simple Data | |
0058F44A | 5177 | BWGame "Literally Unused" | 1 | 29604 | Simple Data | |
005968A0 | 12623 | Input Procedures | 4 | 19 | A list of functions that determine how user input is handle… | |
005968AC | 12626 | Mouse Left Click | 4 | 1 | Detects the left click of a mouse. Use only actions that… | |
00596904 | 12648 | Game Mode | 2 | 1 | Unsupported | Determines the game's mode. In-Game, in-menu, battle.n… |
00596A18 | 12717 | Virtual Key Array | 1 | 256 | Backed By Code | An array containing the state of all the virtual key codes … |
005993C4 | 15384 | Pointer to "MTXM" map tile data | 4 | 1 | Backed By Code | |
005993D4 | 15388 | Pointer to map "STR " section | 4 | 1 | Backed By Code | Pointer default: first string |
0059BA5C | 17854 | Game Subtype ID | 4 | 1 | Subtype ID specified in GOT template. Top Vs. Bottom: Nu… | |
0059C080 | 18247 | Mapdata.dat - Mission dir | 4 | 65 | Mapdata.tbl string index | |
0059CC78 | 19013 | Last Time for Drop Window | 4 | 1 | Simple Data | Last GetTickCount Win32 API Time for Drop Window shown. … |
0059CC80 | 19015 | Drop Timer | 4 | 1 | Simple Data | The time remaining before a player is dropped. See the a… |
0059CCA8 | 19025 | Unitnode Table | 336 | 1700 | Backed By Code | [SCR: See individual entries] See Unitnode Structure in … |
0059CCA8 | 19025 | CUnit - Previous Unit | 4 | 1 | Supported | |
0059CCAC | 19026 | CUnit - Next Unit | 4 | 1 | Supported | |
0059CCB0 | 19027 | CUnit - HP | 4 | 1 | Supported | Amount of HP that a unit currently has. Value displayed … |
0059CCB4 | 19028 | CUnit - Sprite | 4 | 1 | Supported | Pointer to CSprite. Contains the graphics of the unit. |
0059CCB8 | 19029 | CUnit - Target Pos | 2 | 2 | Supported | X + 65536*Y |
0059CCBC | 19030 | CUnit - Target Unit | 4 | 1 | Supported | CUnit target pointer |
0059CCC0 | 19031 | CUnit - Next Movement Waypoint | 2 | 2 | Unsupported | 0x0000FFFF x-coord 0xFFFF0000 y-coord The next way poin… |
0059CCC4 | 19032 | CUnit - Next Target Waypoint | 4 | 1 | Unsupported | 0x0000FFFF x-coord 0xFFFF0000 y-coord The desired posit… |
0059CCC8 | 19033 | CUnit - Movement Flags | 1 | 1 | Supported | Flags that enable/disable certain movement. Need more testi… |
0059CCC9 | 19033 | CUnit - Current Direction 1 | 1 | 1 | Supported | 256 directions starting from the top going clockwise. 0x00… |
0059CCCA | 19033 | CUnit - Flingy Turn Radius | 1 | 1 | Supported | "The unit flips out when this is frozen on a specific … |
0059CCCB | 19033 | CUnit - Velocity Direction 1 | 1 | 1 | Supported | This usually only differs from the currentDirection field f… |
0059CCCC | 19034 | CUnit - Flingy ID | 2 | 1 | Supported | The Flingy ID of the unit. |
0059CCCF | 19034 | CUnit - Flingy Movement Type | 1 | 1 | Supported | The type of movement that the unit use (*16777216). |
0059CCD0 | 19035 | CUnit - Position Coordinates | 2 | 2 | Supported | The coordinates of a unit on the map (X + 65536*Y). |
0059CCD4 | 19036 | CUnit - Halt X Coordinate | 4 | 1 | Supported | The X coordinate of a unit on the map (*256). |
0059CCD8 | 19037 | CUnit - Halt Y Coordinate | 4 | 1 | Supported | The Y coordinate of a unit on the map (*256). |
0059CCDC | 19038 | CUnit - Flingy Top Speed | 4 | 1 | Supported | |
0059CCE0 | 19039 | CUnit - Move Acceleration | 4 | 1 | Supported | CUnit.current_speed1 Related to turning and from observa… |
0059CCE4 | 19040 | CUnit - Move Speed | 4 | 1 | Supported | CUnit.current_speed2 The speed that the unit is currentl… |
0059CCE8 | 19041 | CUnit - Move Speed On X-Axis | 4 | 1 | Supported | CUnit.current_speed.x The speed that the unit is current… |
0059CCEC | 19042 | CUnit - Move Speed On Y-Axis | 4 | 1 | Supported | CUnit.current_speed.y The speed that the unit is current… |
0059CCF0 | 19043 | CUnit - Flingy Acceleration | 2 | 1 | Supported | |
0059CCF2 | 19043 | CUnit - Current Direction 2 | 1 | 1 | Supported | The direction a unit is currently facing (*65536) THIS SHI… |
0059CCF3 | 19043 | CUnit - Velocity Direction 2 | 1 | 1 | Supported | The direction a unit is currently facing (*16777216). U… |
0059CCF4 | 19044 | CUnit - Player ID | 1 | 1 | Supported | The owner of the cunit. Mask: 0x000000FF *1 P1: 00 P… |
0059CCF5 | 19044 | CUnit - Main Order ID | 1 | 1 | Supported | Specification of type of order given. See http://www.stared… |
0059CCF6 | 19044 | CUnit - Main Order State | 1 | 1 | Supported | Additional order (*65536) information. More extensive testi… |
0059CCF7 | 19044 | CUnit - Order Signal | 1 | 1 | Supported | Additional order (*16777216) information. Set by iscript. … |
0059CCF8 | 19045 | CUnit - Order Unit Type | 2 | 1 | Supported | 228 = none? |
0059CCF9 | 19045 | CUNIT - Idle Order Timer | 4 | 1 | (*256) While the unit is specifically following the order t… | |
0059CCFC | 19046 | CUnit - Main Order Timer | 1 | 1 | Supported | A timer for orders. An example would be the time left befor… |
0059CCFD | 19046 | CUnit - Cooldown | 1 | 3 | Supported | The firing rate (or cooldown) for ground weapons (*256). 0… |
0059CD00 | 19047 | CUnit - Order Coordinates | 2 | 2 | Supported | The coordinates of an order given to a unit (X + 65536*Y) … |
0059CD04 | 19048 | CUnit - Order Target Unit | 4 | 1 | Supported | The unit targeted by another unit (Index Pointer). |
0059CD08 | 19049 | CUnit - Shield Points | 4 | 1 | Supported | The amount of shield points that a unit have (*256). |
0059CD0C | 19050 | CUnit - Unit Type | 2 | 1 | Supported | |
0059CD10 | 19051 | CUnit - Previous Player Unit | 4 | 1 | Supported | Pointer to previous CUnit owned by the same player |
0059CD14 | 19052 | CUnit - Next Player Unit | 4 | 1 | Supported | Pointer to the next CUnit owned by the same player. |
0059CD18 | 19053 | CUnit - Sub Unit | 4 | 1 | Supported | Pointer to this unit's subunit CUnit. |
0059CD1C | 19054 | CUnit - Order Queue Head | 4 | 1 | (Unsupported?) Pointer to COrder | |
0059CD20 | 19055 | CUnit - Order Queue Tail | 4 | 1 | (Unsupported?) Pointer to COrder. | |
0059CD24 | 19056 | CUnit - Auto-Target Unit | 4 | 1 | Supported | Pointer to CUnit. The auto-acquired target (Note: This f… |
0059CD28 | 19057 | CUnit - Connected Unit | 4 | 1 | Supported | Pointer to CUnit. Addon is connected to building (addon … |
0059CD2C | 19058 | CUnit - Order Queue Count | 1 | 1 | Supported | The number of queued orders a unit currently has. |
0059CD2D | 19058 | CUnit - Order Queue Timer | 1 | 1 | Supported | BWAPI doc: counts/cycles down from from 8 to 0 (inclusive)… |
0059CD2E | 19058 | CUnit - Unknown 0x086 | 1 | 1 | Supported | Pathing related? |
0059CD2F | 19058 | CUnit - Attack Notify Timer | 1 | 1 | Supported | |
0059CD30 | 19059 | CUnit - Previous Unit Type | 2 | 1 | (Unsupported?) Stores the type of the unit prior to bein… | |
0059CD32 | 19059 | CUnit - Last Event Timer | 1 | 1 | (Unsupported?) countdown that stops being recent when it… | |
0059CD33 | 19059 | CUnit - Last Event Color | 1 | 1 | (Unsupported? 17 = was completed (train, morph), 174 = w… | |
0059CD34 | 19060 | CUnit - Unused 0x08C | 2 | 1 | Supported | |
0059CD36 | 19060 | CUnit - Rank Increase | 1 | 1 | Supported | Adds to unit's base rank. (*65536) |
0059CD37 | 19060 | CUnit - Kill Count | 1 | 1 | Supported | The kill count of a unit (*16777216). |
0059CD38 | 19061 | CUnit - Last Attacking Player | 1 | 1 | Supported | The player that last attacked this unit |
0059CD39 | 19061 | CUnit - Secondary Order Timer | 1 | 1 | Supported | |
0059CD3A | 19061 | CUnit - AI Action Flag | 1 | 1 | Supported | Internal use by AI only (bwapi) |
0059CD3B | 19061 | CUnit - User Action Flags | 1 | 1 | Supported | Some flags that change when the user interacts with the uni… |
0059CD3C | 19062 | CUnit - Button Set | 2 | 1 | Supported | The current button set of a unit. |
0059CD3C | 19062 | Order Destination Invalid (???) | 4 | 1 | "When this address is frozen and you order a unit to t… | |
0059CD3E | 19062 | CUnit - Is Cloaked | 1 | 1 | Supported | |
0059CD3F | 19062 | CUnit - Movement State | 1 | 1 | Supported | https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Sour… |
0059CD40 | 19063 | CUnit - Build Queue | 2 | 5 | Supported | Queue of units to build. Note that it doesn't begin wi… |
0059CD4A | 19065 | CUnit - Energy | 2 | 1 | Supported | Amount of energy a unit has. (value*256) * 65536 |
0059CD4C | 19066 | CUnit - Build Queue Slot | 1 | 1 | Supported | Index of active unit in #buildQueue. (bwapi) |
0059CD4D | 19066 | CUnit - Uniqueness Identifier | 1 | 1 | Supported | A byte used to determine uniqueness of the unit |
0059CD4E | 19066 | CUnit - Secondary Order ID | 1 | 1 | Supported | The order ID for passive orders such as Cloak, Build, Expan… |
0059CD4F | 19066 | CUnit - Building Overlay State | 1 | 1 | Supported | 0 means the building has the largest amount of fire/blood (… |
0059CD50 | 19067 | CUnit - HP Gain | 2 | 1 | Supported | hp gained on construction or repair (bwapi) |
0059CD52 | 19067 | Cunit - Shield Gain | 2 | 1 | Supported | Shield gain on construction (bwapi) |
0059CD54 | 19068 | CUnit - Remaining Build Time | 2 | 1 | Supported | The remaining time before a building is constructed. |
0059CD56 | 19068 | CUnit - Previous HP | 2 | 1 | Supported | The HP of the unit before it changed (example Drone->Hat… |
0059CD58 | 19069 | CUnit - Loaded Unit Index | 2 | 8 | Unsupported | (Unsupported?) Unit ID's (not pointers) of loaded u… |
0059CD68 | 19073 | CUnit - Vulture - Spider Mines | 1 | 1 | Supported | The amount of spider mines that a vulture has left. Also… |
0059CD68 | 19073 | CUnit - Carrier/Reaver - In Hangar | 4 | 1 | Supported | CUnit pointer to first unit inside the hangar. Also: Vu… |
0059CD68 | 19073 | CUnit - Scarab/Interceptor - Parent Unit | 4 | 1 | Supported | CUnit pointer to parent unit Also: Vulture - Spider min… |
0059CD68 | 19073 | CUnit - Beacon - Unknown +00 | 4 | 1 | Supported | Unknown ? Also: Vulture - Spider mine count Carrier/Re… |
0059CD68 | 19073 | CUnit - Building - Addon | 4 | 1 | Supported | CUnit pointer to addon. -- is this different from Connected… |
0059CD68 | 19073 | CUnit - Worker - Powerup Unit | 4 | 1 | Supported | CUnit pointer to the powerup carried by a worker Also: … |
0059CD6C | 19074 | CUnit - Carrier/Reaver - Out Hanger | 4 | 1 | Supported | CUnit pointer to first child outside the hangar Also: S… |
0059CD6C | 19074 | CUnit - Scarab/Interceptor - Previous | 4 | 1 | Supported | CUnit pointer to previous scarab/interceptor Also: Carr… |
0059CD6C | 19074 | CUnit - Beacon - Unknown +04 | 4 | 1 | Supported | Unknown Also: Carrier/Reaver: pointer to first child ou… |
0059CD6C | 19074 | CUnit - Building - Addon Building Type | 2 | 1 | Supported | Also: Carrier/Reaver: pointer to first child outside the h… |
0059CD6C | 19074 | CUnit - Worker - Target Resource Coord | 2 | 2 | Supported | 0x0000FFFF x-coordinate 0xFFFF0000 y-coordinate Also: … |
0059CD6E | 19074 | CUnit - Building - Upgrade/Research Time | 2 | 1 | Supported | |
0059CD70 | 19075 | CUnit - Carrier/Reaver - In Hangar Count | 1 | 1 | Supported | Amount of units in hangar. Also: Scarab/Interceptor - p… |
0059CD70 | 19075 | CUnit - Scarab/Interceptor - Next | 4 | 1 | Supported | CUnit pointer to next scarab/interceptor Also: Carrier/… |
0059CD70 | 19075 | CUnit - Beacon - Flag Spawn Frame | 4 | 1 | Supported | flag beacons, the frame that the flag will spawn (bwapi) … |
0059CD70 | 19075 | CUnit - Building - Tech Type | 1 | 1 | Supported | Also: Carrier/Reaver - number of units in hangar Scarab… |
0059CD70 | 19075 | CUnit - Worker - Target Resource Unit | 4 | 1 | Supported | CUnit pointer Also: Carrier/Reaver - number of units in… |
0059CD71 | 19075 | CUnit - Carrier/Reaver - Out Hangar Count | 1 | 1 | Supported | The amount of interceptors that a carrier has (*256). Al… |
0059CD71 | 19075 | CUnit - Building - Upgrade Type | 1 | 1 | Supported | Also: Carrier/Reaver - Out hangar count |
0059CD72 | 19075 | CUnit - Building - Larva Spawn Timer | 1 | 1 | Supported | The remaining time left before a larva is created on buildi… |
0059CD73 | 19075 | CUnit - Building - Landing Timer | 1 | 1 | Supported | Detects if a Terran building is landing (*16777216). |
0059CD74 | 19076 | CUnit - Scarab/Interceptor - In Hanger | 1 | 1 | Supported | Boolean value? Also: Building - Creep timer Worker - R… |
0059CD74 | 19076 | CUnit - Building - Creep Timer | 1 | 1 | Supported | Also: Scarab/Interceptor - In hangar Worker - Repair/re… |
0059CD74 | 19076 | CUnit - Worker - Repair/Resource Timer | 2 | 1 | Supported | Also: Scarab/Interceptor - In hangar Building - Creep t… |
0059CD75 | 19076 | CUnit - Building - Upgrade Level | 1 | 1 | Supported | |
0059CD76 | 19076 | CUnit - Worker - Is Carring Something | 1 | 1 | Supported | |
0059CD77 | 19076 | CUnit - Worker - Resource Carry Count | 1 | 1 | Supported | |
0059CD78 | 19077 | CUnit - Resource - Resource Count | 2 | 1 | Supported | Amount of Resource if its Mineral Field or Vespene Gayser … |
0059CD78 | 19077 | CUnit - Worker - Harvest Target Unit | 4 | 1 | Supported | CUnit pointer to harvested mineral/geyser Also: Resourc… |
0059CD78 | 19077 | CUnit - Nydus - Exit Unit | 4 | 1 | Supported | CUnit pointer to connected exit Also: Resource - Resour… |
0059CD78 | 19077 | CUnit - Ghost - Nuke Dot Sprite | 4 | 1 | Supported | Pointer to nuke dot CSprite Also: Resource - Resource c… |
0059CD78 | 19077 | CUnit - Pylon - Power Overlay Sprite | 4 | 1 | Supported | Pointer to overlay CSprite Also: Resource - Resource co… |
0059CD78 | 19077 | CUnit - Nuke Silo - Attached Nuke | 4 | 1 | Supported | CUnit pointer to attached nuke Also: Resource - Resourc… |
0059CD78 | 19077 | CUnit - Powerup - Origin Coordinates | 2 | 2 | Supported | Coordinates where the powerup was picked up from. 0x0000FF… |
0059CD78 | 19077 | CUnit - Hatchery? - Harvest Value | 2 | 4 | Supported | https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Sour… |
0059CD7A | 19077 | CUnit - Resource - Resource IScript | 1 | 1 | Supported | Current iscript animation ? |
0059CD7B | 19077 | CUnit - Resource - Gatherer Queue Count | 1 | 1 | Supported | as named in bwapi, or "Boolean on whether is extracted… |
0059CD7C | 19078 | CUnit - Worker - Previous Harvest Unit | 4 | 1 | Supported | CUnit pointer "When there is a gather conflict"… |
0059CD7C | 19078 | CUnit - Resource - Next Gatherer | 4 | 1 | Supported | CUnit pointer to the next worker unit waiting in line to ga… |
0059CD7C | 19078 | CUnit - Silo - Ready | 1 | 1 | Supported | Also: Resource - Next gatherer Worker - Previous harves… |
0059CD80 | 19079 | CUnit - Resource - Resource Group | 1 | 1 | Supported | Also: Worker - Next harvest unit |
0059CD80 | 19079 | CUnit - Worker - Next Harvest Unit | 4 | 1 | Supported | Also: Resource - Resource group/resource belongs to AI |
0059CD81 | 19079 | CUnit - Resource - Reource Belongs to AI | 1 | 1 | Supported | |
0059CD84 | 19080 | CUnit - Status Flags | 4 | 1 | Supported | https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Sour… |
0059CD88 | 19081 | CUnit - Resource Type | 1 | 1 | (Unsupported?) Resource being held by worker: 1 = gas … | |
0059CD89 | 19081 | CUnit - Wireframe Randomizer | 1 | 1 | (Unsupported?) | |
0059CD8A | 19081 | CUnit - Secondary Order State | 1 | 1 | (Unsupported?) | |
0059CD8B | 19081 | CUnit - Recent Order Time | 1 | 1 | (Unsupported?) Counts down from 15 to 0 when most orders… | |
0059CD8C | 19082 | CUnit - Visiblity Status | 4 | 1 | (Unsupported?) Flags specifying which players can detect… | |
0059CD90 | 19083 | CUnit - Secondary Order Position | 2 | 2 | (Unsupported?) Unused according to bwapi. 0x0000FFFF… | |
0059CD94 | 19084 | CUnit - Unit beingBuilt | 4 | 1 | Unsupported | The current unit that's being produced from a building… |
0059CD98 | 19085 | CUnit - Previous Burrowed Unit | 4 | 1 | (Unsupported?) CUnit pointer to previous burrowed unit | |
0059CD9C | 19086 | CUnit - Next Burrowed Unit | 4 | 1 | (Unsupported?) Pointer to CUnit of next burrowed unit | |
0059CDA0 | 19087 | CUnit - Rally - Rally Coordinates | 2 | 2 | Supported | The coordinates of a rally from a building (X + 65536*Y) … |
0059CDA0 | 19087 | CUnit - Pylon - Previous Psi Provider | 4 | 1 | Supported | CUnit pointer to previous psi provider For other buildin… |
0059CDA4 | 19088 | CUnit - Rally - Rally Unit | 4 | 1 | Supported | The unit that a building set their rally to (CUnit pointer)… |
0059CDA4 | 19088 | CUnit - Pylon - Next Psi Provider | 4 | 1 | Supported | CUnit pointer to next psi provider For other buildings:… |
0059CDA8 | 19089 | CUnit - Pathing Pointer | 4 | 1 | (Unsupported?) Pointer to pathing data. | |
0059CDAC | 19090 | CUnit - Pathing Collision Interval | 1 | 1 | Supported | Unknown? |
0059CDAD | 19090 | CUnit - Pathing Flags | 1 | 1 | Supported | 0x01 = uses pathing 0x02 = ? 0x04 = ? (bwapi) |
0059CDAF | 19090 | CUnit - Is Healing | 1 | 1 | Supported | Detects if a unit is currently being healed (*16777216). |
0059CDB0 | 19091 | CUnit - Contour Bounds | 2 | 4 | (Unsupported?) a rect that specifies the closest contour… | |
0059CDB8 | 19093 | CUnit - Remove Timer | 2 | 1 | Supported | When this timer equals 0, the following are destroyed: h… |
0059CDBA | 19093 | CUnit - Matrix Damage Absorption | 2 | 1 | Supported | The amount of damage the matrix has absorbed (*16777216). |
0059CDBC | 19094 | CUnit - Matrix Timer | 1 | 1 | Supported | The amount of time remaining for matrix by a science vessel. |
0059CDBD | 19094 | CUnit - Stim Timer | 1 | 1 | Supported | The amount of time remaining (*256) for the stim effect app… |
0059CDBE | 19094 | CUnit - Ensnare Timer | 1 | 1 | Supported | The amount of time remaining (*65536) to ensure by a queen,… |
0059CDBF | 19094 | CUnit - Lockdown Timer | 1 | 1 | Supported | The amount of time remaining (*16777216) for lockdown by a … |
0059CDC0 | 19095 | CUnit - Irradiate Timer | 1 | 1 | Supported | The amount of time remaining for irradiate by a science ves… |
0059CDC1 | 19095 | CUnit - Stasis Timer | 1 | 1 | Supported | The amount of time remaining (*256) for stasis by a arbiter. |
0059CDC2 | 19095 | CUnit - Plague Timer | 1 | 1 | Supported | Detects if a unit has been plagued by defiler (*65536) |
0059CDC3 | 19095 | CUnit - Storm Timer | 1 | 1 | Supported | If a unit is under storm (*16777216) |
0059CDC4 | 19096 | CUnit - Irradiated By | 4 | 1 | Supported | CUnit pointer to casting unit which irradiated this unit. |
0059CDC8 | 19097 | CUnit - Irradiate Player ID | 1 | 1 | Supported | Player ID who irradiated the unit. |
0059CDC9 | 19097 | CUnit - Parasite Flags | 1 | 1 | Supported | Detects if a unit have been infected with a parasite (*256)… |
0059CDCA | 19097 | CUnit - Cycle Counter | 1 | 1 | Supported | Counts/cycles up from 0 to 7 inclusive (*65536) |
0059CDCB | 19097 | CUnit - Blind State | 1 | 1 | Supported | Detects if a unit has been blinded (*16777216) by a medic. |
0059CDCC | 19098 | CUnit - Maelstorm Timer | 1 | 1 | Supported | The remaining time that a unit has before Maelstorm wears o… |
0059CDCD | 19098 | CUnit - Unused Timer | 1 | 1 | Supported | Potentially from Valkyrie Afterburner or Ultralisk Roar. |
0059CDCE | 19098 | CUnit - Acid Spore Count | 1 | 1 | Supported | The amount of Acid Spores applied to a unit (*65536). Th… |
0059CDCF | 19098 | CUnit - Acid Spore 1/9 | 1 | 1 | See Description | [SCR: Other acid spore timers are NOT supported and give EU… |
0059CDD0 | 19099 | CUnit - Acid Spore 2/9 | 1 | 1 | Unsupported | Timer for 2nd of 9 acid spores applied to a unit Refer t… |
0059CDD1 | 19099 | CUnit - Acid Spore 3/9 | 1 | 1 | Unsupported | Timer for 3rd of 9 acid spores applied to a unit (*256) … |
0059CDD2 | 19099 | CUnit - Acid Spore 4/9 | 1 | 1 | Unsupported | Timer for 4th of 9 acid spores applied to a unit (*65536) … |
0059CDD3 | 19099 | CUnit - Acid Spore 5/9 | 1 | 1 | Unsupported | Timer for 5th of 9 acid spores applied to a unit (*16777216… |
0059CDD4 | 19100 | CUnit - Acid Spore 6/9 | 1 | 1 | Unsupported | Timer for 6th of 9 acid spores applied to a unit Refer t… |
0059CDD5 | 19100 | CUnit - Acid Spore 7/9 | 1 | 1 | Unsupported | Timer for 7th of 9 acid spores applied to a unit (*256) … |
0059CDD6 | 19100 | CUnit - Acid Spore 8/9 | 1 | 1 | Unsupported | Timer for 8th of 9 acid spores applied to a unit (*65536) … |
0059CDD7 | 19100 | CUnit - Acid Spore 9/9 | 1 | 1 | Unsupported | Timer for 9th of 9 acid spores applied to a unit (*16777216… |
0059CDD8 | 19101 | CUnit - Bullet Behavior 3x3 Attack | 2 | 1 | (Unsupported?) Counts up for the number of bullets shot … | |
0059CDDC | 19102 | CUnit - AI Data | 4 | 1 | (Unsupported?) Pointer to AI class | |
0059CDE0 | 19103 | Emp Shockwave Missiles (???) | 4 | 1 | The total amount of missiles from *all science vessel that … | |
0059CDE0 | 19103 | CUnit - Air Strength | 2 | 1 | Unsupported | |
0059CDE2 | 19103 | CUnit - Ground Strength | 2 | 1 | Unsupported | |
0059CDE4 | 19104 | CUnit - Unit Finder | 4 | 4 | (Unsupported?) PID+0 left PID+1 right PID+2 top PID+3… | |
0059CDF4 | 19108 | CUnit - Repulse Unknown | 1 | 1 | Supported | |
0059CDF5 | 19108 | CUnit - Repulse Angle | 1 | 1 | Supported | Updated when the air unit is being pushed (*256). Need more… |
0059CDF6 | 19108 | CUnit - Drift X | 1 | 1 | Supported | For air units when they're pushed (*65536) on X-axis. … |
0059CDF7 | 19108 | CUnit - Drift Y | 1 | 1 | Supported | For air units when they're pushed (*16777216) on Y-axi… |
0059D568 | 19585 | SC Upgrade in Progress Lvl 3 (???) | 1 | 72 | Who knows | |
006283F8 | 161829 | Last Unit Pointer | 4 | 1 | The value is pointer to the last unit in the unitNodeTable.… | |
00628430 | 161843 | First Unit Pointer | 4 | 1 | Backed By Code | The value is pointer to the first unit in the unitNodeTable. |
00628438 | 161845 | First Empty Unit | 4 | 1 | Backed By Code | The address of the unit structure to be created -added by … |
00628448 | 161849 | Screen Coordinate X | 4 | 1 | Read Only | The position of the screen on the X Axis. Note that it'… |
00628470 | 161859 | Screen Coordinate Y | 4 | 1 | Read Only | The position of the screen on the Y Axis. Note that it'… |
0062848C | 161866 | glScrollPixelX | 4 | 1 | Read Only | Duplicate of screen coordinates? |
00628494 | 161868 | gfpCellMap | 4 | 1 | Backed By Code | Pointer to VX4 megatile buffer? |
006284A8 | 161873 | glScrollPixelY | 4 | 1 | Read Only | Duplicate of screen coordinates? |
006284B8 | 161877 | Current Player Selection | 4 | 12 | Backed By Code | Selection group of the current player Seems to be duplic… |
006284E8 | 161889 | Player 1 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group … |
00628518 | 161901 | Player 2 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group … |
00628548 | 161913 | Player 3 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group … |
00628578 | 161925 | Player 4 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group … |
006285A8 | 161937 | Player 5 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group … |
006285D8 | 161949 | Player 6 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group … |
00628608 | 161961 | Player 7 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group … |
00628638 | 161973 | Player 8 Selection Group | 4 | 12 | Backed By Code | List of unit node pointers for Player's current group … |
00629D98 | 163469 | Sprite Table | 36 | 2500 | Read Only | [SCR: See individual entries] Difference between each en… |
00629D98 | 163469 | CSprite - Previous Entry | 4 | 1 | Supported | |
00629D9C | 163470 | CSprite - Next Entry | 4 | 1 | Supported | |
00629DA0 | 163471 | CSprite - Sprite ID | 2 | 1 | Supported | |
00629DA2 | 163471 | CSprite - Player ID | 1 | 1 | Supported | |
00629DA3 | 163471 | CSprite - Selection Index | 1 | 1 | Supported | Index in the selection area at the bottom of the screen. |
00629DA4 | 163472 | CSprite - Visibility Flags | 1 | 1 | Unsupported | Player bits indicating the visiblity for a player. P1: 1… |
00629DA5 | 163472 | CSprite - Elevation Level | 1 | 1 | Unsupported | |
00629DA6 | 163472 | CSprite - Draw Flags | 1 | 1 | Unsupported | 0x01 - Draw selection circle 0x02 - Ally selection? 0x04 … |
00629DA7 | 163472 | CSprite - Selection Timer | 1 | 1 | Unsupported | |
00629DA8 | 163473 | CSprite - Index | 2 | 1 | Unsupported | |
00629DAA | 163473 | CSprite - Unknown Flags 12 | 1 | 1 | Unsupported | |
00629DAB | 163473 | CSprite - Unknown flags 13 | 1 | 1 | Unsupported | |
00629DAC | 163474 | CSprite - Position | 2 | 2 | Unsupported | 65536*Y + X |
00629DB0 | 163475 | CSprite - Primary Image | 4 | 1 | Unsupported | Pointer to main CImage instance. |
00629DB4 | 163476 | CSprite - Image Head | 4 | 1 | Unsupported | Pointer to first CImage instance associated with this sprit… |
00629DB8 | 163477 | CSprite - Image Tail | 4 | 1 | Unsupported | Pointer to last CImage instance associated with this sprite. |
0063FF48 | 186105 | Pylon Auras are Visible | 4 | 1 | Read-Only (Writing to it apparently does nothing :C .) | |
00640B24 | 186864 | gameTextCounters | 4 | 12 | Unsupported | Contains the tick count for when the message should disappe… |
00640B58 | 186877 | Next Display Text Line | 4 | 1 | Simple Data | First line to be drawn on screen or written to. Changing… |
00640B60 | 186879 | Display Text | 218 | 13 | Backed By Code | Line IDs: 0-10: display text lines (first line defined by … |
00650980 | 203143 | Trigger Wait Timers | 4 | 8 | Wait action timers for each player | |
006509A0 | 203151 | Trigger Execution Timer (Hyper triggers) | 4 | 1 | Simple Data | When this value reaches 0, trigger loop executes. Preser… |
006509B0 | 203155 | Trigger Current Player aka CP Trick | 4 | 1 | Simple Data | Used to dynamically run EUDs or dereference pointers. Se… |
00654880 | 207175 | Network Buffer | 496 | 1 | Backed By Code | Game Command Queue. See https://github.com/phu54321/vgce/bl… |
00654AA0 | 207311 | Network Buffer Used | 4 | 1 | Supported | Command queue (0x00654880) space used. Edited by PereC, 20… |
006556E0 | 208095 | Accept Commands | 4 | 1 | Unsupported | If 1, commands are accepted. If 0, all commands are ignore… |
00655700 | 208103 | Upgrades.dat - Max Level | 1 | 61 | Simple Data | |
00655740 | 208119 | Upgrades.dat - Mineral Cost Base | 2 | 61 | Simple Data | Address 0x00655740 - Upgrade ID 000 - bit-mask 0x0000FFFF … |
006557C0 | 208151 | Upgrades.dat - Gas Cost Factor | 2 | 61 | Simple Data | |
00655840 | 208183 | Upgrades.dat - Gas Cost Base | 2 | 61 | Simple Data | |
006558C0 | 208215 | Upgrades.dat - Dat Requirement Offset | 2 | 61 | Simple Data | |
00655940 | 208247 | Upgrades.dat - Time Factor | 2 | 61 | Simple Data | |
006559C0 | 208279 | Upgrades.dat - Mineral Cost Factor | 2 | 61 | Simple Data | |
00655A40 | 208311 | Upgrades.dat - Label | 2 | 61 | Simple Data | stat_txt.tbl index |
00655AC0 | 208343 | Upgrades.dat - Icon | 2 | 61 | Simple Data | cmdicons.grp frame |
00655B3C | 208374 | Upgrades.dat - Brood War Flag | 1 | 61 | Simple Data | |
00655B80 | 208391 | Upgrades.dat - Time Base | 2 | 61 | Simple Data | |
00655BFC | 208422 | Upgrades.dat - Race | 1 | 61 | Simple Data | 0 = Zerg 1 = Terran 2 = Protoss 3 = All |
00655C58 | 208445 | Portdata.dat - Idle SMK | 4 | 110 | Backed By Code | 1-based reference to portdata.tbl |
00655E10 | 208555 | Portdata.dat - Idle SMK Change | 1 | 110 | ||
00655E80 | 208583 | Portdata.dat - Talking SMK | 4 | 110 | Backed By Code | 1-based reference to portdata.tbl |
00656038 | 208693 | Portdata.dat - Idle Unknown | 1 | 110 | ||
006560A8 | 208721 | Portdata.dat - Talking SMK change | 1 | 110 | ||
00656118 | 208749 | Portdata.dat - Talking unknown | 1 | 110 | ||
00656198 | 208781 | Techdata.dat - Unknown1 | 2 | 44 | Simple Data | |
006561F0 | 208803 | Techdata.dat - Gas Cost | 2 | 44 | Simple Data | Address 0x006561F0 - Tech ID 000 - bit-mask 0x0000FFFF - *1… |
00656248 | 208825 | Techdata.dat - Mineral Cost | 2 | 44 | Simple Data | Address 0x00656248 - Tech ID 000 - bit-mask 0x0000FFFF - *1… |
006562A0 | 208847 | Techdata.dat - Label | 2 | 44 | Simple Data | stat_txt.tbl index |
006562F8 | 208869 | Techdata.dat - Data Restrictions | 2 | 44 | Simple Data | |
00656350 | 208891 | Techdata.dat - Researched | 1 | 44 | Simple Data | DatEdit says Unused? |
00656380 | 208903 | Techdata.dat - Energy Cost | 2 | 44 | Simple Data | |
006563D8 | 208925 | Techdata.dat - Time | 2 | 44 | Simple Data | |
00656430 | 208947 | Techdata.dat - Icon | 2 | 44 | Simple Data | cmdicons.grp frame index |
00656488 | 208969 | Techdata.dat - Race | 1 | 44 | Simple Data | 0 = Zerg 1 = Terran 2 = Protoss 3 = All |
006564B4 | 208980 | Techdata.dat - Brood War Flag | 1 | 44 | Simple Data | |
006564E0 | 208991 | Weapons.dat - Damage Factor | 1 | 130 | Simple Data | |
00656568 | 209025 | Weapons.dat - Target Error Message | 2 | 130 | Simple Data | stat_txt.tbl index |
00656670 | 209091 | Weapons.dat - Behavior | 1 | 130 | Simple Data | 0 = Fly & Don't Follow Target 1 = Fly & Foll… |
006566F8 | 209125 | Weapons.dat - Effect | 1 | 130 | Simple Data | 0 = None 1 = Normal Hit 2 = Splash (Radial) 3 = Splash … |
00656780 | 209159 | Weapons.dat - Icon | 2 | 130 | Simple Data | cmdicons.grp frame |
0065678C | 209162 | Damage type/factor multipliers vs unit size | 20 | 5 | (What's this?) | |
00656888 | 209225 | Weapons.dat - Splash Inner Radius | 2 | 130 | Simple Data | |
00656990 | 209291 | Weapons.dat - Attack Angle | 1 | 130 | Simple Data | "Angle within which the weapon can be fired without wa… |
00656A18 | 209325 | Weapons.dat - Minimum Range | 4 | 130 | Simple Data | 16 times the value in DatEdit. |
00656C20 | 209455 | Weapons.dat - Graphics Y Offset | 1 | 130 | Simple Data | |
00656CA8 | 209489 | Weapons.dat - Graphics | 4 | 130 | Simple Data | Flingy.dat index Weapon Graphic |
00656EB0 | 209619 | Weapons.dat - Damage Amount | 2 | 130 | Simple Data | |
00656FB8 | 209685 | Weapons.dat - Cooldown | 1 | 130 | Simple Data | |
00657040 | 209719 | Weapons.dat - Remove After | 1 | 130 | Simple Data | "Time until the weapon is removed if it does not hit a… |
006570C8 | 209753 | Weapons.dat - Splash Middle Radius | 2 | 130 | Simple Data | |
006571D0 | 209819 | Weapons.dat - Upgrade ID | 1 | 130 | Simple Data | Upgrades.dat index |
00657258 | 209853 | Weapons.dat - Damage Type | 1 | 130 | Simple Data | 0 = Independent 1 = Explosive 2 = Concussive 3 = Normal … |
006572E0 | 209887 | Weapons.dat - Label | 2 | 130 | Simple Data | stat_txt.tbl index |
006573E8 | 209953 | Weapons.dat - Special Attack | 1 | 130 | Simple Data | Reference only? |
00657470 | 209987 | Weapons.dat - Maximum Range | 4 | 130 | Simple Data | Value is 16 times what DatEdit shows. |
00657678 | 210117 | Weapons.dat - Upgrade Bonus | 2 | 130 | Simple Data | |
00657780 | 210183 | Weapons.dat - Splash Outer Radius | 2 | 130 | Simple Data | |
00657888 | 210249 | Weapons.dat - Launch Spin | 1 | 130 | Simple Data | |
00657910 | 210283 | Weapons.dat - Graphics X Offset | 1 | 130 | Simple Data | |
00657998 | 210317 | Weapons.dat - Target Flags | 2 | 130 | Simple Data | 0x001 Air 0x002 Ground 0x004 Mechanical 0x008 Organic 0… |
00657A9C | 210382 | Game Brightness | 4 | 1 | Simple Data | Darkens the screen without affecting UI elements. Appears t… |
00657AA0 | 210383 | Fog of War Masks | 1 | 4096 | Backed By Code | Sets the brightness parts of the fog of war masks. Correspo… |
0065FC18 | 218669 | Units.dat - Max Hits (Air) | 1 | 228 | Simple Data | This value is for statistics purposes only (?) |
0065FD00 | 218727 | Units.dat - Gas Cost | 2 | 228 | Simple Data | |
0065FEC8 | 218841 | Units.dat - Armor | 1 | 228 | Simple Data | |
0065FFB0 | 218899 | Units.dat - "What" Sound Start | 2 | 228 | Simple Data | sfxdata.dat start index |
00660178 | 219013 | Units.dat - Computer AI Unit Type | 1 | 228 | Simple Data | "AI Internal" in DatEdit |
00660260 | 219071 | Units.dat - Map String | 2 | 228 | Simple Data | If this property is different from 0, the unit's name … |
00660428 | 219185 | Units.dat - Build Time | 2 | 228 | Simple Data | |
006605F0 | 219299 | Units.dat - Start Direction | 1 | 228 | Simple Data | "Direction unit will face after it is created. Values … |
006606D8 | 219357 | Units.dat - Brood War Flag | 1 | 228 | Simple Data | |
006607C0 | 219415 | Units.dat - Subunit 1 | 2 | 228 | Simple Data | 228 = None |
00660988 | 219529 | Units.dat - Transport Space Provided | 1 | 228 | Simple Data | |
00660A70 | 219587 | Units.dat - Dat Requirement Offset | 2 | 228 | Simple Data | u16 index of 0x00514178 (address is 0x00514178 + 2*this va… |
00660C38 | 219701 | Units.dat - Subunit 2 | 2 | 228 | Simple Data | Unused. |
00660E00 | 219815 | Units.dat - Shield Amount | 2 | 228 | Simple Data | |
00660FC8 | 219929 | Units.dat - Movement Flags | 1 | 228 | Simple Data | |
006610B0 | 219987 | Units.dat - Construction Animation | 4 | 228 | Simple Data | 0 = No graphics |
00661440 | 220215 | Units.dat - "Yes" Sound End | 2 | 106 | Simple Data | sfxdata.dat end index |
00661518 | 220269 | Units.dat - Staredit Availability Flags | 2 | 228 | Simple Data | 0x0001 - Non-Neutral 0x0002 - Unit Listing & Palette … |
006616E0 | 220383 | Units.dat - Air Weapon | 1 | 228 | Simple Data | Weapons.dat index |
006617C8 | 220441 | Units.dat - Unit Dimensions | 8 | 228 | Simple Data | Struct: 2 bytes - Left Dimension (from center) 2 bytes - … |
00661EE8 | 220897 | Units.dat - "Pissed" Sound End | 2 | 106 | Simple Data | sfxdata.dat end index |
00661FC0 | 220951 | Units.dat - "Ready" Sound | 2 | 106 | Simple Data | sfxdata.dat index |
00662098 | 221005 | Units.dat - Right-click Action | 1 | 228 | Simple Data | 0 = No commands/Auto Attack 1 = Normal movement/Normal Att… |
00662180 | 221063 | Units.dat - Size Class | 1 | 228 | Simple Data | 0 = Independent 1 = Small 2 = Medium 3 = Large |
00662268 | 221121 | Units.dat - Human Init Action | 1 | 228 | Simple Data | "Human Idle Action" in DatEdit Orders.dat index |
00662350 | 221179 | Units.dat - Max HP | 4 | 228 | Simple Data | Lowest byte is fractional part (*256) |
006626E0 | 221407 | Units.dat - Addon Placement | 4 | 96 | Simple Data | Struct: 2 bytes - X Pos 2 bytes - Y Pos Only exists fo… |
00662860 | 221503 | Units.dat - Building Dimensions | 4 | 228 | Simple Data | Struct: 2 bytes - Width 2 bytes - Height Setting to 0 … |
00662BF0 | 221731 | Units.dat - "What" Sound End | 2 | 228 | Simple Data | sfxdata.dat end index |
00662DB8 | 221845 | Units.dat - Seek Range | 1 | 228 | Simple Data | 1 range unit here = 2 range units in Weapons.dat. If the v… |
00662EA0 | 221903 | Units.dat - Computer Init Action | 1 | 228 | Simple Data | "Computer Idle" in DatEdit Orders.dat index |
00662F88 | 221961 | Units.dat - Portrait | 2 | 228 | Simple Data | 0xFFFF = No Portrait |
00663150 | 222075 | Units.dat - Elevation Level | 1 | 228 | Simple Data | Elevation Level |
00663238 | 222133 | Units.dat - Sight Range | 1 | 228 | Simple Data | Set value from 0-11. Values greater than 11 will crash. … |
00663320 | 222191 | Units.dat - Attack Unit Order | 1 | 228 | Simple Data | Orders.dat reference |
00663408 | 222249 | Units.dat - Build Score | 2 | 228 | Simple Data | |
006635D0 | 222363 | Units.dat - Armor Upgrade ID | 1 | 228 | Simple Data | Upgrades.dat index |
006636B8 | 222421 | Units.dat - Ground Weapon | 1 | 228 | Simple Data | weapons.dat reference |
006637A0 | 222479 | Units.dat - Group Flags | 1 | 228 | Simple Data | 0x01 - Zerg (Uses underlings, can build on creep) 0x02 - T… |
00663888 | 222537 | Units.dat - Mineral Cost | 2 | 228 | Simple Data | |
00663A50 | 222651 | Units.dat - Attack Move Order ID | 1 | 228 | Simple Data | Orders.dat index |
00663B38 | 222709 | Units.dat - "Pissed" Sound Start | 2 | 106 | Simple Data | sfxdata.dat start index |
00663C10 | 222763 | Units.dat - "Yes" Sound Start | 2 | 107 | Simple Data | sfxdata.dat start index |
00663CE8 | 222817 | Units.dat - Supply Used | 1 | 228 | Simple Data | Value here is twice what you see in-game. (Hence why 2 Zerg… |
00663DD0 | 222875 | Units.dat - Rank/Sublabel | 1 | 228 | Simple Data | "Controls ground units movement: units with lower Rank… |
00663EB8 | 222933 | Units.dat - Kill Score | 2 | 228 | Simple Data | Kill Score |
00664080 | 223047 | Units.dat - Advanced Flags | 4 | 228 | Simple Data | 0x00000001 - Building 0x00000002 - Addon 0x00000004 - Fly… |
00664410 | 223275 | Units.dat - Transport Space Required | 1 | 228 | Simple Data | |
006644F8 | 223333 | Units.dat - Graphics (Flingy ID) | 1 | 228 | Backed By Code | flingy.dat index |
006645E0 | 223391 | Units.dat - Max Hits (Ground) | 1 | 228 | Simple Data | This value is for statistics purposes only (?) |
006646C8 | 223449 | Units.dat - Supply Provided | 1 | 228 | Simple Data | The value is twice what you see in-game. |
006647B0 | 223507 | Units.dat - Has Shields | 1 | 228 | Simple Data | Example: Unset "has shields" for Protoss Observat… |
00664898 | 223565 | Units.dat - Idle Order | 1 | 228 | Simple Data | "Return to Idle" in DatEdit Orders.dat index |
00664980 | 223623 | Units.dat - Infestation Unit | 2 | 96 | Simple Data | Only exists for buildings (First entry is 106 Command Cente… |
00664A40 | 223671 | Orders.dat - Unknown 4 | 1 | 189 | Simple Data | |
00664B00 | 223719 | Orders.dat - Use Weapon Targetting | 1 | 189 | Simple Data | |
00664BC0 | 223767 | Orders.dat - Unknown 12 | 1 | 189 | Simple Data | |
00664C80 | 223815 | Orders.dat - Unknown 11 | 1 | 189 | Simple Data | |
00664D40 | 223863 | Orders.dat - Animation | 1 | 189 | Simple Data | 0 = Initial 1 = Death 2 = Ground Attack - Initial 3 = Ai… |
00664E00 | 223911 | Orders.dat - Energy Technology | 1 | 189 | Simple Data | Techdata.dat index for energy |
00664EC0 | 223959 | Orders.dat - Highlight Button ID | 2 | 189 | Simple Data | cmdicons.grp frame index or 0xFFFF for none. |
00665040 | 224055 | Orders.dat - Can Be Interrupted | 1 | 189 | Simple Data | |
00665100 | 224103 | Orders.dat - Unknown 7 | 1 | 189 | Simple Data | |
006651C0 | 224151 | Orders.dat - Unknown 9 | 1 | 189 | Simple Data | |
00665280 | 224199 | Orders.dat - Label ID | 2 | 189 | Simple Data | Doesn't do anything. |
00665400 | 224295 | Orders.dat - Obscured Order | 1 | 189 | Simple Data | Orders.dat index "Order to be run if the target is ob… |
006654C0 | 224343 | Orders.dat - Can Be Obstructed? | 1 | 189 | Simple Data | |
00665580 | 224391 | Orders.dat - Dat Reqs Offset | 2 | 189 | Simple Data | |
00665700 | 224487 | Orders.dat - Can Be Queued | 1 | 189 | Simple Data | |
006657C0 | 224535 | Orders.dat - Unknown 5 | 1 | 189 | Simple Data | |
00665880 | 224583 | Orders.dat - Targeting | 1 | 189 | Simple Data | Weapons.dat index "Weapon used by the order to determ… |
00665940 | 224631 | Orders.dat - Order is Secondary | 1 | 189 | Simple Data | Order goes in bSecondaryOrderID instead of bMainOrderID. |
00665A00 | 224679 | Orders.dat - Unknown 3 | 1 | 189 | Simple Data | |
00665AC0 | 224727 | Sprites.dat - Selection Circle | 1 | 387 | Read Only | Images.dat reference starting at index 561. Starts on spri… |
00665C48 | 224825 | Sprites.dat - Visible | 1 | 517 | Simple Data | |
00665E50 | 224955 | Sprites.dat - HP Bar Length | 1 | 387 | Read Only | Starts on Sprites.dat ID 130. |
00665FD8 | 225053 | Sprites.dat - Selection Vertical Offset | 1 | 387 | Read Only | Starts on Sprites.dat ID 130. |
00666160 | 225151 | Sprites.dat - Image Index | 2 | 517 | Backed By Code | Images.dat index |
00666570 | 225411 | Sprites.dat - Unknown | 1 | 517 | Simple Data | Unknown flag. |
00666778 | 225541 | Images.dat - Landing Dust Overlay | 4 | 999 | Read Only | images.tbl lo? index |
00667718 | 226541 | Images.dat - Draw If Cloaked | 1 | 999 | Simple Data | |
00667B00 | 226791 | Images.dat - Special Overlay | 4 | 999 | Read Only | Images.tbl lo? index |
00668AA0 | 227791 | Images.dat - GRP File | 4 | 999 | Read Only | Images.tbl grp index |
00669A40 | 228791 | Images.dat - Drawing Function (Remapping Table) | 1 | 999 | Simple Data | 0 - normal 1 - doesn't draw hallucination 2 - non-vi… |
00669E28 | 229041 | Images.dat - Remapping Table (Drawing Function) | 1 | 999 | Backed By Code | If Drawing Function is 9: 0 = No remapping 1 = ofire.pc… |
0066A210 | 229291 | Images.dat - Damage Overlay | 4 | 999 | Read Only | Images.tbl lof pointer |
0066B1B0 | 230291 | Images.dat - Attack Overlay | 4 | 999 | Read Only | images.dat lo? index |
0066C150 | 231291 | Images.dat - Clickable | 1 | 999 | Simple Data | |
0066C538 | 231541 | Images.dat - Sheilds Overlay | 4 | 999 | Read Only | None = 0 Small = 133 Medium = 2 Large = 184 |
0066D4D8 | 232541 | Images.dat - Use Full Iscript | 1 | 999 | Simple Data | |
0066D8C0 | 232791 | Images.dat - Lift-off Dust Overlay | 4 | 999 | Read Only | images.tbl lod index |
0066E860 | 233791 | Images.dat - Graphics Turns | 1 | 999 | Simple Data | |
0066EC48 | 234041 | Images.dat - Iscript ID | 4 | 999 | Backed By Code | Iscript.bin ID |
0068C104 | 264040 | AIScript pointer | 4 | 1 | Backed By Code | |
0068C108 | 264041 | BWScript pointer | 4 | 1 | Backed By Code | |
0068C144 | 264056 | Send Message Type | 4 | 1 | Simple Data | Can be used to check if send message box is open (At Least … |
0068C14C | 264058 | Current Button Set | 4 | 1 | Simple Data | The button set ID of the currently selected single unit. Th… |
0068C1F4 | 264100 | TranWire.grp pointer | 4 | 1 | Backed By Code | Overwriting a particular unit's frame offset with a di… |
0068C1FC | 264102 | GrpWire.grp Pointer | 4 | 1 | Backed By Code | Overwriting a particular unit's frame offset with a di… |
0068C204 | 264104 | Wirefram.grp Pointer | 4 | 1 | Backed By Code | Overwriting a particular unit's frame offset with a di… |
0068C448 | 264249 | Sfxdata.dat - minVolume | 1 | 1144 | Unknown 4 | |
0068C8C0 | 264535 | Sfxdata.dat - Flags | 1 | 1144 | Value is some combination of: - 1 preload - 2 unitSpeech … | |
0068CD38 | 264821 | Sfxdata.dat - lengthAdjust | 2 | 1144 | Unknown 3 | |
0068D628 | 265393 | Sfxdata.dat - Priority | 1 | 1144 | Unknown 1 | |
0068DAA0 | 265679 | Sfxdata.dat - Sound file | 4 | 1144 | Direct pointer to SFXData.tbl string. This can be changed a… | |
006C9858 | 326973 | Flingy.dat - Movement Control | 1 | 209 | Simple Data | 0 = Flingy.dat Control 1 = Partially Mobile, Weapon 2 = I… |
006C9930 | 327027 | Flingy.dat - Halt Distance | 4 | 209 | Simple Data | Measured in pixels*256 |
006C9C78 | 327237 | Flingy.dat - Acceleration | 2 | 209 | Simple Data | Measured in pixels-per-frame. |
006C9E20 | 327343 | Flingy.dat - Turn Radius | 1 | 209 | Simple Data | |
006C9EF8 | 327397 | Flingy.dat - Top Speed | 4 | 209 | Simple Data | Measured in pixels-per-frame, but written as "Speed*(3… |
006CA240 | 327607 | Flingy.dat - Unused | 1 | 209 | Simple Data | Unused in DatEdit |
006CA318 | 327661 | Flingy.dat - Sprite Index | 2 | 209 | Simple Data | Sprites.dat index |
006CA94D | 328058 | Displayed HP | 4 | 1 | The current HP of the selected unit. | |
006CA9F0 | 328099 | Unit being Produced | 4 | 1 | Unsupported | Set value to 1 to detect any unit currently being trained o… |
006CDDC0 | 331415 | Mouse Button State | 4 | 1 | Simple Data | 2: Left button pressed. 8: Right button pressed. 32: Middle… |
006CDDC4 | 331416 | Mouse Coordinate X | 4 | 1 | Simple Data | Relative to the screen. |
006CDDC8 | 331417 | Mouse Coordinate Y | 4 | 1 | Simple Data | Relative to the screen. |
006CDFD4 | 331548 | Game Speed | 4 | 1 | Backed By Code | The current game speed. The values are as follows: 0 = S… |
006CDFE0 | 331551 | Music Volume | 4 | 1 | Backed By Code | 0-100 for music volume Note: SC:R no longer uses this add… |
006CDFE4 | 331552 | Digital Volume | 4 | 1 | Backed By Code | 0-100 for sound volume Note: SC:R no longer uses this add… |
006D0C68 | 334401 | Creep Tile Backup Buffer | 4 | 1 | Unsupported | Pointer to the u16 buffer that stores the tile IDs of tiles… |
006D0C6C | 334402 | Tile Buffer Height | 4 | 1 | Unsupported | Copy of Map Height? |
006D0C70 | 334403 | Tile Function Pointers | 4 | 4 | Unsupported | 0x006D0C70 -> 0x0047E2D0 -- refreshes map tiles for draw… |
006D0E80 | 334535 | Creep Overlay Buffer | 4 | 1 | Unsupported | Pointer to u8 flags relating to the creep overlay for each … |
006D0E84 | 334536 | Active Tile Buffer | 4 | 1 | Unsupported | Pointer to u16 array of active map tiles. |
006D0F08 | 334569 | Tile Buffer Width | 4 | 1 | Unsupported | Copy of Map Width |
006D0F30 | 334579 | Replay Header | 633 | 1 | Read Only | https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Sour… |
006D0F30 | 334579 | Replay Header - Is Broodwar | 1 | 1 | Read Only | |
006D0F31 | 334579 | Replay Header - Frame Count | 4 | 1 | Read Only | |
006D0F35 | 334580 | Replay Header - Campaign ID | 2 | 1 | Read Only | |
006D0F37 | 334580 | Replay Header - Command ID | 1 | 1 | Read Only | struct gameSeed |
006D0F38 | 334581 | Replay Header - Rand Seed | 4 | 1 | Read Only | struct gameSeed. Unix time on game start.(The number of sec… |
006D0F3C | 334582 | Replay Header - Player Bytes | 1 | 8 | Read Only | struct gameSeed |
006D0F44 | 334584 | Replay Header - Unknown_0 | 4 | 1 | Read Only | struct networkGameHeader |
006D0F48 | 334585 | Replay Header - 해당 플레이어 이름 | 25 | 1 | Read Only | 게임 제목? "This is the name that the host has ch… |
006D0F60 | 334591 | Replay Header - Game flags | 4 | 1 | Read Only | struct networkGameHeader |
006D0F64 | 334592 | Replay Header - MapSize | 2 | 2 | Read Only | 2Byte MapWidth 2Byte MapHeight struct networkGameHeader |
006D0F68 | 334593 | Replay Header - Active Player Count | 1 | 1 | Read Only | struct networkGameHeader |
006D0F69 | 334593 | Replay Header - Available Slots | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6A | 334593 | Replay Header - Game Speed | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6B | 334593 | Replay Header - Game State | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6C | 334594 | Replay Header - Game Type | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6D | 334594 | Replay Header - Unknown_1 | 1 | 1 | Read Only | struct networkGameHeader |
006D0F6E | 334594 | Replay Header - Game Subtype | 2 | 1 | Read Only | struct networkGameHeader |
006D0F70 | 334595 | Replay Header - Seed (Unused) | 4 | 1 | Read Only | struct networkGameHeader |
006D0F74 | 334596 | Replay Header - Tileset | 2 | 1 | Read Only | struct networkGameHeader |
006D0F76 | 334596 | Replay Header - Autosaved | 1 | 1 | Read Only | struct networkGameHeader |
006D0F77 | 334596 | Replay Header- Computer Player Count | 1 | 1 | Read Only | struct networkGameHeader |
006D0F78 | 334597 | Replay Header - Game Name | 1 | 25 | Read Only | struct networkGameHeader |
006D0F91 | 334603 | Replay Header - Map Name | 1 | 24 | Read Only | struct networkGameHeader |
006D0FB1 | 334611 | Replay Header - Game Type | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB2 | 334611 | Replay Header - Unknown | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB3 | 334611 | Replay Header - Subtype | 2 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB5 | 334612 | Replay Header - Subtype display | 2 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB7 | 334612 | Replay Header - Subtype Label | 2 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FB9 | 334613 | Replay Header - Victory Condition | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FBA | 334613 | Replay Header - Resource Type | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FBB | 334613 | Replay Header - Use Standard Units | 1 | 1 | Read Only | boolean struct networkGameHeader.gameTemplateInfo |
006D0FBC | 334614 | Replay Header - Fog of War (Unused) | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FBD | 334614 | Replay Header - Starting Units | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FBE | 334614 | Replay Header - Use Fixed Positions | 1 | 1 | Read Only | boolean struct networkGameHeader.gameTemplateInfo |
006D0FBF | 334614 | Replay Header - Usage Restriction Flags | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FC0 | 334615 | Replay Header - Allies Allowed | 1 | 1 | Read Only | boolean struct networkGameHeader.gameTemplateInfo |
006D0FC1 | 334615 | Replay Header - Teams | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FC2 | 334615 | Replay Header - Cheats | 1 | 1 | Read Only | boolean struct networkGameHeader.gameTemplateInfo |
006D0FC3 | 334615 | Replay Header - Tournament Mode | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FC4 | 334616 | Replay Header - Victory Condition Value | 4 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FC8 | 334617 | Replay Header - Resources Value | 4 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FCC | 334618 | Replay Header - Unused value | 4 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FD0 | 334619 | Replay Header - Extra | 1 | 1 | Read Only | struct networkGameHeader.gameTemplateInfo |
006D0FD1 | 334619 | Replay Header - Player Entries | 36 | 12 | Read Only | Unfortunately this struct is not dword-aligned. +0 - u32… |
006D1181 | 334727 | Replay Header - Player Colors | 4 | 8 | Read Only | |
006D11A1 | 334735 | Replay Header - Player Force Data | 1 | 8 | Read Only | |
006D1200 | 334759 | iscript.bin pointer | 4 | 1 | Backed By Code | |
006D1238 | 334773 | stat_txt.tbl pointer | 4 | 1 | Backed By Code | |
006D1260 | 334783 | Tile Flags Pointer | 4 | 1 | Backed By Code | Pointer to (Map Width)x(Map Height) array of u32 flags: 0x… |
006D5A6C | 339394 | Cheat Flags | 4 | 1 | Simple Data | Setting cheat flags will work in multiplayer games, but may… |
006D5BB0 | 339475 | Music ID | 4 | 1 | Change this value and toggle music and it will play a diffe… | |
006D5BBE | 339478 | Minimap State | 4 | 1 | Minimap State - Pressing Tab, Shift+tab changes this 0x00 … | |
006D5EC8 | 339673 | CV5 Pointer | 4 | 1 | Backed By Code | |
1505E670 | 86724803 | Storm Graphics Palette | 4 | 256 | Read Only | |
19046138 | 103477109 | Battle.snp Join Channel | 4 | 1 | Simple Data | |
1904613C | 103477110 | Battle.snp Join Channel | 4 | 1 | Simple Data |
Player Name
Address | 57EE9C |
---|---|
Player ID | -11570 (Byte Offset: 0) |
Size | 25 |
Length | 1 |
SC:R | Unsupported |
If you are playing as 'asdf' then you will find on that address: 'asdf'
Death Table Start
Address | 58A364 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 48 |
Length | 228 |
SC:R | 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)
Location Table
Address | 58DC60 |
---|---|
Player ID | 3647 (Byte Offset: 0) |
Size | 20 |
Length | 255 |
SC:R | 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:
-
Look in the String Editor of the Map Editor you're using
-
Find the name of the location within it
-
Now count all the strings that are above it, and add 1 to the total number.
-
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."
-
Drop Timer
Address | 59CC80 |
---|---|
Player ID | 19015 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
The time remaining before a player is dropped.
See the address 0x59CC78 (Last Time of Drop Window) for application.
Player Alliances
Address | 58D634 |
---|---|
Player ID | 3252 (Byte Offset: 0) |
Size | 12 |
Length | 12 |
SC:R | 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.
Minimap State
Address | 6D5BBE |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
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
Player 1 Selection Group
Address | 6284E8 |
---|---|
Player ID | 161889 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
List of unit node pointers for Player's current group selection. Points to address 0x0059CCA8
Units.dat - Air Weapon
Address | 6616E0 |
---|---|
Player ID | 220383 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Weapons.dat index
Weapons.dat - Damage Amount
Address | 656EB0 |
---|---|
Player ID | 209619 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Cooldown
Address | 656FB8 |
---|---|
Player ID | 209685 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
Units.dat - Has Shields
Address | 6647B0 |
---|---|
Player ID | 223507 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | 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);
Units.dat - Shield Amount
Address | 660E00 |
---|---|
Player ID | 219815 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Max HP
Address | 662350 |
---|---|
Player ID | 221179 (Byte Offset: 0) |
Size | 4 |
Length | 228 |
SC:R | Simple Data |
Lowest byte is fractional part (*256)
Units.dat - Max Hits (Air)
Address | 65FC18 |
---|---|
Player ID | 218669 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
This value is for statistics purposes only (?)
Units.dat - Gas Cost
Address | 65FD00 |
---|---|
Player ID | 218727 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Armor
Address | 65FEC8 |
---|---|
Player ID | 218841 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Units.dat - "What" Sound Start
Address | 65FFB0 |
---|---|
Player ID | 218899 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
sfxdata.dat start index
Units.dat - Computer AI Unit Type
Address | 660178 |
---|---|
Player ID | 219013 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
"AI Internal" in DatEdit
Units.dat - Map String
Address | 660260 |
---|---|
Player ID | 219071 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | 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.
Units.dat - Build Time
Address | 660428 |
---|---|
Player ID | 219185 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Start Direction
Address | 6605F0 |
---|---|
Player ID | 219299 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | 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
Units.dat - Brood War Flag
Address | 6606D8 |
---|---|
Player ID | 219357 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Subunit 1
Address | 6607C0 |
---|---|
Player ID | 219415 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
228 = None
Units.dat - Transport Space Provided
Address | 660988 |
---|---|
Player ID | 219529 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Dat Requirement Offset
Address | 660A70 |
---|---|
Player ID | 219587 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
u16 index of 0x00514178
(address is 0x00514178 + 2*this value)
Units.dat - Subunit 2
Address | 660C38 |
---|---|
Player ID | 219701 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
Unused.
Units.dat - Movement Flags
Address | 660FC8 |
---|---|
Player ID | 219929 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Construction Animation
Address | 6610B0 |
---|---|
Player ID | 219987 (Byte Offset: 0) |
Size | 4 |
Length | 228 |
SC:R | Simple Data |
0 = No graphics
Units.dat - "Yes" Sound End
Address | 661440 |
---|---|
Player ID | 220215 (Byte Offset: 0) |
Size | 2 |
Length | 106 |
SC:R | Simple Data |
sfxdata.dat end index
Units.dat - Staredit Availability Flags
Address | 661518 |
---|---|
Player ID | 220269 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | 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
Units.dat - Unit Dimensions
Address | 6617C8 |
---|---|
Player ID | 220441 (Byte Offset: 0) |
Size | 8 |
Length | 228 |
SC:R | Simple Data |
Struct:
2 bytes - Left Dimension (from center)
2 bytes - Up Dimension
2 bytes - Right Dimension
2 bytes - Down Dimension
Units.dat - "Pissed" Sound End
Address | 661EE8 |
---|---|
Player ID | 220897 (Byte Offset: 0) |
Size | 2 |
Length | 106 |
SC:R | Simple Data |
sfxdata.dat end index
Units.dat - "Ready" Sound
Address | 661FC0 |
---|---|
Player ID | 220951 (Byte Offset: 0) |
Size | 2 |
Length | 106 |
SC:R | Simple Data |
sfxdata.dat index
Units.dat - Right-click Action
Address | 662098 |
---|---|
Player ID | 221005 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | 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)
Units.dat - Size Class
Address | 662180 |
---|---|
Player ID | 221063 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
0 = Independent
1 = Small
2 = Medium
3 = Large
Units.dat - Addon Placement
Address | 6626E0 |
---|---|
Player ID | 221407 (Byte Offset: 0) |
Size | 4 |
Length | 96 |
SC:R | Simple Data |
Struct:
2 bytes - X Pos
2 bytes - Y Pos
Only exists for buildings (First entry is 106 Command Center)
Units.dat - Building Dimensions
Address | 662860 |
---|---|
Player ID | 221503 (Byte Offset: 0) |
Size | 4 |
Length | 228 |
SC:R | 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.
Units.dat - "What" Sound End
Address | 662BF0 |
---|---|
Player ID | 221731 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
sfxdata.dat end index
Units.dat - Seek Range
Address | 662DB8 |
---|---|
Player ID | 221845 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | 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.
Units.dat - Elevation Level
Address | 663150 |
---|---|
Player ID | 222075 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Elevation Level
Units.dat - Attack Unit Order
Address | 663320 |
---|---|
Player ID | 222191 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Orders.dat reference
Units.dat - Build Score
Address | 663408 |
---|---|
Player ID | 222249 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Armor Upgrade ID
Address | 6635D0 |
---|---|
Player ID | 222363 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Upgrades.dat index
Units.dat - Ground Weapon
Address | 6636B8 |
---|---|
Player ID | 222421 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
weapons.dat reference
Units.dat - Group Flags
Address | 6637A0 |
---|---|
Player ID | 222479 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | 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);
Units.dat - Mineral Cost
Address | 663888 |
---|---|
Player ID | 222537 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Attack Move Order ID
Address | 663A50 |
---|---|
Player ID | 222651 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Orders.dat index
Units.dat - "Pissed" Sound Start
Address | 663B38 |
---|---|
Player ID | 222709 (Byte Offset: 0) |
Size | 2 |
Length | 106 |
SC:R | Simple Data |
sfxdata.dat start index
Units.dat - "Yes" Sound Start
Address | 663C10 |
---|---|
Player ID | 222763 (Byte Offset: 0) |
Size | 2 |
Length | 107 |
SC:R | Simple Data |
sfxdata.dat start index
Units.dat - Supply Used
Address | 663CE8 |
---|---|
Player ID | 222817 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Value here is twice what you see in-game. (Hence why 2 Zerglings = 1 Underling)
Units.dat - Rank/Sublabel
Address | 663DD0 |
---|---|
Player ID | 222875 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | 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).
Units.dat - Kill Score
Address | 663EB8 |
---|---|
Player ID | 222933 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
Kill Score
Units.dat - Advanced Flags
Address | 664080 |
---|---|
Player ID | 223047 (Byte Offset: 0) |
Size | 4 |
Length | 228 |
SC:R | 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(?)
Units.dat - Transport Space Required
Address | 664410 |
---|---|
Player ID | 223275 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
Units.dat - Graphics (Flingy ID)
Address | 6644F8 |
---|---|
Player ID | 223333 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Backed By Code |
flingy.dat index
Units.dat - Max Hits (Ground)
Address | 6645E0 |
---|---|
Player ID | 223391 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
This value is for statistics purposes only (?)
Units.dat - Supply Provided
Address | 6646C8 |
---|---|
Player ID | 223449 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
The value is twice what you see in-game.
Units.dat - Idle Order
Address | 664898 |
---|---|
Player ID | 223565 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
"Return to Idle" in DatEdit
Orders.dat index
Units.dat - Infestation Unit
Address | 664980 |
---|---|
Player ID | 223623 (Byte Offset: 0) |
Size | 2 |
Length | 96 |
SC:R | Simple Data |
Only exists for buildings (First entry is 106 Command Center)
Units.dat - Human Init Action
Address | 662268 |
---|---|
Player ID | 221121 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
"Human Idle Action" in DatEdit
Orders.dat index
Units.dat - Computer Init Action
Address | 662EA0 |
---|---|
Player ID | 221903 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | Simple Data |
"Computer Idle" in DatEdit
Orders.dat index
Weapons.dat - Damage Factor
Address | 6564E0 |
---|---|
Player ID | 208991 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Target Error Message
Address | 656568 |
---|---|
Player ID | 209025 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | Simple Data |
stat_txt.tbl index
Weapons.dat - Behavior
Address | 656670 |
---|---|
Player ID | 209091 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | 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
Weapons.dat - Effect
Address | 6566F8 |
---|---|
Player ID | 209125 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | 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)
Weapons.dat - Icon
Address | 656780 |
---|---|
Player ID | 209159 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | Simple Data |
cmdicons.grp frame
Weapons.dat - Splash Inner Radius
Address | 656888 |
---|---|
Player ID | 209225 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Attack Angle
Address | 656990 |
---|---|
Player ID | 209291 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
"Angle within which the weapon can be fired without waiting for the unit's graphics to turn. 128 = 180 degrees."
Weapons.dat - Minimum Range
Address | 656A18 |
---|---|
Player ID | 209325 (Byte Offset: 0) |
Size | 4 |
Length | 130 |
SC:R | Simple Data |
16 times the value in DatEdit.
Weapons.dat - Graphics Y Offset
Address | 656C20 |
---|---|
Player ID | 209455 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Graphics
Address | 656CA8 |
---|---|
Player ID | 209489 (Byte Offset: 0) |
Size | 4 |
Length | 130 |
SC:R | Simple Data |
Flingy.dat index
Weapon Graphic
Weapons.dat - Remove After
Address | 657040 |
---|---|
Player ID | 209719 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
"Time until the weapon is removed if it does not hit a target."
Weapons.dat - Splash Middle Radius
Address | 6570C8 |
---|---|
Player ID | 209753 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Upgrade ID
Address | 6571D0 |
---|---|
Player ID | 209819 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
Upgrades.dat index
Weapons.dat - Damage Type
Address | 657258 |
---|---|
Player ID | 209853 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
0 = Independent
1 = Explosive
2 = Concussive
3 = Normal
4 = Ignore Armor
Weapons.dat - Label
Address | 6572E0 |
---|---|
Player ID | 209887 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | Simple Data |
stat_txt.tbl index
Weapons.dat - Special Attack
Address | 6573E8 |
---|---|
Player ID | 209953 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
Reference only?
Weapons.dat - Maximum Range
Address | 657470 |
---|---|
Player ID | 209987 (Byte Offset: 0) |
Size | 4 |
Length | 130 |
SC:R | Simple Data |
Value is 16 times what DatEdit shows.
Weapons.dat - Upgrade Bonus
Address | 657678 |
---|---|
Player ID | 210117 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Splash Outer Radius
Address | 657780 |
---|---|
Player ID | 210183 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Launch Spin
Address | 657888 |
---|---|
Player ID | 210249 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Graphics X Offset
Address | 657910 |
---|---|
Player ID | 210283 (Byte Offset: 0) |
Size | 1 |
Length | 130 |
SC:R | Simple Data |
Weapons.dat - Target Flags
Address | 657998 |
---|---|
Player ID | 210317 (Byte Offset: 0) |
Size | 2 |
Length | 130 |
SC:R | 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.
Flingy.dat - Movement Control
Address | 6C9858 |
---|---|
Player ID | 326973 (Byte Offset: 0) |
Size | 1 |
Length | 209 |
SC:R | Simple Data |
0 = Flingy.dat Control
1 = Partially Mobile, Weapon
2 = Iscript.bin Control
Flingy.dat - Halt Distance
Address | 6C9930 |
---|---|
Player ID | 327027 (Byte Offset: 0) |
Size | 4 |
Length | 209 |
SC:R | Simple Data |
Measured in pixels*256
Flingy.dat - Acceleration
Address | 6C9C78 |
---|---|
Player ID | 327237 (Byte Offset: 0) |
Size | 2 |
Length | 209 |
SC:R | Simple Data |
Measured in pixels-per-frame.
Flingy.dat - Turn Radius
Address | 6C9E20 |
---|---|
Player ID | 327343 (Byte Offset: 0) |
Size | 1 |
Length | 209 |
SC:R | Simple Data |
Flingy.dat - Top Speed
Address | 6C9EF8 |
---|---|
Player ID | 327397 (Byte Offset: 0) |
Size | 4 |
Length | 209 |
SC:R | Simple Data |
Measured in pixels-per-frame, but written as "Speed*(320/3)"
Flingy.dat - Sprite Index
Address | 6CA318 |
---|---|
Player ID | 327661 (Byte Offset: 0) |
Size | 2 |
Length | 209 |
SC:R | Simple Data |
Sprites.dat index
Sprites.dat - Selection Circle
Address | 665AC0 |
---|---|
Player ID | 224727 (Byte Offset: 0) |
Size | 1 |
Length | 387 |
SC:R | Read Only |
Images.dat reference starting at index 561.
Starts on sprites.dat entry 130.
Sprites.dat - Visible
Address | 665C48 |
---|---|
Player ID | 224825 (Byte Offset: 0) |
Size | 1 |
Length | 517 |
SC:R | Simple Data |
Sprites.dat - HP Bar Length
Address | 665E50 |
---|---|
Player ID | 224955 (Byte Offset: 0) |
Size | 1 |
Length | 387 |
SC:R | Read Only |
Starts on Sprites.dat ID 130.
Sprites.dat - Selection Vertical Offset
Address | 665FD8 |
---|---|
Player ID | 225053 (Byte Offset: 0) |
Size | 1 |
Length | 387 |
SC:R | Read Only |
Starts on Sprites.dat ID 130.
Sprites.dat - Image Index
Address | 666160 |
---|---|
Player ID | 225151 (Byte Offset: 0) |
Size | 2 |
Length | 517 |
SC:R | Backed By Code |
Images.dat index
Sprites.dat - Unknown
Address | 666570 |
---|---|
Player ID | 225411 (Byte Offset: 0) |
Size | 1 |
Length | 517 |
SC:R | Simple Data |
Unknown flag.
Images.dat - Landing Dust Overlay
Address | 666778 |
---|---|
Player ID | 225541 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
images.tbl lo? index
Images.dat - Draw If Cloaked
Address | 667718 |
---|---|
Player ID | 226541 (Byte Offset: 0) |
Size | 1 |
Length | 999 |
SC:R | Simple Data |
Images.dat - Special Overlay
Address | 667B00 |
---|---|
Player ID | 226791 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Images.tbl lo? index
Images.dat - GRP File
Address | 668AA0 |
---|---|
Player ID | 227791 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Images.tbl grp index
Images.dat - Drawing Function (Remapping Table)
Address | 669A40 |
---|---|
Player ID | 228791 (Byte Offset: 0) |
Size | 1 |
Length | 999 |
SC:R | 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
Images.dat - Damage Overlay
Address | 66A210 |
---|---|
Player ID | 229291 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Images.tbl lof pointer
Images.dat - Attack Overlay
Address | 66B1B0 |
---|---|
Player ID | 230291 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
images.dat lo? index
Images.dat - Clickable
Address | 66C150 |
---|---|
Player ID | 231291 (Byte Offset: 0) |
Size | 1 |
Length | 999 |
SC:R | Simple Data |
Images.dat - Sheilds Overlay
Address | 66C538 |
---|---|
Player ID | 231541 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
None = 0
Small = 133
Medium = 2
Large = 184
Images.dat - Use Full Iscript
Address | 66D4D8 |
---|---|
Player ID | 232541 (Byte Offset: 0) |
Size | 1 |
Length | 999 |
SC:R | Simple Data |
Images.dat - Lift-off Dust Overlay
Address | 66D8C0 |
---|---|
Player ID | 232791 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
images.tbl lod index
Images.dat - Graphics Turns
Address | 66E860 |
---|---|
Player ID | 233791 (Byte Offset: 0) |
Size | 1 |
Length | 999 |
SC:R | Simple Data |
Images.dat - Iscript ID
Address | 66EC48 |
---|---|
Player ID | 234041 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Backed By Code |
Iscript.bin ID
Upgrades.dat - Max Level
Address | 655700 |
---|---|
Player ID | 208103 (Byte Offset: 0) |
Size | 1 |
Length | 61 |
SC:R | Simple Data |
Upgrades.dat - Mineral Cost Base
Address | 655740 |
---|---|
Player ID | 208119 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | 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.
Upgrades.dat - Gas Cost Factor
Address | 6557C0 |
---|---|
Player ID | 208151 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | Simple Data |
Upgrades.dat - Gas Cost Base
Address | 655840 |
---|---|
Player ID | 208183 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | Simple Data |
Upgrades.dat - Dat Requirement Offset
Address | 6558C0 |
---|---|
Player ID | 208215 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | Simple Data |
Upgrades.dat - Time Factor
Address | 655940 |
---|---|
Player ID | 208247 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | Simple Data |
Upgrades.dat - Mineral Cost Factor
Address | 6559C0 |
---|---|
Player ID | 208279 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | Simple Data |
Upgrades.dat - Label
Address | 655A40 |
---|---|
Player ID | 208311 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | Simple Data |
stat_txt.tbl index
Upgrades.dat - Icon
Address | 655AC0 |
---|---|
Player ID | 208343 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | Simple Data |
cmdicons.grp frame
Upgrades.dat - Brood War Flag
Address | 655B3C |
---|---|
Player ID | 208374 (Byte Offset: 0) |
Size | 1 |
Length | 61 |
SC:R | Simple Data |
Upgrades.dat - Time Base
Address | 655B80 |
---|---|
Player ID | 208391 (Byte Offset: 0) |
Size | 2 |
Length | 61 |
SC:R | Simple Data |
Upgrades.dat - Race
Address | 655BFC |
---|---|
Player ID | 208422 (Byte Offset: 0) |
Size | 1 |
Length | 61 |
SC:R | Simple Data |
0 = Zerg
1 = Terran
2 = Protoss
3 = All
Techdata.dat - Unknown1
Address | 656198 |
---|---|
Player ID | 208781 (Byte Offset: 0) |
Size | 2 |
Length | 44 |
SC:R | Simple Data |
Techdata.dat - Gas Cost
Address | 6561F0 |
---|---|
Player ID | 208803 (Byte Offset: 0) |
Size | 2 |
Length | 44 |
SC:R | 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
Techdata.dat - Mineral Cost
Address | 656248 |
---|---|
Player ID | 208825 (Byte Offset: 0) |
Size | 2 |
Length | 44 |
SC:R | 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
Techdata.dat - Label
Address | 6562A0 |
---|---|
Player ID | 208847 (Byte Offset: 0) |
Size | 2 |
Length | 44 |
SC:R | Simple Data |
stat_txt.tbl index
Techdata.dat - Data Restrictions
Address | 6562F8 |
---|---|
Player ID | 208869 (Byte Offset: 0) |
Size | 2 |
Length | 44 |
SC:R | Simple Data |
Techdata.dat - Researched
Address | 656350 |
---|---|
Player ID | 208891 (Byte Offset: 0) |
Size | 1 |
Length | 44 |
SC:R | Simple Data |
DatEdit says Unused?
Techdata.dat - Energy Cost
Address | 656380 |
---|---|
Player ID | 208903 (Byte Offset: 0) |
Size | 2 |
Length | 44 |
SC:R | Simple Data |
Techdata.dat - Time
Address | 6563D8 |
---|---|
Player ID | 208925 (Byte Offset: 0) |
Size | 2 |
Length | 44 |
SC:R | Simple Data |
Techdata.dat - Icon
Address | 656430 |
---|---|
Player ID | 208947 (Byte Offset: 0) |
Size | 2 |
Length | 44 |
SC:R | Simple Data |
cmdicons.grp frame index
Techdata.dat - Race
Address | 656488 |
---|---|
Player ID | 208969 (Byte Offset: 0) |
Size | 1 |
Length | 44 |
SC:R | Simple Data |
0 = Zerg
1 = Terran
2 = Protoss
3 = All
Techdata.dat - Brood War Flag
Address | 6564B4 |
---|---|
Player ID | 208980 (Byte Offset: 0) |
Size | 1 |
Length | 44 |
SC:R | Simple Data |
Orders.dat - Unknown 4
Address | 664A40 |
---|---|
Player ID | 223671 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Use Weapon Targetting
Address | 664B00 |
---|---|
Player ID | 223719 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Unknown 12
Address | 664BC0 |
---|---|
Player ID | 223767 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Unknown 11
Address | 664C80 |
---|---|
Player ID | 223815 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Animation
Address | 664D40 |
---|---|
Player ID | 223863 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | 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
Orders.dat - Energy Technology
Address | 664E00 |
---|---|
Player ID | 223911 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Techdata.dat index for energy
Orders.dat - Highlight Button ID
Address | 664EC0 |
---|---|
Player ID | 223959 (Byte Offset: 0) |
Size | 2 |
Length | 189 |
SC:R | Simple Data |
cmdicons.grp frame index or 0xFFFF for none.
Orders.dat - Can Be Interrupted
Address | 665040 |
---|---|
Player ID | 224055 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Unknown 7
Address | 665100 |
---|---|
Player ID | 224103 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Unknown 9
Address | 6651C0 |
---|---|
Player ID | 224151 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Label ID
Address | 665280 |
---|---|
Player ID | 224199 (Byte Offset: 0) |
Size | 2 |
Length | 189 |
SC:R | Simple Data |
Doesn't do anything.
Orders.dat - Obscured Order
Address | 665400 |
---|---|
Player ID | 224295 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat index
"Order to be run if the target is obscured by the Fog-of-War."
Orders.dat - Can Be Obstructed?
Address | 6654C0 |
---|---|
Player ID | 224343 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Dat Reqs Offset
Address | 665580 |
---|---|
Player ID | 224391 (Byte Offset: 0) |
Size | 2 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Can Be Queued
Address | 665700 |
---|---|
Player ID | 224487 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Unknown 5
Address | 6657C0 |
---|---|
Player ID | 224535 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Orders.dat - Targeting
Address | 665880 |
---|---|
Player ID | 224583 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Weapons.dat index
"Weapon used by the order to determine the targeting rules, if "Use Weapon Targeting" is checked."
Orders.dat - Order is Secondary
Address | 665940 |
---|---|
Player ID | 224631 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Order goes in bSecondaryOrderID instead of bMainOrderID.
Orders.dat - Unknown 3
Address | 665A00 |
---|---|
Player ID | 224679 (Byte Offset: 0) |
Size | 1 |
Length | 189 |
SC:R | Simple Data |
Player 2 Selection Group
Address | 628518 |
---|---|
Player ID | 161901 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
List of unit node pointers for Player's current group selection.
Player 3 Selection Group
Address | 628548 |
---|---|
Player ID | 161913 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
List of unit node pointers for Player's current group selection.
Player 4 Selection Group
Address | 628578 |
---|---|
Player ID | 161925 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
List of unit node pointers for Player's current group selection.
Player 5 Selection Group
Address | 6285A8 |
---|---|
Player ID | 161937 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
List of unit node pointers for Player's current group selection.
Player 6 Selection Group
Address | 6285D8 |
---|---|
Player ID | 161949 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
List of unit node pointers for Player's current group selection.
Player 7 Selection Group
Address | 628608 |
---|---|
Player ID | 161961 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
List of unit node pointers for Player's current group selection.
Player 8 Selection Group
Address | 628638 |
---|---|
Player ID | 161973 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
List of unit node pointers for Player's current group selection.
Unitnode Table
Address | 59CCA8 |
---|---|
Player ID | 19025 (Byte Offset: 0) |
Size | 336 |
Length | 1700 |
SC:R | 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)
Music Volume
Address | 6CDFE0 |
---|---|
Player ID | 331551 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
0-100 for music volume
Note:
SC:R no longer uses this address. The value is always 0 in SC:R.
Digital Volume
Address | 6CDFE4 |
---|---|
Player ID | 331552 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
0-100 for sound volume
Note:
SC:R no longer uses this address. The value is always 0 in SC:R.
Game Speed
Address | 6CDFD4 |
---|---|
Player ID | 331548 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Pylon Auras are Visible
Address | 63FF48 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
Read-Only (Writing to it apparently does nothing :C .)
Cheat Flags
Address | 6D5A6C |
---|---|
Player ID | 339394 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Music ID
Address | 6D5BB0 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
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.
Unit Color Table
Address | 581D76 |
---|---|
Player ID | -8572 (Byte Offset: 2) |
Size | 8 |
Length | 12 |
SC:R | 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.)
Minimap Color Table
Address | 581DD6 |
---|---|
Player ID | -8548 (Byte Offset: 2) |
Size | 1 |
Length | 12 |
SC:R | 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.
Player Selection Circle Colors
Address | 581D6A |
---|---|
Player ID | -8575 (Byte Offset: 2) |
Size | 1 |
Length | 12 |
SC:R | 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
Pointer to map "STR " section
Address | 5993D4 |
---|---|
Player ID | 15388 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
Pointer
default: first string
Units.dat - Sight Range
Address | 663238 |
---|---|
Player ID | 222133 (Byte Offset: 0) |
Size | 1 |
Length | 228 |
SC:R | 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);
SC Technologies Available (0-23)
Address | 58CE24 |
---|---|
Player ID | 2736 (Byte Offset: 0) |
Size | 24 |
Length | 12 |
SC:R | 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
SC Technologies Researched (0-23)
Address | 58CF44 |
---|---|
Player ID | 2808 (Byte Offset: 0) |
Size | 24 |
Length | 12 |
SC:R | Simple Data |
[See SC Technologies Available]
http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=410
SC Upgrades Available (0-45)
Address | 58D088 |
---|---|
Player ID | 2889 (Byte Offset: 0) |
Size | 46 |
Length | 12 |
SC:R | 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
SC Upgrades Researched (0-45)
Address | 58D2B0 |
---|---|
Player ID | 3027 (Byte Offset: 0) |
Size | 46 |
Length | 12 |
SC:R | 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
First Unit Pointer
Address | 628430 |
---|---|
Player ID | 161843 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
The value is pointer to the first unit in the unitNodeTable.
Unit being Produced
Address | 6CA9F0 |
---|---|
Player ID | 328099 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
Set value to 1 to detect any unit currently being trained on any building.
Not fully tested.
Filename for Lastreplay
Address | 4FF900 |
---|---|
Player ID | -141977 (Byte Offset: 0) |
Size | 12 |
Length | 1 |
SC:R |
Contains the string "LastReplay".
Replay Speed Limiters
Address | 4FF90C |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 7 |
SC:R |
The speed in milliseconds to spend each frame during a replay. The array index is dependant on the game speed.
Replay Command Table
Address | 4FF928 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 16 |
Length | 2 |
SC:R |
Contains the replay commands "show" and "hide" along with function pointers.
Replay show command modifiers
Address | 4FF948 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 32 |
Length | 12 |
SC:R |
Contains sub-commands and leaderboard values to use in the "/replay show" command.
Menu Info Array
Address | 4FFAD0 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 12 |
Length | 27 |
SC:R |
Contains the menu index, background index, and menu path.
Campaign List Info
Address | 4FFC20 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 8 |
Length | 85 |
SC:R |
Contains the campaign listing info.
WORD gluHist.tbl index
WORD mapdata.dat index
WORD cinematic index
BYTE race index
BYTE bonus flag
cInit Constructor Function Table
Address | 50C000 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 310 |
SC:R |
Standard C-Runtime. Generated by Visual C++.
Current Cinematic ID
Address | 5122B8 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
An index for the currently playing cinematic.
Game Speed Refresh Rate
Address | 5124D8 |
---|---|
Player ID | -122787 (Byte Offset: 0) |
Size | 4 |
Length | 7 |
SC:R | Simple Data |
Contains the value in milliseconds required for each frame. Array index dependant on game speed...
Replay Speed Refresh Rate
Address | 5124F4 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 7 |
SC:R |
Contains the time in milliseconds spent each frame. Array index dependent on game speed.
Image Update Functions
Address | 512510 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 8 |
Length | 18 |
SC:R |
An array of image functions. The array is officially called sgUpdateFuncs.
Image Drawing Functions
Address | 5125A0 |
---|---|
Player ID | -122737 (Byte Offset: 0) |
Size | 12 |
Length | 18 |
SC:R |
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
Active Nation ID
Address | 512678 |
---|---|
Player ID | -122683 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
This is the same as Human ID unless you are playing Team Melee. The official name for this is g_ActiveNationID.
Active Human ID
Address | 51267C |
---|---|
Player ID | -122682 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
This is your player ID. The official name for this is g_ActiveHumanID.
Active Storm ID
Address | 512680 |
---|---|
Player ID | -122681 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
This is your active storm ID, which is different from your player ID. The official name for this is g_ActiveStormID.
Local Nation ID
Address | 512684 |
---|---|
Player ID | -122680 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
The official name for this is g_LocalNationID.
P1: 00
P2: 01
P3: 02
etc.
Local Human ID
Address | 512688 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
The official name for this is g_LocalHumanID.
Local Storm ID
Address | 51268C |
---|---|
Player ID | -122678 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
The official name for this is g_LocalStormID.
Cinematic File Name Array
Address | 512690 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 28 |
SC:R |
Contains string pointers for the file names of all game cinematics.
Race Filename Modifiers
Address | 512700 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 8 |
Length | 1 |
SC:R |
Contains 3 bytes "ztp" used when loading race-specific files, like the user HUD for example.
Cursor Filename Array
Address | 512708 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 19 |
SC:R |
Contains pointers to a string for each cursor image.
Cursor Scroll Type Modifiers
Address | 512754 |
---|---|
Player ID | -122628 (Byte Offset: 0) |
Size | 2 |
Length | 10 |
SC:R | Unsupported |
Contains the index for the cursor used for scrolling.
Tileset Color Cycle Pointers
Address | 5127DC |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 9 |
SC:R |
Contains pointers to the tileset color cycle data. Array index dependant on tileset.
Trigger Action Function Array
Address | 512800 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 60 |
SC:R |
Contains function pointers for all trigger actions.
Images Attack Overlay Array
Address | 51F2A8 |
---|---|
Player ID | -109615 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Pointers to GRP handles for all images.
Images Damage Overlay Array
Address | 520244 |
---|---|
Player ID | -108616 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Pointer to LO? handles for all images.dat entries.
Images Special Overlay Array
Address | 5211E0 |
---|---|
Player ID | -107617 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Pointer to LO? handles for all images.dat entries.
Images Landing Dust Overlay Array
Address | 52217C |
---|---|
Player ID | -106618 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Pointer to LO? handles for all images.dat entries.
Images Liftoff Dust Overlay Array
Address | 523118 |
---|---|
Player ID | -105619 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Pointer to LO? handles for all images.dat entries.
Images Shield Overlay Array
Address | 52E5C8 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R |
Pointer to GRP handles for all images.
Images Array
Address | 52F568 |
---|---|
Player ID | -93055 (Byte Offset: 0) |
Size | 64 |
Length | 5000 |
SC:R | Read Only |
The array of images currently processed in the game.
Player Human IDs
Address | 57EE7C |
---|---|
Player ID | -11578 (Byte Offset: 0) |
Size | 4 |
Length | 8 |
SC:R | Unsupported |
The Human ID for each player.llll
Player Nation IDs
Address | 57EEC0 |
---|---|
Player ID | -11561 (Byte Offset: 0) |
Size | 4 |
Length | 8 |
SC:R | Unsupported |
The Nation ID for each player.
Active Player Structures
Address | 57EEE0 |
---|---|
Player ID | -11553 (Byte Offset: 0) |
Size | 36 |
Length | 12 |
SC:R | 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)
Last Whisper Player
Address | 57F094 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 25 |
Length | 1 |
SC:R |
The name of the player that last whispered you (in-game only).
Vision Filter
Address | 57F0B0 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
A shared vision filter used for changing the player's vision settings.
Multiplayer Mode
Address | 57F0B4 |
---|---|
Player ID | -11436 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
Network Player Status Array
Address | 57F0B8 |
---|---|
Player ID | -11435 (Byte Offset: 0) |
Size | 4 |
Length | 8 |
SC:R | Unsupported |
An array containing flags for each player's network status.
Network Maximum Buffer Size
Address | 57F0D8 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
A value indicating the maximum size for the command buffer that the network provider allows.
Main Menu Dialog Handle
Address | 57F0DC |
---|---|
Player ID | -11426 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
A handle to the main menu BIN dialog.
Player Minerals
Address | 57F0F0 |
---|---|
Player ID | -11421 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
The current amount of minerals the player has.
Player Gas
Address | 57F120 |
---|---|
Player ID | -11409 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
The current amount of gas the player has.
Player Total Gas Harvested
Address | 57F150 |
---|---|
Player ID | -11397 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
The total gas the player has ever harvested
Player Total Minerals Harvested
Address | 57F180 |
---|---|
Player ID | -11385 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
The total minerals the player has ever harvested
Tileset
Address | 57F1DC |
---|---|
Player ID | -11362 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Simple Data |
The current tileset ID being used.
Changing to 1 will turn null terrain into Space with stars (Space platform tileset)
Active Player Count
Address | 57F1E1 |
---|---|
Player ID | -11361 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
The number of active players in the game.
Console Index
Address | 57F1E2 |
---|---|
Player ID | -11361 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
A value indicating which console GUI should be displayed.
0 = zerg
1 = terran
2 = protoss
Shared Vision
Address | 57F1EC |
---|---|
Player ID | -11358 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | 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..
Player Color Mapping
Address | 57F21C |
---|---|
Player ID | -11346 (Byte Offset: 0) |
Size | 4 |
Length | 8 |
SC:R | Simple Data |
A mapping of the player's colors.
Elapsed Time
Address | 58D6F8 |
---|---|
Player ID | 3301 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Campaign Index
Address | 57F244 |
---|---|
Player ID | -11336 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Simple Data |
A value indicating which campaign is being played.
Next Scenario name
Address | 57F246 |
---|---|
Player ID | -11336 (Byte Offset: 2) |
Size | 32 |
Length | 1 |
SC:R | Simple Data |
The name of the next scenario, set using the Set Next Scenario trigger.
Last Event Position
Address | 57FD34 |
---|---|
Player ID | -10636 (Byte Offset: 0) |
Size | 4 |
Length | 2 |
SC:R | Simple Data |
A POINT structure containing the position of the last event that occured (spacebar).
PlayerID + 1 for Y position
Map File Name
Address | 57FD3C |
---|---|
Player ID | -10634 (Byte Offset: 0) |
Size | 260 |
Length | 1 |
SC:R | Simple Data |
The current map's file name.
Map Title
Address | 57FE40 |
---|---|
Player ID | -10569 (Byte Offset: 0) |
Size | 32 |
Length | 1 |
SC:R | Simple Data |
The current map's title.
Score Total Units Produced
Address | 581DE4 |
---|---|
Player ID | -8544 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Appears to be flipped; units owned, and not produced.
Score Units Produced
Address | 581E14 |
---|---|
Player ID | -8532 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Appears to be flipped; units owned, and not produced.
Score Units Owned
Address | 581E44 |
---|---|
Player ID | -8520 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Appears to be flipped; to be units produced, and not owned.
Number of Units Lost
Address | 581E74 |
---|---|
Player ID | -8508 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Deaths for "Any Unit" stored here.
Number of Units Killed
Address | 581EA4 |
---|---|
Player ID | -8496 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Kills for "Any Unit" stored here.
Score Unit Total
Address | 581ED4 |
---|---|
Player ID | -8484 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Score Kill Total
Address | 581F04 |
---|---|
Player ID | -8472 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Score Structures Constructed Total
Address | 581F34 |
---|---|
Player ID | -8460 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Number of Buildings Constructed
Address | 581F64 |
---|---|
Player ID | -8448 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Number of Buildings Lost
Address | 581FC4 |
---|---|
Player ID | -8424 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Deaths for "Buildings" stored here.
Number of Buildings Razed
Address | 581FF4 |
---|---|
Player ID | -8412 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Kills for "Buildings" stored here.
Buildings Score
Address | 582024 |
---|---|
Player ID | -8400 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Score for "Buildings", or buildings produced.
Razings Score
Address | 582054 |
---|---|
Player ID | -8388 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Score for "Razings", or buildings killed.
Number of Factories Constructed
Address | 582084 |
---|---|
Player ID | -8376 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Number of Factories Owned
Address | 5820B4 |
---|---|
Player ID | -8364 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Number of Factories Lost
Address | 5820E4 |
---|---|
Player ID | -8352 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Deaths for "Factories" stored here.
Zerg Control Available
Address | 582144 |
---|---|
Player ID | -8328 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Zerg Control Used
Address | 582174 |
---|---|
Player ID | -8316 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Zerg Control Max
Address | 5821A4 |
---|---|
Player ID | -8304 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Terran Supply Available
Address | 5821D4 |
---|---|
Player ID | -8292 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Terran Supply Used
Address | 582204 |
---|---|
Player ID | -8280 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Terran Supply Max
Address | 582234 |
---|---|
Player ID | -8268 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Protoss Psi Available
Address | 582264 |
---|---|
Player ID | -8256 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Protoss Psi Used
Address | 582294 |
---|---|
Player ID | -8244 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Protoss Psi Max
Address | 5822C4 |
---|---|
Player ID | -8232 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
4 bytes per player
Despite being 4 bytes, the game will only display it as uint16 and will wrap around after 65536.
Score Custom
Address | 5822F4 |
---|---|
Player ID | -8220 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
All Unit Counts Table
Address | 582324 |
---|---|
Player ID | -8208 (Byte Offset: 0) |
Size | 48 |
Length | 228 |
SC:R | Simple Data |
Counts per player, per unit
For each unit, 4 bytes per player, for 12 players.
offset + (unit*12 + player) * sizeof(u32)
Completed Unit Counts Table
Address | 584DE4 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 48 |
Length | 228 |
SC:R | Simple Data |
Counts per player, per unit
For each unit, 4 bytes per player, for 12 players.
offset + (unit*12 + player) * sizeof(u32)
Killed Unit Counts Table
Address | 5878A4 |
---|---|
Player ID | -2736 (Byte Offset: 0) |
Size | 48 |
Length | 228 |
SC:R | Simple Data |
Counts per player, per unit.
For each unit, 4 bytes per player, for 12 players.
offset + (unit*12 + player) * sizeof(u32)
Player's Force
Address | 58D5B0 |
---|---|
Player ID | 3219 (Byte Offset: 0) |
Size | 1 |
Length | 8 |
SC:R | 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
Force Flags
Address | 58D5B8 |
---|---|
Player ID | 3221 (Byte Offset: 0) |
Size | 1 |
Length | 4 |
SC:R | 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
Force Names
Address | 58D5BC |
---|---|
Player ID | 3222 (Byte Offset: 0) |
Size | 30 |
Length | 4 |
SC:R | 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
Mission Objectives Index
Address | 58D6C4 |
---|---|
Player ID | 3288 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | 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
Countdown Timer
Address | 58D6F4 |
---|---|
Player ID | 3300 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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?]
#'s of Game Pauses
Address | 58D718 |
---|---|
Player ID | 3309 (Byte Offset: 0) |
Size | 1 |
Length | 8 |
SC:R | 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.
Start Locations
Address | 58D720 |
---|---|
Player ID | 3311 (Byte Offset: 0) |
Size | 4 |
Length | 8 |
SC:R | Simple Data |
Point:
u16 X
u16 Y
EPD 3311
+0x00: P1 Start Location (X, Y*65536)
+0x01: P2 Start Location (X16777216, Y256) *256
+0x02: Unknown (4194352) *65536
+0x03: Unknown (805322752) *16777216
EPD 3312
+0x04: Unknown (3145792)
+0x05: P3 Start Location (X16777216, Y256) *256
+0x06: Unknown (4194352) *65536
+0x07: Unknown (805322752) *1677216
EPD 3313
+0x08: Unknown (3145792)
+0x09: P4 Start Location (X16777216, Y256) *256
+0x0A: Unknown (4194352) *65536
+0x0B: Unknown (805322752) *16777216
EPD 3314
- 0x0C: Unknown (3145792)
+0x0D: P5 Start Location (X16777216, Y256) *256
+0x0E: Unknown (12582960) *65536
+0x0F: Unknown (805355520) *16777216
EPD 3315
+0x10: Unknown (3145920)
+0x11: P6 Start Location (X16777216, Y256) *256
+0x12: Unknown (12582960) *65536
+0x13: Unknown (805355520) *16777216
EPD 3316
+0x14: Unknown (3145920)
+0x15: P7 Start Location (X16777216, Y256) *256
+0x16: Unknown (12582960) *65536
+0x17: Unknown (805355520) *16777216
EPD 3317
+0x18: Unknown (3145920)
+0x19: P8 Start Location (X16777216, Y256) *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.
- Look at the X pixel placement of P3 start location in your map editor and
write it down.
- Look at the Y pixel placement of P3 start location in your map editor
and write it down.
- 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).
- 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.
Vanilla Location Table
Address | 58D740 |
---|---|
Player ID | 3319 (Byte Offset: 0) |
Size | 20 |
Length | 64 |
SC:R | Simple Data |
This Location Table is not used in the Expansion (Brood War)!
Switch Table
Address | 58DC40 |
---|---|
Player ID | 3639 (Byte Offset: 0) |
Size | 32 |
Length | 1 |
SC:R | 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
Time Pause State
Address | 58F04C |
---|---|
Player ID | 4922 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Is Expansion
Address | 58F440 |
---|---|
Player ID | 5175 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
1 if your game is using the Expansion set.
Input Procedures
Address | 5968A0 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 19 |
SC:R |
A list of functions that determine how user input is handled.
Game Mode
Address | 596904 |
---|---|
Player ID | 12648 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Unsupported |
Determines the game's mode. In-Game, in-menu, battle.net, etc. The official name is gwGameMode.
Virtual Key Array
Address | 596A18 |
---|---|
Player ID | 12717 (Byte Offset: 0) |
Size | 1 |
Length | 256 |
SC:R | Backed By Code |
An array containing the state of all the virtual key codes (VK_).
BW Technologies Available (24-43)
Address | 58F050 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 20 |
Length | 12 |
SC:R | Simple Data |
Table layout is reverse compared to deaths/kills table.
1 row per player, 20 bytes per row, 1 byte per tech.
BW Technologies Researched (24-43)
Address | 58F140 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 20 |
Length | 12 |
SC:R | Simple Data |
Table layout is reverse compared to deaths/kills table.
1 row per player, 20 bytes per row, 1 byte per tech.
BW Upgrades Available (46-60)
Address | 58F278 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 15 |
Length | 12 |
SC:R | Simple Data |
Table layout is reverse compared to deaths/kills table.
1 row per player, 15 bytes per row, 1 byte per upgrade.
BW Upgrades Researched (46-60)
Address | 58F32C |
---|---|
Player ID | 5106 (Byte Offset: 0) |
Size | 15 |
Length | 12 |
SC:R | 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
Number of Buildings Owned
Address | 581F94 |
---|---|
Player ID | -8436 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Campaign list pointers
Address | 5122A0 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 6 |
SC:R |
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
Establishing shot pointers
Address | 4FFF60 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 8 |
Length | 65 |
SC:R |
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
Screen Coordinate Y
Address | 628470 |
---|---|
Player ID | 161859 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Screen Coordinate X
Address | 628448 |
---|---|
Player ID | 161849 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
CUnit - Irradiate Player ID
Address | 59CDC8 |
---|---|
Player ID | 19097 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Player ID who irradiated the unit.
CUnit - Matrix Timer
Address | 59CDBC |
---|---|
Player ID | 19094 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The amount of time remaining for matrix by a science vessel.
CUnit - Maelstorm Timer
Address | 59CDCC |
---|---|
Player ID | 19098 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The remaining time that a unit has before Maelstorm wears off.
CUnit - Irradiate Timer
Address | 59CDC0 |
---|---|
Player ID | 19095 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The amount of time remaining for irradiate by a science vessel.
CUnit - Carrier/Reaver - In Hangar Count
Address | 59CD70 |
---|---|
Player ID | 19075 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | 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
CUnit - Vulture - Spider Mines
Address | 59CD68 |
---|---|
Player ID | 19073 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | 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
CUnit - Remaining Build Time
Address | 59CD54 |
---|---|
Player ID | 19068 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
The remaining time before a building is constructed.
Mouse Coordinate X
Address | 6CDDC4 |
---|---|
Player ID | 331416 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Relative to the screen.
Mouse Coordinate Y
Address | 6CDDC8 |
---|---|
Player ID | 331417 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Relative to the screen.
CUnit - Position Coordinates
Address | 59CCD0 |
---|---|
Player ID | 19035 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | Supported |
The coordinates of a unit on the map (X + 65536*Y).
CUnit - Halt X Coordinate
Address | 59CCD4 |
---|---|
Player ID | 19036 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
The X coordinate of a unit on the map (*256).
CUnit - Halt Y Coordinate
Address | 59CCD8 |
---|---|
Player ID | 19037 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
The Y coordinate of a unit on the map (*256).
CUnit - Rally - Rally Coordinates
Address | 59CDA0 |
---|---|
Player ID | 19087 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | 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)
CUnit - HP
Address | 59CCB0 |
---|---|
Player ID | 19027 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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();
}
CUnit - Shield Points
Address | 59CD08 |
---|---|
Player ID | 19049 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
The amount of shield points that a unit have (*256).
CUnit - Unused 0x08C
Address | 59CD34 |
---|---|
Player ID | 19060 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
CUnit - Flingy Acceleration
Address | 59CCF0 |
---|---|
Player ID | 19043 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
CUnit - Player ID
Address | 59CCF4 |
---|---|
Player ID | 19044 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The owner of the cunit.
Mask: 0x000000FF *1
P1: 00
P2: 01
P3: 02
etc.
CUnit - Order Target Unit
Address | 59CD04 |
---|---|
Player ID | 19048 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
The unit targeted by another unit (Index Pointer).
CUnit - Order Coordinates
Address | 59CD00 |
---|---|
Player ID | 19047 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | 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
Hotkeyed Unit
Address | 57FE60 |
---|---|
Player ID | -10561 (Byte Offset: 0) |
Size | 864 |
Length | 8 |
SC:R | 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 18 hotkeys in existence.
12 * 18 = 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+(p216)+(h12)+i) == 3749 - u,
and for u = 0,
memory(-10561+(p216)+(h12)+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.
======================================
Further written by AINukeHere. (2021.08.24)
The above is very confusing because there are many wrong parts.
There are 12 unit slots for each hotkey, and each unit ID (Alpha ID) is 4 bytes.
That is, 48 bytes per hotkey.
Each player holds 18 hotkeys.
The 10 hotkeys (indices 0 to 9) are hotkeys designated by Ctrl+Number.
The remaining 8 (indices 10 to 17) hotkeys are units that are automatically saved whenever multiple units are selected.
It can be selected with Alt+Left Mouse Click.
So the allocated memory per player is 41218 = 864 bytes.
CUnit - Main Order Timer
Address | 59CCFC |
---|---|
Player ID | 19046 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
A timer for orders. An example would be the time left before a worker harvest the gas from a mine or transport unloading.
CUnit - Cooldown
Address | 59CCFD |
---|---|
Player ID | 19046 (Byte Offset: 1) |
Size | 1 |
Length | 3 |
SC:R | 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
CUnit - Main Order ID
Address | 59CCF5 |
---|---|
Player ID | 19044 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Specification of type of order given. See http://www.staredit.net/wiki/index.php?title=Orders.dat_Entry_Listing
Mask: 0x0000FF00 *256
CUnit - Main Order State
Address | 59CCF6 |
---|---|
Player ID | 19044 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | 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
CUnit - Order Signal
Address | 59CCF7 |
---|---|
Player ID | 19044 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | 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
Emp Shockwave Missiles (???)
Address | 59CDE0 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
The total amount of missiles from *all science vessel that you can see on the map.
*: Not completely tested and confirmed.
Mouse Left Click
Address | 5968AC |
---|---|
Player ID | 12626 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
Detects the left click of a mouse.
Use only actions that won't desync (check the Reference).
006D0F48
Displayed HP
Address | 6CA94D |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
The current HP of the selected unit.
Current Button Set
Address | 68C14C |
---|---|
Player ID | 264058 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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).
Inverse System Time
Address | 51CE8C |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
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.
Trigger Condition Function Array
Address | 515A98 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 24 |
SC:R |
Contains function pointers for all trigger conditions.
Mission Briefing Action Function Array
Address | 519E50 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 10 |
SC:R |
Contains function pointers for all mission briefing actions.
Trigger Execution Timer (Hyper triggers)
Address | 6509A0 |
---|---|
Player ID | 203151 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
CUnit - Sprite
Address | 59CCB4 |
---|---|
Player ID | 19028 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
Pointer to CSprite. Contains the graphics of the unit.
CUnit - Carrier/Reaver - Out Hangar Count
Address | 59CD71 |
---|---|
Player ID | 19075 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The amount of interceptors that a carrier has (*256).
Also:
Building - Upgrade type
CUnit - Building - Larva Spawn Timer
Address | 59CD72 |
---|---|
Player ID | 19075 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The remaining time left before a larva is created on buildings (*65536).
CUnit - Building - Landing Timer
Address | 59CD73 |
---|---|
Player ID | 19075 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Detects if a Terran building is landing (*16777216).
CUnit - Stim Timer
Address | 59CDBD |
---|---|
Player ID | 19094 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The amount of time remaining (*256) for the stim effect applied to a marine or firebat.
CUnit - Ensnare Timer
Address | 59CDBE |
---|---|
Player ID | 19094 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | 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)
CUnit - Lockdown Timer
Address | 59CDBF |
---|---|
Player ID | 19094 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | 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.
CUnit - Stasis Timer
Address | 59CDC1 |
---|---|
Player ID | 19095 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The amount of time remaining (*256) for stasis by a arbiter.
CUnit - Storm Timer
Address | 59CDC3 |
---|---|
Player ID | 19095 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
If a unit is under storm (*16777216)
CUnit - Blind State
Address | 59CDCB |
---|---|
Player ID | 19097 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Detects if a unit has been blinded (*16777216) by a medic.
CUnit - Button Set
Address | 59CD3C |
---|---|
Player ID | 19062 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
The current button set of a unit.
CUnit - Order Queue Count
Address | 59CD2C |
---|---|
Player ID | 19058 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The number of queued orders a unit currently has.
CUnit - Rally - Rally Unit
Address | 59CDA4 |
---|---|
Player ID | 19088 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
The unit that a building set their rally to (CUnit pointer).
For pylons:
Next Psi Provider (CUnit pointer)
CUnit - Is Healing
Address | 59CDAF |
---|---|
Player ID | 19090 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Detects if a unit is currently being healed (*16777216).
CUnit - Remove Timer
Address | 59CDB8 |
---|---|
Player ID | 19093 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
When this timer equals 0, the following are destroyed:
hallucinations
Swarm
Disruption Web
Broodlings
Could be more?
CUnit - Plague Timer
Address | 59CDC2 |
---|---|
Player ID | 19095 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Detects if a unit has been plagued by defiler (*65536)
CUnit - Unit beingBuilt
Address | 59CD94 |
---|---|
Player ID | 19084 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
The current unit that's being produced from a building. For a better description of what this does, more testing is necessary.
CUnit - Acid Spore 1/9
Address | 59CDCF |
---|---|
Player ID | 19098 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | 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.
CUnit - Acid Spore 2/9
Address | 59CDD0 |
---|---|
Player ID | 19099 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
Timer for 2nd of 9 acid spores applied to a unit
Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595
CUnit - Acid Spore Count
Address | 59CDCE |
---|---|
Player ID | 19098 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | 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.
CUnit - Acid Spore 3/9
Address | 59CDD1 |
---|---|
Player ID | 19099 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
Timer for 3rd of 9 acid spores applied to a unit (*256)
Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595
CUnit - Acid Spore 4/9
Address | 59CDD2 |
---|---|
Player ID | 19099 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
Timer for 4th of 9 acid spores applied to a unit (*65536)
Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595
CUnit - Acid Spore 5/9
Address | 59CDD3 |
---|---|
Player ID | 19099 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
Timer for 5th of 9 acid spores applied to a unit (*16777216)
Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595
CUnit - Acid Spore 6/9
Address | 59CDD4 |
---|---|
Player ID | 19100 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
Timer for 6th of 9 acid spores applied to a unit
Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595
CUnit - Acid Spore 7/9
Address | 59CDD5 |
---|---|
Player ID | 19100 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
Timer for 7th of 9 acid spores applied to a unit (*256)
Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595
CUnit - Acid Spore 8/9
Address | 59CDD6 |
---|---|
Player ID | 19100 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
Timer for 8th of 9 acid spores applied to a unit (*65536)
Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595
CUnit - Acid Spore 9/9
Address | 59CDD7 |
---|---|
Player ID | 19100 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
Timer for 9th of 9 acid spores applied to a unit (*16777216)
Refer to http://farty1billion.dyndns.org/EUDdb/?pg=entry&id=595
CUnit - Repulse Angle
Address | 59CDF5 |
---|---|
Player ID | 19108 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | 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.
CUnit - Drift X
Address | 59CDF6 |
---|---|
Player ID | 19108 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
For air units when they're pushed (*65536) on X-axis.
Formula from BWAPI: (mapsizex/1.5 max)
Need more testing.
CUnit - Drift Y
Address | 59CDF7 |
---|---|
Player ID | 19108 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
For air units when they're pushed (*16777216) on Y-axis.
Formula from BWAPI: (mapsizex/1.5 max)
Need more testing.
CUnit - Matrix Damage Absorption
Address | 59CDBA |
---|---|
Player ID | 19093 (Byte Offset: 2) |
Size | 2 |
Length | 1 |
SC:R | Supported |
The amount of damage the matrix has absorbed (*16777216).
Larva Count
Address | 585474 |
---|---|
Player ID | -5052 (Byte Offset: 0) |
Size | 12 |
Length | 1 |
SC:R |
(Why does this entry exist? Should be within the Completed Unit Counts Table)
The amount of larva a hatchery, lair, or hive currently have.
CUnit - Flingy Movement Type
Address | 59CCCF |
---|---|
Player ID | 19034 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The type of movement that the unit use (*16777216).
CUnit - Flingy ID
Address | 59CCCC |
---|---|
Player ID | 19034 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
The Flingy ID of the unit.
CUnit - Flingy Turn Radius
Address | 59CCCA |
---|---|
Player ID | 19033 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | 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
CUnit - Movement Flags
Address | 59CCC8 |
---|---|
Player ID | 19033 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | 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
CUnit - Next Target Waypoint
Address | 59CCC4 |
---|---|
Player ID | 19032 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Move Acceleration
Address | 59CCE0 |
---|---|
Player ID | 19039 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
CUnit - Move Speed
Address | 59CCE4 |
---|---|
Player ID | 19040 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
CUnit - Move Speed On X-Axis
Address | 59CCE8 |
---|---|
Player ID | 19041 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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).
CUnit - Move Speed On Y-Axis
Address | 59CCEC |
---|---|
Player ID | 19042 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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).
Order Destination Invalid (???)
Address | 59CD3C |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
"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
CUnit - Order Unit Type
Address | 59CCF8 |
---|---|
Player ID | 19045 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
228 = none?
CUNIT - Idle Order Timer
Address | 59CCF9 |
---|---|
Player ID | 19045 (Byte Offset: 1) |
Size | 4 |
Length | 1 |
SC:R |
(*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)
CUnit - Status Flags
Address | 59CD84 |
---|---|
Player ID | 19080 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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)
Units.dat - Portrait
Address | 662F88 |
---|---|
Player ID | 221961 (Byte Offset: 0) |
Size | 2 |
Length | 228 |
SC:R | Simple Data |
0xFFFF = No Portrait
Last Time for Drop Window
Address | 59CC78 |
---|---|
Player ID | 19013 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Accept Commands
Address | 6556E0 |
---|---|
Player ID | 208095 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
If 1, commands are accepted.
If 0, all commands are ignored.
s_button Offset
Address | 5187E8 |
---|---|
Player ID | -116447 (Byte Offset: 0) |
Size | 12 |
Length | 250 |
SC:R | 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)
Pointer to "MTXM" map tile data
Address | 5993C4 |
---|---|
Player ID | 15384 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
Portdata.dat - Idle SMK
Address | 655C58 |
---|---|
Player ID | 208445 (Byte Offset: 0) |
Size | 4 |
Length | 110 |
SC:R | Backed By Code |
1-based reference to portdata.tbl
Portdata.dat - Talking SMK
Address | 655E80 |
---|---|
Player ID | 208583 (Byte Offset: 0) |
Size | 4 |
Length | 110 |
SC:R | Backed By Code |
1-based reference to portdata.tbl
Portdata.dat - Idle SMK Change
Address | 655E10 |
---|---|
Player ID | 208555 (Byte Offset: 0) |
Size | 1 |
Length | 110 |
SC:R |
Portdata.dat - Talking SMK change
Address | 6560A8 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 1 |
Length | 110 |
SC:R |
Portdata.dat - Idle Unknown
Address | 656038 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 1 |
Length | 110 |
SC:R |
Portdata.dat - Talking unknown
Address | 656118 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 1 |
Length | 110 |
SC:R |
Sfxdata.dat - Sound file
Address | 68DAA0 |
---|---|
Player ID | 265679 (Byte Offset: 0) |
Size | 4 |
Length | 1144 |
SC:R |
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.
Sfxdata.dat - Priority
Address | 68D628 |
---|---|
Player ID | 265393 (Byte Offset: 0) |
Size | 1 |
Length | 1144 |
SC:R |
Unknown 1
Sfxdata.dat - Flags
Address | 68C8C0 |
---|---|
Player ID | 264535 (Byte Offset: 0) |
Size | 1 |
Length | 1144 |
SC:R |
Value is some combination of:
-
1 preload
-
2 unitSpeech
-
16 oneAtTime
-
32 neverPreempt
Sfxdata.dat - lengthAdjust
Address | 68CD38 |
---|---|
Player ID | 264821 (Byte Offset: 0) |
Size | 2 |
Length | 1144 |
SC:R |
Unknown 3
Sfxdata.dat - minVolume
Address | 68C448 |
---|---|
Player ID | 264249 (Byte Offset: 0) |
Size | 1 |
Length | 1144 |
SC:R |
Unknown 4
Mapdata.dat - Mission dir
Address | 59C080 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 65 |
SC:R |
Mapdata.tbl string index
GRP Array
Address | 51CED0 |
---|---|
Player ID | -111909 (Byte Offset: 0) |
Size | 4 |
Length | 999 |
SC:R | Read Only |
Pointer to each GRP for each images.dat entry
Player Units available
Address | 57F27C |
---|---|
Player ID | -11322 (Byte Offset: 0) |
Size | 228 |
Length | 12 |
SC:R | Simple Data |
1 row of 228 bytes, 1 per unit, per player
offset + (Cp * 228) + 100
Network Mode Delay
Address | 51CE84 |
---|---|
Player ID | -111928 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
1 in single player, 2 in LAN, 5 on battle.net.
Described at http://wiki.teamliquid.net/starcraft/LatencyChanger
Editted by PereC, 2021.03.31:
In SC:R, the value is always 1000
Network Mode Delay 2
Address | 51CE88 |
---|---|
Player ID | -111927 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
Appears to be a duplicate of 0x0051CE84. Not sure which value is the one that is actually used.
Editted by PereC, 2021.03.31:
In SC:R, the value is always 1000
First Empty Unit
Address | 628438 |
---|---|
Player ID | 161845 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
The address of the unit structure to be created
-added by jehn
Last Unit Pointer
Address | 6283F8 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
The value is pointer to the last unit in the unitNodeTable.
-added by jehn
CUnit - Resource - Resource Count
Address | 59CD78 |
---|---|
Player ID | 19077 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | 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
CUnit - Resource - Gatherer Queue Count
Address | 59CD7B |
---|---|
Player ID | 19077 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
as named in bwapi, or "Boolean on whether is extracted-added by jehn" ???
CUnit - Worker - Previous Harvest Unit
Address | 59CD7C |
---|---|
Player ID | 19078 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Worker - Harvest Target Unit
Address | 59CD78 |
---|---|
Player ID | 19077 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Unit Type
Address | 59CD0C |
---|---|
Player ID | 19050 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
Trigger Wait Timers
Address | 650980 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 8 |
SC:R |
Wait action timers for each player
Flingy.dat - Unused
Address | 6CA240 |
---|---|
Player ID | 327607 (Byte Offset: 0) |
Size | 1 |
Length | 209 |
SC:R | Simple Data |
Unused in DatEdit
Current Player Selection
Address | 6284B8 |
---|---|
Player ID | 161877 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Backed By Code |
Selection group of the current player
Seems to be duplicated at 0x59724C and 0x597208?
Replay Header - MapSize
Address | 6D0F64 |
---|---|
Player ID | 334592 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | Read Only |
2Byte MapWidth
2Byte MapHeight
struct networkGameHeader
MapSize
Address | 57F1D4 |
---|---|
Player ID | -11364 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | Simple Data |
2byte Width
2byte Height
width + 65536*height
stat_txt.tbl pointer
Address | 6D1238 |
---|---|
Player ID | 334773 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
Game Subtype ID
Address | 59BA5C |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
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
Images Damage Overlay Frame
Address | 5240D0 |
---|---|
Player ID | -104613 (Byte Offset: 0) |
Size | 1 |
Length | 999 |
SC:R | Simple Data |
First Image Pointer
Address | 57EB68 |
---|---|
Player ID | -11775 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
Pointer to the first CImage instance.
Last Image Pointer
Address | 57EB70 |
---|---|
Player ID | -11773 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
Pointer to the last CImage instance.
CUnit - Current Direction 1
Address | 59CCC9 |
---|---|
Player ID | 19033 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
256 directions starting from the top going clockwise.
0x0000FF00 - *256
CUnit - Velocity Direction 1
Address | 59CCCB |
---|---|
Player ID | 19033 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | 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.
CUnit - Flingy Top Speed
Address | 59CCDC |
---|---|
Player ID | 19038 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CUnit - Current Direction 2
Address | 59CCF2 |
---|---|
Player ID | 19043 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The direction a unit is currently facing (*65536)
THIS SHIT UPDATES WITH IDLE ANIMATION (GHOSTS/MARINES/FIREBATS ETC)
CUnit - Velocity Direction 2
Address | 59CCF3 |
---|---|
Player ID | 19043 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | 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
CUnit - Order Queue Timer
Address | 59CD2D |
---|---|
Player ID | 19058 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
BWAPI doc:
counts/cycles down from from 8 to 0 (inclusive). See also [Cycle Counter].
CUnit - Unknown 0x086
Address | 59CD2E |
---|---|
Player ID | 19058 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Pathing related?
CUnit - Attack Notify Timer
Address | 59CD2F |
---|---|
Player ID | 19058 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CUnit - Kill Count
Address | 59CD37 |
---|---|
Player ID | 19060 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The kill count of a unit (*16777216).
CUnit - Rank Increase
Address | 59CD36 |
---|---|
Player ID | 19060 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Adds to unit's base rank. (*65536)
CUnit - Is Cloaked
Address | 59CD3E |
---|---|
Player ID | 19062 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CUnit - Movement State
Address | 59CD3F |
---|---|
Player ID | 19062 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | 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
CUnit - Energy
Address | 59CD4A |
---|---|
Player ID | 19065 (Byte Offset: 2) |
Size | 2 |
Length | 1 |
SC:R | Supported |
Amount of energy a unit has. (value*256) * 65536
CUnit - Previous HP
Address | 59CD56 |
---|---|
Player ID | 19068 (Byte Offset: 2) |
Size | 2 |
Length | 1 |
SC:R | Supported |
The HP of the unit before it changed (example Drone->Hatchery, the Drone's HP will be stored here)
CUnit - Parasite Flags
Address | 59CDC9 |
---|---|
Player ID | 19097 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | 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
CUnit - Cycle Counter
Address | 59CDCA |
---|---|
Player ID | 19097 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Counts/cycles up from 0 to 7 inclusive (*65536)
CUnit - Unused Timer
Address | 59CDCD |
---|---|
Player ID | 19098 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Potentially from Valkyrie Afterburner or Ultralisk Roar.
CUnit - Irradiated By
Address | 59CDC4 |
---|---|
Player ID | 19096 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CUnit pointer to casting unit which irradiated this unit.
CUnit - Air Strength
Address | 59CDE0 |
---|---|
Player ID | 19103 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Unsupported |
CUnit - Ground Strength
Address | 59CDE2 |
---|---|
Player ID | 19103 (Byte Offset: 2) |
Size | 2 |
Length | 1 |
SC:R | Unsupported |
Sprite Table
Address | 629D98 |
---|---|
Player ID | 163469 (Byte Offset: 0) |
Size | 36 |
Length | 2500 |
SC:R | 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.
CSprite - Previous Entry
Address | 629D98 |
---|---|
Player ID | 163469 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CSprite - Next Entry
Address | 629D9C |
---|---|
Player ID | 163470 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CSprite - Sprite ID
Address | 629DA0 |
---|---|
Player ID | 163471 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
CSprite - Player ID
Address | 629DA2 |
---|---|
Player ID | 163471 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CSprite - Selection Index
Address | 629DA3 |
---|---|
Player ID | 163471 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Index in the selection area at the bottom of the screen.
CSprite - Visibility Flags
Address | 629DA4 |
---|---|
Player ID | 163472 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | 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
CSprite - Elevation Level
Address | 629DA5 |
---|---|
Player ID | 163472 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
CSprite - Draw Flags
Address | 629DA6 |
---|---|
Player ID | 163472 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | 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
CSprite - Selection Timer
Address | 629DA7 |
---|---|
Player ID | 163472 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
CSprite - Index
Address | 629DA8 |
---|---|
Player ID | 163473 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Unsupported |
CSprite - Unknown Flags 12
Address | 629DAA |
---|---|
Player ID | 163473 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
CSprite - Unknown flags 13
Address | 629DAB |
---|---|
Player ID | 163473 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Unsupported |
CSprite - Position
Address | 629DAC |
---|---|
Player ID | 163474 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | Unsupported |
65536*Y + X
CSprite - Primary Image
Address | 629DB0 |
---|---|
Player ID | 163475 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
Pointer to main CImage instance.
CSprite - Image Head
Address | 629DB4 |
---|---|
Player ID | 163476 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
Pointer to first CImage instance associated with this sprite.
CSprite - Image Tail
Address | 629DB8 |
---|---|
Player ID | 163477 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
Pointer to last CImage instance associated with this sprite.
Images.dat - Remapping Table (Drawing Function)
Address | 669E28 |
---|---|
Player ID | 229041 (Byte Offset: 0) |
Size | 1 |
Length | 999 |
SC:R | 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 (?)
iscript.bin pointer
Address | 6D1200 |
---|---|
Player ID | 334759 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
Storm Graphics Palette
Address | 1505E670 |
---|---|
Player ID | 86724803 (Byte Offset: 0) |
Size | 4 |
Length | 256 |
SC:R | Read Only |
Battle.snp Join Channel
Address | 1904613C |
---|---|
Player ID | 103477110 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Battle.snp Join Channel
Address | 1904613C |
---|---|
Player ID | 103477110 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Replay Header
Address | 6D0F30 |
---|---|
Player ID | 334579 (Byte Offset: 0) |
Size | 633 |
Length | 1 |
SC:R | Read Only |
https://github.com/bwapi/bwapi/blob/master/bwapi/BWAPI/Source/BW/Replay.h
Replay Header - Is Broodwar
Address | 6D0F30 |
---|---|
Player ID | 334579 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
Replay Header - Frame Count
Address | 6D0F31 |
---|---|
Player ID | 334579 (Byte Offset: 1) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
Replay Header - Campaign ID
Address | 6D0F35 |
---|---|
Player ID | 334580 (Byte Offset: 1) |
Size | 2 |
Length | 1 |
SC:R | Read Only |
Replay Header - Command ID
Address | 6D0F37 |
---|---|
Player ID | 334580 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct gameSeed
Replay Header - Rand Seed
Address | 6D0F38 |
---|---|
Player ID | 334581 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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)
Replay Header - Player Bytes
Address | 6D0F3C |
---|---|
Player ID | 334582 (Byte Offset: 0) |
Size | 1 |
Length | 8 |
SC:R | Read Only |
struct gameSeed
Replay Header - Unknown_0
Address | 6D0F44 |
---|---|
Player ID | 334584 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Game flags
Address | 6D0F60 |
---|---|
Player ID | 334591 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Active Player Count
Address | 6D0F68 |
---|---|
Player ID | 334593 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Available Slots
Address | 6D0F69 |
---|---|
Player ID | 334593 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Game Speed
Address | 6D0F6A |
---|---|
Player ID | 334593 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Game State
Address | 6D0F6B |
---|---|
Player ID | 334593 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Game Type
Address | 6D0FB1 |
---|---|
Player ID | 334611 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Unknown_1
Address | 6D0F6D |
---|---|
Player ID | 334594 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Game Subtype
Address | 6D0F6E |
---|---|
Player ID | 334594 (Byte Offset: 2) |
Size | 2 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Seed (Unused)
Address | 6D0F70 |
---|---|
Player ID | 334595 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Tileset
Address | 6D0F74 |
---|---|
Player ID | 334596 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Autosaved
Address | 6D0F76 |
---|---|
Player ID | 334596 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header- Computer Player Count
Address | 6D0F77 |
---|---|
Player ID | 334596 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Game Name
Address | 6D0F78 |
---|---|
Player ID | 334597 (Byte Offset: 0) |
Size | 1 |
Length | 25 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Map Name
Address | 6D0F91 |
---|---|
Player ID | 334603 (Byte Offset: 1) |
Size | 1 |
Length | 24 |
SC:R | Read Only |
struct networkGameHeader
Replay Header - Game Type
Address | 6D0FB1 |
---|---|
Player ID | 334611 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Unknown
Address | 6D0FB2 |
---|---|
Player ID | 334611 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Subtype
Address | 6D0FB3 |
---|---|
Player ID | 334611 (Byte Offset: 3) |
Size | 2 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Subtype display
Address | 6D0FB5 |
---|---|
Player ID | 334612 (Byte Offset: 1) |
Size | 2 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Subtype Label
Address | 6D0FB7 |
---|---|
Player ID | 334612 (Byte Offset: 3) |
Size | 2 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Victory Condition
Address | 6D0FB9 |
---|---|
Player ID | 334613 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Resource Type
Address | 6D0FBA |
---|---|
Player ID | 334613 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Use Standard Units
Address | 6D0FBB |
---|---|
Player ID | 334613 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
boolean
struct networkGameHeader.gameTemplateInfo
Replay Header - Fog of War (Unused)
Address | 6D0FBC |
---|---|
Player ID | 334614 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Starting Units
Address | 6D0FBD |
---|---|
Player ID | 334614 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Use Fixed Positions
Address | 6D0FBE |
---|---|
Player ID | 334614 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
boolean
struct networkGameHeader.gameTemplateInfo
Replay Header - Usage Restriction Flags
Address | 6D0FBF |
---|---|
Player ID | 334614 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Allies Allowed
Address | 6D0FC0 |
---|---|
Player ID | 334615 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
boolean
struct networkGameHeader.gameTemplateInfo
Replay Header - Teams
Address | 6D0FC1 |
---|---|
Player ID | 334615 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Cheats
Address | 6D0FC2 |
---|---|
Player ID | 334615 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
boolean
struct networkGameHeader.gameTemplateInfo
Replay Header - Tournament Mode
Address | 6D0FC3 |
---|---|
Player ID | 334615 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Victory Condition Value
Address | 6D0FC4 |
---|---|
Player ID | 334616 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Resources Value
Address | 6D0FC8 |
---|---|
Player ID | 334617 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Unused value
Address | 6D0FCC |
---|---|
Player ID | 334618 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Extra
Address | 6D0FD0 |
---|---|
Player ID | 334619 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Read Only |
struct networkGameHeader.gameTemplateInfo
Replay Header - Player Entries
Address | 6D0FD1 |
---|---|
Player ID | 334619 (Byte Offset: 1) |
Size | 36 |
Length | 12 |
SC:R | 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.
Replay Header - Player Colors
Address | 6D1181 |
---|---|
Player ID | 334727 (Byte Offset: 1) |
Size | 4 |
Length | 8 |
SC:R | Read Only |
Replay Header - Player Force Data
Address | 6D11A1 |
---|---|
Player ID | 334735 (Byte Offset: 1) |
Size | 1 |
Length | 8 |
SC:R | Read Only |
Unit Reqs data
Address | 514178 |
---|---|
Player ID | -120955 (Byte Offset: 0) |
Size | 1090 |
Length | 1 |
SC:R | 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.
Upgrade Reqs data
Address | 5145C0 |
---|---|
Player ID | -120681 (Byte Offset: 0) |
Size | 838 |
Length | 1 |
SC:R | Simple Data |
Research Req Data
Address | 514908 |
---|---|
Player ID | -120471 (Byte Offset: 0) |
Size | 318 |
Length | 1 |
SC:R | Simple Data |
Tech Use Req Data
Address | 514A48 |
---|---|
Player ID | -120391 (Byte Offset: 0) |
Size | 688 |
Length | 1 |
SC:R | Simple Data |
Order Req Data
Address | 514CF8 |
---|---|
Player ID | -120219 (Byte Offset: 0) |
Size | 1316 |
Length | 1 |
SC:R | Simple Data |
Player 1 Trigger List
Address | 51A280 |
---|---|
Player ID | -114745 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Backed By Code |
Player 2 Trigger List
Address | 51A28C |
---|---|
Player ID | -114742 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Backed By Code |
Player 3 Trigger List
Address | 51A298 |
---|---|
Player ID | -114739 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Backed By Code |
Player 4 Trigger List
Address | 51A2A4 |
---|---|
Player ID | -114736 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Backed By Code |
Player 5 Trigger List
Address | 51A2B0 |
---|---|
Player ID | -114733 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Backed By Code |
Player 6 Trigger List
Address | 51A2BC |
---|---|
Player ID | -114730 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Backed By Code |
Player 7 Trigger List
Address | 51A2C8 |
---|---|
Player ID | -114727 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Backed By Code |
Player 8 Trigger List
Address | 51A2D4 |
---|---|
Player ID | -114724 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Backed By Code |
Fog of War Update Counter
Address | 51CE98 |
---|---|
Player ID | -111923 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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)
Number of Factories Razed
Address | 582114 |
---|---|
Player ID | -8340 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Simple Data |
Kills for "Factories" stored here.
Starting Player Local ID
Address | 57F1B0 |
---|---|
Player ID | -11373 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Player Slot Types
Address | 57F1B4 |
---|---|
Player ID | -11372 (Byte Offset: 0) |
Size | 1 |
Length | 12 |
SC:R | Simple Data |
Player Slot Races
Address | 57F1C0 |
---|---|
Player ID | -11369 (Byte Offset: 0) |
Size | 1 |
Length | 12 |
SC:R | Simple Data |
Team Game Main Player
Address | 57F1CC |
---|---|
Player ID | -11366 (Byte Offset: 0) |
Size | 1 |
Length | 4 |
SC:R | Simple Data |
Screen Tile Position
Address | 57F1D0 |
---|---|
Player ID | -11365 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | Simple Data |
Messsage Send To Filter
Address | 57F1D8 |
---|---|
Player ID | -11363 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | Simple Data |
Message Player Filter
Address | 57F1DA |
---|---|
Player ID | -11363 (Byte Offset: 2) |
Size | 2 |
Length | 2 |
SC:R | Simple Data |
Should be within the previous entry
Current Music
Address | 57F1DE |
---|---|
Player ID | -11362 (Byte Offset: 2) |
Size | 2 |
Length | 2 |
SC:R | Simple Data |
BWGame Unk_f0
Address | 57F1E0 |
---|---|
Player ID | -11361 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
Is Custom Single Player
Address | 57F1E3 |
---|---|
Player ID | -11361 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
BWGame unk_f4
Address | 57F1E4 |
---|---|
Player ID | -11360 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
BWGame unk_f8
Address | 57F1E8 |
---|---|
Player ID | -11359 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Saved Elapsed Seconds
Address | 57F240 |
---|---|
Player ID | -11337 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Single Player Race
Address | 57F266 |
---|---|
Player ID | -11328 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
Single Player Computer Races
Address | 57F267 |
---|---|
Player ID | -11328 (Byte Offset: 3) |
Size | 1 |
Length | 8 |
SC:R | Simple Data |
BWGame unk_17F
Address | 57F26F |
---|---|
Player ID | -11326 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
Saved Screen Positions
Address | 57F270 |
---|---|
Player ID | -11325 (Byte Offset: 0) |
Size | 4 |
Length | 3 |
SC:R | Simple Data |
Pos 1: -11325
X + 65536*Y
Pos 2: -11324
X + 65536*Y
Pos 3: -11323
X + 65536*Y
BWGame unk_c3c
Address | 57FD2C |
---|---|
Player ID | -10638 (Byte Offset: 0) |
Size | 1 |
Length | 8 |
SC:R | Simple Data |
BWGame unk_2870
Address | 581960 |
---|---|
Player ID | -8833 (Byte Offset: 0) |
Size | 1 |
Length | 1024 |
SC:R | Simple Data |
Default Message Filter
Address | 581D60 |
---|---|
Player ID | -8577 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | 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
Player Lose Type
Address | 581D61 |
---|---|
Player ID | -8577 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
Player Left
Address | 581D62 |
---|---|
Player ID | -8577 (Byte Offset: 2) |
Size | 1 |
Length | 8 |
SC:R | Simple Data |
BWGame unk_2cf2
Address | 581DE2 |
---|---|
Player ID | -8545 (Byte Offset: 2) |
Size | 1 |
Length | 2 |
SC:R | Simple Data |
SC Tech Research In Progress
Address | 58D064 |
---|---|
Player ID | 2880 (Byte Offset: 0) |
Size | 1 |
Length | 36 |
SC:R | Simple Data |
Who knows
SC Upgrade in Progress Lvl 1 (Unused?)
Address | 58D4D8 |
---|---|
Player ID | 3165 (Byte Offset: 0) |
Size | 1 |
Length | 72 |
SC:R | Simple Data |
Who knows
SC Upgrade in Progress Lvl 2 (Unused?)
Address | 58D520 |
---|---|
Player ID | 3183 (Byte Offset: 0) |
Size | 1 |
Length | 72 |
SC:R | Simple Data |
Who knows
SC Upgrade in Progress Lvl 3 (???)
Address | 59D568 |
---|---|
Player ID | 19585 (Byte Offset: 0) |
Size | 1 |
Length | 72 |
SC:R |
Who knows
Elapsed Time
Address | 58D6F8 |
---|---|
Player ID | 3301 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
SC Switch Table (Unused?)
Address | 58D6FC |
---|---|
Player ID | 3302 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
32 switches, probably pre-1.04 when number of switches was increased to 256.
Player Victory Status
Address | 58D700 |
---|---|
Player ID | 3303 (Byte Offset: 0) |
Size | 1 |
Length | 8 |
SC:R | Simple Data |
Leaderboard Has Computer Players
Address | 58D708 |
---|---|
Player ID | 3305 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Leader Board Type
Address | 58D70C |
---|---|
Player ID | 3306 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
Leader Board Condition
Address | 58D70D |
---|---|
Player ID | 3306 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
Leader Board Subtype
Address | 58D70E |
---|---|
Player ID | 3306 (Byte Offset: 2) |
Size | 2 |
Length | 1 |
SC:R | Simple Data |
Leader Board Goal
Address | 58D710 |
---|---|
Player ID | 3307 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Leader Board String Index
Address | 58D714 |
---|---|
Player ID | 3308 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
BW Tech Research In Progress
Address | 58F230 |
---|---|
Player ID | 0 (Byte Offset: 0) |
Size | 1 |
Length | 72 |
SC:R |
[SCR: Simple data]
Who knows
BW Upgrade In Progress
Address | 58F3E0 |
---|---|
Player ID | 5151 (Byte Offset: 0) |
Size | 1 |
Length | 96 |
SC:R | Simple Data |
Who knows
BWGame unk_10351
Address | 58F441 |
---|---|
Player ID | 5175 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Simple Data |
Unknown Player Color Something
Address | 58F442 |
---|---|
Player ID | 5175 (Byte Offset: 2) |
Size | 1 |
Length | 8 |
SC:R | Simple Data |
BWGame "Literally Unused"
Address | 58F44A |
---|---|
Player ID | 5177 (Byte Offset: 2) |
Size | 1 |
Length | 29604 |
SC:R | Simple Data |
Trigger Current Player aka CP Trick
Address | 6509B0 |
---|---|
Player ID | 203155 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
TranWire.grp pointer
Address | 68C1F4 |
---|---|
Player ID | 264100 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
GrpWire.grp Pointer
Address | 68C1FC |
---|---|
Player ID | 264102 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
Wirefram.grp Pointer
Address | 68C204 |
---|---|
Player ID | 264104 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
AIScript pointer
Address | 68C104 |
---|---|
Player ID | 264040 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
BWScript pointer
Address | 68C108 |
---|---|
Player ID | 264041 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
CUnit - Previous Unit
Address | 59CCA8 |
---|---|
Player ID | 19025 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CUnit - Next Unit
Address | 59CCAC |
---|---|
Player ID | 19026 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CUnit - Target Pos
Address | 59CCB8 |
---|---|
Player ID | 19029 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | Supported |
X + 65536*Y
CUnit - Target Unit
Address | 59CCBC |
---|---|
Player ID | 19030 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CUnit target pointer
Damage type/factor multipliers vs unit size
Address | 65678C |
---|---|
Player ID | 209162 (Byte Offset: 0) |
Size | 20 |
Length | 5 |
SC:R |
(What's this?)
Display Text
Address | 640B60 |
---|---|
Player ID | 186879 (Byte Offset: 0) |
Size | 218 |
Length | 13 |
SC:R | Backed By Code |
Line IDs:
0-10: display text lines (first line defined by 0x640B58 - Next Display Text Line)
11: ?
12: status message
Next Display Text Line
Address | 640B58 |
---|---|
Player ID | 186877 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Send Message Type
Address | 68C144 |
---|---|
Player ID | 264056 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
Can be used to check if send message box is open (At Least 1)
Active Tile Buffer
Address | 6D0E84 |
---|---|
Player ID | 334536 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
Pointer to u16 array of active map tiles.
Last Random Number
Address | 51CA14 |
---|---|
Player ID | -112212 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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;
}
glScrollPixelX
Address | 62848C |
---|---|
Player ID | 161866 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
Duplicate of screen coordinates?
glScrollPixelY
Address | 6284A8 |
---|---|
Player ID | 161873 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Read Only |
Duplicate of screen coordinates?
gfpCellMap
Address | 628494 |
---|---|
Player ID | 161868 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
Pointer to VX4 megatile buffer?
Creep Tile Backup Buffer
Address | 6D0C68 |
---|---|
Player ID | 334401 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Tile Buffer Height
Address | 6D0C6C |
---|---|
Player ID | 334402 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
Copy of Map Height?
Tile Function Pointers
Address | 6D0C70 |
---|---|
Player ID | 334403 (Byte Offset: 0) |
Size | 4 |
Length | 4 |
SC:R | 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
Tile Buffer Width
Address | 6D0F08 |
---|---|
Player ID | 334569 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
Copy of Map Width
Tile Flags Pointer
Address | 6D1260 |
---|---|
Player ID | 334783 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CV5 Pointer
Address | 6D5EC8 |
---|---|
Player ID | 339673 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Backed By Code |
Creep Overlay Buffer
Address | 6D0E80 |
---|---|
Player ID | 334535 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Unsupported |
Pointer to u8 flags relating to the creep overlay for each map tile.
gameTextCounters
Address | 640B24 |
---|---|
Player ID | 186864 (Byte Offset: 0) |
Size | 4 |
Length | 12 |
SC:R | Unsupported |
Contains the tick count for when the message should disappear. Corresponds to the same index of game text.
CUnit - Next Movement Waypoint
Address | 59CCC0 |
---|---|
Player ID | 19031 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | 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)
CUnit - Previous Player Unit
Address | 59CD10 |
---|---|
Player ID | 19051 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
Pointer to previous CUnit owned by the same player
CUnit - Next Player Unit
Address | 59CD14 |
---|---|
Player ID | 19052 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
Pointer to the next CUnit owned by the same player.
CUnit - Sub Unit
Address | 59CD18 |
---|---|
Player ID | 19053 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
Pointer to this unit's subunit CUnit.
CUnit - Order Queue Head
Address | 59CD1C |
---|---|
Player ID | 19054 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
(Unsupported?) Pointer to COrder
CUnit - Order Queue Tail
Address | 59CD20 |
---|---|
Player ID | 19055 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
(Unsupported?)
Pointer to COrder.
CUnit - Auto-Target Unit
Address | 59CD24 |
---|---|
Player ID | 19056 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
Pointer to CUnit.
The auto-acquired target (Note: This field is actually used for different targets internally, especially by the AI) (bwapi)
CUnit - Connected Unit
Address | 59CD28 |
---|---|
Player ID | 19057 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
Pointer to CUnit.
Addon is connected to building (addon has conntected building, but not in other direction (officially "pAttached") (bwapi)
CUnit - Previous Unit Type
Address | 59CD30 |
---|---|
Player ID | 19059 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R |
(Unsupported?)
Stores the type of the unit prior to being morphed/constructed (bwapi)
CUnit - Last Event Timer
Address | 59CD32 |
---|---|
Player ID | 19059 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R |
(Unsupported?)
countdown that stops being recent when it hits 0 (bwapi)
CUnit - Last Event Color
Address | 59CD33 |
---|---|
Player ID | 19059 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R |
(Unsupported?
17 = was completed (train, morph), 174 = was attacked (bwapi)
CUnit - Last Attacking Player
Address | 59CD38 |
---|---|
Player ID | 19061 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The player that last attacked this unit
CUnit - Secondary Order Timer
Address | 59CD39 |
---|---|
Player ID | 19061 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CUnit - AI Action Flag
Address | 59CD3A |
---|---|
Player ID | 19061 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Internal use by AI only (bwapi)
CUnit - User Action Flags
Address | 59CD3B |
---|---|
Player ID | 19061 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Some flags that change when the user interacts with the unit
2 = issued an order
3 = interrupted an order
4 = self destructing
(bwapi)
CUnit - Build Queue
Address | 59CD40 |
---|---|
Player ID | 19063 (Byte Offset: 0) |
Size | 2 |
Length | 5 |
SC:R | Supported |
Queue of units to build. Note that it doesn't begin with index 0, but with #buildQueueSlot index. (bwapi)
CUnit - Build Queue Slot
Address | 59CD4C |
---|---|
Player ID | 19066 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Index of active unit in #buildQueue. (bwapi)
CUnit - Uniqueness Identifier
Address | 59CD4D |
---|---|
Player ID | 19066 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
A byte used to determine uniqueness of the unit
CUnit - Secondary Order ID
Address | 59CD4E |
---|---|
Player ID | 19066 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
The order ID for passive orders such as Cloak, Build, ExpandCreep, cloaking field, etc.
CUnit - Building Overlay State
Address | 59CD4F |
---|---|
Player ID | 19066 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
0 means the building has the largest amount of fire/blood (bwapi)
CUnit - HP Gain
Address | 59CD50 |
---|---|
Player ID | 19067 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
hp gained on construction or repair (bwapi)
Cunit - Shield Gain
Address | 59CD52 |
---|---|
Player ID | 19067 (Byte Offset: 2) |
Size | 2 |
Length | 1 |
SC:R | Supported |
Shield gain on construction (bwapi)
CUnit - Loaded Unit Index
Address | 59CD58 |
---|---|
Player ID | 19069 (Byte Offset: 0) |
Size | 2 |
Length | 8 |
SC:R | Unsupported |
(Unsupported?)
Unit ID's (not pointers) of loaded units.
CUnit - Resource Type
Address | 59CD88 |
---|---|
Player ID | 19081 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R |
(Unsupported?)
Resource being held by worker:
1 = gas
2 = ore
(bwapi)
CUnit - Wireframe Randomizer
Address | 59CD89 |
---|---|
Player ID | 19081 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R |
(Unsupported?)
CUnit - Secondary Order State
Address | 59CD8A |
---|---|
Player ID | 19081 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R |
(Unsupported?)
CUnit - Recent Order Time
Address | 59CD8B |
---|---|
Player ID | 19081 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R |
(Unsupported?)
Counts down from 15 to 0 when most orders are given, or when the unit moves after reaching a patrol location (bwapi)
CUnit - Visiblity Status
Address | 59CD8C |
---|---|
Player ID | 19082 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
(Unsupported?)
Flags specifying which players can detect this unit (cloaked/burrowed) (bwapi)
CUnit - Secondary Order Position
Address | 59CD90 |
---|---|
Player ID | 19083 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R |
(Unsupported?)
Unused according to bwapi.
0x0000FFFF x-coord
0xFFFF0000 y-coord
CUnit - Previous Burrowed Unit
Address | 59CD98 |
---|---|
Player ID | 19085 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
(Unsupported?)
CUnit pointer to previous burrowed unit
CUnit - Next Burrowed Unit
Address | 59CD9C |
---|---|
Player ID | 19086 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
(Unsupported?)
Pointer to CUnit of next burrowed unit
CUnit - Pathing Pointer
Address | 59CDA8 |
---|---|
Player ID | 19089 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
(Unsupported?)
Pointer to pathing data.
CUnit - Pathing Collision Interval
Address | 59CDAC |
---|---|
Player ID | 19090 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Unknown?
CUnit - Pathing Flags
Address | 59CDAD |
---|---|
Player ID | 19090 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
0x01 = uses pathing
0x02 = ?
0x04 = ?
(bwapi)
CUnit - Contour Bounds
Address | 59CDB0 |
---|---|
Player ID | 19091 (Byte Offset: 0) |
Size | 2 |
Length | 4 |
SC:R |
(Unsupported?)
a rect that specifies the closest contour (collision) points (bwapi)
s16 left, s16 top, s16 bottom, s16 right ?
CUnit - Bullet Behavior 3x3 Attack
Address | 59CDD8 |
---|---|
Player ID | 19101 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R |
(Unsupported?)
Counts up for the number of bullets shot by a unit using this weapon behaviour and resets after it reaches 12 (bwapi)
CUnit - AI Data
Address | 59CDDC |
---|---|
Player ID | 19102 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R |
(Unsupported?)
Pointer to AI class
CUnit - Unit Finder
Address | 59CDE4 |
---|---|
Player ID | 19104 (Byte Offset: 0) |
Size | 4 |
Length | 4 |
SC:R |
(Unsupported?)
PID+0 left
PID+1 right
PID+2 top
PID+3 bottom
CUnit - Repulse Unknown
Address | 59CDF4 |
---|---|
Player ID | 19108 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CUnit - Carrier/Reaver - In Hangar
Address | 59CD68 |
---|---|
Player ID | 19073 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Scarab/Interceptor - Parent Unit
Address | 59CD68 |
---|---|
Player ID | 19073 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Beacon - Unknown +00
Address | 59CD68 |
---|---|
Player ID | 19073 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Building - Addon
Address | 59CD68 |
---|---|
Player ID | 19073 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Worker - Powerup Unit
Address | 59CD68 |
---|---|
Player ID | 19073 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Carrier/Reaver - Out Hanger
Address | 59CD6C |
---|---|
Player ID | 19074 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Scarab/Interceptor - Previous
Address | 59CD6C |
---|---|
Player ID | 19074 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Beacon - Unknown +04
Address | 59CD6C |
---|---|
Player ID | 19074 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Building - Addon Building Type
Address | 59CD6C |
---|---|
Player ID | 19074 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
Also:
Carrier/Reaver: pointer to first child outside the hangar
Scarab/Interceptor: pointer to previous
Beacon: Unknown
Worker: Target resource coordinates
CUnit - Worker - Target Resource Coord
Address | 59CD6C |
---|---|
Player ID | 19074 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | 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
CUnit - Building - Upgrade/Research Time
Address | 59CD6E |
---|---|
Player ID | 19074 (Byte Offset: 2) |
Size | 2 |
Length | 1 |
SC:R | Supported |
CUnit - Scarab/Interceptor - Next
Address | 59CD70 |
---|---|
Player ID | 19075 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Beacon - Flag Spawn Frame
Address | 59CD70 |
---|---|
Player ID | 19075 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Building - Tech Type
Address | 59CD70 |
---|---|
Player ID | 19075 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Also:
Carrier/Reaver - number of units in hangar
Scarab/Interceptor - pointer to next scarab/interceptor
Beacon - Flag spawn frame
Worker - Target resource pointer
CUnit - Worker - Target Resource Unit
Address | 59CD70 |
---|---|
Player ID | 19075 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Building - Upgrade Type
Address | 59CD71 |
---|---|
Player ID | 19075 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Also:
Carrier/Reaver - Out hangar count
CUnit - Scarab/Interceptor - In Hanger
Address | 59CD74 |
---|---|
Player ID | 19076 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Boolean value?
Also:
Building - Creep timer
Worker - Repair/resource timer
CUnit - Building - Creep Timer
Address | 59CD74 |
---|---|
Player ID | 19076 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Also:
Scarab/Interceptor - In hangar
Worker - Repair/resource timer
CUnit - Worker - Repair/Resource Timer
Address | 59CD74 |
---|---|
Player ID | 19076 (Byte Offset: 0) |
Size | 2 |
Length | 1 |
SC:R | Supported |
Also:
Scarab/Interceptor - In hangar
Building - Creep timer
CUnit - Building - Upgrade Level
Address | 59CD75 |
---|---|
Player ID | 19076 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CUnit - Worker - Is Carring Something
Address | 59CD76 |
---|---|
Player ID | 19076 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CUnit - Worker - Resource Carry Count
Address | 59CD77 |
---|---|
Player ID | 19076 (Byte Offset: 3) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CUnit - Nydus - Exit Unit
Address | 59CD78 |
---|---|
Player ID | 19077 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Ghost - Nuke Dot Sprite
Address | 59CD78 |
---|---|
Player ID | 19077 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Pylon - Power Overlay Sprite
Address | 59CD78 |
---|---|
Player ID | 19077 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Nuke Silo - Attached Nuke
Address | 59CD78 |
---|---|
Player ID | 19077 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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
CUnit - Powerup - Origin Coordinates
Address | 59CD78 |
---|---|
Player ID | 19077 (Byte Offset: 0) |
Size | 2 |
Length | 2 |
SC:R | 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
CUnit - Hatchery? - Harvest Value
Address | 59CD78 |
---|---|
Player ID | 19077 (Byte Offset: 0) |
Size | 2 |
Length | 4 |
SC:R | 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
CUnit - Resource - Resource IScript
Address | 59CD7A |
---|---|
Player ID | 19077 (Byte Offset: 2) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Current iscript animation ?
CUnit - Resource - Next Gatherer
Address | 59CD7C |
---|---|
Player ID | 19078 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CUnit pointer to the next worker unit waiting in line to gather
Also:
Silo - Ready
Worker - Previous harvest unit
CUnit - Silo - Ready
Address | 59CD7C |
---|---|
Player ID | 19078 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Also:
Resource - Next gatherer
Worker - Previous harvest unit
CUnit - Resource - Resource Group
Address | 59CD80 |
---|---|
Player ID | 19079 (Byte Offset: 0) |
Size | 1 |
Length | 1 |
SC:R | Supported |
Also:
Worker - Next harvest unit
CUnit - Worker - Next Harvest Unit
Address | 59CD80 |
---|---|
Player ID | 19079 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
Also:
Resource - Resource group/resource belongs to AI
CUnit - Resource - Reource Belongs to AI
Address | 59CD81 |
---|---|
Player ID | 19079 (Byte Offset: 1) |
Size | 1 |
Length | 1 |
SC:R | Supported |
CUnit - Pylon - Previous Psi Provider
Address | 59CDA0 |
---|---|
Player ID | 19087 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CUnit pointer to previous psi provider
For other buildings:
The coordinates of a rally from a building
CUnit - Pylon - Next Psi Provider
Address | 59CDA4 |
---|---|
Player ID | 19088 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
CUnit pointer to next psi provider
For other buildings:
The unit that a building set their rally to
Damage type/factor multipliers vs unit size
Address | 65678C |
---|---|
Player ID | 209162 (Byte Offset: 0) |
Size | 20 |
Length | 5 |
SC:R |
(What's this?)
Game Brightness
Address | 657A9C |
---|---|
Player ID | 210382 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | 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.
Fog of War Masks
Address | 657AA0 |
---|---|
Player ID | 210383 (Byte Offset: 0) |
Size | 1 |
Length | 4096 |
SC:R | 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).
Mouse Button State
Address | 6CDDC0 |
---|---|
Player ID | 331415 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Simple Data |
2: Left button pressed. 8: Right button pressed. 32: Middle button pressed
Edited by PereC, 2021.03.29
Network Buffer
Address | 654880 |
---|---|
Player ID | 207175 (Byte Offset: 0) |
Size | 496 |
Length | 1 |
SC:R | 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
Network Buffer Used
Address | 654AA0 |
---|---|
Player ID | 207311 (Byte Offset: 0) |
Size | 4 |
Length | 1 |
SC:R | Supported |
Command queue (0x00654880) space used.
Edited by PereC, 2021.04.03
Mouse and Keyboard Scroll Speed
Address | 513B68 |
---|---|
Player ID | -121343 (Byte Offset: 0) |
Size | 7 |
Length | 7 |
SC:R | 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
Mouse Scroll Speed Array
Address | 513B68 |
---|---|
Player ID | -121343 (Byte Offset: 0) |
Size | 7 |
Length | 7 |
SC:R | Supported |
Amount of Mouse Scroll Speed. Array index dependent on mouse scroll level (0 to 6).
Unit Infomation
Address | 5193A0 |
---|---|
Player ID | -115697 (Byte Offset: 0) |
Size | 12 |
Length | 228 |
SC:R | 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