wc3maptranslator 4.0.1 → 4.0.3
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/dist/src/AngleConverter.d.ts +3 -0
- package/dist/src/AngleConverter.d.ts.map +1 -0
- package/dist/src/AngleConverter.js +12 -0
- package/dist/src/AngleConverter.js.map +1 -0
- package/dist/src/CommonInterfaces.d.ts +17 -0
- package/dist/src/CommonInterfaces.d.ts.map +1 -0
- package/dist/src/CommonInterfaces.js +3 -0
- package/dist/src/CommonInterfaces.js.map +1 -0
- package/dist/src/HexBuffer.d.ts +15 -0
- package/dist/src/HexBuffer.d.ts.map +1 -0
- package/{lib/HexBuffer.ts → dist/src/HexBuffer.js} +32 -42
- package/dist/src/HexBuffer.js.map +1 -0
- package/dist/src/W3Buffer.d.ts +14 -0
- package/dist/src/W3Buffer.d.ts.map +1 -0
- package/{lib/W3Buffer.ts → dist/src/W3Buffer.js} +25 -31
- package/dist/src/W3Buffer.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/{index.js → dist/src/index.js} +1 -1
- package/dist/src/index.js.map +1 -0
- package/dist/src/translators/CamerasTranslator.d.ts +23 -0
- package/dist/src/translators/CamerasTranslator.d.ts.map +1 -0
- package/{lib/translators/CamerasTranslator.ts → dist/src/translators/CamerasTranslator.js} +14 -39
- package/dist/src/translators/CamerasTranslator.js.map +1 -0
- package/dist/src/translators/DoodadsTranslator.d.ts +23 -0
- package/dist/src/translators/DoodadsTranslator.d.ts.map +1 -0
- package/{lib/translators/DoodadsTranslator.ts → dist/src/translators/DoodadsTranslator.js} +33 -65
- package/dist/src/translators/DoodadsTranslator.js.map +1 -0
- package/dist/src/translators/ImportsTranslator.d.ts +16 -0
- package/dist/src/translators/ImportsTranslator.d.ts.map +1 -0
- package/{lib/translators/ImportsTranslator.ts → dist/src/translators/ImportsTranslator.js} +21 -37
- package/dist/src/translators/ImportsTranslator.js.map +1 -0
- package/dist/src/translators/InfoTranslator.d.ts +124 -0
- package/dist/src/translators/InfoTranslator.d.ts.map +1 -0
- package/{lib/translators/InfoTranslator.ts → dist/src/translators/InfoTranslator.js} +108 -270
- package/dist/src/translators/InfoTranslator.js.map +1 -0
- package/dist/src/translators/ObjectsTranslator.d.ts +23 -0
- package/dist/src/translators/ObjectsTranslator.d.ts.map +1 -0
- package/{lib/translators/ObjectsTranslator.ts → dist/src/translators/ObjectsTranslator.js} +91 -125
- package/dist/src/translators/ObjectsTranslator.js.map +1 -0
- package/dist/src/translators/RegionsTranslator.d.ts +22 -0
- package/dist/src/translators/RegionsTranslator.d.ts.map +1 -0
- package/{lib/translators/RegionsTranslator.ts → dist/src/translators/RegionsTranslator.js} +18 -45
- package/dist/src/translators/RegionsTranslator.js.map +1 -0
- package/dist/src/translators/SoundsTranslator.d.ts +35 -0
- package/dist/src/translators/SoundsTranslator.d.ts.map +1 -0
- package/{lib/translators/SoundsTranslator.ts → dist/src/translators/SoundsTranslator.js} +30 -84
- package/dist/src/translators/SoundsTranslator.js.map +1 -0
- package/dist/src/translators/StringsTranslator.d.ts +7 -0
- package/dist/src/translators/StringsTranslator.d.ts.map +1 -0
- package/{lib/translators/StringsTranslator.ts → dist/src/translators/StringsTranslator.js} +12 -17
- package/dist/src/translators/StringsTranslator.js.map +1 -0
- package/dist/src/translators/TerrainTranslator.d.ts +33 -0
- package/dist/src/translators/TerrainTranslator.d.ts.map +1 -0
- package/{lib/translators/TerrainTranslator.ts → dist/src/translators/TerrainTranslator.js} +29 -84
- package/dist/src/translators/TerrainTranslator.js.map +1 -0
- package/dist/src/translators/UnitsTranslator.d.ts +40 -0
- package/dist/src/translators/UnitsTranslator.d.ts.map +1 -0
- package/{lib/translators/UnitsTranslator.ts → dist/src/translators/UnitsTranslator.js} +33 -95
- package/dist/src/translators/UnitsTranslator.js.map +1 -0
- package/{lib/translators/index.ts → dist/src/translators/index.d.ts} +1 -0
- package/dist/src/translators/index.d.ts.map +1 -0
- package/dist/src/translators/index.js +23 -0
- package/dist/src/translators/index.js.map +1 -0
- package/package.json +5 -4
- 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 -78
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfoTranslator.js","sourceRoot":"","sources":["../../../src/translators/InfoTranslator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { WarResult, JsonResult } from '../CommonInterfaces';
|
|
3
|
+
declare enum ObjectType {
|
|
4
|
+
Units = "units",
|
|
5
|
+
Items = "items",
|
|
6
|
+
Destructables = "destructables",
|
|
7
|
+
Doodads = "doodads",
|
|
8
|
+
Abilities = "abilities",
|
|
9
|
+
Buffs = "buffs",
|
|
10
|
+
Upgrades = "upgrades"
|
|
11
|
+
}
|
|
12
|
+
interface ObjectModificationTable {
|
|
13
|
+
original: object;
|
|
14
|
+
custom: object;
|
|
15
|
+
}
|
|
16
|
+
export declare abstract class ObjectsTranslator {
|
|
17
|
+
static readonly ObjectType: typeof ObjectType;
|
|
18
|
+
private static varTypes;
|
|
19
|
+
static jsonToWar(type: string, json: any): WarResult;
|
|
20
|
+
static warToJson(type: string, buffer: Buffer): JsonResult<ObjectModificationTable>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=ObjectsTranslator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectsTranslator.d.ts","sourceRoot":"","sources":["../../../src/translators/ObjectsTranslator.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAwB3D,aAAK,UAAU;IACX,KAAK,UAAU;IACf,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;CACxB;AAeD,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,8BAAsB,iBAAiB;IAKnC,gBAAuB,UAAU,oBAAc;IAE/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CASrB;WAEY,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,KAAA,GAAG,SAAS;WAuGxC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,uBAAuB,CAAC;CAkE7F"}
|
|
@@ -1,150 +1,115 @@
|
|
|
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
|
-
// They can be specified for: Doodads, Abilities, Upgrades, but if
|
|
44
|
-
// not specified, they default to the value 0.
|
|
45
|
-
level?: number;
|
|
46
|
-
column?: number;
|
|
47
|
-
variation?: number;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
interface ObjectModificationTable {
|
|
51
|
-
original: object,
|
|
52
|
-
custom: object
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export abstract class ObjectsTranslator {
|
|
56
|
-
|
|
57
|
-
// Expose the ObjectType enum as part of this abstract class
|
|
58
|
-
// The enum could be "export"ed , but it wouldn't be accessible
|
|
59
|
-
// via `ObjectsTranslator.ObjectType`, which is preferable.
|
|
60
|
-
public static readonly ObjectType = ObjectType;
|
|
61
|
-
|
|
62
|
-
private static varTypes = {
|
|
63
|
-
int: 0,
|
|
64
|
-
real: 1,
|
|
65
|
-
unreal: 2,
|
|
66
|
-
string: 3,
|
|
67
|
-
0: 'int',
|
|
68
|
-
1: 'real',
|
|
69
|
-
2: 'unreal',
|
|
70
|
-
3: 'string'
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
public static jsonToWar(type: string, json): WarResult {
|
|
74
|
-
const outBufferToWar = new HexBuffer();
|
|
75
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObjectsTranslator = void 0;
|
|
4
|
+
const HexBuffer_1 = require("../HexBuffer");
|
|
5
|
+
const W3Buffer_1 = require("../W3Buffer");
|
|
6
|
+
var TableType;
|
|
7
|
+
(function (TableType) {
|
|
8
|
+
TableType["original"] = "original";
|
|
9
|
+
TableType["custom"] = "custom";
|
|
10
|
+
})(TableType || (TableType = {}));
|
|
11
|
+
var ModificationType;
|
|
12
|
+
(function (ModificationType) {
|
|
13
|
+
ModificationType["int"] = "int";
|
|
14
|
+
ModificationType["real"] = "real";
|
|
15
|
+
ModificationType["unreal"] = "unreal";
|
|
16
|
+
ModificationType["string"] = "string";
|
|
17
|
+
})(ModificationType || (ModificationType = {}));
|
|
18
|
+
var FileTypeExtension;
|
|
19
|
+
(function (FileTypeExtension) {
|
|
20
|
+
FileTypeExtension["units"] = "w3u";
|
|
21
|
+
FileTypeExtension["items"] = "w3t";
|
|
22
|
+
FileTypeExtension["destructables"] = "w3b";
|
|
23
|
+
FileTypeExtension["doodads"] = "w3d";
|
|
24
|
+
FileTypeExtension["abilities"] = "w3a";
|
|
25
|
+
FileTypeExtension["buffs"] = "w3h";
|
|
26
|
+
FileTypeExtension["upgrades"] = "w3q"; // (*)
|
|
27
|
+
})(FileTypeExtension || (FileTypeExtension = {}));
|
|
28
|
+
;
|
|
29
|
+
var ObjectType;
|
|
30
|
+
(function (ObjectType) {
|
|
31
|
+
ObjectType["Units"] = "units";
|
|
32
|
+
ObjectType["Items"] = "items";
|
|
33
|
+
ObjectType["Destructables"] = "destructables";
|
|
34
|
+
ObjectType["Doodads"] = "doodads";
|
|
35
|
+
ObjectType["Abilities"] = "abilities";
|
|
36
|
+
ObjectType["Buffs"] = "buffs";
|
|
37
|
+
ObjectType["Upgrades"] = "upgrades";
|
|
38
|
+
})(ObjectType || (ObjectType = {}));
|
|
39
|
+
;
|
|
40
|
+
class ObjectsTranslator {
|
|
41
|
+
static jsonToWar(type, json) {
|
|
42
|
+
const outBufferToWar = new HexBuffer_1.HexBuffer();
|
|
76
43
|
/*
|
|
77
44
|
* Header
|
|
78
45
|
*/
|
|
79
46
|
outBufferToWar.addInt(2); // file version
|
|
80
|
-
|
|
81
|
-
const generateTableFromJson = (tableType: TableType, tableData) => { // create "original" or "custom" table
|
|
47
|
+
const generateTableFromJson = (tableType, tableData) => {
|
|
82
48
|
Object.keys(tableData).forEach((defKey) => {
|
|
83
49
|
const obj = tableData[defKey];
|
|
84
|
-
|
|
85
50
|
// Original and new object ids
|
|
86
51
|
if (tableType === TableType.original) {
|
|
87
52
|
outBufferToWar.addChars(defKey);
|
|
88
|
-
outBufferToWar.addByte(0);
|
|
89
|
-
|
|
53
|
+
outBufferToWar.addByte(0);
|
|
54
|
+
outBufferToWar.addByte(0);
|
|
55
|
+
outBufferToWar.addByte(0);
|
|
56
|
+
outBufferToWar.addByte(0); // no new Id is assigned
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
90
59
|
// e.g. "h000:hfoo"
|
|
91
60
|
outBufferToWar.addChars(defKey.substring(5, 9)); // original id
|
|
92
61
|
outBufferToWar.addChars(defKey.substring(0, 4)); // custom id
|
|
93
62
|
}
|
|
94
|
-
|
|
95
63
|
// Number of modifications made to this object
|
|
96
64
|
outBufferToWar.addInt(obj.length);
|
|
97
|
-
|
|
98
|
-
obj.forEach((mod: Modification) => {
|
|
65
|
+
obj.forEach((mod) => {
|
|
99
66
|
let modType;
|
|
100
|
-
|
|
101
67
|
// Modification id (e.g. unam = name; reference MetaData lookups)
|
|
102
68
|
outBufferToWar.addChars(mod.id);
|
|
103
|
-
|
|
104
69
|
// Determine what type of field the mod is (int, real, unreal, string)
|
|
105
70
|
if (mod.type) { // if a type is specified, use it
|
|
106
71
|
modType = this.varTypes[mod.type];
|
|
107
|
-
}
|
|
72
|
+
}
|
|
73
|
+
else { // otherwise we try to infer between int/string (note there is no way to detect unreal or float this way, so user must specify those explicitly)
|
|
108
74
|
if (typeof mod.value === 'number') {
|
|
109
75
|
modType = this.varTypes.int;
|
|
110
|
-
}
|
|
76
|
+
}
|
|
77
|
+
else if (typeof mod.value === 'string') {
|
|
111
78
|
modType = this.varTypes.string;
|
|
112
|
-
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
113
81
|
// ERROR: no type specified and cannot infer type!
|
|
114
82
|
}
|
|
115
83
|
}
|
|
116
|
-
|
|
117
84
|
outBufferToWar.addInt(modType);
|
|
118
|
-
|
|
119
85
|
// Addl integers
|
|
120
86
|
// Required for: doodads, abilities, upgrades
|
|
121
87
|
if (type === ObjectType.Doodads || type === ObjectType.Abilities || type === ObjectType.Upgrades) {
|
|
122
|
-
|
|
123
88
|
// Level or variation
|
|
124
89
|
// We need to check if hasOwnProperty because these could be explititly
|
|
125
90
|
// set to 0, but JavaScript's truthiness evaluates to false to it was defaulting
|
|
126
91
|
outBufferToWar.addInt(mod.level || mod.variation || 0); // defaults to 0
|
|
127
|
-
|
|
128
92
|
outBufferToWar.addInt(mod.column || 0); // E.g DataA1 is 1 because of col A; refer to the xyzData.slk files for Data fields
|
|
129
93
|
}
|
|
130
|
-
|
|
131
94
|
// Write mod value
|
|
132
95
|
if (modType === this.varTypes.int) {
|
|
133
96
|
outBufferToWar.addInt(mod.value);
|
|
134
|
-
}
|
|
97
|
+
}
|
|
98
|
+
else if (modType === this.varTypes.real || modType === this.varTypes.unreal) {
|
|
135
99
|
// Follow-up: check if unreal values are same hex format as real
|
|
136
100
|
outBufferToWar.addFloat(mod.value);
|
|
137
|
-
}
|
|
101
|
+
}
|
|
102
|
+
else if (modType === this.varTypes.string) {
|
|
138
103
|
// Note that World Editor normally creates a TRIGSTR_000 for these string
|
|
139
104
|
// values - WC3MapTranslator just writes the string directly to file
|
|
140
105
|
outBufferToWar.addString(mod.value);
|
|
141
106
|
}
|
|
142
|
-
|
|
143
107
|
// End of struct
|
|
144
108
|
if (tableType === TableType.original) {
|
|
145
109
|
// Original objects are ended with their base id (e.g. hfoo)
|
|
146
110
|
outBufferToWar.addChars(defKey);
|
|
147
|
-
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
148
113
|
// Custom objects are ended with 0000 bytes
|
|
149
114
|
outBufferToWar.addByte(0);
|
|
150
115
|
outBufferToWar.addByte(0);
|
|
@@ -154,89 +119,90 @@ export abstract class ObjectsTranslator {
|
|
|
154
119
|
});
|
|
155
120
|
});
|
|
156
121
|
};
|
|
157
|
-
|
|
158
122
|
/*
|
|
159
123
|
* Original table
|
|
160
124
|
*/
|
|
161
125
|
outBufferToWar.addInt(Object.keys(json.original).length);
|
|
162
126
|
generateTableFromJson(TableType.original, json.original);
|
|
163
|
-
|
|
164
127
|
/*
|
|
165
128
|
* Custom table
|
|
166
129
|
*/
|
|
167
130
|
outBufferToWar.addInt(Object.keys(json.custom).length); // # entry modifications
|
|
168
131
|
generateTableFromJson(TableType.custom, json.custom);
|
|
169
|
-
|
|
170
132
|
return {
|
|
171
133
|
errors: [],
|
|
172
134
|
buffer: outBufferToWar.getBuffer()
|
|
173
135
|
};
|
|
174
136
|
}
|
|
175
|
-
|
|
176
|
-
public static warToJson(type: string, buffer: Buffer): JsonResult<ObjectModificationTable> {
|
|
137
|
+
static warToJson(type, buffer) {
|
|
177
138
|
const result = { original: {}, custom: {} };
|
|
178
|
-
const outBufferToJSON = new W3Buffer(buffer);
|
|
179
|
-
|
|
139
|
+
const outBufferToJSON = new W3Buffer_1.W3Buffer(buffer);
|
|
180
140
|
const fileVersion = outBufferToJSON.readInt();
|
|
181
|
-
|
|
182
|
-
const readModificationTable = (isOriginalTable: boolean) => {
|
|
141
|
+
const readModificationTable = (isOriginalTable) => {
|
|
183
142
|
const numTableModifications = outBufferToJSON.readInt();
|
|
184
|
-
|
|
185
143
|
for (let i = 0; i < numTableModifications; i++) {
|
|
186
144
|
const objectDefinition = []; // object definition will store one or more modification objects
|
|
187
|
-
|
|
188
|
-
const originalId = outBufferToJSON.readChars(4),
|
|
189
|
-
customId = outBufferToJSON.readChars(4),
|
|
190
|
-
modificationCount = outBufferToJSON.readInt();
|
|
191
|
-
|
|
145
|
+
const originalId = outBufferToJSON.readChars(4), customId = outBufferToJSON.readChars(4), modificationCount = outBufferToJSON.readInt();
|
|
192
146
|
for (let j = 0; j < modificationCount; j++) {
|
|
193
|
-
const modification
|
|
147
|
+
const modification = {
|
|
194
148
|
id: '',
|
|
195
149
|
type: ModificationType.string,
|
|
196
150
|
level: 0,
|
|
197
151
|
column: 0,
|
|
198
152
|
value: {}
|
|
199
153
|
};
|
|
200
|
-
|
|
201
154
|
modification.id = outBufferToJSON.readChars(4);
|
|
202
155
|
modification.type = this.varTypes[outBufferToJSON.readInt()]; // 'int' | 'real' | 'unreal' | 'string',
|
|
203
|
-
|
|
204
156
|
if (type === ObjectType.Doodads || type === ObjectType.Abilities || type === ObjectType.Upgrades) {
|
|
205
157
|
modification.level = outBufferToJSON.readInt();
|
|
206
158
|
modification.column = outBufferToJSON.readInt();
|
|
207
159
|
}
|
|
208
|
-
|
|
209
160
|
if (modification.type === 'int') {
|
|
210
161
|
modification.value = outBufferToJSON.readInt();
|
|
211
|
-
}
|
|
162
|
+
}
|
|
163
|
+
else if (modification.type === 'real' || modification.type === 'unreal') {
|
|
212
164
|
modification.value = outBufferToJSON.readFloat();
|
|
213
|
-
}
|
|
165
|
+
}
|
|
166
|
+
else { // modification.type === 'string'
|
|
214
167
|
modification.value = outBufferToJSON.readString();
|
|
215
168
|
}
|
|
216
|
-
|
|
217
169
|
if (isOriginalTable) {
|
|
218
170
|
outBufferToJSON.readInt(); // should be 0 for original objects
|
|
219
|
-
}
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
220
173
|
outBufferToJSON.readChars(4); // should be object ID for custom objects
|
|
221
174
|
}
|
|
222
|
-
|
|
223
175
|
objectDefinition.push(modification);
|
|
224
176
|
}
|
|
225
|
-
|
|
226
177
|
if (isOriginalTable) {
|
|
227
178
|
result.original[originalId] = objectDefinition;
|
|
228
|
-
}
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
229
181
|
result.custom[customId + ':' + originalId] = objectDefinition;
|
|
230
182
|
}
|
|
231
183
|
}
|
|
232
184
|
};
|
|
233
|
-
|
|
234
185
|
readModificationTable(true);
|
|
235
186
|
readModificationTable(false);
|
|
236
|
-
|
|
237
187
|
return {
|
|
238
188
|
errors: [],
|
|
239
189
|
json: result
|
|
240
190
|
};
|
|
241
191
|
}
|
|
242
192
|
}
|
|
193
|
+
exports.ObjectsTranslator = ObjectsTranslator;
|
|
194
|
+
// Expose the ObjectType enum as part of this abstract class
|
|
195
|
+
// The enum could be "export"ed , but it wouldn't be accessible
|
|
196
|
+
// via `ObjectsTranslator.ObjectType`, which is preferable.
|
|
197
|
+
ObjectsTranslator.ObjectType = ObjectType;
|
|
198
|
+
ObjectsTranslator.varTypes = {
|
|
199
|
+
int: 0,
|
|
200
|
+
real: 1,
|
|
201
|
+
unreal: 2,
|
|
202
|
+
string: 3,
|
|
203
|
+
0: 'int',
|
|
204
|
+
1: 'real',
|
|
205
|
+
2: 'unreal',
|
|
206
|
+
3: 'string'
|
|
207
|
+
};
|
|
208
|
+
//# sourceMappingURL=ObjectsTranslator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectsTranslator.js","sourceRoot":"","sources":["../../../src/translators/ObjectsTranslator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { WarResult, JsonResult } from '../CommonInterfaces';
|
|
3
|
+
interface Region {
|
|
4
|
+
position: Rect;
|
|
5
|
+
name: string;
|
|
6
|
+
id: number;
|
|
7
|
+
weatherEffect: string;
|
|
8
|
+
ambientSound: string;
|
|
9
|
+
color: number[];
|
|
10
|
+
}
|
|
11
|
+
interface Rect {
|
|
12
|
+
left: number;
|
|
13
|
+
bottom: number;
|
|
14
|
+
right: number;
|
|
15
|
+
top: number;
|
|
16
|
+
}
|
|
17
|
+
export declare abstract class RegionsTranslator {
|
|
18
|
+
static jsonToWar(regionsJson: Region[]): WarResult;
|
|
19
|
+
static warToJson(buffer: Buffer): JsonResult<Region[]>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=RegionsTranslator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionsTranslator.d.ts","sourceRoot":"","sources":["../../../src/translators/RegionsTranslator.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE3D,UAAU,MAAM;IACZ,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,UAAU,IAAI;IACV,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf;AAED,8BAAsB,iBAAiB;WAErB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS;WAsD3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;CA8ChE"}
|
|
@@ -1,34 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
weatherEffect: string;
|
|
10
|
-
ambientSound: string;
|
|
11
|
-
color: number[];
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
interface Rect {
|
|
15
|
-
left: number;
|
|
16
|
-
bottom: number;
|
|
17
|
-
right: number;
|
|
18
|
-
top: number;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export abstract class RegionsTranslator {
|
|
22
|
-
|
|
23
|
-
public static jsonToWar(regionsJson: Region[]): WarResult {
|
|
24
|
-
const outBufferToWar = new HexBuffer();
|
|
25
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RegionsTranslator = void 0;
|
|
4
|
+
const HexBuffer_1 = require("../HexBuffer");
|
|
5
|
+
const W3Buffer_1 = require("../W3Buffer");
|
|
6
|
+
class RegionsTranslator {
|
|
7
|
+
static jsonToWar(regionsJson) {
|
|
8
|
+
const outBufferToWar = new HexBuffer_1.HexBuffer();
|
|
26
9
|
/*
|
|
27
10
|
* Header
|
|
28
11
|
*/
|
|
29
12
|
outBufferToWar.addInt(5); // file version
|
|
30
13
|
outBufferToWar.addInt(regionsJson.length); // number of regions
|
|
31
|
-
|
|
32
14
|
/*
|
|
33
15
|
* Body
|
|
34
16
|
*/
|
|
@@ -39,50 +21,42 @@ export abstract class RegionsTranslator {
|
|
|
39
21
|
outBufferToWar.addFloat(region.position.bottom);
|
|
40
22
|
outBufferToWar.addFloat(region.position.right);
|
|
41
23
|
outBufferToWar.addFloat(region.position.top);
|
|
42
|
-
|
|
43
24
|
outBufferToWar.addString(region.name);
|
|
44
25
|
outBufferToWar.addInt(region.id);
|
|
45
|
-
|
|
46
26
|
// Weather effect name - lookup necessary: char[4]
|
|
47
27
|
if (region.weatherEffect) {
|
|
48
28
|
outBufferToWar.addChars(region.weatherEffect); // Weather effect is optional - defaults to 0000 for "none"
|
|
49
|
-
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
50
31
|
// We can't put a string "0000", because ASCII 0's differ from 0x0 bytes
|
|
51
32
|
outBufferToWar.addByte(0);
|
|
52
33
|
outBufferToWar.addByte(0);
|
|
53
34
|
outBufferToWar.addByte(0);
|
|
54
35
|
outBufferToWar.addByte(0);
|
|
55
36
|
}
|
|
56
|
-
|
|
57
37
|
// Ambient sound - refer to names defined in .w3s file
|
|
58
38
|
outBufferToWar.addString(region.ambientSound || ''); // May be empty string
|
|
59
|
-
|
|
60
39
|
// Color of region used by editor
|
|
61
40
|
// Careful! The order in .w3r is BB GG RR, whereas the JSON spec order is [RR, GG, BB]
|
|
62
41
|
outBufferToWar.addByte(region.color[2]); // blue
|
|
63
42
|
outBufferToWar.addByte(region.color[1]); // green
|
|
64
43
|
outBufferToWar.addByte(region.color[0]); // red
|
|
65
|
-
|
|
66
44
|
// End of structure - for some reason the .w3r needs this here;
|
|
67
45
|
// Value is set to 0xff based on observing the .w3r file, but not sure if it could be something else
|
|
68
46
|
outBufferToWar.addByte(0xff);
|
|
69
47
|
});
|
|
70
|
-
|
|
71
48
|
return {
|
|
72
49
|
errors: [],
|
|
73
50
|
buffer: outBufferToWar.getBuffer()
|
|
74
51
|
};
|
|
75
52
|
}
|
|
76
|
-
|
|
77
|
-
public static warToJson(buffer: Buffer): JsonResult<Region[]> {
|
|
53
|
+
static warToJson(buffer) {
|
|
78
54
|
const result = [];
|
|
79
|
-
const outBufferToJSON = new W3Buffer(buffer);
|
|
80
|
-
|
|
55
|
+
const outBufferToJSON = new W3Buffer_1.W3Buffer(buffer);
|
|
81
56
|
const fileVersion = outBufferToJSON.readInt(), // File version
|
|
82
|
-
|
|
83
|
-
|
|
57
|
+
numRegions = outBufferToJSON.readInt(); // # of regions
|
|
84
58
|
for (let i = 0; i < numRegions; i++) {
|
|
85
|
-
const region
|
|
59
|
+
const region = {
|
|
86
60
|
name: '',
|
|
87
61
|
id: 0,
|
|
88
62
|
weatherEffect: '',
|
|
@@ -95,7 +69,6 @@ export abstract class RegionsTranslator {
|
|
|
95
69
|
top: 0
|
|
96
70
|
}
|
|
97
71
|
};
|
|
98
|
-
|
|
99
72
|
region.position.left = outBufferToJSON.readFloat();
|
|
100
73
|
region.position.bottom = outBufferToJSON.readFloat();
|
|
101
74
|
region.position.right = outBufferToJSON.readFloat();
|
|
@@ -105,19 +78,19 @@ export abstract class RegionsTranslator {
|
|
|
105
78
|
region.weatherEffect = outBufferToJSON.readChars(4);
|
|
106
79
|
region.ambientSound = outBufferToJSON.readString();
|
|
107
80
|
region.color = [
|
|
108
|
-
outBufferToJSON.readByte(),
|
|
109
|
-
outBufferToJSON.readByte(),
|
|
81
|
+
outBufferToJSON.readByte(),
|
|
82
|
+
outBufferToJSON.readByte(),
|
|
110
83
|
outBufferToJSON.readByte() // blue
|
|
111
84
|
];
|
|
112
85
|
region.color.reverse(); // json wants it in RGB, but .w3r file stores it as BB GG RR
|
|
113
86
|
outBufferToJSON.readByte(); // end of region structure
|
|
114
|
-
|
|
115
87
|
result.push(region);
|
|
116
88
|
}
|
|
117
|
-
|
|
118
89
|
return {
|
|
119
90
|
errors: [],
|
|
120
91
|
json: result
|
|
121
92
|
};
|
|
122
93
|
}
|
|
123
94
|
}
|
|
95
|
+
exports.RegionsTranslator = RegionsTranslator;
|
|
96
|
+
//# sourceMappingURL=RegionsTranslator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionsTranslator.js","sourceRoot":"","sources":["../../../src/translators/RegionsTranslator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { WarResult, JsonResult } from '../CommonInterfaces';
|
|
3
|
+
interface Sound {
|
|
4
|
+
name: string;
|
|
5
|
+
variableName: string;
|
|
6
|
+
path: string;
|
|
7
|
+
eax: string;
|
|
8
|
+
flags: SoundFlags;
|
|
9
|
+
fadeRate: FadeRate;
|
|
10
|
+
volume: number;
|
|
11
|
+
pitch: number;
|
|
12
|
+
channel: number;
|
|
13
|
+
distance: Distance;
|
|
14
|
+
}
|
|
15
|
+
interface FadeRate {
|
|
16
|
+
in: number;
|
|
17
|
+
out: number;
|
|
18
|
+
}
|
|
19
|
+
interface SoundFlags {
|
|
20
|
+
looping: boolean;
|
|
21
|
+
'3dSound': boolean;
|
|
22
|
+
stopOutOfRange: boolean;
|
|
23
|
+
music: boolean;
|
|
24
|
+
}
|
|
25
|
+
interface Distance {
|
|
26
|
+
min: number;
|
|
27
|
+
max: number;
|
|
28
|
+
cutoff: number;
|
|
29
|
+
}
|
|
30
|
+
export declare abstract class SoundsTranslator {
|
|
31
|
+
static jsonToWar(soundsJson: Sound[]): WarResult;
|
|
32
|
+
static warToJson(buffer: Buffer): JsonResult<Sound[]>;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=SoundsTranslator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SoundsTranslator.d.ts","sourceRoot":"","sources":["../../../src/translators/SoundsTranslator.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE3D,UAAU,KAAK;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;CACtB;AAED,UAAU,QAAQ;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACf;AAED,UAAU,UAAU;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,QAAQ;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,8BAAsB,gBAAgB;WAEpB,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,SAAS;WAyGzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;CA8F/D"}
|