DO/DOT

From Dark Omen Wiki

(Difference between revisions)
Jump to: navigation, search
(added DotViewer)
(Improved the DOT-Article)
Line 1: Line 1:
-
Quickly hacked together a DOTViewer in Java, including source: [http://ghabry.dark-omen.org/dotparser.zip Dot-Viewer]
+
The DOT-Files define where the dots on the overworld are drawn when the Grudgebringers are moving to there next mission.
-
The whole article needs a rewrite. Will do this in the holidays ;) --[[User:Ghabry|Ghabry]] 00:39, 10 February 2010 (UTC)
+
== Header ==
-
.dot files can be found in the following folder: GameData\GameFlow
+
The header has a size of 16byte. It looks like that only the pathNum is interesting.
 +
struct HEADER
 +
{
 +
    int dotIdentify; // identifies a DOT-File. Always 0x54444F54 (WDOT)
 +
    int unknown1;    // always 0x67
 +
    int unknown2;    // 0x28, CH1_ALL.DOT has 0x060028
 +
    int pathNum;    // Number of different paths
 +
};
-
The dot-files define where the dots on the overworld are drawn when the Grudgebringers are moving to there next mission.
+
== Paths ==
-
It's maybe also responsible for triggering the different conversations.
+
 +
The first path directly follows the header.<br />
 +
They contain the x and y-coordinates of the points the path will follow.<br />
 +
The points are only orientations for the path. The actual path is drawn as a curve.
 +
struct PATH
 +
{
 +
    int pathPointsNum; // Number of points that discribe the curve
 +
    int x;    // x-coordinate of a point
 +
    int y;    // y-coordinate of a point
 +
    int padding[2];
 +
    (loop again from int x until all paths points are read)
 +
    int unknown;  // always 0x05
 +
    int unknown2; // always 0x0A
 +
    int padding[2];
 +
    int unknown[4];
 +
    int padding[4]; // Garbage data like 0x004099AC
 +
};
-
{|class="wikitable"
+
== Footer ==
-
|'''Section'''
+
 
-
|
+
The footer is not of any interest. It does only contain two paths:
-
|'''Notes'''
+
 
-
|-
+
Sourcecode-Path e.g.: D:\darkomen\SrcCode\public\MP_Dots\editor\dots\M4_ENG.bmp<br />
-
|1
+
Name of the used bitmap e,g,: M4_ENG.bmp
-
|544F4457670000002800
+
 
-
|10-byte Header of a DOT-File
+
But the bitmap name is not used ingame because there are different localized versions of the maps (with different filenames)
-
|-
+
-
|2
+
== Editing Tools ==
-
|00 00 (on Map 1: 06 00)
+
 
-
|Unknown
+
A simple, Java-based editor by Ghabry: [http://ghabry.dark-omen.org/dotparser.zip Dot-Viewer]
-
|-
+
-
|3
+
-
|Number of Triggers
+
-
|2-Byte, defines how many conversations are triggered on the map
+
-
|-
+
-
|4
+
-
|00 00
+
-
|2 Empty Bytes
+
-
|-
+
-
|5
+
-
|05 00 or 04 00
+
-
|2-Byte, unknown use
+
-
|-
+
-
|6
+
-
|X and Y-Coordinate of the lines (delimited by 00 00)
+
-
|2-Byte
+
-
|-
+
-
|7
+
-
|Probably Mission Trigger?
+
-
|8-Byte, no effect on change?
+
-
|-
+
-
|8
+
-
|9A 98 40 00 or AC 99 40 00
+
-
|4x4 Byte, unknown use
+
-
|-
+
-
|9
+
-
|Path to the file in the sourcecode
+
-
|Useless ;)
+
-
|-
+
-
|10
+
-
|Filename of the used map
+
-
|Loaded from Graphics/Maps
+
-
|}
+
[[Category:Modifications]]
[[Category:Modifications]]

Revision as of 22:50, 12 February 2010

The DOT-Files define where the dots on the overworld are drawn when the Grudgebringers are moving to there next mission.

Contents

Header

The header has a size of 16byte. It looks like that only the pathNum is interesting.

struct HEADER
{
    int dotIdentify; // identifies a DOT-File. Always 0x54444F54 (WDOT)
    int unknown1;    // always 0x67
    int unknown2;    // 0x28, CH1_ALL.DOT has 0x060028
    int pathNum;     // Number of different paths
};

Paths

The first path directly follows the header.
They contain the x and y-coordinates of the points the path will follow.
The points are only orientations for the path. The actual path is drawn as a curve.

struct PATH
{
    int pathPointsNum; // Number of points that discribe the curve
    int x;    // x-coordinate of a point
    int y;    // y-coordinate of a point
    int padding[2];
    (loop again from int x until all paths points are read)
    int unknown;  // always 0x05
    int unknown2; // always 0x0A
    int padding[2];
    int unknown[4];
    int padding[4]; // Garbage data like 0x004099AC
};

Footer

The footer is not of any interest. It does only contain two paths:

Sourcecode-Path e.g.: D:\darkomen\SrcCode\public\MP_Dots\editor\dots\M4_ENG.bmp
Name of the used bitmap e,g,: M4_ENG.bmp

But the bitmap name is not used ingame because there are different localized versions of the maps (with different filenames)

Editing Tools

A simple, Java-based editor by Ghabry: Dot-Viewer

Personal tools
communication