icza / bwhf

StarCraft BroodWar Hacker Finder, anti-hack, replay analyzer-organizer and utility tool
8 stars 2 forks source link

Action.java incomplete enums #73

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Game actions(commands) can be found here:
http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Starcraft/packet
s2.txt

ACTION_NAME_INDEX_0X33 is known as Cancel Upgrade

Orders (what you call subactions) can be found here:
http://www.staredit.net/wiki/Orders.dat_Entry_Listing

Techs/Resarch IDs: http://www.staredit.net/wiki/Techdata.dat_Entry_Listing
Upgrades: http://www.staredit.net/wiki/Upgrades.dat_Entry_Listing

Units: http://www.staredit.net/wiki/Units.dat_entry_listing

The following unit name mappings are incorrect:
                UNIT_ID_NAME_MAP.put( (short) 0xC0, "Larva" );
                UNIT_ID_NAME_MAP.put( (short) 0xC1, "Rine/Bat" );
                UNIT_ID_NAME_MAP.put( (short) 0xC2, "Dark Archon" );
                UNIT_ID_NAME_MAP.put( (short) 0xC3, "Archon" );
                UNIT_ID_NAME_MAP.put( (short) 0xC4, "Scarab" );
                UNIT_ID_NAME_MAP.put( (short) 0xC5, "Interceptor" );
                UNIT_ID_NAME_MAP.put( (short) 0xC6, "Interceptor/Scarab" );

Possibly others, like race and owner which are seen here:
http://www.staredit.net/wiki/scenario.chk_format .

Original issue reported on code.google.com by AHeinerm on 3 Feb 2010 at 7:07

GoogleCodeExporter commented 9 years ago
This unit id to unit name map contains unit ids that can be trained. Initial 
units 
recorded in the chk scenario format are different from the ones that can be 
trained. 
As far as I know my mappings are correct.

For example: you said 0xc5=Interceptor is incorrect. On the page you linked 
(http://www.staredit.net/wiki/Units.dat_entry_listing) 0xc5 and 0xc6 are zerg 
and 
terran flag bacons.

If you train a subunit in a carrier or in a reaver it contains unit id 0xc6 (or 
0xc4-
0xc5). It is obviously not a flag bacon that is being trained in a carrier.

Original comment by icz...@gmail.com on 3 Feb 2010 at 8:21

GoogleCodeExporter commented 9 years ago
If you train a subunit it does NOT contain a unit ID. I don't know where you are
getting this information, but it is definitely incorrect. The units.dat list is 
the
only list you can possibly use (There are no special cases or exceptions).

Original comment by AHeinerm on 4 Feb 2010 at 12:10

GoogleCodeExporter commented 9 years ago
Yes, you're right, there is no subunit id. I didn't check that.

This is my source:
http://www.phpx.com/viewarticle.php?id=110058

I did copy the unit IDs correctly from that page.
But it appears that's no longer available, but I have a copy of that on Google 
docs. 
I shared it with you.

Original comment by icz...@gmail.com on 4 Feb 2010 at 7:01

GoogleCodeExporter commented 9 years ago
Corrected/completed unit enumeration. Thanks again for notifying me.

Original comment by icz...@gmail.com on 22 Feb 2010 at 7:24