Difference between revisions of "TASK AIM GUN AT CHAR"

From GTAMods Wiki
Jump to navigation Jump to search
(Replaced content with '{{Native |np=3 |p1t=pointer |p1d=character handle |p2t=pointer |p2d=target character handle |p3t=integer |p3d=duration in ms }}')
 
Line 1: Line 1:
'''WPL''' is the format of the map-related files similar to [[IPL]]s from the previous games. It can be edited with [[WPL Manager]].
+
{{Native
 
+
|np=3
== File Format ==
+
|p1t=pointer
 
+
|p1d=character handle
Each world placement file starts with one single header followed by the object placement information. The structure for the header is very simple:
+
|p2t=pointer
 
+
|p2d=target character handle
4b - UINT32  - Unknown
+
|p3t=integer
4b - UINT32  - Instances
+
|p3d=duration in ms
 
+
}}
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]]:
 
 
 
=== 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 [[:Category:Static_Model_Hashes|hash]]
 
4b - UINT32  - Unknown
 
4b - UINT32  - [[LOD]] Index (Index of another model in the current file)(Line entry number of LOD model)
 
4b - UINT32  - Unknown
 
4b - UINT32  - Unknown
 
 
 
''Rotation information as [[Wikipedia:Quarternion|Quarternion]]''
 
 
 
===Section 2 - Garages===
 
 
 
4b -  FLOAT  - Position X1
 
4b -  FLOAT  - Position Y1
 
4b -  FLOAT  - Position Z1
 
4b -  FLOAT  - Position X2
 
4b -  FLOAT  - Position Y2
 
4b -  FLOAT  - Position X3
 
4b -  FLOAT  - Position Y3
 
4b -  FLOAT  - Position Z3
 
4b -  UINT32  - DoorType
 
4b -  UINT32  - GarageType
 
4b -  UINT32  - hash
 
4b -  UINT32  - Unknown
 
 
 
'''''X1, Y1, Z1''' = lower left vertex position, ''
 
'''''X2, Y3, Z3''' = upper right vertex position, ''
 
'''''X3, Y2''' = lower left vertex position for Garage entrance''
 
 
 
===Section 3 - Parked Cars===
 
 
 
4b - FLOAT  - Position X
 
4b - FLOAT  - Position Y
 
4b - FLOAT  - Position Z
 
4b - FLOAT  - Unknown
 
4b - FLOAT  - Unknown
 
4b - FLOAT  - Unknown
 
4b - UINT32 - Model name [[:Category:Static_Model_Hashes|hash]]
 
4b - INT32  - Unknown
 
4b - INT32  - Unknown
 
4b - INT32  - Unknown
 
4b - INT32  - Unknown
 
4b - INT32  - Unknown
 
4b - INT32  - Unknown
 
4b - INT32  - Unknown
 
 
 
===Section 4 - CULL (outdoor interiors)===
 
 
 
4b -  FLOAT  - Position X1
 
4b -  FLOAT  - Position Y1
 
4b -  FLOAT  - Position Z1
 
4b -  FLOAT  - Position X2
 
4b -  FLOAT  - Position Y2
 
4b -  FLOAT  - Position Z2
 
4b -  INT32  - Unknown
 
4b -  INT32  - Unknown
 
4b -  INT32  - Unknown
 
4b -  INT32  - Unknown
 
4b -  UINT32 - Model name [[:Category:Static_Model_Hashes|hash]]
 
 
 
'''''X1, Y1, Z1''' = lower left vertex position, ''
 
'''''X2, Y2, Z2''' = upper right vertex position''
 
 
 
===Section 9 - LODcull===
 
 
 
only used in lodcull_x.wpl files, usually located in 'Rockstar Games\Grand Theft Auto IV\pc\data\maps\generic' folder
 
 
 
4b -  FLOAT  - Position X1
 
4b -  FLOAT  - Position Y1
 
4b -  FLOAT  - Position Z1
 
4b -  FLOAT  - Position X2
 
4b -  FLOAT  - Position Y2
 
4b -  FLOAT  - Position Z2
 
4b  - UINT32 - unknown UINT32
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 1
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 2
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 3
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 4
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 5
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 6
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 7
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 8
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 9
 
4b  - UINT32 - [[:Category:Static_Model_Hashes|Hash]] 10
 
32b - String - Model name 1
 
32b - String - Model name 2
 
32b - String - Model name 3
 
32b - String - Model name 4
 
32b - String - Model name 5
 
32b - String - Model name 6
 
32b - String - Model name 7
 
32b - String - Model name 8
 
32b - String - Model name 9
 
32b - String - Model name 10
 
 
 
'''''X1, Y1, Z1''' = lower left vertex position, ''
 
'''''X2, Y2, Z2''' = upper right vertex position''
 
 
 
===Section 10 - Unknown Zon or Cull===
 
 
 
4b - FLOAT - Position X1
 
4b - FLOAT - Position Y1
 
4b - FLOAT - Position Z1
 
4b - FLOAT - Position X2
 
4b - FLOAT - Position Y2
 
4b - FLOAT - Position Z2
 
 
 
'''''X1, Y1, Z1''' = lower left vertex position'' and
 
'''''X2, Y2, Z2''' = upper right vertex position''
 
 
 
<!---
 
;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 ==
 
* GTA IV Placement Tool by |Dageron| [http://www.gtaforums.com/index.php?showtopic=409799]
 
* IV Placement Editor by Chipsman [http://www.gtagarage.com/mods/show.php?id=6094]
 
* [[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]]
 

Latest revision as of 23:22, 8 January 2011

TASK_AIM_GUN_AT_CHAR
Number of parameters: 3
Parameter #TypeDescription
1.pointercharacter handle
2.pointertarget character handle
3.integerduration in ms
Return value:
TypeDescription
None