Go Back   UnKnoWnCheaTs - Multiplayer Game Hacks and Cheats > First-Person Shooters > Battlefield Series > Battlefield 2

- Sponsored Advertisement -
http://www.myfpscheats.com/

Welcome to the UnKnoWnCheaTs - Multiplayer Game Hacks and Cheats.
You have to register before you can post and see and access any of the advanced forum features, please click the register link to proceed to the registration form. To start viewing threads or posts, select a forum that you want to visit from the selection below.
Battlefield 2
hacks cheats tutorials source code
You are Unregistered, please register to gain Full access.    
Reply
 
Thread Tools

Vehicle identifier list
Old 02-17-2010, 03:23 PM   #1
n00bie

r00tay's Avatar

Join Date: Jan 2010
Posts: 3
Reputation: 100
Rep Power: 27
r00tay is officially drafted by UCr00tay is officially drafted by UC
Points: 1,595, Level: 3
Points: 1,595, Level: 3 Points: 1,595, Level: 3 Points: 1,595, Level: 3
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
Last Achievements
Vehicle identifier list

Hey there,

I was looking for a way to identify vehicles from their CVehicle class (since some Vehicles don't have a VehicleName assigned, for example ground AA stations) and came up with this:
Code:
class CVehicle
{
public:
    char unknown0[68];
    unsigned short VehicleId; //0x44
    char unknown1[330];
    char VehicleName[16]; //0190

    //VehicleIds (unsigned short)
    //China
    //US
    //MEC

    //Parachute 0x1177

    //Soldier   0x0CCB (China)
    //Soldier    0x0CCC (China)
    //Soldier    0x0CD3 (US)
    //Soldier    0x0CD4 (US)
    //Soldier    0x0CD1 (MEC)
    //Soldier    0x0CD2 (MEC)

    //J10:        0x1110
    //35B:        0x10E7
    //F-18:        0x1219
    //F-15:        0x11F3
    //Mig29:    0x1180
    //SU-34:    0x11A3

    //IGLA:        0x15A8 (china/mec)
    //Stinger:    0x15BF
    //ESSEX:    0x15CE

    //Typ-95:        0x12C0
    //Tunguska:        0x12A0
    //LineBacker:    0x13ED

    /*Transport choppers*/
    //Z8:                    0x1154
    //UH60 (Black Hawk):    0x12A3
    //Mi17:                    0x11D1

    /*Attack choppers*/
    //Z10:            0x10C4
    //Ahe_Ah1z:        0x107F
    //Havoc:        0x10A3

    /*Tanks*/
    //Typ98:    0x13CC
    //M1A2:        0x1461
    //T-90:        0x13AB

    /*APCs*/
    //wz551        0x1310
    //Lav25        0x140E
    //Btr90        0x12E1

    /*Cars*/
    //china car:        0x137B
    //china car big:    0x1367
    //us buggy:            0x133E
    //mec car:            0x1353

    /*Boats*/
    //Boat: 0x1486
};
Don't know if anyone posted this yet, but i thought it might be useful for others. It's not complete (booster pack vehicles, TOW, etc. are missing). Feel free to complete the list if you want to.
Also i was not able to see a clear scheme of how the bytes are set (yeah, air vehicles usually have 0x11 as the higher order byte, but there are lots of exceptions). If you see a better method for grouping the vehicles, i'd be delighted to hear from you.

Have fun.

Edit: Just noticed that every side (US, China, MEC) has got two types of soldiers, one with more and one with less stamina (higher ID -> more stamina). Added their IDs

Last edited by r00tay; 02-20-2010 at 02:36 PM. Reason: New IDs, corrected linebacker id
r00tay is online now

Reply With Quote


Old 02-21-2010, 12:39 AM   #2
A Legend

Revolty's Avatar

Join Date: Nov 2008
Location: Sweden
Posts: 271
Reputation: 12592
Rep Power: 170
Revolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server spaceRevolty 's rep takes up 1 gig of server space
Smack-n-Bash Champion
Points: 9,681, Level: 11
Points: 9,681, Level: 11 Points: 9,681, Level: 11 Points: 9,681, Level: 11
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
Last Achievements
You could log the vehicle category, type & name while iterating all objects?

Code:
map<int, CObject*>* pObjectList = pObjectManager->getObjectList(); /*0x0060*/

if ( !pObjectList )
	 return;

for ( map<int, CObject*>::iterator it = pObjectList->begin(); it != pObjectList->end(); it++ ) 
{
	  CObject* pObject = it->second;

	  if ( !pObject )
		   continue;

	  CTemplate* pTemplate = pObject->getTemplate();
	  
	  if ( pTemplate && 
		   pTemplate->getTemplateID() == ObjectTemplate::PlayerControlObject /*0x0C4C2*/ ) {			  

		   CTemplate_PlayerControlObject* pPlayerControlTemplate = reinterpret_cast<CTemplate_PlayerControlObject*>(pTemplate);

		   if ( pPlayerControlTemplate )
		   { 
		  	    Log::getInstace()->writeLine("Category: %i | Type: %i | Name: %s", 
				    pPlayerControlTemplate->vehicleCategory, 
				    pPlayerControlTemplate->vehicleType, 
				    pPlayerControlTemplate->vehicleName);
		   }
	  }		
}
Code:
enum VehicleCategory : int
{
	VCLand								= 0,
	VCSea								= 1,
	VCAir								= 2,
	VCHelicopter						= 3,
	VCNoVehicleCategory					= 4,
};

enum VehicleType : int
{
	VTTank								= 0,
	VTAPC								= 1,
	VTHelicopter						= 2,
	VTJeep								= 3,
	VTPlane								= 4,
	VTAntiAir							= 5,
	VTSea								= 6,
};
Code:
class CTemplate
{
public:
	virtual int addRef(); //
	virtual int getRef(); //
	virtual int release(); //
	virtual void* queryInterface(int id); //
	virtual int getTemplateID(); //
	virtual void function5(); //
	virtual void function6(); //
	virtual void function7(); //
	virtual void function8(); //
	virtual void function9(); //
	virtual string* getTemplateName(); //
	virtual void function11(); //
	virtual void function12(); //
	virtual void function13(); //
	virtual void function14(); //
	virtual void function15(); //
	virtual void function16(); //
	virtual DWORD getFlags(); //
	virtual void function18(); //
	virtual void function19(); //
	virtual void function20(); //
	virtual void function21(); //
	virtual CComponent* getComponent(int id); //
		char unknown4[8]; //0x0004
	string name; //0x000C  
	string networkableInfo; //0x0028  
		char unknown68[4]; //0x0044
	DWORD flags; //0x0048  
	map<int, CComponent*> componentMap; //0x004C  
	float cullRadiusScale; //0x0058  
		char unknown92[4]; //0x005C
};//Size=0x0060(96)

class CTemplate_SimpleObject : public CTemplate
{
public:
	virtual int addRef(); //
	virtual int getRef(); //
	virtual int release(); //
	virtual void* queryInterface(int id); //
	virtual void function4(); //
	virtual string* getGeometry(); //
	virtual void mapMaterial(UINT, string*, UINT); //
	virtual void function7(); //
	virtual void function8(); //
	virtual void function9(); //
	virtual void function10(); //
	virtual D3DXVECTOR3* getRelativePositionOffset(); //
	virtual void function12(); //
	virtual bool getHasMobilePhysics(); //
		char unknown100[4]; //0x0064
	__int32 geometryPart; //0x0068  
	__int32 collisionPart; //0x006C  
	float drag; //0x0070  
	D3DXVECTOR3 dragOffset; //0x0074  
	D3DXVECTOR3 dragModefier; //0x0080  
	float mass; //0x008C  
	D3DXVECTOR3 centerOfMassOffset; //0x0090  
	D3DXVECTOR3 centerOfCollisionOffset; //0x009C  
	D3DXVECTOR3 inertiaModefier; //0x00A8  
	float gravityModefier; //0x00B4  
	float floaterMod; //0x00B8  
		char unknown188[24]; //0x00BC
	float treeCollisionDiameter; //0x00D4  
	__int32 otherCollisionLod; //0x00D8  
	DWORD physicsFlags; //0x00DC  
	__int32 physicsType; //0x00E0  
		char unknown228[4]; //0x00E4
	__int32 grip; //0x00E8  
	float handleCollisionSpeed; //0x00EC  
	__int32 collisionGroups; //0x00F0  
	__int32 material; //0x00F4  
	BYTE isPortalPassing; //0x00F8  
		char unknown249[3]; //0x00F9
	D3DXVECTOR3 portalPassingPosition; //0x00FC  
	vector<void*> materialMap; //0x0108  
	BYTE animatedUVTranslation; //0x0118  
		char unknown281[3]; //0x0119
	D3DXVECTOR2 animatedUVTranslationSpeed; //0x011C  
	D3DXVECTOR2 animatedUVTranslationMax; //0x0124  
	D3DXVECTOR2 animatedUVTranslationSize; //0x012C  
	__int32 animatedUVTranslationIndex; //0x0134  
	BYTE animatedUVTranslationReverse; //0x0138  
	BYTE animatedUVRotation; //0x0139  
		char unknown314[2]; //0x013A
	D3DXVECTOR2 animatedUVRotationScale; //0x013C  
	__int32 animatedUVRotationIndex; //0x0144  
	float animatedUVRotationRadius; //0x0148  
	BYTE animatedUVRotationReverse; //0x014C  
	BYTE rotateAsAnimatedUV; //0x014D  
		char unknown334[2]; //0x014E
	string rotateAsAnimatedUVObject; //0x0150  
	BYTE rotateAsAnimatedUVReverse; //0x016C  
		char unknown365[3]; //0x016D
	string geometry; //0x0170  
	string aiTemplate; //0x018C  
	string collisionMesh; //0x01A8  
		char unknown452[28]; //0x01C4
	D3DXVECTOR3 relativePositionOffset; //0x01E0  
		char unknown492[4]; //0x01EC
	D3DXVECTOR3 anchor; //0x01F0  
	D3DXVECTOR3 anchorOffset; //0x01FC  
		char unknown520[8]; //0x0208
};//Size=0x0210(528)

class CTemplate_Bundle
{
public:
	virtual int addRef(); //
	virtual int getRef(); //
	virtual int release(); //
	virtual void* queryInterface(int id); //
	virtual void function4(); //addTemplate
	virtual void function5(); //removeTemplate
	virtual void function6(); //
	virtual void function7(); //
	virtual void function8(); //getTemplate
	char unknown4[4]; //0x0004
	vector<CBundle<string, CTemplate*>> subTemplates; //0x0008  
	char unknown26[4]; //0x0018
};//Size=0x001C(28)

class CTemplate_PlayerControlObject : public CTemplate_SimpleObject, public CTemplate_Bundle /*0x0210*/
{
public:
	virtual int addRef(); //
	virtual int getRef(); //
	virtual int release(); //
	virtual void* queryInterface(int id); //
	__int32 refCount; //0x0230  
	string vehicleName; //0x0234  
		char unknown592[48]; //0x0250
	D3DXVECTOR3 seatPosition; //0x0280  
		char unknown652[4]; //0x028C
	void* seatAnimationSystem; //0x0290  
	float seatLeftRotationLimit; //0x0294  
	float seatRightRotationLimit; //0x0298  
	D3DXVECTOR3 soldierExitPosition; //0x029C  
	D3DXVECTOR3 soldierExitRotation; //0x02A8  
	D3DXVECTOR3 nameTagOffset; //0x02B4  
		char unknown704[16]; //0x02C0
	float cameraShakeTriggers; //0x02D0  
	BYTE dontClearTeamOnExit; //0x02D4  
	BYTE destroyOnExit; //0x02D5  
	BYTE dontAllowExit; //0x02D6  
	BYTE hasRestrictedExit; //0x02D7  
	D3DXVECTOR3 altSoldierExitPosition; //0x02D8  
	float regWhenMinInput; //0x02E4  
	__int32 regulateYawInput; //0x02E8  
	__int32 regulatePitchInput; //0x02EC  
	__int32 regulateRollInput; //0x02F0  
	__int32 regulateVerticalPosInput; //0x02F4  
	D3DXVECTOR2 regulateYaw; //0x02F8  
	D3DXVECTOR2 regulatePitch; //0x0300  
	D3DXVECTOR2 regulateRoll; //0x0308  
	D3DXVECTOR2 regulateVerticalPos; //0x0310  
	float maxVertRegAngle; //0x0318  
	float noVertRegAngle ; //0x031C  
	__int32 pcoId; //0x0320  
	DWORD pcoFlags; //0x0324  
		char unknown808[40]; //0x0328
	__int32 vehicleCategory; //0x0350  
	__int32 controlsCategory; //0x0354  
	__int32 vehicleType; //0x0358  
	__int32 toolTipType; //0x035C  
	BYTE artPos; //0x0360  
		char unknown865[43]; //0x0361
	float exitSpeedMod; //0x038C  
	__int32 disableSpawnPointsOnEnter; //0x0390  
	__int32 vehicleCameraShake; //0x0394  
	float vehicleFov; //0x0398  
	BYTE toggleWeapon; //0x039C  
		char unknown925[3]; //0x039D
	float cockpitLod; //0x03A0  
	float cockpitSubGeom; //0x03A4  
	string soundFilter; //0x03A8  
		char unknown964[12]; //0x03C4
	float shakeFactor; //0x03D0  
	float sprintRecoverTime; //0x03D4  
	float sprintDissipationTime; //0x03D8  
	float sprintLimit; //0x03DC  
	float sprintFactor; //0x03E0  
	BYTE allowDucking; //0x03E4  
	BYTE disableInputWhileDucking; //0x03E5  
	BYTE autoUseAbility; //0x03E6  
		char unknown999[1]; //0x03E7
	__int32 specialToggleWeaponInput; //0x03E8  
	float listenerObstruction; //0x03EC  
	float groundContactVolume; //0x03F0  
	float damagedAmbintSoundLimit; //0x03F4  
	__int32 crewKitIndex; //0x03F8  
	BYTE maintainCameraOnExit; //0x03FC  
	BYTE maintainCameraOnEnter; //0x03FD  
	BYTE neverDrawAs1p; //0x03FE  
	BYTE isOpenVehicle; //0x03FF  
	float boundingRadiusModifierWhenOccupied; //0x0400  
		char unknown1028[64]; //0x0404
};//Size=0x0444(1092)
Revolty is offline

Reply With Quote
Reply  

  • Submit Thread to Digg
  • Submit Thread to del.icio.us
  • Submit Thread to StumbleUpon
  • Submit Thread to Google
  • Submit Thread to Facebook
  • Submit Thread to My Yahoo!
  • Submit Thread to MySpace
  • Submit Thread to Twitter
  • Submit Thread to Reddit



Tags
identifier, list, vehicle
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



All times are GMT +1. The time now is 09:59 AM.