Difference between revisions of "Design Your Own Mission"

From GTAMods Wiki
Jump to navigation Jump to search
(Features)
Line 1: Line 1:
[[Image:Dyomsig2vd1.png|center]]
+
'''WPL''' is the format of the map-related files similar to [[IPL]]s from the previous games. It can be edited with [[WPL Manager]].
[[Image:DYOM4.jpg|thumb|DYOM Main Menu]]
 
'''Design Your Own Mission''' (''DYOM'') is a mission mod for [[GTA San Andreas]] made by {{U|Dutchy3010}} and {{U|PatrickW}}. It allows to create a new mission ingame, without writing a single line of [[SCM]] script. The mod works as a [[mission pack]].
 
  
== Installation ==
+
== File Format ==
Installation is very simple. Just copy the MPACK folder from the archive to your "San Andreas User Files" (in My Documents). To add downloaded missions, just copy the DYOMx.dat files into "San Andreas User Files". [[CLEO 3]] is needed for this modification to work correctly.
 
  
== Features ==
+
Each world placement file starts with one single header followed by the object placement information. The structure for the header is very simple:
{{Incomplete}}
 
  
== Mod Popularity ==
+
4b - UINT32  - Unknown
[[Image:DYOM3.jpg|thumb|Spawning a vehicle in DYOM]]
+
4b - UINT32  - Instances
[[Image:DYOM7.jpg|thumb|One of the custom missions]]
 
The mod is considered to be very popular among modders. As of May, 2009 the DYOM Missions Archive contains more than 900 user-made missions.
 
  
The mod popularity had given its authors the idea of making a contest the goal of which is to create the best mission using Design Your Own Mission mod. Each contest lasts for a certain period of time, then the jury consisting of the mod authors and the winner of the previous contest choose the best missions from the ones that were submitted. After that the members of GTAForums.com and GTAForum.nl vote for the winner.
+
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]]:
  
Since the second the contests have a specific theme the missions should be made on.
+
''' Section 0 - INST'''
  
{|{{Prettytable}}
+
4b - FLOAT  - Position X
!Contest
+
4b - FLOAT  - Position Y
!Theme
+
4b - FLOAT  - Position Z
!Period
+
4b - FLOAT  - Rotation X
!Winner / Mission
+
4b - FLOAT  - Rotation Y
!Topic
+
4b - FLOAT  - Rotation Z
|-
+
4b - FLOAT  - Rotation W
|#1 || None || 21 Feb 09 - 01 Mar 09 || {{U|tony-resta}} / [http://dyom.gtagames.nl/?act=show&id=279 Rest in Peace] || {{GTAF|399262}}
+
4b - UINT32  - Model name [[:Category:Static_Model_Hashes|hash]]
|-
+
4b - UINT32  - Unknown
|#2 || Gunfights || 04 Apr 09 - 19 Apr 09 || {{U|miclin}} / [http://dyom.gtagames.nl/?act=show&id=741 Deconstruction for Beginners] || {{GTAF|405754}}
+
4b - UINT32  - [[LOD]] Index (Index of another model in the current file)(Line entry number of LOD model)
|-
+
4b - UINT32  - Unknown
|}
+
4b - UINT32  - Unknown
  
=== Awards ===
+
''Rotation information as [[Wikipedia:Quarternion|Quarternion]]''
* Best Mission Mod on [http://www.gtaforums.com/index.php?showtopic=399672 GTANet Annual Awards 2008]
 
* Best Project of 2008 on [http://www.gtaforum.nl/index.php?showtopic=88908 GTAForum.nl Awards 2008].
 
  
== External Links ==
+
'''Section 3 - Parked Cars'''
* [http://dyom.gtagames.nl/ DYOM Missions Archive]
 
* {{GTAF|378204}}
 
* {{GTAF|section|246}}
 
* {{GTAG|5038}}
 
  
{{stub}}
+
4b - FLOAT  - Position X
{{SA-navi}}
+
4b - FLOAT  - Position Y
[[Category:Mission Scripting]][[Category:Modifications]]
+
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 9 - LODcull'''
 +
 
 +
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 - Number of Lod models in wdd file (upto a maximum of 10)
 +
4b  - UINT32 - Hash 1  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 2  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 3  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 4  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 5  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 6  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 7  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 8  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 9  - [[:Category:Static_Model_Hashes|hash]]
 +
4b  - UINT32 - Hash 10 - [[:Category:Static_Model_Hashes|hash]]
 +
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'' and
 +
'''''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 ==
 +
* [[WPL Manager]] &ndash; by {{U|UZI-I|Yoann (UZI-I)}}
 +
* 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]
 +
 
 +
== External Link ==
 +
* {{GTAF|389423|WPL file format specification}}
 +
 
 +
{{GTA4-navi}}
 +
{{File-stub}}
 +
[[Category:Map Formats]][[Category:GTA 4]]

Revision as of 22:35, 15 June 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)(Line entry number of LOD model)
4b - UINT32  - Unknown
4b - UINT32  - Unknown

Rotation information as Quarternion

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 hash
4b - INT32  - Unknown
4b - INT32  - Unknown
4b - INT32  - Unknown
4b - INT32  - Unknown
4b - INT32  - Unknown
4b - INT32  - Unknown
4b - INT32  - Unknown

Section 9 - LODcull

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 - Number of Lod models in wdd file (upto a maximum of 10)
4b  - UINT32 - Hash 1  - hash
4b  - UINT32 - Hash 2  - hash
4b  - UINT32 - Hash 3  - hash
4b  - UINT32 - Hash 4  - hash
4b  - UINT32 - Hash 5  - hash
4b  - UINT32 - Hash 6  - hash
4b  - UINT32 - Hash 7  - hash
4b  - UINT32 - Hash 8  - hash
4b  - UINT32 - Hash 9  - hash
4b  - UINT32 - Hash 10 - hash
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 and 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


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