Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Forum Support

    3. Suggestions

Question for knowledgeable reverse engineers: what is model ID -2?


fastman92
 Share

Recommended Posts

I've been working on 32-bit model/TXD IDs and while I know model ID with value of -1 means undefined ID, I have no idea what another ID of -2 could be.

 

GTA SA 1.0 WIN_X86:

 

0x6B1227, part of CAutomobile::CAutomobile

 

  modelID = v4->__parent.__parent.parent.m_wModelIndex;  v4->field_94C = 0;  v4->field_950 = 1028443341;  *(_DWORD *)&v4->gap958[0] = 0;  v4->fForcedHeading = -1082130432;  v4->field_980 = 0;  *(_DWORD *)&v4->gap8EC[92] = 0;  *(_DWORD *)&v4->gap8EC[88] = 0;  if ( modelID == -2 )  {    GetFirstObject(v4->m_aCarNodes[5])->flags = 0;    if ( v4->__parent.__parent.parent.m_wModelIndex == -2 )    {      thisa.matrixPtr = 0;      thisa.haveRwMatrix = 0;      v33 = v4->m_aCarNodes[2];      LOBYTE(v42) = 1;      CMatrix::Attach(&v33->modelling, 0);      CMatrix::CMatrix(&v4->m_aCarNodes[5]->modelling, 0);      *(float *)&v34[8] = v40.matrix.pos.z;      *(float *)&point = v40.matrix.pos.x + 0.1;      *(_QWORD *)v34 = point;      LOBYTE(v42) = 2;      CMatrix::SetTranslate(&thisa, *(RwV3D *)v34);      sub_59BBB0(&thisa);      LOBYTE(v42) = 1;      CMatrix::~CMatrix(&v40);      LOBYTE(v42) = 0;      CMatrix::~CMatrix(&thisa);    }  }
0x6ACFAD, part of CAutomobile::ProcessEntityCollision

 

  modelID = v3->__parent.__parent.parent.m_wModelIndex;  v61 = v5;  v68 = 0;  v87 = v13;  if ( modelID == 432 )  {    v76 = *(float *)&v3->field_5B8[96];    v77 = *(float *)&v3->field_5B8[100];    v78 = *(float *)&v3->field_5B8[108];    v79 = *(float *)&v3->field_5B8[112];    v80 = *(float *)&v3->field_5B8[120];    v81 = *(float *)&v3->field_5B8[124];    v82 = *(float *)&v3->field_5B8[132];    v83 = *(float *)&v3->field_5B8[136];    v88 = v76;    v89 = v77;    v90 = v78;    v91 = v79;    v92 = v80;    v93 = v81;    v94 = v82;    v95 = v83;  }  v15 = v3->__parent.__parent.immunities;  if ( BYTE1(v15) & 0x90 || (v16 = *(_BYTE *)(thisa + 54) & 7, v16 == 3) || modelID == -2 && v16 == 2 )    v5->number1 = 0;
0x6A2EA5, part of CAutomobile::Render

 

  modelID = v1->__parent.__parent.parent.m_wModelIndex;  if ( modelID != 441    && modelID != -2    && modelID != 432    && v1->__parent.field_42C >= 0    && CVehicle::GetVehicleAppearance(&v1->__parent) != 3 )  {    if ( v1->__parent.dwRenderLights & 1 )      CVehicle::DoHeadLightBeam(v1, 0, (CMatrix *)v1->__parent.__parent.parent.__parent.m_pCoords, 1);    if ( v1->__parent.dwRenderLights & 2 )      CVehicle::DoHeadLightBeam(v1, 0, (CMatrix *)v1->__parent.__parent.parent.__parent.m_pCoords, 0);  }
0x6AADEA, part of CAutomobile::PreRender

 

  modelID = v2->__parent.__parent.parent.m_wModelIndex;  v249 = (v20 + v21) / flt_C1BFF0;  z_dir = sqrt(v2->__parent.__parent.m_vVelocity.x * v2->__parent.__parent.m_vVelocity.x             + v2->__parent.__parent.m_vVelocity.y * v2->__parent.__parent.m_vVelocity.y + v2->__parent.__parent.m_vVelocity.z                                                                                         * v2->__parent.__parent.m_vVelocity.z);  if ( modelID != -2 && modelID != 539 && modelID != 441 )  {    if ( (v2->__parent.__parent.parent.type & 0xF8) == 16 )    {      thisa.matrixPtr = 0;      thisa.haveRwMatrix = 0;      v22 = v2->m_aCarNodes[4];      v274 = 0;      CMatrix::Attach(&v22->modelling, 0);      v23 = *(float *)&v2->field_838[12] * 1.5;      point.y = thisa.matrix.pos.y;      point.x = thisa.matrix.pos.x;
0x6ABC7B, part of CAutomobile::PreRender

 

      _modelID = v2->__parent.__parent.parent.m_wModelIndex;      if ( _modelID != 441        && _modelID != -2        && _modelID != 432        && v2->__parent.field_42C >= 0        && CVehicle::GetVehicleAppearance(&v2->__parent) != 3 )      {        __modelID = v2->__parent.__parent.parent.m_wModelIndex;        if ( __modelID == 532 || __modelID == 471 )          CVehicle::DoVehicleLights(&v2->__parent, (CMatrix *)v2->__parent.__parent.parent.__parent.m_pCoords, 0);        else          CVehicle::DoVehicleLights(&v2->__parent, (CMatrix *)v2->__parent.__parent.parent.__parent.m_pCoords, 3);      }
Silent, NTAuthority, Deji, DK22, The Hero, Link2012, JoeVK, Junior_Djjr, anyone else?
Link to comment
Share on other sites

spaceeinstein

I know about model index -2 in Vice City. There are some code specific to III's Dodo that were no longer relevant in VC, but instead of removing the code, R* just changed the model index check from the Dodo to -2. It's probably the same for SA.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.