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.
Files changed (118) hide show
  1. package/LICENSE.md +23 -23
  2. package/dist/AngleConverter.d.ts +3 -0
  3. package/dist/AngleConverter.d.ts.map +1 -0
  4. package/dist/AngleConverter.js +12 -0
  5. package/dist/AngleConverter.js.map +1 -0
  6. package/dist/CommonInterfaces.d.ts +17 -0
  7. package/dist/CommonInterfaces.d.ts.map +1 -0
  8. package/dist/CommonInterfaces.js +3 -0
  9. package/dist/CommonInterfaces.js.map +1 -0
  10. package/dist/HexBuffer.d.ts +15 -0
  11. package/dist/HexBuffer.d.ts.map +1 -0
  12. package/{lib/HexBuffer.ts → dist/HexBuffer.js} +71 -81
  13. package/dist/HexBuffer.js.map +1 -0
  14. package/dist/W3Buffer.d.ts +14 -0
  15. package/dist/W3Buffer.d.ts.map +1 -0
  16. package/{lib/W3Buffer.ts → dist/W3Buffer.js} +63 -69
  17. package/dist/W3Buffer.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/{index.js → dist/index.js} +1 -1
  21. package/dist/index.js.map +1 -0
  22. package/dist/translators/CamerasTranslator.d.ts +23 -0
  23. package/dist/translators/CamerasTranslator.d.ts.map +1 -0
  24. package/{lib/translators/CamerasTranslator.ts → dist/translators/CamerasTranslator.js} +76 -101
  25. package/dist/translators/CamerasTranslator.js.map +1 -0
  26. package/dist/translators/DoodadsTranslator.d.ts +23 -0
  27. package/dist/translators/DoodadsTranslator.d.ts.map +1 -0
  28. package/{lib/translators/DoodadsTranslator.ts → dist/translators/DoodadsTranslator.js} +146 -178
  29. package/dist/translators/DoodadsTranslator.js.map +1 -0
  30. package/dist/translators/ImportsTranslator.d.ts +16 -0
  31. package/dist/translators/ImportsTranslator.d.ts.map +1 -0
  32. package/{lib/translators/ImportsTranslator.ts → dist/translators/ImportsTranslator.js} +62 -78
  33. package/dist/translators/ImportsTranslator.js.map +1 -0
  34. package/dist/translators/InfoTranslator.d.ts +124 -0
  35. package/dist/translators/InfoTranslator.d.ts.map +1 -0
  36. package/{lib/translators/InfoTranslator.ts → dist/translators/InfoTranslator.js} +422 -584
  37. package/dist/translators/InfoTranslator.js.map +1 -0
  38. package/dist/translators/ObjectsTranslator.d.ts +23 -0
  39. package/dist/translators/ObjectsTranslator.d.ts.map +1 -0
  40. package/{lib/translators/ObjectsTranslator.ts → dist/translators/ObjectsTranslator.js} +91 -125
  41. package/dist/translators/ObjectsTranslator.js.map +1 -0
  42. package/dist/translators/RegionsTranslator.d.ts +22 -0
  43. package/dist/translators/RegionsTranslator.d.ts.map +1 -0
  44. package/{lib/translators/RegionsTranslator.ts → dist/translators/RegionsTranslator.js} +96 -123
  45. package/dist/translators/RegionsTranslator.js.map +1 -0
  46. package/dist/translators/SoundsTranslator.d.ts +35 -0
  47. package/dist/translators/SoundsTranslator.d.ts.map +1 -0
  48. package/{lib/translators/SoundsTranslator.ts → dist/translators/SoundsTranslator.js} +183 -237
  49. package/dist/translators/SoundsTranslator.js.map +1 -0
  50. package/dist/translators/StringsTranslator.d.ts +7 -0
  51. package/dist/translators/StringsTranslator.d.ts.map +1 -0
  52. package/{lib/translators/StringsTranslator.ts → dist/translators/StringsTranslator.js} +44 -49
  53. package/dist/translators/StringsTranslator.js.map +1 -0
  54. package/dist/translators/TerrainTranslator.d.ts +33 -0
  55. package/dist/translators/TerrainTranslator.d.ts.map +1 -0
  56. package/{lib/translators/TerrainTranslator.ts → dist/translators/TerrainTranslator.js} +221 -276
  57. package/dist/translators/TerrainTranslator.js.map +1 -0
  58. package/dist/translators/UnitsTranslator.d.ts +40 -0
  59. package/dist/translators/UnitsTranslator.d.ts.map +1 -0
  60. package/{lib/translators/UnitsTranslator.ts → dist/translators/UnitsTranslator.js} +199 -261
  61. package/dist/translators/UnitsTranslator.js.map +1 -0
  62. package/{lib/translators/index.ts → dist/translators/index.d.ts} +11 -10
  63. package/dist/translators/index.d.ts.map +1 -0
  64. package/dist/translators/index.js +23 -0
  65. package/dist/translators/index.js.map +1 -0
  66. package/package.json +4 -2
  67. package/.codeclimate.yml +0 -12
  68. package/.editorconfig +0 -8
  69. package/.eslintignore +0 -5
  70. package/.eslintrc +0 -55
  71. package/.github/workflows/codeql-analysis.yml +0 -54
  72. package/.nycrc +0 -18
  73. package/.travis.yml +0 -23
  74. package/CHANGELOG.md +0 -73
  75. package/index.ts +0 -14
  76. package/lib/AngleConverter.ts +0 -7
  77. package/lib/CommonInterfaces.ts +0 -22
  78. package/test/.mocharc.json +0 -4
  79. package/test/AngleConverterTest.ts +0 -18
  80. package/test/HexBufferTest.ts +0 -170
  81. package/test/TranslatorReversion.ts +0 -218
  82. package/test/W3BufferTest.ts +0 -50
  83. package/test/data/cameras.json +0 -16
  84. package/test/data/doodads.json +0 -2730
  85. package/test/data/imports.json +0 -386
  86. package/test/data/info.json +0 -250
  87. package/test/data/obj-abilities.json +0 -4892
  88. package/test/data/obj-buffs.json +0 -38
  89. package/test/data/obj-destructables.json +0 -31
  90. package/test/data/obj-doodads.json +0 -38
  91. package/test/data/obj-items.json +0 -31
  92. package/test/data/obj-units.json +0 -40
  93. package/test/data/obj-upgrades.json +0 -38
  94. package/test/data/regions.json +0 -206
  95. package/test/data/sounds.json +0 -50
  96. package/test/data/strings.json +0 -115
  97. package/test/data/terrain.json +0 -1
  98. package/test/data/units.json +0 -452
  99. package/test/data/war3map.doo +0 -0
  100. package/test/data/war3map.imp +0 -0
  101. package/test/data/war3map.j +0 -3442
  102. package/test/data/war3map.shd +0 -0
  103. package/test/data/war3map.w3a +0 -0
  104. package/test/data/war3map.w3b +0 -0
  105. package/test/data/war3map.w3c +0 -0
  106. package/test/data/war3map.w3d +0 -0
  107. package/test/data/war3map.w3e +0 -0
  108. package/test/data/war3map.w3h +0 -0
  109. package/test/data/war3map.w3i +0 -0
  110. package/test/data/war3map.w3q +0 -0
  111. package/test/data/war3map.w3r +0 -0
  112. package/test/data/war3map.w3s +0 -0
  113. package/test/data/war3map.w3t +0 -0
  114. package/test/data/war3map.w3u +0 -0
  115. package/test/data/war3map.wts +0 -631
  116. package/test/data/war3mapUnits.doo +0 -0
  117. package/tsconfig.json +0 -25
  118. package/tslint.json +0 -47
@@ -1,218 +0,0 @@
1
- import assert from 'assert';
2
- import * as diff from 'diff-buf';
3
- import * as fs from 'fs-extra';
4
- import * as Path from 'path';
5
-
6
- import * as Translator from '../index';
7
-
8
- const ObjectType = Translator.ObjectsTranslator.ObjectType;
9
- const war3mapDir = Path.resolve('test/data');
10
- const outputDir = Path.resolve('test/.output');
11
-
12
- function readWar3MapBuffer(filename: string) {
13
- return fs.readFileSync(Path.join(war3mapDir, filename));
14
- }
15
-
16
- function readJsonTestFile(filename: string) {
17
- return fs.readJsonSync(Path.join(war3mapDir, filename));
18
- }
19
-
20
- function writeJsonTestFile(filename: string, json: object) {
21
- return fs.writeJsonSync(Path.join(outputDir, filename), json);
22
- }
23
-
24
- function buffersAreEqual(b1: Buffer, b2: Buffer) {
25
- const comparison = diff.default(b1, b2, { string: false });
26
-
27
- // Library `diff` returns an array of objects documenting comparison
28
- // e.g. { added: undefined, removed: undefined, value: 10 }
29
- // We want all `added` and `removed` fields to be "undefined" for
30
- // the buffers to be considered equal
31
- let buffersEqual = true;
32
- comparison.forEach((compare) => {
33
- if (compare.added || compare.removed) {
34
- buffersEqual = false;
35
- }
36
- });
37
-
38
- return buffersEqual;
39
- }
40
-
41
- // Ensures that when a JSON file is converted to war3map and back again,
42
- // the two JSON files are the same; converting between the two data formats
43
- // must yield the original results back (except for some differences in rounding)
44
- describe('Reversion: json -> war -> json', () => {
45
-
46
- before(() => {
47
- fs.emptyDirSync(outputDir);
48
- fs.ensureDirSync(outputDir);
49
- });
50
-
51
- it('Doodads reversion', () => {
52
- const originalJson = readJsonTestFile('doodads.json');
53
- const translatedBuffer = Translator.DoodadsTranslator.jsonToWar(originalJson).buffer;
54
- const translatedJson = Translator.DoodadsTranslator.warToJson(translatedBuffer).json;
55
-
56
- writeJsonTestFile('doodads.json', translatedJson);
57
-
58
- assert.deepStrictEqual(originalJson, translatedJson);
59
- });
60
-
61
- it('Strings reversion', () => {
62
- const originalJson = readJsonTestFile('strings.json');
63
- const translatedBuffer = Translator.StringsTranslator.jsonToWar(originalJson).buffer;
64
- const translatedJson = Translator.StringsTranslator.warToJson(translatedBuffer).json;
65
-
66
- writeJsonTestFile('strings.json', translatedJson);
67
-
68
- assert.deepStrictEqual(originalJson, translatedJson);
69
- });
70
-
71
- it('Terrain reversion', () => {
72
- const originalJson = readJsonTestFile('terrain.json');
73
- const translatedBuffer = Translator.TerrainTranslator.jsonToWar(originalJson).buffer;
74
- const translatedJson = Translator.TerrainTranslator.warToJson(translatedBuffer).json;
75
-
76
- writeJsonTestFile('terrain.json', translatedJson);
77
-
78
- assert.deepStrictEqual(originalJson, translatedJson);
79
- });
80
-
81
- it('Units reversion', () => {
82
- const originalJson = readJsonTestFile('units.json');
83
- const translatedBuffer = Translator.UnitsTranslator.jsonToWar(originalJson).buffer;
84
- const translatedJson = Translator.UnitsTranslator.warToJson(translatedBuffer).json;
85
-
86
- writeJsonTestFile('units.json', translatedJson);
87
-
88
- assert.deepStrictEqual(originalJson, translatedJson);
89
- });
90
-
91
- it('Regions reversion', () => {
92
- const originalJson = readJsonTestFile('regions.json');
93
- const translatedBuffer = Translator.RegionsTranslator.jsonToWar(originalJson).buffer;
94
- const translatedJson = Translator.RegionsTranslator.warToJson(translatedBuffer).json;
95
-
96
- writeJsonTestFile('regions.json', translatedJson);
97
-
98
- assert.deepStrictEqual(originalJson, translatedJson);
99
- });
100
-
101
- it('Cameras reversion', () => {
102
- const originalJson = readJsonTestFile('cameras.json');
103
- const translatedBuffer = Translator.CamerasTranslator.jsonToWar(originalJson).buffer;
104
- const translatedJson = Translator.CamerasTranslator.warToJson(translatedBuffer).json;
105
-
106
- writeJsonTestFile('cameras.json', translatedJson);
107
-
108
- assert.deepStrictEqual(originalJson, translatedJson);
109
- });
110
-
111
- it('Sounds reversion', () => {
112
- const originalJson = readJsonTestFile('sounds.json');
113
- const translatedBuffer = Translator.SoundsTranslator.jsonToWar(originalJson).buffer;
114
- const translatedJson = Translator.SoundsTranslator.warToJson(translatedBuffer).json;
115
-
116
- writeJsonTestFile('sounds.json', translatedJson);
117
-
118
- assert.deepStrictEqual(originalJson, translatedJson);
119
- });
120
-
121
- it('Units (Object) reversion', () => {
122
- const originalJson = readJsonTestFile('obj-units.json');
123
- const objectType = Translator.ObjectsTranslator.ObjectType.Units;
124
- const translatedBuffer = Translator.ObjectsTranslator.jsonToWar(objectType, originalJson).buffer;
125
- const translatedJson = Translator.ObjectsTranslator.warToJson(objectType, translatedBuffer).json;
126
-
127
- writeJsonTestFile('obj-units.json', translatedJson);
128
-
129
- assert.deepStrictEqual(originalJson, translatedJson);
130
- });
131
-
132
- it('Items (Object) reversion', () => {
133
- const originalJson = readJsonTestFile('obj-items.json');
134
- const objectType = Translator.ObjectsTranslator.ObjectType.Items;
135
- const translatedBuffer = Translator.ObjectsTranslator.jsonToWar(objectType, originalJson).buffer;
136
- const translatedJson = Translator.ObjectsTranslator.warToJson(objectType, translatedBuffer).json;
137
-
138
- writeJsonTestFile('obj-items.json', translatedJson);
139
-
140
- assert.deepStrictEqual(originalJson, translatedJson);
141
- });
142
-
143
- it('Destructables (Object) reversion', () => {
144
- const originalJson = readJsonTestFile('obj-destructables.json');
145
- const objectType = Translator.ObjectsTranslator.ObjectType.Destructables;
146
- const translatedBuffer = Translator.ObjectsTranslator.jsonToWar(objectType, originalJson).buffer;
147
- const translatedJson = Translator.ObjectsTranslator.warToJson(objectType, translatedBuffer).json;
148
-
149
- writeJsonTestFile('obj-destructables.json', translatedJson);
150
-
151
- assert.deepStrictEqual(originalJson, translatedJson);
152
- });
153
-
154
- it('Doodads (Object) reversion', () => {
155
- const originalJson = readJsonTestFile('obj-doodads.json');
156
- const objectType = Translator.ObjectsTranslator.ObjectType.Doodads;
157
- const translatedBuffer = Translator.ObjectsTranslator.jsonToWar(objectType, originalJson).buffer;
158
- const translatedJson = Translator.ObjectsTranslator.warToJson(objectType, translatedBuffer).json;
159
-
160
- writeJsonTestFile('obj-doodads.json', translatedJson);
161
-
162
- assert.deepStrictEqual(originalJson, translatedJson);
163
- });
164
-
165
- it('Abilities (Object) reversion', () => {
166
- const originalJson = readJsonTestFile('obj-abilities.json');
167
- const objectType = Translator.ObjectsTranslator.ObjectType.Abilities;
168
- const translatedBuffer = Translator.ObjectsTranslator.jsonToWar(objectType, originalJson).buffer;
169
- const translatedJson = Translator.ObjectsTranslator.warToJson(objectType, translatedBuffer).json;
170
-
171
- writeJsonTestFile('obj-abilities.json', translatedJson);
172
-
173
- assert.deepStrictEqual(originalJson, translatedJson);
174
- });
175
-
176
- it('Buffs (Object) reversion', () => {
177
- const originalJson = readJsonTestFile('obj-buffs.json');
178
- const objectType = Translator.ObjectsTranslator.ObjectType.Buffs;
179
- const translatedBuffer = Translator.ObjectsTranslator.jsonToWar(objectType, originalJson).buffer;
180
- const translatedJson = Translator.ObjectsTranslator.warToJson(objectType, translatedBuffer).json;
181
-
182
- writeJsonTestFile('obj-buffs.json', translatedJson);
183
-
184
- assert.deepStrictEqual(originalJson, translatedJson);
185
- });
186
-
187
- it('Upgrades (Object) reversion', () => {
188
- const originalJson = readJsonTestFile('obj-upgrades.json');
189
- const objectType = Translator.ObjectsTranslator.ObjectType.Upgrades;
190
- const translatedBuffer = Translator.ObjectsTranslator.jsonToWar(objectType, originalJson).buffer;
191
- const translatedJson = Translator.ObjectsTranslator.warToJson(objectType, translatedBuffer).json;
192
-
193
- writeJsonTestFile('obj-upgrades.json', translatedJson);
194
-
195
- assert.deepStrictEqual(originalJson, translatedJson);
196
- });
197
-
198
- it('Info reversion', () => {
199
- const originalJson = readJsonTestFile('info.json');
200
- const translatedBuffer = Translator.InfoTranslator.jsonToWar(originalJson).buffer;
201
- const translatedJson = Translator.InfoTranslator.warToJson(translatedBuffer).json;
202
-
203
- writeJsonTestFile('info.json', translatedJson);
204
-
205
- assert.deepStrictEqual(originalJson, translatedJson);
206
- });
207
-
208
- it('Imports reversion', () => {
209
- const originalJson = readJsonTestFile('imports.json');
210
- const translatedBuffer = Translator.ImportsTranslator.jsonToWar(originalJson).buffer;
211
- const translatedJson = Translator.ImportsTranslator.warToJson(translatedBuffer).json;
212
-
213
- writeJsonTestFile('imports.json', translatedJson);
214
-
215
- assert.deepStrictEqual(originalJson, translatedJson);
216
- });
217
-
218
- });
@@ -1,50 +0,0 @@
1
- import assert from 'assert';
2
- import { W3Buffer } from '../lib/W3Buffer';
3
-
4
- // This is a hard-coded buffer to test all the reading methods
5
- // on W3Buffer. It consists of, in this order:
6
- // char(4), int, float, string(7 Ws), byte
7
- const buffData = Buffer.from([
8
- 0x01, 0x00, 0x00, 0x00, // int: 1
9
- 0x81, 0x70, // short: 28801
10
- 0x00, 0x00, 0x9b, 0xc5, // float: -4960
11
- 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x00, // string: "WWWWWWW"
12
- 0x57, 0x33, 0x64, 0x6f, // char(4): "W3do"
13
- 0x57, // char(1): "W"
14
- 0x02 // byte: 2
15
- ]);
16
-
17
- const w3buffer = new W3Buffer(buffData);
18
-
19
- describe('W3Buffer', () => {
20
-
21
- it('should readInt', () => {
22
- assert.equal(w3buffer.readInt(), 1);
23
- });
24
-
25
- it('should readShort', () => {
26
- assert.equal(w3buffer.readShort(), 28801);
27
- });
28
-
29
- it('should readFloat', () => {
30
- assert.equal(w3buffer.readFloat(), -4960);
31
- });
32
-
33
- it('should readString', () => {
34
- assert.equal(w3buffer.readString(), 'WWWWWWW');
35
- });
36
-
37
- it('should readChars', () => {
38
- assert.equal(w3buffer.readChars(4), 'W3do');
39
- assert.equal(w3buffer.readChars(), 'W')
40
- });
41
-
42
- it('should readByte', () => {
43
- assert.equal(w3buffer.readByte(), 2);
44
- });
45
-
46
- it('should be exhausted', () => {
47
- assert.ok(w3buffer.isExhausted());
48
- });
49
-
50
- });
@@ -1,16 +0,0 @@
1
- [
2
- {
3
- "target": {
4
- "x": -319.01,
5
- "y": -90.18
6
- },
7
- "offsetZ": 0,
8
- "rotation": 90,
9
- "aoa": 304,
10
- "distance": 2657.34,
11
- "roll": 5,
12
- "fov": 70,
13
- "farClipping": 5000,
14
- "name": ""
15
- }
16
- ]