ViperSRT3g 224 Posted September 7, 2009 Anyone know the exact offsets for the upgrades and tech, as well as the address range for Player 1? Apparently, the following information is incorrect. Any corrections to this list would be greatly appreciated. :D Tech Upgrades - 1.16.1 0058D2B0 0x01 = Terran - Lock Down (Ghost) 0x02 = Terran - EMP Shockwave (Science Vessel) 0x03 = Terran - Spider Mines (Vulture) 0x04 = 0x05 = Terran - Siege Mode (Tank) 0x06 = 0x07 = Terran - Irradiate (Science Vessel) 0x08 = Terran - Yamato Gun (BattleCruiser) 0x09 = Terran - Cloaking Field (Wraith) 0x0A = Terran - Personnel Cloaking (Ghost) 0x0B = Zerg - Burrowing 0x0C = 0x0D = Zerg - Spawn Broodlings (Queen) 0x0E = Terran - Optical Flare(Medic) 0x0F = Zerg - Plague (Defiler) 0x10 = Zerg - Consume (Defiler) 0x11 = Zerg - Ensnare (Queen) 0x12 = 0x13 = 0x14 = 0x15 = 0x16 = 0x17 = 0x18 = Terran - Restoration (Medic) 0x19 = 0x1A = 0x1B = 0x1C = 0x1D = 0x1E = 0x1F = 0x20 = Zerg - Lurker Aspect (Hydralisk) Weapon Upgrades - 1.16.1 0058CF44 Terran: 0x01 = Terran - Ground Armor 0x07 = Terran - Infantry Wepons 0x08 = Terran - Ground Wepons 0x10 = Terran - Marine Attack Range 0x11 = Terran - Vulture Movment 0x13 = Terran - Science Vessel +50 Energy 0x14 = Terran - Ghost Sight Range 0x15 = Terran - Ghost +50 Energy 0x16 = Terran - Wraith +50 Energy 0x33 = Terran - Medic +50 Energy 0x36 = Terran - Goliath Attack Range Protoss: 0x05 = Protoss - Ground Armor 0x06 = Protoss - Air Armor 0x0D = Protoss - Ground Wepons 0x0E = Protoss - Air Weapons 0x0F = Protoss - Plasma Shields 0x13 = Protoss - Psionic Storm 0x14 = Protoss - Hallucination 0x15 = Protoss - Recall 0x16 = Protoss - Stasis 0x19 = Protoss - Disruption Web 0x1B = Protoss - Mind Controll 0x1F = Protoss - MealStorm 0x21 = Protoss - Dragoon Attack Range 0x22 = Protoss - Zealot Speed 0x23 = Protoss - Scarab Damage 0x24 = Protoss - Reaver Capacity 0x25 = Protoss - Shuttle Movment 0x26 = Protoss - Observer Sight Range 0x27 = Protoss - Observer Movment 0x28 = Protoss - High Templar +50 Energy 0x29 = Protoss - Scout Sight Range 0x2A = Protoss - Scout Movment 0x2B = Protoss - Carrier Capacity 0x2C = Protoss - Arbiter +50 Energy 0x2F = Protoss - Corsair +50 Energy 0x31 = Protoss - Dark Archon +50 Energy Zerg: 0x03 = Zerg - Carapace (Zerg Shields) 0x04 = Zerg - Air Armor 0x0A = Zerg - Melee Wepons 0x0B = Zerg - Missile Wepons 0x0C = Zerg - Air Wepons 0x18 = Zerg - Overlord Transporting 0x19 = Zerg - Overlord Sight Range 0x1A = Zerg - Overlord Movment 0x1B = Zerg - Zergling Movment 0x1C = Zerg - Zergling Attack Speed 0x1D = Zerg - Hydralist Movment 0x1E = Zerg - Hydralist Attack Range 0x1F = Zerg - Queen +50 Energy 0x20 = Zerg - Defiler +50 Energy 0x25 = Zerg - Ultralist Movment 0x34 = Zerg - Ultralist Armor Share this post Link to post
n0.obAtroN 0 Posted September 15, 2009 An old snippet from nexuiz 2.2.4, hope you find it usefull: /*IdentifyUpgrade() - Indentifies an upgrade from hex values*/ char* IdentifyUpgrade(int upgrade) { switch(upgrade) { case 13: return "Ground Weapons"; case 5: return "Ground Armor"; case 15: return "Plasma Sheilds"; case 14: return "Air Weapons"; case 6: return "Air Armor"; case 7: return "Infintry Weapons"; case 0: return "Inifintry Armor"; case 8: return "Vehicle Weapons"; case 1: return "Vehicle Plating"; case 9: return "Ship Weapons"; case 2: return "Ship Plating"; case 10: return "Melee Attacks"; case 11: return "Missle Attacks"; case 3: return "Carapace"; case 12: return "Flyer Attacks"; case 4: return "Flyer Carapace"; default: return NULL; } } Share this post Link to post
nano351 0 Posted September 16, 2009 An old snippet from nexuiz 2.2.4, hope you find it usefull: /*IdentifyUpgrade() - Indentifies an upgrade from hex values*/ char* IdentifyUpgrade(int upgrade) { switch(upgrade) { case 13: return "Ground Weapons"; case 5: return "Ground Armor"; case 15: return "Plasma Sheilds"; case 14: return "Air Weapons"; case 6: return "Air Armor"; case 7: return "Infintry Weapons"; case 0: return "Inifintry Armor"; case 8: return "Vehicle Weapons"; case 1: return "Vehicle Plating"; case 9: return "Ship Weapons"; case 2: return "Ship Plating"; case 10: return "Melee Attacks"; case 11: return "Missle Attacks"; case 3: return "Carapace"; case 12: return "Flyer Attacks"; case 4: return "Flyer Carapace"; default: return NULL; } } He was looking for offsets of where the data is stored for the number of upgrades for each player. Also why would you do that that way? First off you don't even have all of the upgrades and starcraft has to have all the upgrade names stored in memory for certain parts of the game so why wouldn't you just read those? Share this post Link to post