Difference between revisions of "User:SSX-Breaker"

From GTAMods Wiki
Jump to navigation Jump to search
(Modifications of SSX-Breaker)
Line 1: Line 1:
Contains some stuff from [http://squiddy.marway.org/gta/mods/functions.txt Squiddy's Functions] & [http://gtaconnection.net/files/modelingman/vcfunc.htm Modelingman's Functions].
+
'''WPL''' is the format of the map-related files similar to [[IPL]]s from the previous games. It can be edited with [[WPL Manager]].
  
==Display==
+
== File Format ==
; 004A6510
 
: <code>RenderEffects</code>
 
; 004A6190
 
: <code>Render2DStuff</code>
 
; 004A69D0
 
: <code>LoadingScreen</code>
 
; 004A68A0
 
: <code>LoadingIslandScreen</code>
 
; 00557320
 
: <code>CHud::Draw</code>
 
  
==CHeli==
+
Each world placement file starts with one single header followed by the object placement information. The structure for the header is very simple:
; 005AC50E
 
: <code>CHeli::DrawCoronas (( CEntity* ))</code>
 
; 005acda0
 
: <code>CHeli::Process (( void ))</code>
 
  
==Render==
+
4b - UINT32  - Unknown
; 00574790
+
4b - UINT32  - Instances
: <code>CSpecialFX::Render</code>
 
; 0056CC40
 
: <code>CShadows::RenderStoredShadows</code>
 
; 0056C690
 
: <code>CShadows::RenderStaticShadows</code>
 
; 00567F20
 
: <code>CRubbish::Render</code>
 
; 005608C0
 
: <code>CParticle::Render</code>
 
; 005729F0
 
: <code>CBulletTraces::Render</code>
 
; 00570DA0
 
: <code>C3dMarker::RenderArrow</code>
 
; 00570BA0
 
: <code>C3dMarker::Render</code>
 
; 00543500
 
: <code>CCoronas::Render</code>
 
  
==Mission Script==
+
The placement information corresponds to the previous [[Item_Placement#inst|instance]] section of the <code>.ipl</code> files. They have a binary structure like the [[Binary_IPL|binary ipl]] files introduced with [[San Andreas]]:
; 00451010
 
: <code>COpcode::GetParameters</code>
 
  
==No Category==
+
'''Section 0 - INST'''
; 00441F70
 
: <code>DeactivateSlowMotion</code>
 
; 005D5170
 
: <code>CWeaponInfo:GetFireType</code>
 
; 00541570
 
: <code>CRGBA::CRGBA</code>
 
; 005F9EE0
 
: <code>CMusicManager::DisplayRadioStationName</code>
 
; 00487200
 
: <code>CDebug::DebugDisplayTextBuffer</code>
 
; 0042A650
 
: <code>CDarkel::Update</code>
 
; 00429FD0
 
: <code>CDarkel::ReadStatus</code>
 
; 0042A7A0
 
: <code>CDarkel::Init</code>
 
; 00429FC0
 
: <code>CDarkel::FrenzyOnGoing</code>
 
; 00429FE0
 
: <code>CDarkel::DrawMessages</code>
 
; 0046FC1C
 
: <code>CCamera::DrawBordersForWideScreen</code>
 
; 00552500
 
: <code>AsciiToUnicode</code>
 
; 00466AD0
 
: <code>CAccidentManager::CountActiveAccidents ((void))</code>
 
; 00466AF0
 
: <code>CAccidentManager::FindNearestAccident (( float,float,float,float *))</code>
 
; 00401010
 
: <code>CAnimBlendAssocGroup::CopyAnimation (( uint ))</code>
 
; 00401190
 
: <code>CAnimBlendAssocGroup::GetAnimation ((char const *))</code>
 
; 00401180
 
: <code>CAnimBlendAssocGroup::GetAnimation (( uint ))</code>
 
; 00401770
 
: <code>CAnimBlendAssociation::SetCurrentTime ((float))</code>
 
; 004016C0
 
: <code>CAnimBlendAssociation::SetDeleteCallback ((void (*)( CAnimBlendAssociation *,void *),void *))</code>
 
; 004016A0
 
: <code>CAnimBlendAssociation::SetFinishCallback ((void (*)( CAnimBlendAssociation *,void *),void *))</code>
 
; 00401700
 
: <code>CAnimBlendAssociation::Start ((float))</code>
 
; 00401740
 
: <code>CAnimBlendAssociation::SyncAnimation (( CAnimBlendAssociation *))</code>
 
; 004058B0
 
: <code>CAnimManager::AddAnimation (( RpClump *, AssocGroupId,AnimationId ))</code>
 
; 00405640
 
: <code>CAnimManager::BlendAnimation (( RpClump *, AssocGroupId,AnimationId,float ))</code>
 
; 00405960
 
: <code>CAnimManager::GetAnimAssociation (( AssocGroupId,AnimationId ))</code>
 
; 00405990
 
: <code>CAnimManager::GetAnimation ((char const *, CAnimBlock *))</code>
 
; 006857B0
 
: <code>CAnimManager::ms_aAnimAssocDefinitions (void)</code>
 
; 00418CA0
 
: <code>CAutoPilot::RemoveOnePathNode ((void))</code>
 
; 0059E620
 
: <code>CAutomobile::CAutomobile (( int,uchar ))</code>
 
; 0059D1F0
 
: <code>CAutomobile::GetComponentWorldPosition (( int,CVector &))</code>
 
; 0059D260
 
: <code>CAutomobile::HydraulicControl ((void))</code>
 
; 0059D1D0
 
: <code>CAutomobile::IsComponentPresent (( int ))</code>
 
; 0059CF50
 
: <code>CAutomobile::OpenDoor (( int,eDoors,float ))</code>
 
; 0059D100
 
: <code>CAutomobile::SetComponentRotation (( int,float,float,float ))</code>
 
; 0059E590
 
: <code>CAutomobile::SetModelIndex (( uint ))</code>
 
; 0059E2B0
 
: <code>CAutomobile::SetupSuspensionLines ((void))</code>
 
; 0059E600
 
: <code>CAutomobile::~CAutomobile ((void))</code>
 
; 005C48C0
 
: <code>CBulletInfo::Initialise ((void))</code>
 
; 005C48A0
 
: <code>CBulletInfo::Shutdown ((void))</code>
 
; 005C3DE0
 
: <code>CBulletInfo::Update ((void))</code>
 
; 00419B90
 
: <code>CCarAI::AddAmbulanceOccupants (( CAutomobile *))</code>
 
; 00419B70
 
: <code>CCarAI::AddFiretruckOccupants (( CAutomobile *))</code>
 
; 0041D300
 
: <code>CCarCtrl::ClearInterestingVehicleList ((void))</code>
 
; 0041CC20
 
: <code>CCarCtrl::FindLinksToGoWithTheseNodes (( CVehicle *))</code>
 
; 0041C940
 
: <code>CCarCtrl::GenerateEmergencyServicesCar ((void))</code>
 
; 0041C460
 
: <code>CCarCtrl::GenerateOneEmergencyServicesCar (( uint,float,float,float ))</code>
 
; 0041D350
 
: <code>CCarCtrl::IsThisVehicleInteresting (( CVehicle *))</code>
 
; 0041D000
 
: <code>CCarCtrl::JoinCarWithRoadSystem (( CVehicle *))</code>
 
; 0041CEB0
 
: <code>CCarCtrl::JoinCarWithRoadSystemGotoCoors (( CVehicle *, float,float,float,bool ))</code>
 
; 0041C2F0
 
: <code>CCarCtrl::MapCouldMoveInThisArea (( float,float ))</code>
 
; 0041D370
 
: <code>CCarCtrl::RegisterVehicleOfInterest (( CVehicle *))</code>
 
; 0041D320
 
: <code>CCarCtrl::RemoveFromInterestingVehicleList (( CVehicle *))</code>
 
; 0041D2D0
 
: <code>CCarCtrl::SwitchVehicleToRealPhysics (( CVehicle *))</code>
 
; 0041C350
 
: <code>CCarCtrl::UpdateCarCount (( CVehicle *, uchar ))</code>
 
; 005A9810
 
: <code>CDamageManager::GetDoorStatus (( int ))</code>
 
; 005A9820
 
: <code>CDamageManager::SetDoorStatus (( int,uint ))</code>
 
; 005A9A10
 
: <code>CDoor::IsClosed ((void))</code>
 
; 005A9B50
 
: <code>CDoor::Open ((float))</code>
 
; 005A9AB0
 
: <code>CDoor::RetAngleWhenClosed ((void))</code>
 
; 00487D10
 
: <code>CEntity::GetDistanceFromCentreOfMassToBaseOfModel ((void))</code>
 
; 004C6AC0
 
: <code>CEntity::RegisterReference (( CEntity **))</code>
 
; 004898B0
 
: <code>CEntity::SetModelIndex (( uint ))</code>
 
; 005C5720
 
: <code>CExplosion::AddExplosion (( CEntity *, CEntity *, eExplosionType,CVector const &, uint ))</code>
 
; 005C6900
 
: <code>CExplosion::Initialise ((void))</code>
 
; 005C6820
 
: <code>CExplosion::Shutdown ((void))</code>
 
; 005C4BA0
 
: <code>CExplosion::Update ((void))</code>
 
; 0048DFB0
 
: <code>CFileMgr::LoadFile ((char const *, uchar *, int ))</code>
 
; 0048E030
 
: <code>CFileMgr::SetDir ((char const *))</code>
 
; 0048E5D0
 
: <code>CFire::Extinguish ((void))</code>
 
; 0048F170
 
: <code>CFireManager::FindNearestFire (( CVector,float *))</code>
 
; 0053A6F0
 
: <code>CGangs::GetGangPedModelOverride ((short))</code>
 
; 004DFB00
 
: <code>CMatrix::CMatrix (( RwMatrix *, bool ))</code>
 
; 004DF240
 
: <code>CMatrix::SetRotate (( float,float,float ))</code>
 
; 004DF4F0
 
: <code>CMatrix::SetRotateX ((float))</code>
 
; 004DF450
 
: <code>CMatrix::SetRotateY ((float))</code>
 
; 004DF3B0
 
: <code>CMatrix::SetRotateZ ((float))</code>
 
; 004DF8F0
 
: <code>CMatrix::UpdateRW ((void))</code>
 
; 004DFAE0
 
: <code>CMatrix::~CMatrix ((void))</code>
 
; 004AAA60
 
: <code>CPad::GetCarGunFired ((void))</code>
 
; 004AAC90
 
: <code>CPad::GetLookLeft ((void))</code>
 
; 004AAC60
 
: <code>CPad::GetLookRight ((void))</code>
 
; 004AB060
 
: <code>CPad::GetPad (( int ))</code>
 
; 00439070
 
: <code>CPathFind::DoPathSearch (( uchar,CVector,int,CVector,CPathNode **,short *, short,CVehicle *,float *, float,int ))</code>
 
; 00436E40
 
: <code>CPathFind::FindNodeClosestToCoorsFavourDirection (( float,float,float,uchar,float,float ))</code>
 
; 004382B0
 
: <code>CPathFind::NewGenerateCarCreationCoors (( float,float,float,float,float,float,bool,CVector *, int *, int *,float *, bool ))</code>
 
; 00438F90
 
: <code>CPathFind::RemoveBadStartNode (( CVector,CPathNode **,short *))</code>
 
; 0050D4B0
 
: <code>CPed::BuildPedLists ((void))</code>
 
; 0050DC20
 
: <code>CPed::CPed (( uint ))</code>
 
; 004F4950
 
: <code>CPed::CheckForExplosions ((CVector2D &))</code>
 
; 0050B4A0
 
: <code>CPed::ClearAimFlag ((void))</code>
 
; 0050B9C0
 
: <code>CPed::ClearLookFlag ((void))</code>
 
; 00521720
 
: <code>CPed::ClearObjective ((void))</code>
 
; 00517BA0
 
: <code>CPed::EnterCar ((void))</code>
 
; 005164D0
 
: <code>CPed::GetPositionToOpenCarDoor (( CVehicle *, uint ))</code>
 
; 0050D9F0
 
: <code>CPed::Initialise ((void))</code>
 
; 005C84D0
 
: <code>CPed::IsPedDoingDriveByShooting ((void))</code>
 
; 004F4930
 
: <code>CPed::IsPlayer (const(void))</code>
 
; 00518AD0
 
: <code>CPed::LineUpPedWithCar (( uint ))</code>
 
; 00527570
 
: <code>CPed::LoadFightData ((void))</code>
 
; 0050B700
 
: <code>CPed::MoveHeadToLook ((void))</code>
 
; 0050D360
 
: <code>CPed::OurPedCanSeeThisOne (( CEntity *))</code>
 
; 005179D0
 
: <code>CPed::QuitEnteringCar ((void))</code>
 
; 0050CCF0
 
: <code>CPed::RestartNonPartialAnims ((void))</code>
 
; 004F17D0
 
: <code>CPed::RestoreHeadingRate ((void))</code>
 
; 0050C600
 
: <code>CPed::RestorePreviousState ((void))</code>
 
; 0050BE00
 
: <code>CPed::ScanForThreats ((void))</code>
 
; 0050B510
 
: <code>CPed::SetAimFlag (( CEntity *))</code>
 
; 0050B5B0
 
: <code>CPed::SetAimFlag ((float))</code>
 
; 005155E0
 
: <code>CPed::SetAnimOffsetForEnterOrExitVehicle ((void))</code>
 
; 004F65C0
 
: <code>CPed::SetDie (( AnimationId,float,float ))</code>
 
; 004F6A20
 
: <code>CPed::SetEvasiveDive (( CPhysical *, uchar ))</code>
 
; 0050BB70
 
: <code>CPed::SetLookFlag (( CEntity *, bool ))</code>
 
; 0050D900
 
: <code>CPed::SetModelIndex (( uint ))</code>
 
; 0050CD50
 
: <code>CPed::SetMoveAnim ((void))</code>
 
; 0050D110
 
: <code>CPed::SetMoveState (( eMoveState ))</code>
 
; 0050D8E0
 
: <code>CPed::SetPedStats (( ePedStats ))</code>
 
; 0050CC40
 
: <code>CPed::SetStoredState ((void))</code>
 
; 004F28A0
 
: <code>CPed::SetWaitState (( eWaitState,void *))</code>
 
; 0050D120
 
: <code>CPed::SortPeds (( CPed **, int,int ))</code>
 
; 0050CD20
 
: <code>CPed::StopNonPartialAnims ((void))</code>
 
; 004F18A0
 
: <code>CPed::Wait ((void))</code>
 
; 0050DA70
 
: <code>CPed::~CPed ((void))</code>
 
; 0052FA10
 
: <code>CPedIK::CPedIK (( CPed *))</code>
 
; 00530F00
 
: <code>CPedType::Initialise ((void))</code>
 
; 004BAE90
 
: <code>CPhysical::AddToMovingList ((void))</code>
 
; 004BACC0
 
: <code>CPhysical::ApplyTurnForce (( float,float,float,float,float,float ))</code>
 
; 004BB650
 
: <code>CPhysical::CPhysical ((void))</code>
 
; 004BB630
 
: <code>CPhysical::~CPhysical ((void))</code>
 
; 005371B0
 
: <code>CPlayerPed::ReApplyMoveAnims ((void))</code>
 
; 00536620
 
: <code>CPlayerPed::SetRealMoveAnim ((void))</code>
 
; 00532070
 
: <code>CPlayerPed::SetWantedLevelNoDrop (( int ))</code>
 
; 004C1350
 
: <code>CPool_10CColModels_10CColModels_::CPool_10CColModels_10CColModels_(( int ))</code>
 
; 004C03D0
 
: <code>CPool_10CColModels_10CColModels_::Flush((void))</code>
 
; 004A7560
 
: <code>CPool_10CColModels_10CColModels_::GetNoOfUsedSpaces((void))</code>
 
; 004C03C0
 
: <code>CPool_10CColModels_10CColModels_::~CPool_10CColModels_10CColModels_((void))</code>
 
; 004C0DD0
 
: <code>CPool_10CTreadable_10CTreadable_::CPool_10CTreadable_10CTreadable_(( int ))</code>
 
; 004C0510
 
: <code>CPool_10CTreadable_10CTreadable_::Flush((void))</code>
 
; 004A74A0
 
: <code>CPool_10CTreadable_10CTreadable_::GetNoOfUsedSpaces((void))</code>
 
; 004C0500
 
: <code>CPool_10CTreadable_10CTreadable_::~CPool_10CTreadable_10CTreadable_((void))</code>
 
; 004C0850
 
: <code>CPool_14CEntryInfoNode_14CEntryInfoNode_::CPool_14CEntryInfoNode_14CEntryInfoNode_(( int ))</code>
 
; 004C0650
 
: <code>CPool_14CEntryInfoNode_14CEntryInfoNode_::Flush((void))</code>
 
; 004A7410
 
: <code>CPool_14CEntryInfoNode_14CEntryInfoNode_::GetNoOfUsedSpaces((void))</code>
 
; 004C0640
 
: <code>CPool_14CEntryInfoNode_14CEntryInfoNode_::~CPool_14CEntryInfoNode_14CEntryInfoNode_((void))</code>
 
; 004C11F0
 
: <code>CPool_18cAudioScriptObject_18cAudioScriptObject_::CPool_18cAudioScriptObject_18cAudioScriptObject_(( int ))</code>
 
; 004C0420
 
: <code>CPool_18cAudioScriptObject_18cAudioScriptObject_::Flush((void))</code>
 
; 004A7530
 
: <code>CPool_18cAudioScriptObject_18cAudioScriptObject_::GetNoOfUsedSpaces((void))</code>
 
; 004C0410
 
: <code>CPool_18cAudioScriptObject_18cAudioScriptObject_::~CPool_18cAudioScriptObject_18cAudioScriptObject_((void))</code>
 
; 004C09B0
 
: <code>CPool_4CPed_10CPlayerPed_::CPool_4CPed_10CPlayerPed_(( int ))</code>
 
; 004C0600
 
: <code>CPool_4CPed_10CPlayerPed_::Flush((void))</code>
 
; 00451CF0
 
: <code>CPool_4CPed_10CPlayerPed_::GetIndex(( CPed *))</code>
 
; 004A7440
 
: <code>CPool_4CPed_10CPlayerPed_::GetNoOfUsedSpaces((void))</code>
 
; 004C05F0
 
: <code>CPool_4CPed_10CPlayerPed_::~CPool_4CPed_10CPlayerPed_((void))</code>
 
; 004C1090
 
: <code>CPool_6CDummy_9CDummyPed_::CPool_6CDummy_9CDummyPed_(( int ))</code>
 
; 004C0470
 
: <code>CPool_6CDummy_9CDummyPed_::Flush((void))</code>
 
; 004A7500
 
: <code>CPool_6CDummy_9CDummyPed_::GetNoOfUsedSpaces((void))</code>
 
; 004C0460
 
: <code>CPool_6CDummy_9CDummyPed_::~CPool_6CDummy_9CDummyPed_((void))</code>
 
; 004C0F30
 
: <code>CPool_7CObject_13CCutsceneHead_::CPool_7CObject_13CCutsceneHead_(( int ))</code>
 
; 004C04C0
 
: <code>CPool_7CObject_13CCutsceneHead_::Flush((void))</code>
 
; 004A74D0
 
: <code>CPool_7CObject_13CCutsceneHead_::GetNoOfUsedSpaces((void))</code>
 
; 004C04B0
 
: <code>CPool_7CObject_13CCutsceneHead_::~CPool_7CObject_13CCutsceneHead_((void))</code>
 
; 004C06E0
 
: <code>CPool_8CPtrNode_8CPtrNode_::CPool_8CPtrNode_8CPtrNode_(( int ))</code>
 
; 004C1530
 
: <code>CPool_8CPtrNode_8CPtrNode_::Delete(( CPtrNode *))</code>
 
; 004C06A0
 
: <code>CPool_8CPtrNode_8CPtrNode_::Flush((void))</code>
 
; 004A73E0
 
: <code>CPool_8CPtrNode_8CPtrNode_::GetNoOfUsedSpaces((void))</code>
 
; 004C1560
 
: <code>CPool_8CPtrNode_8CPtrNode_::New((void))</code>
 
; 004C0690
 
: <code>CPool_8CPtrNode_8CPtrNode_::~CPool_8CPtrNode_8CPtrNode_((void))</code>
 
; 004C0C70
 
: <code>CPool_9CBuilding_9CBuilding_::CPool_9CBuilding_9CBuilding_(( int ))</code>
 
; 004C0560
 
: <code>CPool_9CBuilding_9CBuilding_::Flush((void))</code>
 
; 004A7470
 
: <code>CPool_9CBuilding_9CBuilding_::GetNoOfUsedSpaces((void))</code>
 
; 004C0550
 
: <code>CPool_9CBuilding_9CBuilding_::~CPool_9CBuilding_9CBuilding_((void))</code>
 
; 004C0040
 
: <code>CPools::CheckPoolsEmpty ((void))</code>
 
; 004BFF80
 
: <code>CPools::GetObject (( int ))</code>
 
; 004BFFA0
 
: <code>CPools::GetObjectRef (( CObject *))</code>
 
; 004C0000
 
: <code>CPools::GetPed (( int ))</code>
 
; 004C0020
 
: <code>CPools::GetPedRef (( CPed *))</code>
 
; 004BFFC0
 
: <code>CPools::GetVehicle (( int ))</code>
 
; 004BFFE0
 
: <code>CPools::GetVehicleRef (( CVehicle *))</code>
 
; 004C0070
 
: <code>CPools::ShutDown ((void))</code>
 
; 0053A8A0
 
: <code>CPopulation::AddPedInCar (( CVehicle *, int ))</code>
 
; 0053A720
 
: <code>CPopulation::UpdatePedCount (( ePedType,uchar ))</code>
 
; 005C7C30
 
: <code>CProjectileInfo::Initialise ((void))</code>
 
; 005C7C10
 
: <code>CProjectileInfo::Shutdown ((void))</code>
 
; 005C6A20
 
: <code>CProjectileInfo::Update ((void))</code>
 
; 004C14B0
 
: <code>CPtrList::Flush ((void))</code>
 
; 004C1500
 
: <code>CPtrNode::__dl ((void *))</code>
 
; 004C1520
 
: <code>CPtrNode::__nw (( uint ))</code>
 
; 004C3A70
 
: <code>CRadar::ClearBlipForEntity (( eBlipType,int ))</code>
 
; 0044FD7
 
: <code>CRunningScript::Process((void))</code>
 
; 0044B40
 
: <code>CRunningScript::ProcessCommands0To99((int))</code>
 
; 006084C
 
: <code>CRunningScript::ProcessCommands1000To1099((int))</code>
 
; 0060673
 
: <code>CRunningScript::ProcessCommands1100To1199((int))</code>
 
; 0063065
 
: <code>CRunningScript::ProcessCommands1200To1299((int))</code>
 
; 0062E94
 
: <code>CRunningScript::ProcessCommands1300To1399((int))</code>
 
; 0063760
 
: <code>CRunningScript::ProcessCommands1400To1499((int))</code>
 
; 00444BE
 
: <code>CRunningScript::ProcessCommands200To299((int))</code>
 
; 0045367
 
: <code>CRunningScript::ProcessCommands300To399((int))</code>
 
; 00451F9
 
: <code>CRunningScript::ProcessCommands400To499((int))</code>
 
; 0045758
 
: <code>CRunningScript::ProcessCommands500To599((int))</code>
 
; 00456E2
 
: <code>CRunningScript::ProcessCommands600To699((int))</code>
 
; 0045503
 
: <code>CRunningScript::ProcessCommands700To799((int))</code>
 
; 0045B22
 
: <code>CRunningScript::ProcessCommands800To899((int))</code>
 
; 00458EC
 
: <code>CRunningScript::ProcessCommands900To999((int))</code>
 
; 0044FBE
 
: <code>CRunningScript::ProcessOneCommand((void))</code>
 
; 005C83B0
 
: <code>CShotInfo::Initialise ((void))</code>
 
; 005C8390
 
: <code>CShotInfo::Shutdown ((void))</code>
 
; 005C7E60
 
: <code>CShotInfo::Update ((void))</code>
 
; 005778B0
 
: <code>CSprite::CalcScreenCoors ((RwV3d const &,RwV3d *,float *,float *, bool ))</code>
 
; 00576690
 
: <code>CSprite::RenderOneXLUSprite ((float,float,float,float,float,uchar,uchar,uchar,short,float,uchar))</code>
 
; 0040E310
 
: <code>CStreaming::RequestModel (( int,int ))</code>
 
; 0040AEA0
 
: <code>CStreaming::SetModelIsDeletable (( int ))</code>
 
; 004DC500
 
: <code>CTheZones::GetZoneInfoForTimeOfDay (( CVector const *, CZoneInfo *))</code>
 
; 005B8E60
 
: <code>CVehicle::AddPassenger (( CPed *))</code>
 
; 005B8D50
 
: <code>CVehicle::AddPassenger (( CPed *, uchar ))</code>
 
; 005BAC10
 
: <code>CVehicle::CVehicle (( uchar ))</code>
 
; 005BA960
 
: <code>CVehicle::CanBeDeleted ((void))</code>
 
; 005B8460
 
: <code>CVehicle::CanPedOpenLocks (( CPed const *))</code>
 
; 005C8E40
 
: <code>CVehicle::DoFixedMachineGuns ((void))</code>
 
; 005B9020
 
: <code>CVehicle::InflictDamage (( CEntity *, eWeaponType,float ))</code>
 
; 005B84B0
 
: <code>CVehicle::IsOnItsSide ((void))</code>
 
; 005B84F0
 
: <code>CVehicle::IsUpsideDown ((void))</code>
 
; 005B8F50
 
: <code>CVehicle::ProcessDelayedExplosion ((void))</code>
 
; 005B9770
 
: <code>CVehicle::ProcessWheel (( CVector &, CVector &, CVector &, CVector &, int,float,float,float,char,float *, tWheelState *))</code>
 
; 005BA900
 
: <code>CVehicle::ProcessWheelRotation (( tWheelState,CVector const &, CVector const &,float))</code>
 
; 005B8920
 
: <code>CVehicle::RemoveDriver ((void))</code>
 
; 005B8CE0
 
: <code>CVehicle::RemovePassenger (( CPed *))</code>
 
; 005B89F0
 
: <code>CVehicle::SetDriver (( CPed *))</code>
 
; 005BAA40
 
: <code>CVehicle::SetModelIndex (( uint ))</code>
 
; 005B8870
 
: <code>CVehicle::SetUpDriver ((void))</code>
 
; 005B8700
 
: <code>CVehicle::SetupPassenger (( int ))</code>
 
; 005B8520
 
: <code>CVehicle::UsesSiren ((void))</code>
 
; 005BAAE0
 
: <code>CVehicle::__dl ((void *))</code>
 
; 005BAB00
 
: <code>CVehicle::__nw (( uint ))</code>
 
; 005BAB20
 
: <code>CVehicle::__nw ((void))</code>
 
; 005BAB30
 
: <code>CVehicle::~CVehicle ((void))</code>
 
; 005C8AE0
 
: <code>CWeapon::BlowUpExplosiveThings (( CEntity *))</code>
 
; 005CEE60
 
: <code>CWeapon::DoBulletImpact (( CEntity *, CEntity *, CVector *, CVector *, CColPoint *,CVector2D))</code>
 
; 005CA400
 
: <code>CWeapon::DoDriveByAutoAiming (( CEntity *, CVector *, CVector *))</code>
 
; 005CA8B0
 
: <code>CWeapon::DoTankDoomAiming (( CEntity *, CEntity *, CVector *, CVector *))</code>
 
; 005D45E0
 
: <code>CWeapon::Fire (( CEntity *, CVector *))</code>
 
; 005D44E0
 
: <code>CWeapon::FireFromCar (( CAutomobile *, bool ))</code>
 
; 005D0560
 
: <code>CWeapon::FireHeliGun (( CEntity *, CVector *, CVector *,float))</code>
 
; 005D1140
 
: <code>CWeapon::FireInstantHit (( CEntity *, CVector *))</code>
 
; 005CB0A0
 
: <code>CWeapon::FireInstantHitFromCar (( CAutomobile *, bool ))</code>
 
; 005CBFF0
 
: <code>CWeapon::FireM16_1stPerson(( CEntity *))</code>
 
; 005CCF90
 
: <code>CWeapon::FireProjectile (( CEntity *, CVector *,float))</code>
 
; 005CD340
 
: <code>CWeapon::FireShotgun (( CEntity *, CVector *))</code>
 
; 005CC730
 
: <code>CWeapon::FireSniper (( CEntity *))</code>
 
; 005C8AB0
 
: <code>CWeapon::HasWeaponAmmoToBeUsed ((void))</code>
 
; 005D4E20
 
: <code>CWeapon::Initialise (( eWeaponType,int ))</code>
 
; 005D4DF0
 
: <code>CWeapon::InitialiseWeapons ((void))</code>
 
; 005C9B50
 
: <code>CWeapon::IsType2Handed((void))</code>
 
; 005C8C30
 
: <code>CWeapon::MakePedsJumpAtShot (( CPhysical *, CVector *, CVector *))</code>
 
; 005CA3C0
 
: <code>CWeapon::Reload ((void))</code>
 
; 005D4DD0
 
: <code>CWeapon::ShutdownWeapons ((void))</code>
 
; 005CA0B0
 
: <code>CWeapon::Update (( int ))</code>
 
; 005D4DB0
 
: <code>CWeapon::UpdateWeapons ((void))</code>
 
; 005D5050
 
: <code>CWeaponEffects::ClearCrossHair ((void))</code>
 
; 005D4E90
 
: <code>CWeaponEffects::Render ((void))</code>
 
; 005D5710
 
: <code>CWeaponInfo::GetWeaponInfo (( eWeaponType ))</code>
 
; 005D5750
 
: <code>CWeaponInfo::Initialise ((void))</code>
 
; 005D5250
 
: <code>CWeaponInfo::LoadWeaponData ((void))</code>
 
; 005D5730
 
: <code>CWeaponInfo::Shutdown ((void))</code>
 
; 004DB3F0
 
: <code>CWorld::Add (( CEntity *))</code>
 
; 004D6370
 
: <code>CWorld::FindObjectsKindaColliding (( CVector const &, float,bool,short *, short,CEntity **, bool,bool,bool,bool,bool ))</code>
 
; 004D8B00
 
: <code>CWorld::ProcessVerticalLine (( CVector const &, float,CColPoint &, CEntity *&, bool,bool,bool,bool,bool,bool,CStoredCollPoly *))</code>
 
; 004DB310
 
: <code>CWorld::Remove (( CEntity *))</code>
 
; 00407AC0
 
: <code>RpAnimBlendClumpFillFrameArray ( RpClump *, AnimBlendFrameData **)</code>
 
; 00407780
 
: <code>RpAnimBlendClumpGetAssociation ( RpClump *, uint )</code>
 
; 00402E20
 
: <code>RpAnimBlendClumpGetFirstAssociation ( RpClump *)</code>
 
; 00407890
 
: <code>RpAnimBlendClumpInit ( RpClump *)</code>
 
; 00407870
 
: <code>RpAnimBlendClumpIsInitialized ( RpClump *)</code>
 
; 00407800
 
: <code>RpAnimBlendClumpRemoveAllAssociations ( RpClump *)</code>
 
; 004077B0
 
: <code>RpAnimBlendClumpRemoveAssociations ( RpClump *, uint )</code>
 
; 00407830
 
: <code>RpAnimBlendClumpSetBlendDeltas ( RpClump *, uint,float )</code>
 
; 004075D0
 
: <code>RpAnimBlendGetNextAssociation ( CAnimBlendAssociation *)</code>
 
; 006453B0
 
: <code>RwFrameForAllObjects</code>
 
; 00649BA0
 
: <code>RwRenderStateSet</code>
 
; 004DFF20
 
: <code>__ml( CMatrix const &, CVector const &)</code>
 
; 005F9E20
 
: <code>cDMAudio::CreateEntity (( eAudioType,void *))</code>
 
; 005F9E00
 
: <code>cDMAudio::DestroyEntity (( int ))</code>
 
; 005F9DA0
 
: <code>cDMAudio::PlayOneShot (( int,ushort,float ))</code>
 
; 005F9DD0
 
: <code>cDMAudio::SetEntityStatus (( int,uchar ))</code>
 
  
==Text display (CFont)==
+
4b - FLOAT  - Position X
; 00550170
+
4b - FLOAT  - Position Y
: <code>CFont::SetColor</code>
+
4b - FLOAT  - Position Z
; 00550100
+
4b - FLOAT  - Rotation X
: <code>CFont::SetWrapx</code>
+
4b - FLOAT  - Rotation Y
; 00550230
+
4b - FLOAT  - Rotation Z
: <code>CFont::SetScale</code>
+
4b - FLOAT  - Rotation W
; 00550060
+
4b - UINT32  - Model name [[:Category:Static_Model_Hashes|hash]]
: <code>CFont::SetRightJustifyOn</code>
+
4b - UINT32  - Unknown
; 00550020
+
4b - UINT32  - [[LOD]] Index (Index of another model in the current file)
: <code>CFont::SetPropsOn</code>
+
4b - UINT32  - Unknown
; 0054FFE0
+
4b - UINT32  - Unknown
: <code>CFont::SetFontStyle</code>
 
; 005500F0
 
: <code>CFont::SetCentreSize</code>
 
; 00550120
 
: <code>CFont::SetCentreOn</code>
 
; 00550110
 
: <code>CFont::SetCentreOff</code>
 
; 005500E0
 
: <code>CFont::SetBackgroundOn</code>
 
; 005500D0
 
: <code>CFont::SetBackgroundOff</code>
 
; 00551040
 
: <code>CFont::PrintString</code>
 
; 00551620
 
: <code>CFont::PrintChar</code>
 
  
[[Category:Memory Addresses]]
+
''Rotation information as [[Wikipedia:Quarternion|Quarternion]]''
 +
 
 +
<!---
 +
;Header
 +
<source lang="cpp">
 +
struct Header_t
 +
{
 +
    BYTE byteUnknown01[4];
 +
    DWORD dwNbrOfBlockInst;
 +
};
 +
</source>
 +
 
 +
;InstBlock (Start from 0x44)
 +
<source lang="cpp">
 +
struct Inst_t
 +
{
 +
    float  fPosition[3];
 +
    float  fRotation[4];
 +
    DWORD dwModelNameHash;
 +
    BYTE byteUnknown01[4];
 +
    DWORD dwAttachedLod;
 +
    BYTE byteUnknown02[8];
 +
};
 +
</source>
 +
-->
 +
 
 +
== XPL ==
 +
In the XBox 360's version of GTA 4 same files have the extension <code>.xpl</code>. The XPL and WPL formats  are same, but due to the fact XPL files are used on the Xenon platform its data is stored in the [[Wikipedia:Endianness|big-endian order]].
 +
<!--not sure where to put this: "They are used to map generic objects which are defined with another path in the [[Images.txt|image listing]] file."-->
 +
 
 +
== Tools ==
 +
* [[WPL Manager]] &ndash; by {{U|UZI-I|Yoann (UZI-I)}}
 +
 
 +
== External Link ==
 +
* {{GTAF|389423|WPL file format specification}}
 +
 
 +
{{GTA4-navi}}
 +
{{File-stub}}
 +
[[Category:Map Formats]][[Category:GTA 4]]

Revision as of 20:48, 24 May 2009

WPL is the format of the map-related files similar to IPLs from the previous games. It can be edited with WPL Manager.

File Format

Each world placement file starts with one single header followed by the object placement information. The structure for the header is very simple:

4b - UINT32   - Unknown
4b - UINT32   - Instances

The placement information corresponds to the previous instance section of the .ipl files. They have a binary structure like the binary ipl files introduced with San Andreas:

Section 0 - INST

4b - FLOAT   - Position X
4b - FLOAT   - Position Y
4b - FLOAT   - Position Z
4b - FLOAT   - Rotation X
4b - FLOAT   - Rotation Y
4b - FLOAT   - Rotation Z
4b - FLOAT   - Rotation W
4b - UINT32  - Model name hash
4b - UINT32  - Unknown
4b - UINT32  - LOD Index (Index of another model in the current file)
4b - UINT32  - Unknown
4b - UINT32  - Unknown

Rotation information as Quarternion


XPL

In the XBox 360's version of GTA 4 same files have the extension .xpl. The XPL and WPL formats are same, but due to the fact XPL files are used on the Xenon platform its data is stored in the big-endian order.

Tools

External Link