wc3maptranslator 4.0.0 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +23 -23
- package/dist/AngleConverter.d.ts +3 -0
- package/dist/AngleConverter.d.ts.map +1 -0
- package/dist/AngleConverter.js +12 -0
- package/dist/AngleConverter.js.map +1 -0
- package/dist/CommonInterfaces.d.ts +17 -0
- package/dist/CommonInterfaces.d.ts.map +1 -0
- package/dist/CommonInterfaces.js +3 -0
- package/dist/CommonInterfaces.js.map +1 -0
- package/dist/HexBuffer.d.ts +15 -0
- package/dist/HexBuffer.d.ts.map +1 -0
- package/{lib/HexBuffer.ts → dist/HexBuffer.js} +71 -81
- package/dist/HexBuffer.js.map +1 -0
- package/dist/W3Buffer.d.ts +14 -0
- package/dist/W3Buffer.d.ts.map +1 -0
- package/{lib/W3Buffer.ts → dist/W3Buffer.js} +63 -69
- package/dist/W3Buffer.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/{index.js → dist/index.js} +1 -1
- package/dist/index.js.map +1 -0
- package/dist/translators/CamerasTranslator.d.ts +23 -0
- package/dist/translators/CamerasTranslator.d.ts.map +1 -0
- package/{lib/translators/CamerasTranslator.ts → dist/translators/CamerasTranslator.js} +76 -101
- package/dist/translators/CamerasTranslator.js.map +1 -0
- package/dist/translators/DoodadsTranslator.d.ts +23 -0
- package/dist/translators/DoodadsTranslator.d.ts.map +1 -0
- package/{lib/translators/DoodadsTranslator.ts → dist/translators/DoodadsTranslator.js} +146 -178
- package/dist/translators/DoodadsTranslator.js.map +1 -0
- package/dist/translators/ImportsTranslator.d.ts +16 -0
- package/dist/translators/ImportsTranslator.d.ts.map +1 -0
- package/{lib/translators/ImportsTranslator.ts → dist/translators/ImportsTranslator.js} +62 -78
- package/dist/translators/ImportsTranslator.js.map +1 -0
- package/dist/translators/InfoTranslator.d.ts +124 -0
- package/dist/translators/InfoTranslator.d.ts.map +1 -0
- package/{lib/translators/InfoTranslator.ts → dist/translators/InfoTranslator.js} +422 -584
- package/dist/translators/InfoTranslator.js.map +1 -0
- package/dist/translators/ObjectsTranslator.d.ts +23 -0
- package/dist/translators/ObjectsTranslator.d.ts.map +1 -0
- package/{lib/translators/ObjectsTranslator.ts → dist/translators/ObjectsTranslator.js} +91 -125
- package/dist/translators/ObjectsTranslator.js.map +1 -0
- package/dist/translators/RegionsTranslator.d.ts +22 -0
- package/dist/translators/RegionsTranslator.d.ts.map +1 -0
- package/{lib/translators/RegionsTranslator.ts → dist/translators/RegionsTranslator.js} +96 -123
- package/dist/translators/RegionsTranslator.js.map +1 -0
- package/dist/translators/SoundsTranslator.d.ts +35 -0
- package/dist/translators/SoundsTranslator.d.ts.map +1 -0
- package/{lib/translators/SoundsTranslator.ts → dist/translators/SoundsTranslator.js} +183 -237
- package/dist/translators/SoundsTranslator.js.map +1 -0
- package/dist/translators/StringsTranslator.d.ts +7 -0
- package/dist/translators/StringsTranslator.d.ts.map +1 -0
- package/{lib/translators/StringsTranslator.ts → dist/translators/StringsTranslator.js} +44 -49
- package/dist/translators/StringsTranslator.js.map +1 -0
- package/dist/translators/TerrainTranslator.d.ts +33 -0
- package/dist/translators/TerrainTranslator.d.ts.map +1 -0
- package/{lib/translators/TerrainTranslator.ts → dist/translators/TerrainTranslator.js} +221 -276
- package/dist/translators/TerrainTranslator.js.map +1 -0
- package/dist/translators/UnitsTranslator.d.ts +40 -0
- package/dist/translators/UnitsTranslator.d.ts.map +1 -0
- package/{lib/translators/UnitsTranslator.ts → dist/translators/UnitsTranslator.js} +199 -261
- package/dist/translators/UnitsTranslator.js.map +1 -0
- package/{lib/translators/index.ts → dist/translators/index.d.ts} +11 -10
- package/dist/translators/index.d.ts.map +1 -0
- package/dist/translators/index.js +23 -0
- package/dist/translators/index.js.map +1 -0
- package/package.json +4 -2
- package/.codeclimate.yml +0 -12
- package/.editorconfig +0 -8
- package/.eslintignore +0 -5
- package/.eslintrc +0 -55
- package/.github/workflows/codeql-analysis.yml +0 -54
- package/.nycrc +0 -18
- package/.travis.yml +0 -23
- package/CHANGELOG.md +0 -73
- package/index.ts +0 -14
- package/lib/AngleConverter.ts +0 -7
- package/lib/CommonInterfaces.ts +0 -22
- package/test/.mocharc.json +0 -4
- package/test/AngleConverterTest.ts +0 -18
- package/test/HexBufferTest.ts +0 -170
- package/test/TranslatorReversion.ts +0 -218
- package/test/W3BufferTest.ts +0 -50
- package/test/data/cameras.json +0 -16
- package/test/data/doodads.json +0 -2730
- package/test/data/imports.json +0 -386
- package/test/data/info.json +0 -250
- package/test/data/obj-abilities.json +0 -4892
- package/test/data/obj-buffs.json +0 -38
- package/test/data/obj-destructables.json +0 -31
- package/test/data/obj-doodads.json +0 -38
- package/test/data/obj-items.json +0 -31
- package/test/data/obj-units.json +0 -40
- package/test/data/obj-upgrades.json +0 -38
- package/test/data/regions.json +0 -206
- package/test/data/sounds.json +0 -50
- package/test/data/strings.json +0 -115
- package/test/data/terrain.json +0 -1
- package/test/data/units.json +0 -452
- package/test/data/war3map.doo +0 -0
- package/test/data/war3map.imp +0 -0
- package/test/data/war3map.j +0 -3442
- package/test/data/war3map.shd +0 -0
- package/test/data/war3map.w3a +0 -0
- package/test/data/war3map.w3b +0 -0
- package/test/data/war3map.w3c +0 -0
- package/test/data/war3map.w3d +0 -0
- package/test/data/war3map.w3e +0 -0
- package/test/data/war3map.w3h +0 -0
- package/test/data/war3map.w3i +0 -0
- package/test/data/war3map.w3q +0 -0
- package/test/data/war3map.w3r +0 -0
- package/test/data/war3map.w3s +0 -0
- package/test/data/war3map.w3t +0 -0
- package/test/data/war3map.w3u +0 -0
- package/test/data/war3map.wts +0 -631
- package/test/data/war3mapUnits.doo +0 -0
- package/tsconfig.json +0 -25
- package/tslint.json +0 -47
|
@@ -1,101 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
farClipping: 0,
|
|
78
|
-
name: ''
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
camera.target.x = outBufferToJSON.readFloat();
|
|
82
|
-
camera.target.y = outBufferToJSON.readFloat();
|
|
83
|
-
camera.offsetZ = outBufferToJSON.readFloat();
|
|
84
|
-
camera.rotation = outBufferToJSON.readFloat();
|
|
85
|
-
camera.aoa = outBufferToJSON.readFloat(); // angle of attack
|
|
86
|
-
camera.distance = outBufferToJSON.readFloat();
|
|
87
|
-
camera.roll = outBufferToJSON.readFloat();
|
|
88
|
-
camera.fov = outBufferToJSON.readFloat(); // field of view
|
|
89
|
-
camera.farClipping = outBufferToJSON.readFloat();
|
|
90
|
-
outBufferToJSON.readFloat(); // consume this unknown float field
|
|
91
|
-
camera.name = outBufferToJSON.readString();
|
|
92
|
-
|
|
93
|
-
result.push(camera);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return {
|
|
97
|
-
errors: [],
|
|
98
|
-
json: result
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CamerasTranslator = void 0;
|
|
4
|
+
const HexBuffer_1 = require("../HexBuffer");
|
|
5
|
+
const W3Buffer_1 = require("../W3Buffer");
|
|
6
|
+
class CamerasTranslator {
|
|
7
|
+
static jsonToWar(cameras) {
|
|
8
|
+
const outBufferToWar = new HexBuffer_1.HexBuffer();
|
|
9
|
+
/*
|
|
10
|
+
* Header
|
|
11
|
+
*/
|
|
12
|
+
outBufferToWar.addInt(0); // file version
|
|
13
|
+
outBufferToWar.addInt(cameras.length); // number of cameras
|
|
14
|
+
/*
|
|
15
|
+
* Body
|
|
16
|
+
*/
|
|
17
|
+
cameras.forEach((camera) => {
|
|
18
|
+
outBufferToWar.addFloat(camera.target.x);
|
|
19
|
+
outBufferToWar.addFloat(camera.target.y);
|
|
20
|
+
outBufferToWar.addFloat(camera.offsetZ);
|
|
21
|
+
outBufferToWar.addFloat(camera.rotation || 0); // optional
|
|
22
|
+
outBufferToWar.addFloat(camera.aoa);
|
|
23
|
+
outBufferToWar.addFloat(camera.distance);
|
|
24
|
+
outBufferToWar.addFloat(camera.roll || 0);
|
|
25
|
+
outBufferToWar.addFloat(camera.fov);
|
|
26
|
+
outBufferToWar.addFloat(camera.farClipping);
|
|
27
|
+
outBufferToWar.addFloat(100); // (?) unknown - usually set to 100
|
|
28
|
+
// Camera name - must be null-terminated
|
|
29
|
+
outBufferToWar.addString(camera.name);
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
errors: [],
|
|
33
|
+
buffer: outBufferToWar.getBuffer()
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
static warToJson(buffer) {
|
|
37
|
+
const result = [];
|
|
38
|
+
const outBufferToJSON = new W3Buffer_1.W3Buffer(buffer);
|
|
39
|
+
const fileVersion = outBufferToJSON.readInt(), // File version
|
|
40
|
+
numCameras = outBufferToJSON.readInt(); // # of cameras
|
|
41
|
+
for (let i = 0; i < numCameras; i++) {
|
|
42
|
+
const camera = {
|
|
43
|
+
target: {
|
|
44
|
+
x: 0,
|
|
45
|
+
y: 0
|
|
46
|
+
},
|
|
47
|
+
offsetZ: 0,
|
|
48
|
+
rotation: 0,
|
|
49
|
+
aoa: 0,
|
|
50
|
+
distance: 0,
|
|
51
|
+
roll: 0,
|
|
52
|
+
fov: 0,
|
|
53
|
+
farClipping: 0,
|
|
54
|
+
name: ''
|
|
55
|
+
};
|
|
56
|
+
camera.target.x = outBufferToJSON.readFloat();
|
|
57
|
+
camera.target.y = outBufferToJSON.readFloat();
|
|
58
|
+
camera.offsetZ = outBufferToJSON.readFloat();
|
|
59
|
+
camera.rotation = outBufferToJSON.readFloat();
|
|
60
|
+
camera.aoa = outBufferToJSON.readFloat(); // angle of attack
|
|
61
|
+
camera.distance = outBufferToJSON.readFloat();
|
|
62
|
+
camera.roll = outBufferToJSON.readFloat();
|
|
63
|
+
camera.fov = outBufferToJSON.readFloat(); // field of view
|
|
64
|
+
camera.farClipping = outBufferToJSON.readFloat();
|
|
65
|
+
outBufferToJSON.readFloat(); // consume this unknown float field
|
|
66
|
+
camera.name = outBufferToJSON.readString();
|
|
67
|
+
result.push(camera);
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
errors: [],
|
|
71
|
+
json: result
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.CamerasTranslator = CamerasTranslator;
|
|
76
|
+
//# sourceMappingURL=CamerasTranslator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CamerasTranslator.js","sourceRoot":"","sources":["../../src/translators/CamerasTranslator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { WarResult, JsonResult, angle } from '../CommonInterfaces';
|
|
3
|
+
interface Doodad {
|
|
4
|
+
type: string;
|
|
5
|
+
variation: number;
|
|
6
|
+
position: number[];
|
|
7
|
+
angle: angle;
|
|
8
|
+
scale: number[];
|
|
9
|
+
skinId: string;
|
|
10
|
+
flags: DoodadFlag;
|
|
11
|
+
life: number;
|
|
12
|
+
id: number;
|
|
13
|
+
}
|
|
14
|
+
interface DoodadFlag {
|
|
15
|
+
visible: any;
|
|
16
|
+
solid: any;
|
|
17
|
+
}
|
|
18
|
+
export declare abstract class DoodadsTranslator {
|
|
19
|
+
static jsonToWar(doodadsJson: Doodad[]): WarResult;
|
|
20
|
+
static warToJson(buffer: Buffer): JsonResult<Doodad[]>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=DoodadsTranslator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DoodadsTranslator.d.ts","sourceRoot":"","sources":["../../src/translators/DoodadsTranslator.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAElE,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAU;IAChB,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACd;AAWD,8BAAsB,iBAAiB;WAErB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS;WAkE3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;CA8EhE"}
|
|
@@ -1,178 +1,146 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
outBufferToWar.
|
|
64
|
-
outBufferToWar.
|
|
65
|
-
outBufferToWar.
|
|
66
|
-
|
|
67
|
-
outBufferToWar.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
const numberOfItemSets = outBufferToJSON.readInt(); // this should be 0 if randomItemSetPtr is >= 0
|
|
148
|
-
|
|
149
|
-
for (let j = 0; j < numberOfItemSets; j++) {
|
|
150
|
-
// Read the item set
|
|
151
|
-
const numberOfItems = outBufferToJSON.readInt();
|
|
152
|
-
for (let k = 0; k < numberOfItems; k++) {
|
|
153
|
-
outBufferToJSON.readChars(4); // Item ID
|
|
154
|
-
outBufferToJSON.readInt(); // % chance to drop
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
doodad.id = outBufferToJSON.readInt();
|
|
159
|
-
|
|
160
|
-
result.push(doodad);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// UNSUPPORTED: Special doodads
|
|
164
|
-
outBufferToJSON.readInt(); // special doodad format version set to '0'
|
|
165
|
-
const numSpecialDoodads = outBufferToJSON.readInt();
|
|
166
|
-
for (let i = 0; i < numSpecialDoodads; i++) {
|
|
167
|
-
outBufferToJSON.readChars(4); // doodad ID
|
|
168
|
-
outBufferToJSON.readInt();
|
|
169
|
-
outBufferToJSON.readInt();
|
|
170
|
-
outBufferToJSON.readInt();
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return {
|
|
174
|
-
errors: [],
|
|
175
|
-
json: result
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DoodadsTranslator = void 0;
|
|
4
|
+
const HexBuffer_1 = require("../HexBuffer");
|
|
5
|
+
const W3Buffer_1 = require("../W3Buffer");
|
|
6
|
+
const AngleConverter_1 = require("../AngleConverter");
|
|
7
|
+
var flag;
|
|
8
|
+
(function (flag) {
|
|
9
|
+
// 0= invisible and non-solid tree
|
|
10
|
+
// 1= visible but non-solid tree
|
|
11
|
+
// 2= normal tree (visible and solid)
|
|
12
|
+
flag[flag["undefined"] = 0] = "undefined";
|
|
13
|
+
flag[flag["visible"] = 1 || 2] = "visible";
|
|
14
|
+
flag[flag["solid"] = 3] = "solid";
|
|
15
|
+
})(flag || (flag = {}));
|
|
16
|
+
class DoodadsTranslator {
|
|
17
|
+
static jsonToWar(doodadsJson) {
|
|
18
|
+
const outBufferToWar = new HexBuffer_1.HexBuffer();
|
|
19
|
+
/*
|
|
20
|
+
* Header
|
|
21
|
+
*/
|
|
22
|
+
outBufferToWar.addChars('W3do'); // file id
|
|
23
|
+
outBufferToWar.addInt(8); // file version
|
|
24
|
+
outBufferToWar.addInt(11); // subversion 0x0B
|
|
25
|
+
outBufferToWar.addInt(doodadsJson.length); // num of trees
|
|
26
|
+
/*
|
|
27
|
+
* Body
|
|
28
|
+
*/
|
|
29
|
+
doodadsJson.forEach((tree) => {
|
|
30
|
+
outBufferToWar.addChars(tree.type);
|
|
31
|
+
outBufferToWar.addInt(tree.variation || 0); // optional - default value 0
|
|
32
|
+
outBufferToWar.addFloat(tree.position[0]);
|
|
33
|
+
outBufferToWar.addFloat(tree.position[1]);
|
|
34
|
+
outBufferToWar.addFloat(tree.position[2]);
|
|
35
|
+
// Angle
|
|
36
|
+
// Doodads format is unique because it uses radians for angles, as opposed
|
|
37
|
+
// to angles in any other file which use degrees. Hence conversion is needed.
|
|
38
|
+
// war3map: Expects angle in RADIANS
|
|
39
|
+
// JSON: Spec defines angle in DEGREES
|
|
40
|
+
outBufferToWar.addFloat(AngleConverter_1.deg2Rad(tree.angle) || 0); // optional - default value 0
|
|
41
|
+
// Scale
|
|
42
|
+
if (!tree.scale)
|
|
43
|
+
tree.scale = [1, 1, 1];
|
|
44
|
+
outBufferToWar.addFloat(tree.scale[0] || 1);
|
|
45
|
+
outBufferToWar.addFloat(tree.scale[1] || 1);
|
|
46
|
+
outBufferToWar.addFloat(tree.scale[2] || 1);
|
|
47
|
+
outBufferToWar.addChars(tree.skinId);
|
|
48
|
+
// Tree flags
|
|
49
|
+
/* | Visible | Solid | Flag value |
|
|
50
|
+
| no | no | 0 |
|
|
51
|
+
| yes | no | 1 |
|
|
52
|
+
| yes | yes | 2 | */
|
|
53
|
+
let treeFlag = 2; // default: normal tree
|
|
54
|
+
if (!tree.flags)
|
|
55
|
+
tree.flags = { visible: true, solid: true }; // defaults if no flags are specified
|
|
56
|
+
if (!tree.flags.visible && !tree.flags.solid)
|
|
57
|
+
treeFlag = 0;
|
|
58
|
+
else if (tree.flags.visible && !tree.flags.solid)
|
|
59
|
+
treeFlag = 1;
|
|
60
|
+
else if (tree.flags.visible && tree.flags.solid)
|
|
61
|
+
treeFlag = 2;
|
|
62
|
+
// Note: invisible and solid is not an option
|
|
63
|
+
outBufferToWar.addByte(treeFlag);
|
|
64
|
+
outBufferToWar.addByte(tree.life || 100);
|
|
65
|
+
outBufferToWar.addInt(0); // NOT SUPPORTED: random item table pointer: fixed to 0
|
|
66
|
+
outBufferToWar.addInt(0); // NOT SUPPORTED: number of items dropped for item table
|
|
67
|
+
outBufferToWar.addInt(tree.id);
|
|
68
|
+
});
|
|
69
|
+
/*
|
|
70
|
+
* Footer
|
|
71
|
+
*/
|
|
72
|
+
outBufferToWar.addInt(0); // special doodad format number, fixed at 0x00
|
|
73
|
+
outBufferToWar.addInt(0); // NOT SUPPORTED: number of special doodads
|
|
74
|
+
return {
|
|
75
|
+
errors: [],
|
|
76
|
+
buffer: outBufferToWar.getBuffer()
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
static warToJson(buffer) {
|
|
80
|
+
const result = [];
|
|
81
|
+
const outBufferToJSON = new W3Buffer_1.W3Buffer(buffer);
|
|
82
|
+
const fileId = outBufferToJSON.readChars(4); // W3do for doodad file
|
|
83
|
+
const fileVersion = outBufferToJSON.readInt(); // File version = 8
|
|
84
|
+
const subVersion = outBufferToJSON.readInt(); // 0B 00 00 00
|
|
85
|
+
const numDoodads = outBufferToJSON.readInt(); // # of doodads
|
|
86
|
+
for (let i = 0; i < numDoodads; i++) {
|
|
87
|
+
const doodad = {
|
|
88
|
+
type: '',
|
|
89
|
+
variation: 0,
|
|
90
|
+
position: [0, 0, 0],
|
|
91
|
+
angle: -1,
|
|
92
|
+
scale: [0, 0, 0],
|
|
93
|
+
skinId: '',
|
|
94
|
+
flags: { visible: flag.visible, solid: flag.solid },
|
|
95
|
+
life: -1,
|
|
96
|
+
id: -1
|
|
97
|
+
};
|
|
98
|
+
doodad.type = outBufferToJSON.readChars(4);
|
|
99
|
+
doodad.variation = outBufferToJSON.readInt();
|
|
100
|
+
doodad.position = [outBufferToJSON.readFloat(), outBufferToJSON.readFloat(), outBufferToJSON.readFloat()]; // X Y Z coords
|
|
101
|
+
// Angle
|
|
102
|
+
// Doodads format is unique because it uses radians for angles, as opposed
|
|
103
|
+
// to angles in any other file which use degrees. Hence conversion is needed.
|
|
104
|
+
// war3map: Expects angle in RADIANS
|
|
105
|
+
// JSON: Spec defines angle in DEGREES
|
|
106
|
+
doodad.angle = AngleConverter_1.rad2Deg(outBufferToJSON.readFloat());
|
|
107
|
+
doodad.scale = [outBufferToJSON.readFloat(), outBufferToJSON.readFloat(), outBufferToJSON.readFloat()]; // X Y Z scaling
|
|
108
|
+
doodad.skinId = outBufferToJSON.readChars(4);
|
|
109
|
+
const flags = outBufferToJSON.readByte();
|
|
110
|
+
doodad.flags = {
|
|
111
|
+
visible: flags === 1 || flags === 2,
|
|
112
|
+
solid: flags === 2
|
|
113
|
+
};
|
|
114
|
+
doodad.life = outBufferToJSON.readByte(); // as a %
|
|
115
|
+
// UNSUPPORTED: random item set drops when doodad is destroyed/killed
|
|
116
|
+
// This section just consumes the bytes from the file
|
|
117
|
+
const randomItemSetPtr = outBufferToJSON.readInt(); // points to an item set defined in the map (rather than custom one defined below)
|
|
118
|
+
const numberOfItemSets = outBufferToJSON.readInt(); // this should be 0 if randomItemSetPtr is >= 0
|
|
119
|
+
for (let j = 0; j < numberOfItemSets; j++) {
|
|
120
|
+
// Read the item set
|
|
121
|
+
const numberOfItems = outBufferToJSON.readInt();
|
|
122
|
+
for (let k = 0; k < numberOfItems; k++) {
|
|
123
|
+
outBufferToJSON.readChars(4); // Item ID
|
|
124
|
+
outBufferToJSON.readInt(); // % chance to drop
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
doodad.id = outBufferToJSON.readInt();
|
|
128
|
+
result.push(doodad);
|
|
129
|
+
}
|
|
130
|
+
// UNSUPPORTED: Special doodads
|
|
131
|
+
outBufferToJSON.readInt(); // special doodad format version set to '0'
|
|
132
|
+
const numSpecialDoodads = outBufferToJSON.readInt();
|
|
133
|
+
for (let i = 0; i < numSpecialDoodads; i++) {
|
|
134
|
+
outBufferToJSON.readChars(4); // doodad ID
|
|
135
|
+
outBufferToJSON.readInt();
|
|
136
|
+
outBufferToJSON.readInt();
|
|
137
|
+
outBufferToJSON.readInt();
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
errors: [],
|
|
141
|
+
json: result
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.DoodadsTranslator = DoodadsTranslator;
|
|
146
|
+
//# sourceMappingURL=DoodadsTranslator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DoodadsTranslator.js","sourceRoot":"","sources":["../../src/translators/DoodadsTranslator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { WarResult, JsonResult } from '../CommonInterfaces';
|
|
3
|
+
declare enum ImportType {
|
|
4
|
+
Standard = "standard",
|
|
5
|
+
Custom = "custom"
|
|
6
|
+
}
|
|
7
|
+
interface Import {
|
|
8
|
+
path: string;
|
|
9
|
+
type: ImportType;
|
|
10
|
+
}
|
|
11
|
+
export declare class ImportsTranslator {
|
|
12
|
+
static jsonToWar(imports: Import[]): WarResult;
|
|
13
|
+
static warToJson(buffer: Buffer): JsonResult<Import[]>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=ImportsTranslator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImportsTranslator.d.ts","sourceRoot":"","sources":["../../src/translators/ImportsTranslator.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE3D,aAAK,UAAU;IACX,QAAQ,aAAa;IACrB,MAAM,WAAW;CACpB;AAED,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CACpB;AAED,qBAAa,iBAAiB;WAEZ,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS;WA+BvC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;CA8BhE"}
|