wc3maptranslator 4.0.4 → 5.0.0

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 (130) hide show
  1. package/README.md +62 -43
  2. package/dist/src/AngleConverter.d.ts +4 -0
  3. package/dist/src/AngleConverter.d.ts.map +1 -0
  4. package/dist/{AngleConverter.js.map → src/AngleConverter.js.map} +1 -1
  5. package/dist/src/CommonInterfaces.d.ts +21 -0
  6. package/dist/src/CommonInterfaces.d.ts.map +1 -0
  7. package/dist/src/CommonInterfaces.js +20 -0
  8. package/dist/src/CommonInterfaces.js.map +1 -0
  9. package/dist/{HexBuffer.d.ts → src/HexBuffer.d.ts} +5 -2
  10. package/dist/src/HexBuffer.d.ts.map +1 -0
  11. package/dist/src/HexBuffer.js +71 -0
  12. package/dist/src/HexBuffer.js.map +1 -0
  13. package/dist/src/PlayerBitfield.d.ts +30 -0
  14. package/dist/src/PlayerBitfield.d.ts.map +1 -0
  15. package/dist/src/PlayerBitfield.js +56 -0
  16. package/dist/src/PlayerBitfield.js.map +1 -0
  17. package/dist/src/TranslatorMappings.d.ts +12 -0
  18. package/dist/src/TranslatorMappings.d.ts.map +1 -0
  19. package/dist/src/TranslatorMappings.js +47 -0
  20. package/dist/src/TranslatorMappings.js.map +1 -0
  21. package/dist/{W3Buffer.d.ts → src/W3Buffer.d.ts} +4 -1
  22. package/dist/src/W3Buffer.d.ts.map +1 -0
  23. package/dist/{W3Buffer.js → src/W3Buffer.js} +13 -9
  24. package/dist/src/W3Buffer.js.map +1 -0
  25. package/dist/src/cli.d.ts +3 -0
  26. package/dist/src/cli.d.ts.map +1 -0
  27. package/dist/src/cli.js +162 -0
  28. package/dist/src/cli.js.map +1 -0
  29. package/dist/src/index.d.ts +12 -0
  30. package/dist/src/index.d.ts.map +1 -0
  31. package/dist/src/index.js +27 -0
  32. package/dist/src/index.js.map +1 -0
  33. package/dist/src/translators/CamerasTranslator.d.ts +28 -0
  34. package/dist/src/translators/CamerasTranslator.d.ts.map +1 -0
  35. package/dist/{translators → src/translators}/CamerasTranslator.js +25 -24
  36. package/dist/src/translators/CamerasTranslator.js.map +1 -0
  37. package/dist/src/translators/DoodadsTranslator.d.ts +36 -0
  38. package/dist/src/translators/DoodadsTranslator.d.ts.map +1 -0
  39. package/dist/src/translators/DoodadsTranslator.js +138 -0
  40. package/dist/src/translators/DoodadsTranslator.js.map +1 -0
  41. package/dist/src/translators/ImportsTranslator.d.ts +8 -0
  42. package/dist/src/translators/ImportsTranslator.d.ts.map +1 -0
  43. package/dist/src/translators/ImportsTranslator.js +36 -0
  44. package/dist/src/translators/ImportsTranslator.js.map +1 -0
  45. package/dist/src/translators/InfoTranslator.d.ts +212 -0
  46. package/dist/src/translators/InfoTranslator.d.ts.map +1 -0
  47. package/dist/src/translators/InfoTranslator.js +521 -0
  48. package/dist/src/translators/InfoTranslator.js.map +1 -0
  49. package/dist/src/translators/ObjectsTranslator.d.ts +39 -0
  50. package/dist/src/translators/ObjectsTranslator.d.ts.map +1 -0
  51. package/dist/src/translators/ObjectsTranslator.js +239 -0
  52. package/dist/src/translators/ObjectsTranslator.js.map +1 -0
  53. package/dist/{translators → src/translators}/RegionsTranslator.d.ts +5 -4
  54. package/dist/src/translators/RegionsTranslator.d.ts.map +1 -0
  55. package/dist/{translators → src/translators}/RegionsTranslator.js +18 -35
  56. package/dist/src/translators/RegionsTranslator.js.map +1 -0
  57. package/dist/src/translators/SoundsTranslator.d.ts +75 -0
  58. package/dist/src/translators/SoundsTranslator.d.ts.map +1 -0
  59. package/dist/src/translators/SoundsTranslator.js +202 -0
  60. package/dist/src/translators/SoundsTranslator.js.map +1 -0
  61. package/dist/src/translators/StringsTranslator.d.ts +13 -0
  62. package/dist/src/translators/StringsTranslator.d.ts.map +1 -0
  63. package/dist/src/translators/StringsTranslator.js +43 -0
  64. package/dist/src/translators/StringsTranslator.js.map +1 -0
  65. package/dist/src/translators/TerrainTranslator.d.ts +55 -0
  66. package/dist/src/translators/TerrainTranslator.d.ts.map +1 -0
  67. package/dist/src/translators/TerrainTranslator.js +196 -0
  68. package/dist/src/translators/TerrainTranslator.js.map +1 -0
  69. package/dist/src/translators/UnitsTranslator.d.ts +102 -0
  70. package/dist/src/translators/UnitsTranslator.d.ts.map +1 -0
  71. package/dist/src/translators/UnitsTranslator.js +295 -0
  72. package/dist/src/translators/UnitsTranslator.js.map +1 -0
  73. package/package.json +28 -25
  74. package/dist/AngleConverter.d.ts +0 -3
  75. package/dist/AngleConverter.d.ts.map +0 -1
  76. package/dist/CommonInterfaces.d.ts +0 -17
  77. package/dist/CommonInterfaces.d.ts.map +0 -1
  78. package/dist/CommonInterfaces.js +0 -3
  79. package/dist/CommonInterfaces.js.map +0 -1
  80. package/dist/HexBuffer.d.ts.map +0 -1
  81. package/dist/HexBuffer.js +0 -71
  82. package/dist/HexBuffer.js.map +0 -1
  83. package/dist/W3Buffer.d.ts.map +0 -1
  84. package/dist/W3Buffer.js.map +0 -1
  85. package/dist/index.d.ts +0 -3
  86. package/dist/index.d.ts.map +0 -1
  87. package/dist/index.js +0 -15
  88. package/dist/index.js.map +0 -1
  89. package/dist/translators/CamerasTranslator.d.ts +0 -23
  90. package/dist/translators/CamerasTranslator.d.ts.map +0 -1
  91. package/dist/translators/CamerasTranslator.js.map +0 -1
  92. package/dist/translators/DoodadsTranslator.d.ts +0 -23
  93. package/dist/translators/DoodadsTranslator.d.ts.map +0 -1
  94. package/dist/translators/DoodadsTranslator.js +0 -146
  95. package/dist/translators/DoodadsTranslator.js.map +0 -1
  96. package/dist/translators/ImportsTranslator.d.ts +0 -16
  97. package/dist/translators/ImportsTranslator.d.ts.map +0 -1
  98. package/dist/translators/ImportsTranslator.js +0 -62
  99. package/dist/translators/ImportsTranslator.js.map +0 -1
  100. package/dist/translators/InfoTranslator.d.ts +0 -124
  101. package/dist/translators/InfoTranslator.d.ts.map +0 -1
  102. package/dist/translators/InfoTranslator.js +0 -422
  103. package/dist/translators/InfoTranslator.js.map +0 -1
  104. package/dist/translators/ObjectsTranslator.d.ts +0 -23
  105. package/dist/translators/ObjectsTranslator.d.ts.map +0 -1
  106. package/dist/translators/ObjectsTranslator.js +0 -208
  107. package/dist/translators/ObjectsTranslator.js.map +0 -1
  108. package/dist/translators/RegionsTranslator.d.ts.map +0 -1
  109. package/dist/translators/RegionsTranslator.js.map +0 -1
  110. package/dist/translators/SoundsTranslator.d.ts +0 -35
  111. package/dist/translators/SoundsTranslator.d.ts.map +0 -1
  112. package/dist/translators/SoundsTranslator.js +0 -183
  113. package/dist/translators/SoundsTranslator.js.map +0 -1
  114. package/dist/translators/StringsTranslator.d.ts +0 -7
  115. package/dist/translators/StringsTranslator.d.ts.map +0 -1
  116. package/dist/translators/StringsTranslator.js +0 -44
  117. package/dist/translators/StringsTranslator.js.map +0 -1
  118. package/dist/translators/TerrainTranslator.d.ts +0 -33
  119. package/dist/translators/TerrainTranslator.d.ts.map +0 -1
  120. package/dist/translators/TerrainTranslator.js +0 -221
  121. package/dist/translators/TerrainTranslator.js.map +0 -1
  122. package/dist/translators/UnitsTranslator.d.ts +0 -40
  123. package/dist/translators/UnitsTranslator.d.ts.map +0 -1
  124. package/dist/translators/UnitsTranslator.js +0 -199
  125. package/dist/translators/UnitsTranslator.js.map +0 -1
  126. package/dist/translators/index.d.ts +0 -11
  127. package/dist/translators/index.d.ts.map +0 -1
  128. package/dist/translators/index.js +0 -23
  129. package/dist/translators/index.js.map +0 -1
  130. /package/dist/{AngleConverter.js → src/AngleConverter.js} +0 -0
@@ -1,422 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InfoTranslator = void 0;
4
- const HexBuffer_1 = require("../HexBuffer");
5
- const W3Buffer_1 = require("../W3Buffer");
6
- var FogType;
7
- (function (FogType) {
8
- FogType[FogType["Linear"] = 0] = "Linear";
9
- FogType[FogType["Exponential1"] = 1] = "Exponential1";
10
- FogType[FogType["Exponential2"] = 2] = "Exponential2";
11
- })(FogType || (FogType = {}));
12
- var ScriptLanguage;
13
- (function (ScriptLanguage) {
14
- ScriptLanguage[ScriptLanguage["JASS"] = 0] = "JASS";
15
- ScriptLanguage[ScriptLanguage["Lua"] = 1] = "Lua";
16
- })(ScriptLanguage || (ScriptLanguage = {}));
17
- var SupportedModes;
18
- (function (SupportedModes) {
19
- SupportedModes[SupportedModes["SD"] = 1] = "SD";
20
- SupportedModes[SupportedModes["HD"] = 2] = "HD";
21
- SupportedModes[SupportedModes["Both"] = 3] = "Both";
22
- })(SupportedModes || (SupportedModes = {}));
23
- class InfoTranslator {
24
- static jsonToWar(infoJson) {
25
- const outBufferToWar = new HexBuffer_1.HexBuffer();
26
- outBufferToWar.addInt(31); // file version, 0x1F
27
- outBufferToWar.addInt(infoJson.saves || 0);
28
- outBufferToWar.addInt(infoJson.editorVersion || 0);
29
- outBufferToWar.addInt(infoJson.gameVersion.major);
30
- outBufferToWar.addInt(infoJson.gameVersion.minor);
31
- outBufferToWar.addInt(infoJson.gameVersion.patch);
32
- outBufferToWar.addInt(infoJson.gameVersion.build);
33
- // Map information
34
- outBufferToWar.addString(infoJson.map.name);
35
- outBufferToWar.addString(infoJson.map.author);
36
- outBufferToWar.addString(infoJson.map.description);
37
- outBufferToWar.addString(infoJson.map.recommendedPlayers);
38
- // Camera bounds (8 floats total)
39
- for (let cbIndex = 0; cbIndex < 8; cbIndex++) {
40
- outBufferToWar.addFloat(infoJson.camera.bounds[cbIndex]);
41
- }
42
- // Camera complements (4 floats total)
43
- for (let ccIndex = 0; ccIndex < 4; ccIndex++) {
44
- outBufferToWar.addInt(infoJson.camera.complements[ccIndex]);
45
- }
46
- // Playable area
47
- outBufferToWar.addInt(infoJson.map.playableArea.width);
48
- outBufferToWar.addInt(infoJson.map.playableArea.height);
49
- /*
50
- * Flags
51
- */
52
- let flags = 0;
53
- if (infoJson.map.flags) { // can leave out the entire flags object, all flags will default to false
54
- if (infoJson.map.flags.hideMinimapInPreview)
55
- flags |= 0x0001; // hide minimap in preview screens
56
- if (infoJson.map.flags.modifyAllyPriorities)
57
- flags |= 0x0002; // modify ally priorities
58
- if (infoJson.map.flags.isMeleeMap)
59
- flags |= 0x0004; // melee map
60
- // 0x0008 - unknown; // playable map size was large and never reduced to medium (?)
61
- if (infoJson.map.flags.maskedPartiallyVisible)
62
- flags |= 0x0010; // masked area are partially visible
63
- if (infoJson.map.flags.fixedPlayerSetting)
64
- flags |= 0x0020; // fixed player setting for custom forces
65
- if (infoJson.map.flags.useCustomForces)
66
- flags |= 0x0040; // use custom forces
67
- if (infoJson.map.flags.useCustomTechtree)
68
- flags |= 0x0080; // use custom techtree
69
- if (infoJson.map.flags.useCustomAbilities)
70
- flags |= 0x0100; // use custom abilities
71
- if (infoJson.map.flags.useCustomUpgrades)
72
- flags |= 0x0200; // use custom upgrades
73
- // 0x0400 - unknown; // map properties menu opened at least once since map creation (?)
74
- if (infoJson.map.flags.waterWavesOnCliffShores)
75
- flags |= 0x0800; // show water waves on cliff shores
76
- if (infoJson.map.flags.waterWavesOnRollingShores)
77
- flags |= 0x1000; // show water waves on rolling shores
78
- // 0x2000: 1=unknown
79
- // 0x4000: 1=unknown
80
- if (infoJson.map.flags.useItemClassificationSystem)
81
- flags |= 0x8000;
82
- if (infoJson.map.flags.enableWaterTinting)
83
- flags |= 0x10000;
84
- if (infoJson.map.flags.useAccurateProbabilityForCalculations)
85
- flags |= 0x20000;
86
- if (infoJson.map.flags.useCustomAbilitySkins)
87
- flags |= 0x40000;
88
- }
89
- // Unknown, but these seem to always be on, at least for default maps
90
- flags |= 0x8000;
91
- flags |= 0x4000;
92
- flags |= 0x0400;
93
- outBufferToWar.addInt(flags); // Add flags
94
- // Map main ground type
95
- outBufferToWar.addChar(infoJson.map.mainTileType);
96
- // Loading screen
97
- outBufferToWar.addInt(infoJson.loadingScreen.background);
98
- outBufferToWar.addString(infoJson.loadingScreen.path);
99
- outBufferToWar.addString(infoJson.loadingScreen.text);
100
- outBufferToWar.addString(infoJson.loadingScreen.title);
101
- outBufferToWar.addString(infoJson.loadingScreen.subtitle);
102
- // Use game data set (Unsupported)
103
- outBufferToWar.addInt(0);
104
- // Prologue
105
- outBufferToWar.addString(infoJson.prologue.path);
106
- outBufferToWar.addString(infoJson.prologue.text);
107
- outBufferToWar.addString(infoJson.prologue.title);
108
- outBufferToWar.addString(infoJson.prologue.subtitle);
109
- // Fog
110
- outBufferToWar.addInt(infoJson.fog.type);
111
- outBufferToWar.addFloat(infoJson.fog.startHeight);
112
- outBufferToWar.addFloat(infoJson.fog.endHeight);
113
- outBufferToWar.addFloat(infoJson.fog.density);
114
- outBufferToWar.addByte(infoJson.fog.color[0]);
115
- outBufferToWar.addByte(infoJson.fog.color[1]);
116
- outBufferToWar.addByte(infoJson.fog.color[2]);
117
- outBufferToWar.addByte(255); // Fog alpha - unsupported
118
- // Misc.
119
- // If globalWeather is not defined or is set to 'none', use 0 sentinel value, else add char[4]
120
- if (!infoJson.globalWeather || infoJson.globalWeather.toLowerCase() === 'none') {
121
- outBufferToWar.addInt(0);
122
- }
123
- else {
124
- outBufferToWar.addChars(infoJson.globalWeather); // char[4] - lookup table
125
- }
126
- outBufferToWar.addString(infoJson.customSoundEnvironment || '');
127
- outBufferToWar.addChar(infoJson.customLightEnv || 'L');
128
- // Custom water tinting
129
- outBufferToWar.addByte(infoJson.water[0]);
130
- outBufferToWar.addByte(infoJson.water[1]);
131
- outBufferToWar.addByte(infoJson.water[2]);
132
- outBufferToWar.addByte(255); // Water alpha - unsupported
133
- outBufferToWar.addInt(infoJson.scriptLanguage);
134
- outBufferToWar.addInt(infoJson.supportedModes);
135
- outBufferToWar.addInt(0); // unknown
136
- // Players
137
- outBufferToWar.addInt(infoJson.players.length);
138
- infoJson.players.forEach((player) => {
139
- outBufferToWar.addInt(player.playerNum);
140
- outBufferToWar.addInt(player.type);
141
- outBufferToWar.addInt(player.race);
142
- outBufferToWar.addInt(player.startingPos.fixed ? 1 : 0);
143
- outBufferToWar.addString(player.name);
144
- outBufferToWar.addFloat(player.startingPos.x);
145
- outBufferToWar.addFloat(player.startingPos.y);
146
- outBufferToWar.addInt(0); // ally low prio flags - unsupported
147
- outBufferToWar.addInt(0); // ally high prio flags - unsupported
148
- outBufferToWar.addInt(0); // enemy low prio flags - unsupported
149
- outBufferToWar.addInt(0); // enemy high prio flags - unsupported
150
- });
151
- // Forces
152
- outBufferToWar.addInt(infoJson.forces.length);
153
- infoJson.forces.forEach((force) => {
154
- // Calculate flags
155
- let forceFlags = 0;
156
- if (force.flags.allied)
157
- forceFlags |= 0x0001;
158
- if (force.flags.alliedVictory)
159
- forceFlags |= 0x0002;
160
- // Skip 0x0004
161
- if (force.flags.shareVision)
162
- forceFlags |= 0x0008;
163
- if (force.flags.shareUnitControl)
164
- forceFlags |= 0x0010;
165
- if (force.flags.shareAdvUnitControl)
166
- forceFlags |= 0x0020;
167
- outBufferToWar.addInt(forceFlags);
168
- outBufferToWar.addInt(force.players);
169
- outBufferToWar.addString(force.name);
170
- });
171
- // Upgrades - unsupported
172
- outBufferToWar.addInt(0);
173
- // Tech availability - unsupported
174
- outBufferToWar.addInt(0);
175
- // Unit table (random) - unsupported
176
- outBufferToWar.addInt(0);
177
- // Item table (random) - unsupported
178
- outBufferToWar.addInt(0);
179
- return {
180
- errors: [],
181
- buffer: outBufferToWar.getBuffer()
182
- };
183
- }
184
- static warToJson(buffer) {
185
- const result = {
186
- map: {
187
- name: '',
188
- author: '',
189
- description: '',
190
- recommendedPlayers: '',
191
- playableArea: {
192
- width: 64,
193
- height: 64
194
- },
195
- mainTileType: '',
196
- flags: {
197
- hideMinimapInPreview: false,
198
- modifyAllyPriorities: true,
199
- isMeleeMap: false,
200
- // 0x0008: 1=playable map size was large and has never been reduced to medium (?)
201
- maskedPartiallyVisible: false,
202
- fixedPlayerSetting: false,
203
- useCustomForces: false,
204
- useCustomTechtree: false,
205
- useCustomAbilities: false,
206
- useCustomUpgrades: false,
207
- // 0x0400: 1=map properties menu opened at least once since map creation (?)
208
- waterWavesOnCliffShores: false,
209
- waterWavesOnRollingShores: false,
210
- useItemClassificationSystem: false,
211
- enableWaterTinting: false,
212
- useAccurateProbabilityForCalculations: false,
213
- useCustomAbilitySkins: false // 0x40000
214
- }
215
- },
216
- loadingScreen: {
217
- background: 0,
218
- path: '',
219
- text: '',
220
- title: '',
221
- subtitle: ''
222
- }, prologue: {
223
- path: '',
224
- text: '',
225
- title: '',
226
- subtitle: ''
227
- }, fog: {
228
- type: FogType.Linear,
229
- startHeight: 0,
230
- endHeight: 0,
231
- density: 0,
232
- color: [0, 0, 0, 1]
233
- }, camera: {
234
- bounds: [],
235
- complements: []
236
- }, players: [], forces: [],
237
- saves: 0,
238
- editorVersion: 0,
239
- scriptLanguage: ScriptLanguage.JASS,
240
- supportedModes: SupportedModes.Both,
241
- gameVersion: {
242
- major: 0,
243
- minor: 0,
244
- patch: 0,
245
- build: 0
246
- },
247
- globalWeather: '',
248
- customSoundEnvironment: '',
249
- customLightEnv: '',
250
- water: []
251
- };
252
- const outBufferToJSON = new W3Buffer_1.W3Buffer(buffer);
253
- const fileVersion = outBufferToJSON.readInt();
254
- result.saves = outBufferToJSON.readInt(),
255
- result.editorVersion = outBufferToJSON.readInt();
256
- result.gameVersion = {
257
- major: outBufferToJSON.readInt(),
258
- minor: outBufferToJSON.readInt(),
259
- patch: outBufferToJSON.readInt(),
260
- build: outBufferToJSON.readInt()
261
- };
262
- result.map.name = outBufferToJSON.readString();
263
- result.map.author = outBufferToJSON.readString();
264
- result.map.description = outBufferToJSON.readString();
265
- result.map.recommendedPlayers = outBufferToJSON.readString();
266
- result.camera.bounds = [
267
- outBufferToJSON.readFloat(), outBufferToJSON.readFloat(), outBufferToJSON.readFloat(), outBufferToJSON.readFloat(),
268
- outBufferToJSON.readFloat(), outBufferToJSON.readFloat(), outBufferToJSON.readFloat(), outBufferToJSON.readFloat()
269
- ];
270
- result.camera.complements = [
271
- outBufferToJSON.readInt(), outBufferToJSON.readInt(), outBufferToJSON.readInt(), outBufferToJSON.readInt()
272
- ];
273
- result.map.playableArea = {
274
- width: outBufferToJSON.readInt(),
275
- height: outBufferToJSON.readInt()
276
- };
277
- const flags = outBufferToJSON.readInt();
278
- result.map.flags = {
279
- hideMinimapInPreview: !!(flags & 0x0001),
280
- modifyAllyPriorities: !!(flags & 0x0002),
281
- isMeleeMap: !!(flags & 0x0004),
282
- // skip 0x008
283
- maskedPartiallyVisible: !!(flags & 0x0010),
284
- fixedPlayerSetting: !!(flags & 0x0020),
285
- useCustomForces: !!(flags & 0x0040),
286
- useCustomTechtree: !!(flags & 0x0080),
287
- useCustomAbilities: !!(flags & 0x0100),
288
- useCustomUpgrades: !!(flags & 0x0200),
289
- waterWavesOnCliffShores: !!(flags & 0x0800),
290
- waterWavesOnRollingShores: !!(flags & 0x1000),
291
- // skip 0x2000
292
- // skip 0x4000
293
- useItemClassificationSystem: !!(flags & 0x8000),
294
- enableWaterTinting: !!(flags & 0x10000),
295
- useAccurateProbabilityForCalculations: !!(flags & 0x20000),
296
- useCustomAbilitySkins: !!(flags & 0x40000)
297
- };
298
- result.map.mainTileType = outBufferToJSON.readChars();
299
- result.loadingScreen.background = outBufferToJSON.readInt();
300
- result.loadingScreen.path = outBufferToJSON.readString();
301
- result.loadingScreen.text = outBufferToJSON.readString();
302
- result.loadingScreen.title = outBufferToJSON.readString();
303
- result.loadingScreen.subtitle = outBufferToJSON.readString();
304
- const gameDataSet = outBufferToJSON.readInt(); // 0 = standard
305
- result.prologue = {
306
- path: outBufferToJSON.readString(),
307
- text: outBufferToJSON.readString(),
308
- title: outBufferToJSON.readString(),
309
- subtitle: outBufferToJSON.readString()
310
- };
311
- result.fog = {
312
- type: outBufferToJSON.readInt(),
313
- startHeight: outBufferToJSON.readFloat(),
314
- endHeight: outBufferToJSON.readFloat(),
315
- density: outBufferToJSON.readFloat(),
316
- color: [outBufferToJSON.readByte(), outBufferToJSON.readByte(), outBufferToJSON.readByte(), outBufferToJSON.readByte()] // R G B A
317
- };
318
- result.globalWeather = outBufferToJSON.readChars(4);
319
- result.customSoundEnvironment = outBufferToJSON.readString();
320
- result.customLightEnv = outBufferToJSON.readChars();
321
- result.water = [outBufferToJSON.readByte(), outBufferToJSON.readByte(), outBufferToJSON.readByte(), outBufferToJSON.readByte()]; // R G B A
322
- result.scriptLanguage = outBufferToJSON.readInt();
323
- result.supportedModes = outBufferToJSON.readInt();
324
- outBufferToJSON.readInt(); // unknown
325
- // Struct: players
326
- const numPlayers = outBufferToJSON.readInt();
327
- for (let i = 0; i < numPlayers; i++) {
328
- const player = {
329
- name: '',
330
- startingPos: { x: 0, y: 0, fixed: false },
331
- playerNum: 0,
332
- type: 0,
333
- race: 0
334
- };
335
- player.playerNum = outBufferToJSON.readInt();
336
- player.type = outBufferToJSON.readInt(); // 1=Human, 2=Computer, 3=Neutral, 4=Rescuable
337
- player.race = outBufferToJSON.readInt(); // 1=Human, 2=Orc, 3=Undead, 4=Night Elf
338
- const isPlayerStartPositionFixed = outBufferToJSON.readInt() === 1; // 00000001 = fixed start position
339
- player.name = outBufferToJSON.readString();
340
- player.startingPos = {
341
- x: outBufferToJSON.readFloat(),
342
- y: outBufferToJSON.readFloat(),
343
- fixed: isPlayerStartPositionFixed
344
- };
345
- outBufferToJSON.readInt(); // ally low priorities flags (bit "x"=1 --> set for player "x")
346
- outBufferToJSON.readInt(); // ally high priorities flags (bit "x"=1 --> set for player "x")
347
- outBufferToJSON.readInt(); // enemy low priorities flags
348
- outBufferToJSON.readInt(); // enemy high priorities flags
349
- result.players.push(player);
350
- }
351
- // Struct: forces
352
- const numForces = outBufferToJSON.readInt();
353
- for (let i = 0; i < numForces; i++) {
354
- const force = {
355
- flags: { allied: false, alliedVictory: true, shareVision: true, shareUnitControl: false, shareAdvUnitControl: false },
356
- players: 0,
357
- name: ''
358
- };
359
- const forceFlag = outBufferToJSON.readInt();
360
- force.flags = {
361
- allied: !!(forceFlag & 0b1),
362
- alliedVictory: !!(forceFlag & 0b10),
363
- // 0x00000004: share vision (the documentation has this incorrect)
364
- shareVision: !!(forceFlag & 0b1000),
365
- shareUnitControl: !!(forceFlag & 0b10000),
366
- shareAdvUnitControl: !!(forceFlag & 0b100000) // 0x00000020: share advanced unit control
367
- };
368
- force.players = outBufferToJSON.readInt(); // UNSUPPORTED: (bit "x"=1 --> player "x" is in this force; but carried over for accurate translation
369
- force.name = outBufferToJSON.readString();
370
- result.forces.push(force);
371
- }
372
- // UNSUPPORTED: Struct: upgrade avail.
373
- const numUpgrades = outBufferToJSON.readInt();
374
- for (let i = 0; i < numUpgrades; i++) {
375
- outBufferToJSON.readInt(); // Player Flags (bit "x"=1 if this change applies for player "x")
376
- outBufferToJSON.readChars(4); // upgrade id (as in UpgradeData.slk)
377
- outBufferToJSON.readInt(); // Level of the upgrade for which the availability is changed (this is actually the level - 1, so 1 => 0)
378
- outBufferToJSON.readInt(); // Availability (0 = unavailable, 1 = available, 2 = researched)
379
- }
380
- // UNSUPPORTED: Struct: tech avail.
381
- const numTech = outBufferToJSON.readInt();
382
- for (let i = 0; i < numTech; i++) {
383
- outBufferToJSON.readInt(); // Player Flags (bit "x"=1 if this change applies for player "x")
384
- outBufferToJSON.readChars(4); // tech id (this can be an item, unit or ability)
385
- }
386
- // UNSUPPORTED: Struct: random unit table
387
- const numUnitTable = outBufferToJSON.readInt();
388
- for (let i = 0; i < numUnitTable; i++) {
389
- outBufferToJSON.readInt(); // Group number
390
- outBufferToJSON.readString(); // Group name
391
- const numPositions = outBufferToJSON.readInt(); // Number "m" of positions
392
- for (let j = 0; j < numPositions; j++) {
393
- outBufferToJSON.readInt(); // unit table (=0), a building table (=1) or an item table (=2)
394
- const numLinesInTable = outBufferToJSON.readInt();
395
- for (let k = 0; k < numLinesInTable; k++) {
396
- outBufferToJSON.readInt(); // Chance of the unit/item (percentage)
397
- outBufferToJSON.readChars(4); // unit/item id's for this line specified
398
- }
399
- }
400
- }
401
- // UNSUPPORTED: Struct: random item table
402
- const numItemTable = outBufferToJSON.readInt();
403
- for (let i = 0; i < numItemTable; i++) {
404
- outBufferToJSON.readInt(); // Table number
405
- outBufferToJSON.readString(); // Table name
406
- const itemSetsCurrentTable = outBufferToJSON.readInt(); // Number "m" of item sets on the current item table
407
- for (let j = 0; j < itemSetsCurrentTable; j++) {
408
- const itemsInItemSet = outBufferToJSON.readInt(); // Number "i" of items on the current item set
409
- for (let k = 0; k < itemsInItemSet; k++) {
410
- outBufferToJSON.readInt(); // Percentual chance
411
- outBufferToJSON.readChars(4); // Item id (as in ItemData.slk)
412
- }
413
- }
414
- }
415
- return {
416
- errors: [],
417
- json: result
418
- };
419
- }
420
- }
421
- exports.InfoTranslator = InfoTranslator;
422
- //# sourceMappingURL=InfoTranslator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InfoTranslator.js","sourceRoot":"","sources":["../../../src/translators/InfoTranslator.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
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
@@ -1 +0,0 @@
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"}