![]() |
#1 |
Moderator
Code Moderator
Join Date: Feb 2006
Posts: 1,405
![]() ![]() ![]() ![]() |
![]() Here are some things I discovered about variables today. There is nothing surprising but I think some of you may be interested in the specific numbers and details.
Every variable in JASS is a node in the linked list of a hash table bucket. Throughout warcraft one inlined hash table implementation is used with varying node types. For variables, the node looks like: Code:
typedef struct Variable { long hash; // 0x0 struct HT_Bucket *parent; // 0x4 struct Variable *next; // 0x8 char unk[0x8]; // 0xC long name; // 0x14 long vartype; // 0x18 long vartype2; // 0x1C long value; // 0x20 } Variable; The size of the hashtable is always a power of two. To hash into it, storm.dll implements some complex hash function (Ordinal 590, SStrHash2). The result is bitwise and'd with the size of the table minus one. I have never seen a hash table resized, but I haven't proved it never happens. Variable nodes occur in four contexts
To look up a variable, first the VM checks if it is in the local scope, then global. In principle this should work fine, I don't know why overriding more than one global fails catastrophically. You could get a statistically minor performance boost by choosing your names to avoid collisions for frequently used variables. With some trickery you could call or reverse SStrHash2 and it could be implemented in an optimizer. Attached is a war3err.dll for grimoire which includes four inspection functions ![]() call ExecuteFunc("war3err_LocalHTSize") //report size of global hashtable call ExecuteFunc("war3err_GlobalHTSize") //report size of local hashtable call ExecuteFunc("war3err_DumpLocalHT") //print local hash table to war3err log call ExecuteFunc("war3err_DumpGlobalHT") //print global hash table to war3err log Sample global table: Code:
Global table HT Bucket 0 bj_UNIT_STATE_METHOD_RELATIVE 4 1 PLAYER_COLOR_LIGHT_GRAY 7 8 HT Bucket 1 MAP_PLACEMENT_RANDOM 7 0 HT Bucket 2 HT Bucket 3 bj_MAX_DEST_IN_REGION_EVENTS 4 40 HT Bucket 4 DAMAGE_TYPE_PLANT 7 14 HT Bucket 5 CAMERA_FIELD_TARGET_DISTANCE 7 0 DAMAGE_TYPE_SONIC 7 f HT Bucket 6 bj_slotControlUsed 13 79f00b8 bj_CINEMATICINDEX_NOP 4 7 HT Bucket 7 HT Bucket 8 bj_stockItemPurchased 7 100056 ALLIANCE_SHARED_SPELLS 7 4 HT Bucket 9 LESS_THAN 7 0 HT Bucket 10 bj_destInRegionDiesTrig 7 0 PLAYER_SCORE_MERCS_HIRED 7 9 RACE_PREF_UNDEAD 7 8 PLAYER_COLOR_BROWN 7 b HT Bucket 11 HT Bucket 12 CAMERA_MARGIN_LEFT 4 0 PLAYER_SCORE_TOTAL 7 18 MAP_USE_HANDICAPS 7 8 WEAPON_TYPE_METAL_HEAVY_BASH 7 8 HT Bucket 13 UNIT_TYPE_TOWNHALL 7 12 AI_DIFFICULTY_NORMAL 7 1 HT Bucket 14 HT Bucket 15 bj_MINIMAPPINGSTYLE_ATTACK 4 2 bj_MISSION_INDEX_H05 4 3ed EVENT_UNIT_RESCUED 7 3f HT Bucket 16 bj_KEYEVENTKEY_LEFT 4 0 HT Bucket 17 bj_delayedSuspendDecayTrig 7 10003d GREATER_THAN 7 4 EVENT_PLAYER_ARROW_LEFT_UP 7 106 HT Bucket 18 RACE_PREF_NIGHTELF 7 4 HT Bucket 19 bj_ITEM_STATUS_OWNED 4 1 bj_CAMPAIGN_INDEX_O 4 3 UNIT_TYPE_DEAD 7 1 HT Bucket 20 EVENT_PLAYER_UNIT_PICKUP_ITEM 7 31 DAMAGE_TYPE_LIGHTNING 7 a HT Bucket 21 EVENT_PLAYER_HERO_LEVEL 7 29 SOUND_VOLUMEGROUP_AMBIENTSOUNDS 7 6 HT Bucket 22 bj_lastCreatedWeatherEffect 7 0 bj_slotControl 12 79f00d8 bj_MISSION_INDEX_N04 4 fa4 bj_MISSION_INDEX_T00 4 0 MAP_FOG_HIDE_TERRAIN 7 1 HT Bucket 23 bj_enumDestructableCenter 7 0 DAMAGE_TYPE_SPIRIT_LINK 7 18 HT Bucket 24 bj_CAMPAIGN_INDEX_XO 4 8 PLAYER_SCORE_GOLD_LOST_TAX 7 d HT Bucket 25 PLAYER_STATE_GAME_RESULT 7 0 HT Bucket 26 bj_MISSION_INDEX_XH05 4 3ed EVENT_UNIT_RESEARCH_FINISH 7 4a EVENT_PLAYER_UNIT_TRAIN_START 7 20 HT Bucket 27 bj_MELEE_MAX_TWINKED_HEROES 4 1 bj_MISSION_INDEX_XU09 4 7d9 bj_MISSION_INDEX_O06 4 bbe HT Bucket 28 bj_cineSceneLastSound 7 0 bj_GATEOPERATION_CLOSE 4 0 bj_MISSION_INDEX_XH04 4 3ec HT Bucket 29 bj_MISSION_INDEX_H06 4 3ee PLAYER_SCORE_LUMBER_RECEIVED 7 14 HT Bucket 30 bj_QUESTTYPE_OPT_UNDISCOVERED 4 3 HT Bucket 31 bj_MISSION_INDEX_H10 4 3f2 HT Bucket 32 HT Bucket 33 HT Bucket 34 bj_MISSION_INDEX_H02 4 3ea EVENT_GAME_TIMER_EXPIRED 7 4 HT Bucket 35 bj_MISSION_INDEX_XU05 4 7d5 HT Bucket 36 WEAPON_TYPE_WOOD_MEDIUM_STAB 7 12 WEAPON_TYPE_METAL_MEDIUM_BASH 7 7 HT Bucket 37 bj_setPlayerTargetColor 7 0 HT Bucket 38 bj_destInRegionDiesCount 4 0 bj_POLLED_WAIT_SKIP_THRESHOLD 5 40000000 EVENT_PLAYER_UNIT_HIDDEN 7 17 HT Bucket 39 bj_groupEnumOwningPlayer 7 0 HT Bucket 40 bj_QUESTMESSAGE_UPDATED 4 1 HT Bucket 41 HT Bucket 42 bj_REMOVEBUFFS_NONTLIFE 4 3 MAP_CHEATS_HIDDEN 7 2000 HT Bucket 43 bj_forceRandomConsidered 4 0 bj_ELEVATOR_WALL_TYPE_EAST 4 1 bj_MISSION_INDEX_U02 4 7d2 HT Bucket 44 EFFECT_TYPE_EFFECT 7 0 EVENT_PLAYER_STATE_LIMIT 7 b HT Bucket 45 bj_stockAllowedCharged 13 79f0178 EVENT_PLAYER_ARROW_RIGHT_DOWN 7 107 MAP_DIFFICULTY_NORMAL 7 1 HT Bucket 46 EVENT_GAME_VICTORY 7 0 HT Bucket 47 EVENT_GAME_TOURNAMENT_FINISH_SOON 7 101 HT Bucket 48 HT Bucket 49 CAMERA_FIELD_ANGLE_OF_ATTACK 7 2 EVENT_UNIT_ISSUED_POINT_ORDER 7 4c PLAYER_SCORE_LUMBER_GIVEN 7 13 WEAPON_TYPE_WOOD_LIGHT_SLICE 7 b HT Bucket 50 bj_cineFadeContinueBlue 5 0 bj_STOCK_RESTOCK_INTERVAL 5 41f00000 HT Bucket 51 bj_MAX_SKELETONS 4 19 EVENT_UNIT_UPGRADE_START 7 42 HT Bucket 52 bj_groupLastCreatedDest 7 0 bj_playerIsCrippled 13 0 bj_MISSION_INDEX_H01 4 3e9 HT Bucket 53 bj_QUESTMESSAGE_FAILED 4 3 bj_ALLIANCE_ALLIED 4 2 EVENT_UNIT_RESEARCH_START 7 48 HT Bucket 54 gg_trg_Untitled_Trigger_001 7 10005a HT Bucket 55 UNIT_TYPE_RESISTANT 7 18 MAP_FIXED_COLORS 7 80 HT Bucket 56 bj_cineModePriorSpeed 7 2 bj_dayAmbientSound 7 100009 EVENT_UNIT_CONSTRUCT_CANCEL 7 40 HT Bucket 57 bj_SORTTYPE_SORTBYLABEL 4 2 bj_QUESTMESSAGE_COMPLETED 4 2 HT Bucket 58 HT Bucket 59 bj_SMARTPAN_TRESHOLD_PAN 5 43fa0000 HT Bucket 60 bj_MISSION_INDEX_XN10 4 a EVENT_GAME_TRACKABLE_HIT 7 7 WEAPON_TYPE_CLAW_LIGHT_SLICE 7 13 HT Bucket 61 UNIT_TYPE_STUNNED 7 b EVENT_PLAYER_UNIT_LOADED 7 33 PLAYER_COLOR_BLUE 7 1 HT Bucket 62 bj_MISSION_INDEX_U08 4 7d6 bj_CAMPAIGN_INDEX_T 4 0 GAME_TYPE_MELEE 7 1 HT Bucket 63 bj_GAMECACHE_INTEGER 4 1 bj_HEROSTAT_INT 4 2 CAMERA_MARGIN_RIGHT 4 1 PLAYER_COLOR_AQUA 7 a HT Bucket 64 UNIT_TYPE_RANGED_ATTACKER 7 8 HT Bucket 65 bj_cineFadeContinueGreen 5 0 HT Bucket 66 EVENT_PLAYER_UNIT_CONSTRUCT_CANCEL 7 1b HT Bucket 67 bj_QUESTMESSAGE_DISCOVERED 4 0 HT Bucket 68 SOUND_VOLUMEGROUP_UNITMOVEMENT 7 0 HT Bucket 69 bj_CINEMATICINDEX_OOP 4 3 bj_MISSION_INDEX_XH00 4 3e8 EVENT_PLAYER_UNIT_SELL 7 10d HT Bucket 70 bj_MISSION_INDEX_XU04 4 7d4 bj_GAME_STARTED_THRESHOLD 5 3c23d70b EVENT_PLAYER_UNIT_DESELECTED 7 19 HT Bucket 71 DAMAGE_TYPE_ACID 7 10 HT Bucket 72 bj_SPEECH_VOLUME_UI 5 0 HT Bucket 73 RACE_PREF_DEMON 7 10 HT Bucket 74 HT Bucket 75 HT Bucket 76 bj_forLoopBIndexEnd 4 0 bj_CINEMATICINDEX_UED 4 6 EVENT_UNIT_HIDDEN 7 38 HT Bucket 77 HT Bucket 78 bj_itemRandomConsidered 4 0 PLAYER_SCORE_UNITS_TRAINED 7 0 MAP_CONTROL_NEUTRAL 7 3 HT Bucket 79 bj_SPEECH_VOLUME_SPELLS 5 3e800000 HT Bucket 80 bj_ITEM_STATUS_INVULNERABLE 4 2 EVENT_PLAYER_UNIT_SPELL_FINISH 7 113 HT Bucket 81 MAP_LOC_PRIO_NOT 7 2 HT Bucket 82 HT Bucket 83 bj_MISSION_INDEX_XU13 4 7dd EFFECT_TYPE_LIGHTNING 7 6 UNIT_TYPE_FLYING 7 3 HT Bucket 84 bj_cineSceneEndingTimer 7 0 PLAYER_SCORE_UNIT_TOTAL 7 15 HT Bucket 85 HT Bucket 86 bj_ghoul 12 0 bj_BUFF_POLARITY_EITHER 4 2 UNIT_TYPE_SNARED 7 d RACE_PREF_USER_SELECTABLE 7 40 HT Bucket 87 HT Bucket 88 bj_MISSION_INDEX_XU10 4 7da bj_TEXT_DELAY_HINT 5 41400000 PATHING_TYPE_PEONHARVESTPATHING 7 4 HT Bucket 89 DAMAGE_TYPE_DEFENSIVE 7 15 HT Bucket 90 bj_meleeVisibilityIsDay 8 1 ALLIANCE_SHARED_XP 7 3 HT Bucket 91 ITEM_TYPE_MISCELLANEOUS 7 6 HT Bucket 92 bj_isUnitGroupInRectRect 7 0 bj_CAMERABOUNDS_ADJUST_SUB 4 1 EVENT_UNIT_HERO_REVIVE_FINISH 7 53 HT Bucket 93 bj_BUFF_POLARITY_NEGATIVE 4 1 HT Bucket 94 bj_CAMPAIGN_OFFSET_XN 4 0 HT Bucket 95 bj_isUnitGroupInRectResult 8 1 PLAYER_SCORE_GOLD_MINED_TOTAL 7 a HT Bucket 96 bj_meleeGrantHeroItems 8 0 HT Bucket 97 HT Bucket 98 bj_MINIMAPPINGSTYLE_FLASHY 4 1 bj_MINIMAPPINGSTYLE_SIMPLE 4 0 EVENT_PLAYER_UNIT_SPELL_ENDCAST 7 114 EVENT_UNIT_DAMAGED 7 34 HT Bucket 99 bj_lastCreatedImage 7 0 bj_CAMPAIGN_INDEX_XU 4 7 bj_MAX_STOCK_ITEM_SLOTS 4 b HT Bucket 100 EVENT_GAME_END_LEVEL 7 1 HT Bucket 101 CAMERA_FIELD_ZOFFSET 7 6 DAMAGE_TYPE_POISON 7 b HT Bucket 102 bj_MISSION_INDEX_XU02 4 7d2 WEAPON_TYPE_AXE_MEDIUM_CHOP 7 16 HT Bucket 103 HT Bucket 104 bj_SORTTYPE_SORTBYVALUE 4 0 UNIT_TYPE_POISONED 7 15 HT Bucket 105 HT Bucket 106 HT Bucket 107 bj_MELEE_STARTING_TOD 5 41000000 EVENT_UNIT_TARGET_IN_RANGE 7 3d DAMAGE_TYPE_ENHANCED 7 5 HT Bucket 108 HT Bucket 109 HT Bucket 110 bj_TEXT_DELAY_QUESTREQUIREMENT 5 41a00000 HT Bucket 111 bj_cineModePriorFogSetting 8 1 HT Bucket 112 HT Bucket 113 bj_questDiscoveredSound 7 100033 bj_CLIFFHEIGHT 5 43000000 PLAYER_STATE_FOOD_CAP_CEILING 7 6 HT Bucket 114 HT Bucket 115 bj_MELEE_STARTING_LUMBER_V0 4 c8 FALSE 8 0 HT Bucket 116 bj_MISSION_INDEX_H07 4 3ef ALLIANCE_HELP_REQUEST 7 1 HT Bucket 117 BLEND_MODE_DONT_CARE 7 0 EVENT_UNIT_PAWN_ITEM 7 126 DAMAGE_TYPE_FORCE 7 11 HT Bucket 118 bj_lastCreatedButton 7 0 bj_BUFF_POLARITY_POSITIVE 4 0 HT Bucket 119 bj_ELEVATOR_WALL_TYPE_ALL 4 0 bj_MISSION_INDEX_XH03 4 3eb bj_CINEMODE_VOLUME_MUSIC 5 3f0ccccd bj_CINEMODE_VOLUME_UNITMOVEMENT 5 3ecccccd EVENT_PLAYER_UNIT_SPELL_CAST 7 111 HT Bucket 120 HT Bucket 121 PLAYER_STATE_PLACED 7 9 HT Bucket 122 bj_MISSION_INDEX_XH02 4 3ea bj_MISSION_INDEX_XN04 4 4 bj_CAMPAIGN_INDEX_N 4 4 HT Bucket 123 bj_ALLIANCE_NEUTRAL 4 6 bj_CINEMODE_VOLUME_SPELLS 5 3ecccccd EVENT_PLAYER_UNIT_ATTACKED 7 12 HT Bucket 124 filterEnumDestructablesInCircleBJ 7 100019 bj_groupCountUnits 4 0 EVENT_PLAYER_UNIT_RESEARCH_START 7 23 MAP_LOCK_ALLIANCE_CHANGES 7 400 HT Bucket 125 MAP_DENSITY_MEDIUM 7 2 WEAPON_TYPE_METAL_HEAVY_SLICE 7 6 HT Bucket 126 HT Bucket 127 bj_questWarningSound 7 10003a bj_CAMPAIGN_INDEX_U 4 2 DAMAGE_TYPE_SLOW_POISON 7 17 HT Bucket 128 HT Bucket 129 bj_CAMERA_DEFAULT_DISTANCE 4 672 HT Bucket 130 bj_useDawnDuskSounds 8 1 UNIT_TYPE_ATTACKS_FLYING 7 5 HT Bucket 131 EFFECT_TYPE_SPECIAL 7 3 EVENT_PLAYER_HERO_REVIVE_CANCEL 7 2d EVENT_GAME_BUILD_SUBMENU 7 a HT Bucket 132 EVENT_UNIT_ISSUED_TARGET_ORDER 7 4d PLAYER_SCORE_STRUCT_BUILT 7 2 MAP_DENSITY_HEAVY 7 3 HT Bucket 133 bj_meleeNearestMineToLoc 7 0 bj_MISSION_INDEX_N03 4 fa3 HT Bucket 134 ATTACK_TYPE_HERO 7 6 HT Bucket 135 bj_REMOVEBUFFS_POSITIVE 4 0 EVENT_DIALOG_CLICK 7 5b EVENT_UNIT_STATE_LIMIT 7 3b HT Bucket 136 bj_MISSION_INDEX_T01 4 1 EVENT_GAME_TOURNAMENT_FINISH_NOW 7 102 HT Bucket 137 bj_TEXT_DELAY_UNITACQUIRED 5 41700000 HT Bucket 138 HT Bucket 139 filterGetUnitsInRectOfPlayer 7 10001a bj_cineModePriorMaskSetting 8 1 bj_GAMECACHE_BOOLEAN 4 0 bj_QUESTTYPE_REQ_DISCOVERED 4 0 SOUND_TYPE_EFFECT_LOOPED 7 1 EVENT_PLAYER_ARROW_LEFT_DOWN 7 105 HT Bucket 140 PLAYER_SCORE_TECH_PERCENT 7 4 HT Bucket 141 HT Bucket 142 bj_lastCreatedDefeatCondition 7 0 HT Bucket 143 bj_CINEMATICINDEX_HOP 4 1 HT Bucket 144 HT Bucket 145 bj_QUEUED_TRIGGER_TIMEOUT 5 43340000 HT Bucket 146 PLAYER_GAME_RESULT_DEFEAT 7 1 HT Bucket 147 GAME_STATE_TIME_OF_DAY 7 2 HT Bucket 148 bj_changeLevelShowScores 8 0 EVENT_UNIT_DROP_ITEM 7 55 HT Bucket 149 CAMERA_MARGIN_BOTTOM 4 3 EVENT_UNIT_UPGRADE_CANCEL 7 43 HT Bucket 150 bj_lastCreatedUnit 7 0 HT Bucket 151 bj_lastCreatedGroup 7 100006 EVENT_UNIT_SPELL_ENDCAST 7 125 EVENT_PLAYER_UNIT_USE_ITEM 7 32 ATTACK_TYPE_MELEE 7 1 HT Bucket 152 RACE_OTHER 7 7 RACE_NIGHTELF 7 4 HT Bucket 153 MAP_SPEED_FAST 7 3 HT Bucket 154 bj_GAMECACHE_REAL 4 2 bj_CINEMODE_GAMESPEED 7 2 HT Bucket 155 bj_lastCreatedEffect 7 0 bj_volumeGroupsTimer 7 100001 HT Bucket 156 bj_TEXT_DELAY_WARNING 5 41400000 HT Bucket 157 bj_QUEUE_DELAY_SECRET 5 40400000 HT Bucket 158 bj_RADTODEG 5 42652eef EVENT_UNIT_DEATH 7 35 WEAPON_TYPE_CLAW_HEAVY_SLICE 7 15 HT Bucket 159 bj_changeLevelMapName 6 0 bj_cineModePriorDawnDusk 8 0 bj_ELEVATOR_WALL_TYPE_SOUTH 4 3 CAMERA_FIELD_ROLL 7 4 EVENT_PLAYER_ARROW_DOWN_UP 7 10a HT Bucket 160 bj_MISSION_INDEX_XH08 4 3f0 bj_MISSION_INDEX_XN06 4 6 bj_CINEMODE_VOLUME_UNITSOUNDS 5 0 bj_HANDICAP_EASY 5 42700000 TEXMAP_FLAG_WRAP_UV 7 3 EVENT_UNIT_USE_ITEM 7 57 EVENT_PLAYER_UNIT_DECAY 7 15 HT Bucket 161 bj_CINEFADETYPE_FADEOUT 4 1 DAMAGE_TYPE_FIRE 7 8 HT Bucket 162 EVENT_PLAYER_UNIT_SPELL_CHANNEL 7 110 HT Bucket 163 HT Bucket 164 bj_CAMPAIGN_OFFSET_XO 4 3 ITEM_TYPE_ARTIFACT 7 3 EVENT_PLAYER_UNIT_RESCUED 7 13 HT Bucket 165 bj_cineFadeContinueTex 6 1 DAMAGE_TYPE_DEATH 7 12 HT Bucket 166 HT Bucket 167 HT Bucket 168 MAP_LOCK_SPEED 7 4000 ATTACK_TYPE_PIERCE 7 2 HT Bucket 169 bj_UNIT_STATE_METHOD_MAXIMUM 4 3 PLAYER_STATE_RESOURCE_HERO_TOKENS 7 3 HT Bucket 170 EVENT_UNIT_HERO_REVIVE_START 7 51 HT Bucket 171 HT Bucket 172 TEXMAP_FLAG_WRAP_V 7 2 CAMERA_FIELD_FIELD_OF_VIEW 7 3 HT Bucket 173 bj_meleeNearestMineDist 5 0 bj_ITEM_STATUS_POWERUP 4 3 MAP_OBSERVERS 7 10 HT Bucket 174 HT Bucket 175 HT Bucket 176 bj_MISSION_INDEX_N06 4 fa6 UNIT_TYPE_ANCIENT 7 13 HT Bucket 177 bj_queuedExecTriggers 12 79f0118 SOUND_VOLUMEGROUP_UI 7 4 HT Bucket 178 bj_mapInitialPlayableArea 7 100053 UNIT_TYPE_SLEEPING 7 17 EVENT_UNIT_RESEARCH_CANCEL 7 49 HT Bucket 179 HT Bucket 180 bj_dncIsDaytime 8 0 bj_MISSION_INDEX_O04 4 bbc bj_QUEUE_DELAY_HINT 5 40a00000 EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER 7 27 HT Bucket 181 bj_MELEE_CRIPPLE_TIMEOUT 5 42f00000 HT Bucket 182 bj_SPEECH_VOLUME_FIRE 5 3f19999a bj_TRANSMISSION_IND_RED 4 ff EVENT_UNIT_SPELL_EFFECT 7 123 HT Bucket 183 HT Bucket 184 bj_randomSubGroupWant 4 0 bj_groupRemoveGroupDest 7 0 ITEM_TYPE_ANY 7 8 HT Bucket 185 EVENT_WIDGET_DEATH 7 59 EVENT_UNIT_HERO_SKILL 7 4f HT Bucket 186 bj_gameStarted 8 1 HT Bucket 187 EVENT_UNIT_TRAIN_FINISH 7 47 EVENT_GAME_SHOW_SKILL 7 9 HT Bucket 188 bj_randomSubGroupTotal 4 0 HT Bucket 189 UNIT_TYPE_SAPPER 7 11 PLAYER_SCORE_GOLD_GIVEN 7 e MAP_CONTROL_COMPUTER 7 1 HT Bucket 190 bj_QUESTMESSAGE_ALWAYSHINT 4 6 PLAYER_SCORE_FOOD_MAXPROD 7 5 HT Bucket 191 bj_questCompletedSound 7 100035 bj_CINEMODE_VOLUME_FIRE 5 3f19999a EVENT_GAME_ENTER_REGION 7 5 HT Bucket 192 bj_MISSION_INDEX_H04 4 3ec DAMAGE_TYPE_DISEASE 7 c HT Bucket 193 bj_MISSION_INDEX_O01 4 bb9 HT Bucket 194 bj_crippledTimerWindows 12 0 EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER 7 28 EVENT_PLAYER_UNIT_ISSUED_ORDER 7 26 HT Bucket 195 HT Bucket 196 bj_elevatorNeighbor 7 0 HT Bucket 197 bj_CORPSETYPE_BONE 4 1 EVENT_PLAYER_ARROW_UP_UP 7 10c EVENT_GAME_SAVE 7 103 WEAPON_TYPE_WHOKNOWS 7 0 HT Bucket 198 bj_REMOVEBUFFS_NEGATIVE 4 1 UNIT_TYPE_STRUCTURE 7 2 PLAYER_SCORE_LUMBER_LOST_UPKEEP 7 11 HT Bucket 199 HT Bucket 200 HT Bucket 201 bj_questUpdatedSound 7 100034 ATTACK_TYPE_NORMAL 7 0 HT Bucket 202 bj_finishSoonTimerDialog 7 0 ITEM_TYPE_PURCHASABLE 7 4 HT Bucket 203 bj_cineSceneBeingSkipped 7 0 HT Bucket 204 PLAYER_SLOT_STATE_LEFT 7 2 HT Bucket 205 bj_questItemAcquiredSound 7 100039 HT Bucket 206 PLAYER_SCORE_GOLD_RECEIVED 7 f MAP_RANDOM_HERO 7 20000 HT Bucket 207 bj_forLoopBIndex 4 0 HT Bucket 208 bj_MISSION_INDEX_XU08 4 7d8 EVENT_PLAYER_UNIT_CONSTRUCT_FINISH 7 1c HT Bucket 209 bj_lastCreatedMultiboard 7 0 bj_lastHauntedGoldMine 7 0 EVENT_PLAYER_HERO_REVIVE_START 7 2c HT Bucket 210 HT Bucket 211 HT Bucket 212 bj_questFailedSound 7 100036 PATHING_TYPE_BLIGHTPATHING 7 5 DAMAGE_TYPE_UNKNOWN 7 0 HT Bucket 213 EVENT_PLAYER_UNIT_UPGRADE_FINISH 7 1f PLAYER_COLOR_LIGHT_BLUE 7 9 HT Bucket 214 MAP_ALLIANCE_CHANGES_HIDDEN 7 800 HT Bucket 215 PLAYER_STATE_OBSERVER_ON_DEATH 7 a HT Bucket 216 bj_lastDyingWidget 7 0 EVENT_PLAYER_ARROW_RIGHT_UP 7 108 HT Bucket 217 EVENT_PLAYER_CHAT 7 10 HT Bucket 218 HT Bucket 219 bj_UNIT_STATE_METHOD_ABSOLUTE 4 0 bj_CINEFADETYPE_FADEIN 4 0 bj_MISSION_INDEX_XU01 4 7d1 bj_CINEMODE_VOLUME_AMBIENTSOUNDS 5 3f800000 EVENT_PLAYER_UNIT_SELL_ITEM 7 10f HT Bucket 220 HT Bucket 221 bj_TEXT_DELAY_MISSIONFAILED 5 41a00000 UNIT_TYPE_POLYMORPHED 7 16 HT Bucket 222 BLEND_MODE_MODULATE 7 4 PLAYER_SCORE_GOLD_LOST_UPKEEP 7 c MAP_DIFFICULTY_HARD 7 2 ALLIANCE_RESCUABLE 7 8 PLAYER_COLOR_GREEN 7 6 HT Bucket 223 WEAPON_TYPE_METAL_MEDIUM_CHOP 7 2 HT Bucket 224 EVENT_PLAYER_LEAVE 7 f WEAPON_TYPE_ROCK_HEAVY_BASH 7 17 HT Bucket 225 HT Bucket 226 HT Bucket 227 bj_CINEFADETYPE_FADEOUTIN 4 2 HT Bucket 228 bj_KEYEVENTKEY_DOWN 4 2 HT Bucket 229 CAMERA_FIELD_FARZ 7 1 HT Bucket 230 HT Bucket 231 PLAYER_COLOR_RED 7 0 HT Bucket 232 bj_nightAmbientSound 7 10000a bj_ALLIANCE_UNALLIED 4 0 bj_TRANSMISSION_PING_TIME 5 3f800000 EVENT_PLAYER_HERO_REVIVABLE 7 2b WEAPON_TYPE_METAL_HEAVY_STAB 7 a HT Bucket 233 bj_SPEECH_VOLUME_UNITSOUNDS 5 0 HT Bucket 234 bj_groupRandomConsidered 4 0 bj_groupEnumTypeId 4 0 HT Bucket 235 bj_queuedExecTimeoutTimer 7 100002 HT Bucket 236 bj_MAX_ITEM_LEVEL 4 a HT Bucket 237 bj_MELEE_HERO_TYPE_LIMIT 4 1 HT Bucket 238 HT Bucket 239 bj_MISSION_INDEX_O02 4 bba HT Bucket 240 MAP_CONTROL_RESCUABLE 7 2 HT Bucket 241 bj_victoryDialogSound 7 10003b bj_MAX_QUEUED_TRIGGERS 4 64 UNIT_STATE_LIFE 7 0 HT Bucket 242 bj_TIMETYPE_SUB 4 2 HT Bucket 243 bj_MISSION_INDEX_O03 4 bbb EVENT_UNIT_ISSUED_ORDER 7 4b HT Bucket 244 WEAPON_TYPE_WOOD_MEDIUM_SLICE 7 c WEAPON_TYPE_METAL_MEDIUM_STAB 7 9 HT Bucket 245 HT Bucket 246 bj_TRANSMISSION_IND_BLUE 4 ff PLAYER_SCORE_FOOD_MAXUSED 7 6 WEAPON_TYPE_METAL_MEDIUM_SLICE 7 5 HT Bucket 247 HT Bucket 248 bj_QUESTMESSAGE_WARNING 4 c UNIT_STATE_MANA 7 2 PLAYER_STATE_GIVES_BOUNTY 7 7 MAP_RESOURCE_TRADING_ALLIES_ONLY 7 200 HT Bucket 249 HT Bucket 250 SOUND_VOLUMEGROUP_MUSIC 7 5 PATHING_TYPE_FLOATABILITY 7 6 PATHING_TYPE_ANY 7 0 HT Bucket 251 bj_questHintSound 7 100037 bj_MISSION_INDEX_U03 4 7d3 bj_SMARTPAN_TRESHOLD_SNAP 5 455ac000 bj_TRANSMISSION_IND_ALPHA 4 ff ITEM_TYPE_CHARGED 7 1 MAP_SPEED_SLOW 7 1 HT Bucket 252 bj_lastCreatedQuestItem 7 0 HT Bucket 253 bj_cineModeAlreadyIn 8 0 bj_CINEMATICINDEX_TOP 4 0 bj_TEXT_DELAY_QUESTDONE 5 41a00000 EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER 7 28 HT Bucket 254 PATHING_TYPE_BUILDABILITY 7 3 HT Bucket 255 bj_forLoopAIndexEnd 4 0 MAP_FOG_ALWAYS_VISIBLE 7 4 HT Bucket 256 HT Bucket 257 bj_queuedExecTimeout 7 100040 HT Bucket 258 bj_pauseAllUnitsFlag 8 1 MAP_DIFFICULTY_EASY 7 0 HT Bucket 259 bj_lastRemovedItem 7 0 bj_ALLIANCE_NEUTRAL_VISION 4 7 HT Bucket 260 MAP_SHARED_ADVANCED_CONTROL 7 10000 HT Bucket 261 bj_CINEMATICINDEX_OED 4 4 GAME_TYPE_USE_MAP_SETTINGS 7 4 HT Bucket 262 ATTACK_TYPE_MAGIC 7 4 HT Bucket 263 bj_lastLoadedUnit 7 0 bj_cineFadeContinueDuration 5 0 ALLIANCE_SHARED_ADVANCED_CONTROL 7 7 HT Bucket 264 bj_randomSubGroupGroup 7 0 bj_MISSION_INDEX_XN09 4 9 HT Bucket 265 bj_CELLWIDTH 5 43000000 HT Bucket 266 bj_MISSION_INDEX_O07 4 bbf HT Bucket 267 PLAYER_STATE_RESOURCE_GOLD 7 1 JASS_MAX_ARRAY_SIZE 4 2000 HT Bucket 268 bj_UNIT_FACING 5 43870000 HT Bucket 269 HT Bucket 270 PLAYER_SCORE_LUMBER_LOST_TAX 7 12 PLAYER_STATE_RESOURCE_LUMBER 7 2 PLAYER_GAME_RESULT_NEUTRAL 7 3 HT Bucket 271 bj_ELEVATOR_WALL_TYPE_WEST 4 4 PLAYER_GAME_RESULT_VICTORY 7 0 HT Bucket 272 bj_MISSION_INDEX_XU03 4 7d3 CAMERA_MARGIN_TOP 4 2 HT Bucket 273 HT Bucket 274 EVENT_PLAYER_ARROW_UP_DOWN 7 10b HT Bucket 275 bj_PLAYER_NEUTRAL_EXTRA 4 e HT Bucket 276 BLEND_MODE_MODULATE_2X 7 5 EVENT_UNIT_SPELL_CHANNEL 7 121 EVENT_GAME_LOADED 7 100 HT Bucket 277 bj_rescueUnitBehavior 7 0 HT Bucket 278 bj_STOCK_MAX_ITERATIONS 4 14 DAMAGE_TYPE_SHADOW_STRIKE 7 19 HT Bucket 279 filterIssueHauntOrderAtLocBJ 7 100018 bj_KEYEVENTTYPE_DEPRESS 4 0 PLAYER_STATE_UNFOLLOWABLE 7 c HT Bucket 280 bj_randomSubGroupChance 5 0 EVENT_PLAYER_UNIT_SUMMON 7 2f PLAYER_SCORE_GOLD_MINED_UPKEEP 7 b HT Bucket 281 ATTACK_TYPE_CHAOS 7 5 HT Bucket 282 EVENT_UNIT_SPELL_CAST 7 122 HT Bucket 283 MAP_CONTROL_CREEP 7 4 HT Bucket 284 bj_GAMECACHE_UNIT 4 3 bj_MISSION_INDEX_XU00 4 7d0 HT Bucket 285 bj_MISSION_INDEX_H03 4 3eb bj_CAMERA_DEFAULT_FARZ 4 1388 HT Bucket 286 HT Bucket 287 bj_lastTransmissionDuration 5 0 bj_CAMPAIGN_OFFSET_XH 4 1 bj_CAMPAIGN_OFFSET_O 4 3 ITEM_TYPE_CAMPAIGN 7 5 TRUE 8 1 HT Bucket 288 bj_delayedSuspendDecayTimer 7 100005 HT Bucket 289 PLAYER_COLOR_YELLOW 7 4 HT Bucket 290 bj_KEYEVENTTYPE_RELEASE 4 1 RARITY_FREQUENT 7 0 HT Bucket 291 bj_lastCreatedGameCache 7 0 bj_REMOVEBUFFS_ALL 4 2 bj_SPEECH_VOLUME_MUSIC 5 3f0ccccd bj_TRANSMISSION_PORT_HANGTIME 5 3fc00000 bj_TRANSMISSION_IND_GREEN 4 ff bj_MELEE_CRIPPLE_MSG_DURATION 5 41a00000 HT Bucket 292 bj_TOD_DAWN 5 40c00000 HT Bucket 293 bj_queuedExecTotal 4 0 HT Bucket 294 bj_MISSION_INDEX_O00 4 bb8 bj_TEXT_DELAY_QUESTUPDATE 5 41a00000 HT Bucket 295 bj_questSecretSound 7 100038 bj_CAMERA_DEFAULT_AOA 4 130 HT Bucket 296 bj_QUESTMESSAGE_MISSIONFAILED 4 5 bj_ALLIANCE_ALLIED_ADVUNITS 4 5 EVENT_PLAYER_UNIT_RESEARCH_CANCEL 7 24 EVENT_GAME_TRACKABLE_TRACK 7 8 HT Bucket 297 bj_itemRandomCurrentPick 7 0 bj_ELEVATOR_BLOCKER_CODE 4 44546570 bj_MISSION_INDEX_XU12 4 7dc HT Bucket 298 UNIT_TYPE_MECHANICAL 7 f MAP_DIFFICULTY_INSANE 7 3 MAP_LOCK_RESOURCE_TRADING 7 100 HT Bucket 299 bj_isUnitGroupEmptyResult 8 1 bj_MODIFYMETHOD_SET 4 2 bj_MISSION_INDEX_U00 4 7d0 GREATER_THAN_OR_EQUAL 7 3 MAP_CONTROL_USER 7 0 HT Bucket 300 bj_forLoopAIndex 4 0 GAME_TYPE_FFA 7 2 HT Bucket 301 DAMAGE_TYPE_NORMAL 7 4 HT Bucket 302 bj_rescueChangeColorUnit 8 1 bj_crippledTimer 12 0 EFFECT_TYPE_TARGET 7 1 BLEND_MODE_BLEND 7 2 EVENT_UNIT_DECAY 7 36 PLAYER_SCORE_HEROES_KILLED 7 7 MAP_PLACEMENT_FIXED 7 1 HT Bucket 303 bj_PLAYER_NEUTRAL_VICTIM 4 d HT Bucket 304 HT Bucket 305 PLAYER_GAME_RESULT_TIE 7 2 HT Bucket 306 bj_MISSION_INDEX_XN08 4 8 HT Bucket 307 bj_QUESTMESSAGE_HINT 4 7 bj_MISSION_INDEX_U11 4 7d9 HT Bucket 308 bj_duskSound 7 100044 bj_QUESTMESSAGE_UNITAVAILABLE 4 a bj_MISSION_INDEX_XN02 4 2 HT Bucket 309 bj_CORPSETYPE_FLESH 4 0 bj_GATEOPERATION_OPEN 4 1 bj_MISSION_INDEX_O08 4 bc0 HT Bucket 310 MAP_OBSERVERS_ON_DEATH 7 20 WEAPON_TYPE_METAL_HEAVY_CHOP 7 3 HT Bucket 311 bj_SPEECH_VOLUME_UNITMOVEMENT 5 3e800000 HT Bucket 312 HT Bucket 313 bj_forceCountPlayers 4 0 HT Bucket 314 HT Bucket 315 bj_MISSION_INDEX_N02 4 fa2 EVENT_UNIT_PICKUP_ITEM 7 56 PLAYER_SCORE_HERO_TOTAL 7 16 HT Bucket 316 UNIT_TYPE_PLAGUED 7 c GAME_TYPE_THREE_TEAM_PLAY 7 40 HT Bucket 317 bj_MISSION_INDEX_U05 4 7d4 bj_MELEE_STARTING_HERO_TOKENS 4 1 MAP_DENSITY_NONE 7 0 MAP_FOG_MAP_EXPLORED 7 2 HT Bucket 318 SOUND_VOLUMEGROUP_SPELLS 7 3 HT Bucket 319 EVENT_PLAYER_UNIT_PAWN_ITEM 7 115 UNIT_STATE_MAX_MANA 7 3 HT Bucket 320 bj_ITEMCODE_STATUS_SELLABLE 4 1 bj_BUFF_RESIST_EITHER 4 2 bj_QUESTMESSAGE_REQUIREMENT 4 4 WEAPON_TYPE_CLAW_MEDIUM_SLICE 7 14 DAMAGE_TYPE_DEMOLITION 7 16 HT Bucket 321 ALLIANCE_SHARED_VISION 7 5 HT Bucket 322 bj_MISSION_INDEX_XU06 4 7d6 bj_MISSION_INDEX_U01 4 7d1 bj_CREEP_ITEM_DELAY 5 3f000000 MAP_LOC_PRIO_LOW 7 0 HT Bucket 323 bj_MODIFYMETHOD_SUB 4 1 bj_QUESTTYPE_REQ_UNDISCOVERED 4 1 bj_MELEE_CLEAR_UNITS_RADIUS 5 44bb8000 HT Bucket 324 bj_TEXT_DELAY_QUEST 5 41a00000 HT Bucket 325 HT Bucket 326 bj_cineModeSavedSeed 4 0 bj_finishSoonAllExposed 8 0 bj_MISSION_INDEX_N01 4 fa1 HT Bucket 327 bj_lastStartedTimer 7 100007 bj_meleeVictoried 13 0 bj_CAMERA_DEFAULT_FOV 4 46 ITEM_TYPE_UNKNOWN 7 7 EVENT_PLAYER_UNIT_DETECTED 7 16 MAP_PLACEMENT_USE_MAP_SETTINGS 7 2 HT Bucket 328 bj_playerIsExposed 13 0 HT Bucket 329 GAME_TYPE_BLIZ 7 8 HT Bucket 330 HT Bucket 331 bj_MISSION_INDEX_N05 4 fa5 bj_MAX_STOCK_UNIT_SLOTS 4 b MAP_PLACEMENT_TEAMS_TOGETHER 7 3 ALLIANCE_HELP_RESPONSE 7 2 HT Bucket 332 bj_CINEMATICINDEX_UOP 4 5 EFFECT_TYPE_MISSILE 7 5 PLAYER_SCORE_UNITS_KILLED 7 1 HT Bucket 333 bj_lastCreatedTextTag 7 0 bj_groupRandomCurrentPick 7 0 bj_MISSION_INDEX_XN05 4 5 UNIT_TYPE_PEON 7 10 EVENT_PLAYER_HERO_REVIVE_FINISH 7 2e HT Bucket 334 bj_meleeVisibilityTrained 7 0 HT Bucket 335 HT Bucket 336 EVENT_UNIT_SPELL_FINISH 7 124 HT Bucket 337 HT Bucket 338 EVENT_UNIT_SUMMON 7 54 HT Bucket 339 filterGetUnitsOfTypeIdAll 7 10001b bj_randDistCount 4 0 UNIT_TYPE_SUMMONED 7 a EVENT_PLAYER_UNIT_SELECTED 7 18 HT Bucket 340 bj_dncSoundsDay 7 10004b bj_STOCK_RESTOCK_INITIAL_DELAY 5 42f00000 FOG_OF_WAR_VISIBLE 7 4 HT Bucket 341 bj_groupAddGroupDest 7 0 bj_QUESTMESSAGE_ITEMACQUIRED 4 b EVENT_UNIT_UPGRADE_FINISH 7 44 EVENT_UNIT_DETECTED 7 37 HT Bucket 342 bj_cineFadeContinueTimer 7 0 bj_MISSION_INDEX_U09 4 7d7 ITEM_TYPE_TOME 7 2 AI_DIFFICULTY_NEWBIE 7 0 VERSION_REIGN_OF_CHAOS 7 0 HT Bucket 343 bj_SPEECH_VOLUME_AMBIENTSOUNDS 5 3f800000 HT Bucket 344 filterGetUnitsOfPlayerAndTypeId 7 10001c bj_stockAllowedPermanent 13 79f0158 ALLIANCE_SHARED_CONTROL 7 6 HT Bucket 345 bj_gameStartedTimer 7 100059 bj_CAMERA_MIN_FARZ 4 64 HT Bucket 346 bj_lastCreatedLightning 7 0 GAME_TYPE_ONE_ON_ONE 7 10 WEAPON_TYPE_WOOD_HEAVY_BASH 7 10 HT Bucket 347 bj_meleeDefeated 13 0 EVENT_UNIT_TRAIN_CANCEL 7 46 HT Bucket 348 EFFECT_TYPE_CASTER 7 2 GAME_TYPE_TWO_TEAM_PLAY 7 20 HT Bucket 349 bj_CINEMATICINDEX_XED 4 a HT Bucket 350 bj_MISSION_INDEX_O10 4 bc2 HT Bucket 351 bj_lastCreatedQuest 7 0 EVENT_UNIT_SELECTED 7 39 MAP_LOC_PRIO_HIGH 7 1 HT Bucket 352 bj_TOD_DUSK 5 41900000 UNIT_TYPE_ATTACKS_GROUND 7 6 HT Bucket 353 HT Bucket 354 bj_stockPickedItemType 0 0 bj_CAMERABOUNDS_ADJUST_ADD 4 0 bj_MISSION_INDEX_H11 4 3f3 CAMERA_FIELD_ROTATION 7 5 EVENT_GAME_STATE_LIMIT 7 3 HT Bucket 355 EVENT_UNIT_HERO_REVIVABLE 7 50 HT Bucket 356 bj_MISSION_INDEX_H00 4 3e8 HT Bucket 357 bj_MELEE_STARTING_GOLD_V0 4 2ee SOUND_TYPE_EFFECT 7 0 HT Bucket 358 bj_lastCreatedTimerDialog 7 0 bj_SPEECH_VOLUME_COMBAT 5 3e800000 PLAYER_STATE_LUMBER_UPKEEP_RATE 7 e HT Bucket 359 bj_MELEE_MAX_TWINKED_HEROES_V1 4 1 HT Bucket 360 bj_TEXT_DELAY_ITEMACQUIRED 5 41200000 HT Bucket 361 PLAYER_COLOR_PINK 7 7 HT Bucket 362 bj_TEXT_DELAY_ALWAYSHINT 5 41400000 HT Bucket 363 bj_meleeNearestMine 7 0 EVENT_PLAYER_UNIT_UPGRADE_START 7 1d RACE_PREF_HUMAN 7 1 HT Bucket 364 bj_HEROSTAT_STR 4 0 FOG_OF_WAR_MASKED 7 1 HT Bucket 365 bj_BUFF_RESIST_PHYSICAL 4 1 HT Bucket 366 bj_PI 5 40490fcf EVENT_PLAYER_UNIT_UPGRADE_CANCEL 7 1e HT Bucket 367 EVENT_PLAYER_UNIT_CHANGE_OWNER 7 10e RACE_UNDEAD 7 3 HT Bucket 368 HT Bucket 369 bj_ELEVATOR_CODE01 4 44547266 HT Bucket 370 bj_CINEMODE_VOLUME_COMBAT 5 3ecccccd HT Bucket 371 filterMeleeTrainedUnitIsHeroBJ 7 10001d EVENT_UNIT_CONSTRUCT_FINISH 7 41 MAP_CHEATS 7 1000 HT Bucket 372 bj_stockAllowedArtifact 13 79f0198 bj_stockUpdateTimer 7 100055 HT Bucket 373 bj_destRandomConsidered 4 0 bj_meleeGameOver 8 0 PLAYER_SLOT_STATE_EMPTY 7 0 HT Bucket 374 bj_lastCreatedDestructable 7 0 HT Bucket 375 bj_MISSION_INDEX_XH07 4 3ef EFFECT_TYPE_AREA_EFFECT 7 4 FOG_OF_WAR_FOGGED 7 2 UNIT_TYPE_MAGIC_IMMUNE 7 1a HT Bucket 376 bj_randDistChance 9 0 bj_CINEMODE_INTERFACEFADE 5 3f000000 PLAYER_STATE_RESOURCE_FOOD_USED 7 5 HT Bucket 377 bj_enumDestructableRadius 5 0 HT Bucket 378 bj_lastCreatedFogModifier 7 0 bj_MISSION_INDEX_O09 4 bc1 HT Bucket 379 bj_ITEM_STATUS_PAWNABLE 4 5 bj_GATEOPERATION_DESTROY 4 2 HT Bucket 380 bj_RESCUE_PING_TIME 5 40000000 HT Bucket 381 HT Bucket 382 bj_lastCreatedItem 7 0 HT Bucket 383 PATHING_TYPE_WALKABILITY 7 1 HT Bucket 384 bj_MISSION_INDEX_O05 4 bbd HT Bucket 385 bj_ALLIANCE_ALLIED_UNITS 4 4 HT Bucket 386 filterLivingPlayerUnitsOfTypeId 7 10001e bj_MAX_INVENTORY 4 6 MAP_RELOADED 7 80000 HT Bucket 387 UNIT_TYPE_GIANT 7 9 HT Bucket 388 WEAPON_TYPE_METAL_LIGHT_SLICE 7 4 DAMAGE_TYPE_MIND 7 13 HT Bucket 389 EVENT_PLAYER_DEFEAT 7 d HT Bucket 390 PLAYER_SCORE_LUMBER_TOTAL 7 10 HT Bucket 391 bj_FORCE_ALL_PLAYERS 7 100031 bj_MISSION_INDEX_XN03 4 3 bj_MISSION_INDEX_XN00 4 0 bj_NOTHING_SOUND_DURATION 5 40a00000 SOUND_VOLUMEGROUP_COMBAT 7 2 HT Bucket 392 bj_MELEE_STARTING_LUMBER_V1 4 96 HT Bucket 393 bj_makeUnitRescuableFlag 8 1 bj_elevatorWallBlocker 7 0 bj_meleeTwinkedHeroes 9 0 bj_ALLIANCE_ALLIED_VISION 4 3 TEXMAP_FLAG_NONE 7 0 NOT_EQUAL 7 5 EVENT_PLAYER_UNIT_SPELL_EFFECT 7 112 HT Bucket 394 HT Bucket 395 bj_dncSoundsNight 7 10004f HT Bucket 396 EVENT_UNIT_ATTACKED 7 3e HT Bucket 397 HT Bucket 398 bj_makeUnitRescuableUnit 7 0 bj_UNIT_STATE_METHOD_DEFAULTS 4 2 bj_MAX_PLAYERS 4 c HT Bucket 399 bj_BUFF_RESIST_MAGIC 4 0 AI_DIFFICULTY_INSANE 7 2 HT Bucket 400 bj_CAMPAIGN_OFFSET_H 4 1 HT Bucket 401 bj_FORCE_PLAYER 12 79f00f8 PLAYER_NEUTRAL_AGGRESSIVE 4 c HT Bucket 402 bj_livingPlayerUnitsTypeId 4 0 EVENT_PLAYER_UNIT_CONSTRUCT_START 7 1a MAP_LOCK_RANDOM_SEED 7 8000 WEAPON_TYPE_WOOD_LIGHT_BASH 7 e WEAPON_TYPE_WOOD_HEAVY_SLICE 7 d HT Bucket 403 bj_forceRandomCurrentPick 7 0 EVENT_PLAYER_VICTORY 7 e HT Bucket 404 HT Bucket 405 HT Bucket 406 bj_CINEMATICINDEX_NED 4 8 bj_MISSION_INDEX_N09 4 fa9 BLEND_MODE_ADDITIVE 7 3 UNIT_STATE_MAX_LIFE 7 1 HT Bucket 407 HT Bucket 408 bj_DEGTORAD 5 3c8efa2d HT Bucket 409 ITEM_TYPE_PERMANENT 7 0 HT Bucket 410 bj_TIMETYPE_ADD 4 0 EVENT_PLAYER_UNIT_DROP_ITEM 7 30 HT Bucket 411 HT Bucket 412 bj_TIMETYPE_SET 4 1 bj_MISSION_INDEX_U10 4 7d8 HT Bucket 413 bj_suspendDecayFleshGroup 7 100003 EVENT_PLAYER_ALLIANCE_CHANGED 7 c HT Bucket 414 bj_CAMERA_DEFAULT_ROLL 4 0 UNIT_TYPE_HERO 7 0 HT Bucket 415 bj_QUESTMESSAGE_UNITACQUIRED 4 9 bj_CAMPAIGN_OFFSET_XU 4 2 HT Bucket 416 bj_rescueChangeColorBldg 8 1 HT Bucket 417 EVENT_PLAYER_UNIT_RESEARCH_FINISH 7 25 RACE_HUMAN 7 1 HT Bucket 418 bj_KEYEVENTKEY_RIGHT 4 1 bj_CINEMATICINDEX_XOP 4 9 PLAYER_SLOT_STATE_PLAYING 7 1 ALLIANCE_PASSIVE 7 0 HT Bucket 419 HT Bucket 420 EVENT_GAME_VARIABLE_LIMIT 7 2 HT Bucket 421 RARITY_RARE 7 1 HT Bucket 422 bj_mapInitialCameraBounds 7 100054 HT Bucket 423 bj_ITEMCODE_STATUS_PAWNABLE 4 2 bj_HEROSTAT_AGI 4 1 HT Bucket 424 bj_MISSION_INDEX_XU07 4 7d7 PLAYER_STATE_NO_CREEP_SLEEP 7 19 HT Bucket 425 PLAYER_STATE_ALLIED_VICTORY 7 8 HT Bucket 426 MAP_RANDOM_RACES 7 40000 HT Bucket 427 PLAYER_STATE_LUMBER_GATHERED 7 10 HT Bucket 428 bj_randDistID 9 0 UNIT_TYPE_TAUREN 7 14 PLAYER_SCORE_RESOURCE_TOTAL 7 17 VERSION_FROZEN_THRONE 7 1 HT Bucket 429 bj_rescueSound 7 100032 HT Bucket 430 RACE_DEMON 7 5 HT Bucket 431 bj_dncSoundsDawn 7 100045 bj_ITEM_STATUS_HIDDEN 4 0 PLAYER_STATE_RESOURCE_FOOD_CAP 7 4 HT Bucket 432 EVENT_UNIT_HERO_REVIVE_CANCEL 7 52 HT Bucket 433 bj_suspendDecayBoneGroup 7 100004 bj_MISSION_INDEX_U07 4 7d5 bj_CINEMODE_VOLUME_UI 5 0 GAME_STATE_DIVINE_INTERVENTION 7 0 HT Bucket 434 HT Bucket 435 bj_BUFF_RESIST_BOTH 4 3 WEAPON_TYPE_METAL_LIGHT_CHOP 7 1 HT Bucket 436 bj_CAMPAIGN_INDEX_XN 4 5 HT Bucket 437 bj_ITEM_STATUS_SELLABLE 4 4 MAP_SPEED_NORMAL 7 2 MAP_SPEED_SLOWEST 7 0 ALLIANCE_SHARED_VISION_FORCED 7 9 HT Bucket 438 HT Bucket 439 bj_destRandomCurrentPick 7 0 HT Bucket 440 UNIT_TYPE_ETHEREAL 7 19 HT Bucket 441 bj_MISSION_INDEX_XH01 4 3e9 bj_MELEE_MAX_TWINKED_HEROES_V0 4 3 bj_POLLED_WAIT_INTERVAL 5 3dcccccd RACE_PREF_RANDOM 7 20 HT Bucket 442 bj_isSinglePlayer 8 1 bj_MISSION_INDEX_XO00 4 bb8 bj_QUEUE_DELAY_QUEST 5 40a00000 bj_TEXT_DELAY_SECRET 5 41200000 HT Bucket 443 bj_MISSION_INDEX_XN01 4 1 UNIT_TYPE_GROUND 7 4 HT Bucket 444 WEAPON_TYPE_WOOD_MEDIUM_BASH 7 f PLAYER_COLOR_CYAN 7 2 HT Bucket 445 bj_MISSION_INDEX_N00 4 fa0 UNIT_TYPE_MELEE_ATTACKER 7 7 EVENT_UNIT_TRAIN_START 7 45 HT Bucket 446 HT Bucket 447 HT Bucket 448 bj_TEXT_DELAY_QUESTFAILED 5 41a00000 LESS_THAN_OR_EQUAL 7 1 PLAYER_COLOR_ORANGE 7 5 HT Bucket 449 EVENT_GAME_LEAVE_REGION 7 6 HT Bucket 450 EVENT_UNIT_HERO_LEVEL 7 4e HT Bucket 451 HT Bucket 452 bj_MISSION_INDEX_H08 4 3f0 bj_MELEE_MINE_SEARCH_RADIUS 5 44fa0000 UNIT_TYPE_UNDEAD 7 e HT Bucket 453 bj_ALLIANCE_UNALLIED_VISION 4 1 RACE_ORC 7 2 HT Bucket 454 PLAYER_STATE_OBSERVER 7 b HT Bucket 455 bj_WAIT_FOR_COND_MIN_INTERVAL 5 3dcccccd BLEND_MODE_KEYALPHA 7 1 HT Bucket 456 HT Bucket 457 HT Bucket 458 HT Bucket 459 bj_lastCreatedLeaderboard 7 0 HT Bucket 460 HT Bucket 461 MAP_DENSITY_LIGHT 7 1 HT Bucket 462 TEXMAP_FLAG_WRAP_U 7 1 HT Bucket 463 bj_cineFadeFinishTimer 7 0 EVENT_UNIT_ACQUIRED_TARGET 7 3c HT Bucket 464 WEAPON_TYPE_WOOD_LIGHT_STAB 7 11 HT Bucket 465 HT Bucket 466 bj_CAMPAIGN_INDEX_H 4 1 PLAYER_NEUTRAL_PASSIVE 4 f HT Bucket 467 DAMAGE_TYPE_DIVINE 7 d HT Bucket 468 HT Bucket 469 bj_lastReplacedUnit 7 0 DAMAGE_TYPE_COLD 7 9 HT Bucket 470 HT Bucket 471 HT Bucket 472 bj_MISSION_INDEX_N07 4 fa7 DAMAGE_TYPE_UNIVERSAL 7 1a HT Bucket 473 bj_CINEMATICINDEX_HED 4 2 HT Bucket 474 HT Bucket 475 EVENT_DIALOG_BUTTON_CLICK 7 5a EVENT_PLAYER_UNIT_TRAIN_CANCEL 7 21 DAMAGE_TYPE_MAGIC 7 e HT Bucket 476 bj_lastPlayedMusic 6 1 EVENT_UNIT_SELL 7 11e EVENT_PLAYER_UNIT_DEATH 7 14 HT Bucket 477 bj_ELEVATOR_WALL_TYPE_NORTH 4 2 HT Bucket 478 PLAYER_SCORE_STRUCT_RAZED 7 3 HT Bucket 479 bj_cineFadeContinueRed 5 0 bj_ITEMCODE_STATUS_POWERUP 4 0 MAP_CONTROL_NONE 7 5 HT Bucket 480 bj_GAMECACHE_STRING 4 4 bj_KEYEVENTKEY_UP 4 3 EVENT_PLAYER_UNIT_TRAIN_FINISH 7 22 HT Bucket 481 bj_dncSoundsDusk 7 100048 HT Bucket 482 bj_lastPlayedSound 7 0 HT Bucket 483 bj_MISSION_INDEX_XH09 4 3f1 bj_MISSION_INDEX_H09 4 3f1 HT Bucket 484 bj_MELEE_HERO_LIMIT 4 3 HT Bucket 485 bj_MISSION_INDEX_XN07 4 7 HT Bucket 486 bj_cineFadeContinueTrans 5 0 bj_stockPickedItemLevel 4 0 HT Bucket 487 bj_dawnSound 7 100043 HT Bucket 488 bj_queuedExecUseConds 13 79f0138 bj_ELEVATOR_CODE02 4 44547278 PATHING_TYPE_AMPHIBIOUSPATHING 7 7 HT Bucket 489 HT Bucket 490 bj_MISSION_INDEX_XH06 4 3ee EVENT_UNIT_SELL_ITEM 7 120 HT Bucket 491 bj_MISSION_INDEX_N08 4 fa8 EVENT_PLAYER_ARROW_DOWN_DOWN 7 109 HT Bucket 492 bj_lastCreatedUbersplat 7 0 bj_lastCreatedTerrainDeformation 7 0 bj_CORPSE_MAX_DEATH_TIME 5 41000000 HT Bucket 493 bj_slotControlReady 8 1 bj_CAMPAIGN_OFFSET_T 4 0 bj_CAMPAIGN_INDEX_XH 4 6 ATTACK_TYPE_SIEGE 7 3 HT Bucket 494 bj_CAMPAIGN_OFFSET_U 4 2 bj_CAMERA_DEFAULT_ROTATION 4 5a EVENT_UNIT_CHANGE_OWNER 7 11f HT Bucket 495 bj_TEXT_DELAY_UNITAVAILABLE 5 41200000 EVENT_PLAYER_HERO_SKILL 7 2a MAP_SPEED_FASTEST 7 4 HT Bucket 496 bj_wantDestroyGroup 8 0 bj_SORTTYPE_SORTBYPLAYER 4 1 PLAYER_COLOR_PURPLE 7 3 HT Bucket 497 PLAYER_STATE_GOLD_GATHERED 7 f HT Bucket 498 bj_MAX_PLAYER_SLOTS 4 10 bj_E 5 402df84d HT Bucket 499 HT Bucket 500 HT Bucket 501 bj_QUESTMESSAGE_SECRET 4 8 BLEND_MODE_NONE 7 0 EVENT_UNIT_DESELECTED 7 3a HT Bucket 502 bj_QUESTTYPE_OPT_DISCOVERED 4 2 EVENT_PLAYER_END_CINEMATIC 7 11 HT Bucket 503 bj_MELEE_STARTING_GOLD_V1 4 1f4 HT Bucket 504 SOUND_VOLUMEGROUP_UNITSOUNDS 7 1 HT Bucket 505 HT Bucket 506 bj_MISSION_INDEX_XU11 4 7db PLAYER_SCORE_ITEMS_GAINED 7 8 GAME_TYPE_FOUR_TEAM_PLAY 7 80 HT Bucket 507 bj_MODIFYMETHOD_ADD 4 0 EQUAL 7 2 SOUND_VOLUMEGROUP_FIRE 7 7 HT Bucket 508 glomp 0 0 ITEM_TYPE_POWERUP 7 2 GAME_STATE_DISCONNECTED 7 1 PATHING_TYPE_FLYABILITY 7 2 HT Bucket 509 bj_defeatDialogSound 7 10003c EVENT_UNIT_LOADED 7 58 RACE_PREF_ORC 7 2 HT Bucket 510 bj_isUnitGroupDeadResult 8 1 PLAYER_STATE_GOLD_UPKEEP_RATE 7 d HT Bucket 511 bj_CAMPAIGN_OFFSET_N 4 4 |
![]() |
![]() |
Sponsored Links - Login to hide this ad! |
|
![]() |
#2 |
Alcopops
Tools & Tutorials Moderator
|
![]() Quite interesting.
__________________I guess array variables take up the same space as long as they're not initialized? I'm wondering because all those new systems make use of so many arrays. |
![]() |
![]() |
![]() |
#3 | |
BuranX
|
![]() Quote:
|
|
![]() |
![]() |
![]() |
#4 |
Moderator
Code Moderator
Join Date: Feb 2006
Posts: 1,405
![]() ![]() ![]() ![]() |
![]() OK, I can quantify it now. Arrays are looked up in the same global/local hash table, but rather than a value, you get an array struct.
__________________Code:
typedef struct Array { long x0; long size; long length; long *data; } Array; If no value has been assigned to the array, the hash table look up will return NULL, so an unused array consumes no extra space. When you assign to it, the Array struct is allocated as the next power of two up from the index. Size holds the number of cells allocated and length holds the last index assigned. Both global and local arrays start out this way. Look up goes like: Code:
Variable *v = LookupScope(name); Array *a = (Array *)v->value; if(!a) return 0; // array not been assigned to if(i >= a->length) return 0; return a->data[i]; Array slots are in fact not Variable structs, they're just 4B. We knew that though since a full array is only 32kB Sort of a basic, sane way to implement dense arrays. |
![]() |
![]() |
![]() |
#5 | |
master of fugue
Join Date: Jun 2007
Posts: 2,453
![]() ![]() ![]() ![]() ![]() |
![]() Quote:
I lost you here. 32kb? aren't arrays 8kb (8192) ? --- interesting thing about local variables. So if I have more than 4 locals it is certain that accessing them will use list method from bucket thus reducing performance. (btw I have 8 buckets in ABC hehe) hummm, this info could be used good in speed critical functions, keep the number of locals 2 or 3 and all will be fine... 1 would be ideal :D --- do function argument variables also have 4 buckets ? |
|
![]() |
![]() |
![]() |
#6 | |
User
Join Date: Aug 2007
Posts: 29
![]() |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#7 |
master of fugue
Join Date: Jun 2007
Posts: 2,453
![]() ![]() ![]() ![]() ![]() |
![]() *sigh* I knew that of course but it is 00:30 here and I was up from 06:00
__________________ |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
|
|