/[enigma]/enigma/lib-src/oxydlib/enigma_mapping.cpp
ViewVC logotype

Diff of /enigma/lib-src/oxydlib/enigma_mapping.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by reallysoft, Thu Jun 5 10:32:27 2003 UTC revision 1.6 by dheck, Sat Jun 14 12:12:14 2003 UTC
# Line 29  using namespace std; Line 29  using namespace std;
29    
30  namespace {  namespace {
31      const char *common_floor_map[256] =      const char *common_floor_map[256] =
32          {      {
33              "fl-abyss",                 // 0x00          "fl-abyss",                 // 0x00
34              "fl-gray",                  // 0x01          "fl-gray",                  // 0x01
35              "fl-metal",                 // 0x02          "fl-metal",                 // 0x02
36              "fl-metal",                 // 0x03          "fl-metal",                 // 0x03
37              "fl-metal",                 // 0x04          "fl-metal",                 // 0x04
38              "fl-metal",                 // 0x05          "fl-metal",                 // 0x05
39              "fl-metal",                 // 0x06          "fl-metal",                 // 0x06
40              "fl-metal",                 // 0x07          "fl-metal",                 // 0x07
41              "fl-rough",                 // 0x08          "fl-rough",                 // 0x08
42              "fl-normal",                // 0x09          "fl-normal",                // 0x09
43              "fl-normal",                // 0x0a          "fl-normal",                // 0x0a
44              "fl-stone",                 // 0x0b          "fl-stone",                 // 0x0b
45              "fl-inverse",               // 0x0c          "fl-inverse",               // 0x0c
46              0,                          // 0x0d black tile          0,                          // 0x0d black tile
47              0,                          // 0x0e white tile          0,                          // 0x0e white tile
48              "fl-swamp",                 // 0x0f swamp          "fl-swamp",                 // 0x0f swamp
49              "fl-swamp",                 // 0x10 swamp          "fl-swamp",                 // 0x10 swamp
50              "fl-swamp",                 // 0x11 swamp          "fl-swamp",                 // 0x11 swamp
51              "fl-swamp",                 // 0x12 swamp          "fl-swamp",                 // 0x12 swamp
52              "fl-water",                 // 0x13          "fl-water",                 // 0x13
53              "fl-water",                 // 0x14          "fl-water",                 // 0x14
54              "fl-water",                 // 0x15          "fl-water",                 // 0x15
55              "fl-water",                 // 0x16          "fl-water",                 // 0x16
56              "fl-ice_001",               // 0x17          "fl-ice_001",               // 0x17
57              "fl-ice_001",               // 0x18          "fl-ice_001",               // 0x18
58              "fl-ice_001",               // 0x19          "fl-ice_001",               // 0x19
59              "fl-ice_001",               // 0x1a          "fl-ice_001",               // 0x1a
60              "fl-ice_001",               // 0x1b          "fl-ice_001",               // 0x1b
61              "fl-space",                 // 0x1c          "fl-space",                 // 0x1c
62              "fl-space",                 // 0x1d          "fl-space",                 // 0x1d
63              "fl-space",                 // 0x1e          "fl-space",                 // 0x1e
64              "fl-space",                 // 0x1f          "fl-space",                 // 0x1f
65              "fl-space",                 // 0x20          "fl-space",                 // 0x20
66              "fl-space",                 // 0x21 space force down          "fl-space",                 // 0x21 space force down
67              "fl-space",                 // 0x22 space force down          "fl-space",                 // 0x22 space force down
68              "fl-gradient1",             // 0x23          "fl-gradient1",             // 0x23
69              "fl-gradient2",             // 0x24          "fl-gradient2",             // 0x24
70              "fl-gradient3",             // 0x25          "fl-gradient3",             // 0x25
71              "fl-gradient4",             // 0x26          "fl-gradient4",             // 0x26
72              "fl-gradient5",             // 0x27          "fl-gradient5",             // 0x27
73              "fl-gradient6",             // 0x28          "fl-gradient6",             // 0x28
74              "fl-gradient7",             // 0x29          "fl-gradient7",             // 0x29
75              "fl-gradient8",             // 0x2a          "fl-gradient8",             // 0x2a
76              "fl-gradient9",             // 0x2b          "fl-gradient9",             // 0x2b
77              "fl-gradient10",            // 0x2c          "fl-gradient10",            // 0x2c
78              "fl-gradient11",            // 0x2d          "fl-gradient11",            // 0x2d
79              "fl-gradient12",            // 0x2e          "fl-gradient12",            // 0x2e
80              "fl-gradient13",            // 0x2f          "fl-gradient13",            // 0x2f
81              "fl-gradient14",            // 0x30          "fl-gradient14",            // 0x30
82              "fl-gradient15",            // 0x31          "fl-gradient15",            // 0x31
83              "fl-gradient16",            // 0x32          "fl-gradient16",            // 0x32
84              "fl-rough",                 // 0x33          "fl-rough",                 // 0x33
85              "fl-rough",                 // 0x34          "fl-rough",                 // 0x34
86              "fl-rough",                 // 0x35          "fl-rough",                 // 0x35
87              "fl-rough",                 // 0x36          "fl-rough",                 // 0x36
88              "fl-rough",                 // 0x37          "fl-rough",                 // 0x37
89              0,                          // 0x38          0,                          // 0x38
90              0,                          // 0x39          0,                          // 0x39
91              0,                          // 0x3a          0,                          // 0x3a
92              0,                          // 0x3b          0,                          // 0x3b
93              0,                          // 0x3c          0,                          // 0x3c
94              "fl-wood",                  // 0x3d          "fl-wood",                  // 0x3d
95              "fl-wood",                  // 0x3e          "fl-wood",                  // 0x3e
96              "fl-wood",                  // 0x3f          "fl-wood",                  // 0x3f
97              "fl-wood",                  // 0x40          "fl-wood",                  // 0x40
98              "fl-wood",                  // 0x41          "fl-wood",                  // 0x41
99              0,                          // 0x42          0,                          // 0x42
100              0,                          // 0x43          0,                          // 0x43
101              0,                          // 0x44          0,                          // 0x44
102              0,                          // 0x45          0,                          // 0x45
103              0,                          // 0x46          0,                          // 0x46
104              0,                          // 0x47          0,                          // 0x47
105              0,                          // 0x48          0,                          // 0x48
106              0,                          // 0x49          0,                          // 0x49
107              0,                          // 0x4a          0,                          // 0x4a
108              0,                          // 0x4b          0,                          // 0x4b
109              0,                          // 0x4c          0,                          // 0x4c
110              0,                          // 0x4d          0,                          // 0x4d
111              0,                          // 0x4e          0,                          // 0x4e
112              0,                          // 0x4f          0,                          // 0x4f
113              0,                          // 0x50          0,                          // 0x50
114              0,                          // 0x51          0,                          // 0x51
115              "fl-bridge",                // 0x52 (type of bridge seems to depend on item above)          "fl-bridge",                // 0x52 (type of bridge seems to depend on item above)
116              0,                          // 0x53          0,                          // 0x53
117              0,                          // 0x54          0,                          // 0x54
118              "fl-plank",                 // 0x55          "fl-plank",                 // 0x55
119              0,                          // 0x56          0,                          // 0x56
120              0,                          // 0x57          0,                          // 0x57
121              0,                          // 0x58          0,                          // 0x58
122              0,                          // 0x59          0,                          // 0x59
123              0,                          // 0x5a          0,                          // 0x5a
124              0,                          // 0x5b          0,                          // 0x5b
125              0,                          // 0x5c          0,                          // 0x5c
126              0,                          // 0x5d          0,                          // 0x5d
127              0,                          // 0x5e          0,                          // 0x5e
128              0,                          // 0x5f          0,                          // 0x5f
129              0,                          // 0x60          0,                          // 0x60
130          };      };
131    
132      const char *common_item_map[256] = {      const char *common_item_map[256] = {
133          0,                          // 0x00          0,                          // 0x00
# Line 233  namespace { Line 233  namespace {
233      };      };
234    
235      const char *common_stone_map[256] =      const char *common_stone_map[256] =
236          {      {
237              0,          0,
238              0,                          // 0x01          0,                          // 0x01
239              0,                          // 0x02          0,                          // 0x02
240              0,                          // 0x03          0,                          // 0x03
241              0,                          // 0x04          0,                          // 0x04
242              0,                          // 0x05          0,                          // 0x05
243              0,                          // 0x06          0,                          // 0x06
244              0,                          // 0x07          0,                          // 0x07
245              0,                          // 0x08          0,                          // 0x08
246              0,                          // 0x09          0,                          // 0x09
247              0,                          // 0x0a          0,                          // 0x0a
248              0,                          // 0x0b          0,                          // 0x0b
249              0,                          // 0x0c          0,                          // 0x0c
250              0,                          // 0x0d          0,                          // 0x0d
251              0,                          // 0x0e          0,                          // 0x0e
252              0,                          // 0x0f          0,                          // 0x0f
253              0,                          // 0x10          0,                          // 0x10
254              "st-fakeoxyd",              // 0x11          "st-fakeoxyd",              // 0x11
255              "st-bluegray",              // 0x12          "st-bluegray",              // 0x12
256              0,                          // 0x13          0,                          // 0x13
257              0,                          // 0x14          0,                          // 0x14
258              "st-rock5",                 // 0x15          "st-rock5",                 // 0x15
259              0,                          // 0x16          0,                          // 0x16
260              0,                          // 0x17          0,                          // 0x17
261              "st-grate1",                // 0x18          "st-grate1",                // 0x18
262              0,                          // 0x19          0,                          // 0x19
263              0,                          // 0x1a          0,                          // 0x1a
264              0,                          // 0x1b          0,                          // 0x1b
265              "st-rock4",                 // 0x1c          "st-rock4",                 // 0x1c
266              "st-rock3",                 // 0x1d          "st-rock3",                 // 0x1d
267              0,                          // 0x1e          0,                          // 0x1e
268              0,                          // 0x1f          0,                          // 0x1f
269              0,                          // 0x20          0,                          // 0x20
270              0,                          // 0x21          0,                          // 0x21
271              "st-glass",                 // 0x22          "st-glass",                 // 0x22
272              0,                          // 0x23          0,                          // 0x23
273              0,                          // 0x24          0,                          // 0x24
274              0,                          // 0x25          0,                          // 0x25
275              0,                          // 0x26 (peroxyd: movable stone, sinks in water, falls into abyss, orange?)          0,                          // 0x26 (peroxyd: movable stone, sinks in water, falls into abyss, orange?)
276              0,                          // 0x27          0,                          // 0x27
277              0,                          // 0x28          0,                          // 0x28
278              0,                          // 0x29          0,                          // 0x29
279              0,                          // 0x2a          0,                          // 0x2a
280              0,                          // 0x2b          0,                          // 0x2b
281              0,                          // 0x2c          0,                          // 0x2c
282              0,                          // 0x2d          0,                          // 0x2d
283              0,                          // 0x2e          0,                          // 0x2e
284              "st-death",                 // 0x2f          "st-death",                 // 0x2f
285              0,       // 0x30          0,       // 0x30
286              "st-oneway_black-w",        // 0x31          "st-oneway_black-w",        // 0x31
287              "st-oneway_black-e",        // 0x32          "st-oneway_black-e",        // 0x32
288              "st-oneway_black-n",        // 0x33          "st-oneway_black-n",        // 0x33
289              "st-oneway_black-s",        // 0x34          "st-oneway_black-s",        // 0x34
290              "st-oneway_white-w",        // 0x35          "st-oneway_white-w",        // 0x35
291              "st-oneway_white-e",        // 0x36          "st-oneway_white-e",        // 0x36
292              "st-oneway_white-n",        // 0x37          "st-oneway_white-n",        // 0x37
293              "st-oneway_white-s",        // 0x38          "st-oneway_white-s",        // 0x38
294              "st-magic",                 // 0x39          "st-magic",                 // 0x39
295              "st-magic",                 // 0x3a          "st-magic",                 // 0x3a
296              "st-magic",                 // 0x3b          "st-magic",                 // 0x3b
297              0,                          // 0x3c          0,                          // 0x3c
298              0,                          // 0x3d          0,                          // 0x3d
299              0,                          // 0x3e          0,                          // 0x3e
300              0,                          // 0x3f          0,                          // 0x3f
301              0,                          // 0x40          0,                          // 0x40
302              0,                          // 0x41          0,                          // 0x41
303              0,                          // 0x42          0,                          // 0x42
304              0,                          // 0x43          0,                          // 0x43
305              0,                          // 0x44          0,                          // 0x44
306              0,                          // 0x45          0,                          // 0x45
307              0,                          // 0x46          0,                          // 0x46
308              0,                          // 0x47          0,                          // 0x47
309              0,                          // 0x48          0,                          // 0x48
310              0,                          // 0x49          0,                          // 0x49
311              0,                          // 0x4a          0,                          // 0x4a
312              0,                          // 0x4b          0,                          // 0x4b
313              0,                          // 0x4c          0,                          // 0x4c
314              0,                          // 0x4d          0,                          // 0x4d
315              0,                          // 0x4e          0,                          // 0x4e
316              0,                          // 0x4f          0,                          // 0x4f
317              0,                          // 0x50          0,                          // 0x50
318              0,                          // 0x51          0,                          // 0x51
319              0,                          // 0x52          0,                          // 0x52
320              0,                          // 0x53          0,                          // 0x53
321              0,                          // 0x54          0,                          // 0x54
322              0,                          // 0x55          0,                          // 0x55
323              0,                          // 0x56          0,                          // 0x56
324              0,                          // 0x57          0,                          // 0x57
325              0,                          // 0x58          0,                          // 0x58
326              0,                          // 0x59          0,                          // 0x59
327              0,                          // 0x5a          0,                          // 0x5a
328              0,                          // 0x5b          0,                          // 0x5b
329              0,                          // 0x5c          0,                          // 0x5c
330              0,                          // 0x5d          0,                          // 0x5d
331              0,                          // 0x5e          0,                          // 0x5e
332              0,                          // 0x5f          0,                          // 0x5f
333              0,                          // 0x60          0,                          // 0x60
334              0,                          // 0x61          0,                          // 0x61
335              0,                          // 0x62          0,                          // 0x62
336              "st-stone_break",           // 0x63          "st-stone_break",           // 0x63
337              0,                          // 0x64          0,                          // 0x64
338              "st-thief",                 // 0x65          "st-thief",                 // 0x65
339              "st-shogun-s",              // 0x66          "st-shogun-s",              // 0x66
340              "st-shogun-m",              // 0x67          "st-shogun-m",              // 0x67
341              "st-shogun-l",              // 0x68          "st-shogun-l",              // 0x68
342              "st-shogun-sml",            // 0x69          "st-shogun-sml",            // 0x69
343              "st-shogun-ml",             // 0x6a          "st-shogun-ml",             // 0x6a
344              "st-shogun-sl",             // 0x6b          "st-shogun-sl",             // 0x6b
345              "st-shogun-sm",             // 0x6c          "st-shogun-sm",             // 0x6c
346              0,                          // 0x6d          0,                          // 0x6d
347              0,                          // 0x6e          0,                          // 0x6e
348              0,                          // 0x6f          0,                          // 0x6f
349              0,                          // 0x70          0,                          // 0x70
350              0,                          // 0x71          0,                          // 0x71
351              0,                          // 0x72          0,                          // 0x72
352              "st-door-h",                // 0x73          "st-door-h",                // 0x73
353              "st-door-v",                // 0x74          "st-door-v",                // 0x74
354              "st-rock2",                 // 0x75          "st-rock2",                 // 0x75
355              0,                          // 0x76          0,                          // 0x76
356              0,                          // 0x77          0,                          // 0x77
357              0,                          // 0x78          0,                          // 0x78
358              0,                          // 0x79          0,                          // 0x79
359              0,                          // 0x7a          0,                          // 0x7a
360              0,                          // 0x7b          0,                          // 0x7b
361              0,                          // 0x7c          0,                          // 0x7c
362              0,                          // 0x7d          0,                          // 0x7d
363              0,                          // 0x7e          0,                          // 0x7e
364              0,                          // 0x7f          0,                          // 0x7f
365              0,                          // 0x80          0,                          // 0x80
366              0,                          // 0x81          0,                          // 0x81
367              0,                          // 0x82          0,                          // 0x82
368              "st-bolder-n",              // 0x83          "st-bolder-n",              // 0x83
369              "st-bolder-s",              // 0x84          "st-bolder-s",              // 0x84
370              "st-bolder-w",              // 0x85          "st-bolder-w",              // 0x85
371              "st-bolder-e",              // 0x86          "st-bolder-e",              // 0x86
372              "st-rock1",                 // 0x87          "st-rock1",                 // 0x87
373              0,                          // 0x88          0,                          // 0x88
374              0,                          // 0x89          0,                          // 0x89
375              0,                          // 0x8a          0,                          // 0x8a
376              0,                          // 0x8b          0,                          // 0x8b
377              0,                          // 0x8c          0,                          // 0x8c
378              0,                          // 0x8d          0,                          // 0x8d
379              "st-rock6",                 // 0x8e          "st-rock6",                 // 0x8e
380              0,                          // 0x8f          0,                          // 0x8f
381              0,                          // 0x90          0,                          // 0x90
382              0,                          // 0x91          0,                          // 0x91
383              0,                          // 0x92          0,                          // 0x92
384              "st-swap",                  // 0x93          "st-swap",                  // 0x93
385              0,                          // 0x94          0,                          // 0x94
386              0,                          // 0x95          0,                          // 0x95
387              "st-rubberband",            // 0x96          "st-rubberband",            // 0x96
388              "st-scissors",              // 0x97          "st-scissors",              // 0x97
389              0,                          // 0x98          0,                          // 0x98
390              "st-blocker",               // 0x99          "st-blocker",               // 0x99
391              "st-grate1",                // 0x9a  (XXX)          "st-grate1",                // 0x9a  (XXX)
392              0,                          // 0x9b          0,                          // 0x9b
393              0,                          // 0x9c          0,                          // 0x9c
394              0,                          // 0x9d          0,                          // 0x9d
395              "st-turnstile",             // 0x9e          "st-turnstile",             // 0x9e
396              "st-turnstile-n",           // 0x9f          "st-turnstile-n",           // 0x9f
397              "st-turnstile-s",           // 0xa0          "st-turnstile-s",           // 0xa0
398              "st-turnstile-w",           // 0xa1          "st-turnstile-w",           // 0xa1
399              "st-turnstile-e",           // 0xa2          "st-turnstile-e",           // 0xa2
400    
401          };      };
402    
403      void patch_mapping(const char **floor_map,      void patch_mapping(const char **floor_map,
404                         const char **item_map,                         const char **item_map,
# Line 409  namespace { Line 409  namespace {
409             versions, so we have to patch the common translation tables. */             versions, so we have to patch the common translation tables. */
410    
411          switch (version) {          switch (version) {
412              case OxydVersion_Oxyd1:          case OxydVersion_Oxyd1:
413                  floor_map[0x34] = "fl-brick";              floor_map[0x34] = "fl-brick";
414                  floor_map[0x38] = "fl-brick";              floor_map[0x38] = "fl-brick";
415                  floor_map[0x3c] = "fl-rock";              floor_map[0x3c] = "fl-rock";
416                  floor_map[0x47] = "fl-gravel";              floor_map[0x47] = "fl-gravel";
417                  floor_map[0x53] = "fl-springboard";              floor_map[0x53] = "fl-springboard";
418    
419                  item_map[0x22] = "it-spade";              item_map[0x22] = "it-spade";
420                  item_map[0x2c] = "it-shogun-s";              item_map[0x2c] = "it-shogun-s";
421                  item_map[0x36] = "it-springboard";              item_map[0x36] = "it-springboard";
422    
423                  stone_map[0x12] = "st-rock3";              stone_map[0x12] = "st-rock3";
424                  stone_map[0x1a] = "st-grate1";              stone_map[0x1a] = "st-grate1";
425                  stone_map[0x1e] = "st-chameleon";              stone_map[0x1e] = "st-chameleon";
426                  stone_map[0x1f] = "st-brick";              stone_map[0x1f] = "st-brick";
427                  stone_map[0x20] = "st-rock1";              stone_map[0x20] = "st-rock1";
428                  stone_map[0x23] = "st-woven";              stone_map[0x23] = "st-woven";
429                  stone_map[0x24] = "st-marble";              stone_map[0x24] = "st-marble";
430                  stone_map[0x25] = "st-glass1";              stone_map[0x25] = "st-glass1";
431                  stone_map[0x26] = "st-glass3";              stone_map[0x26] = "st-glass3";
432                  stone_map[0x29] = "st-rock3_hole"; // see 0x12              stone_map[0x29] = "st-rock3_hole"; // see 0x12
433                  stone_map[0x2a] = "st-rock3_move"; // see 0x12 and 0x2a              stone_map[0x2a] = "st-rock3_move"; // see 0x12 and 0x2a
434                  stone_map[0x2b] = "st-wood";              stone_map[0x2b] = "st-wood";
435                  stone_map[0x2c] = "st-switch";              stone_map[0x2c] = "st-switch";
436                  stone_map[0x31] = "st-floppy";              stone_map[0x31] = "st-floppy";
437                  stone_map[0x34] = "st-death";              stone_map[0x34] = "st-death";
438                  stone_map[0x35] = "st-death_invisible";              stone_map[0x35] = "st-death_invisible";
439                  stone_map[0x36] = "st-oneway-w";              stone_map[0x36] = "st-oneway-w";
440                  stone_map[0x37] = "st-oneway-e";              stone_map[0x37] = "st-oneway-e";
441                  stone_map[0x38] = "st-oneway-n";              stone_map[0x38] = "st-oneway-n";
442                  stone_map[0x39] = "st-oneway-s";              stone_map[0x39] = "st-oneway-s";
443                  stone_map[0x3e] = "st-window";              stone_map[0x3e] = "st-window";
444                  stone_map[0x3f] = ""; // "st-magic";              stone_map[0x3f] = ""; // "st-magic";
445                  stone_map[0x40] = ""; // "st-magic";              stone_map[0x40] = ""; // "st-magic";
446                  stone_map[0x41] = ""; // "st-magic";              stone_map[0x41] = ""; // "st-magic";
447    
448                  //    stone_map[0x42] = "st-stoneimpulse";              //    stone_map[0x42] = "st-stoneimpulse";
449    
450                  stone_map[0x44] = "st-laser-n";              stone_map[0x44] = "st-laser-n";
451                  stone_map[0x45] = "st-laser-s";              stone_map[0x45] = "st-laser-s";
452                  stone_map[0x46] = "st-laser-e";              stone_map[0x46] = "st-laser-e";
453    
454                  stone_map[0x47] = "st-mirror-p|";              stone_map[0x47] = "st-mirror-p|";
455                  stone_map[0x48] = "st-mirror-p/";              stone_map[0x48] = "st-mirror-p/";
456                  stone_map[0x49] = "st-mirror-p-";              stone_map[0x49] = "st-mirror-p-";
457                  stone_map[0x4a] = "st-mirror-p\\";              stone_map[0x4a] = "st-mirror-p\\";
458                  stone_map[0x4b] = "st-mirror-p|m";              stone_map[0x4b] = "st-mirror-p|m";
459                  stone_map[0x4c] = "st-mirror-p/m";              stone_map[0x4c] = "st-mirror-p/m";
460                  stone_map[0x4d] = "st-mirror-p-m";              stone_map[0x4d] = "st-mirror-p-m";
461                  stone_map[0x4e] = "st-mirror-p\\m";              stone_map[0x4e] = "st-mirror-p\\m";
462                  stone_map[0x4f] = "st-mirror-p|t"; // should be special, because light passes vertical (in Oxyd1 only)              stone_map[0x4f] = "st-mirror-p|t"; // should be special, because light passes vertical (in Oxyd1 only)
463                  stone_map[0x50] = "st-mirror-p/t";              stone_map[0x50] = "st-mirror-p/t";
464                  stone_map[0x51] = "st-mirror-p-t"; // should be special, because light passes horizontal (in Oxyd1 only)              stone_map[0x51] = "st-mirror-p-t"; // should be special, because light passes horizontal (in Oxyd1 only)
465                  stone_map[0x52] = "st-mirror-p\\t";              stone_map[0x52] = "st-mirror-p\\t";
466    
467                  stone_map[0x53] = "st-mirror-3>";              stone_map[0x53] = "st-mirror-3>";
468                  stone_map[0x54] = "st-mirror-3^";              stone_map[0x54] = "st-mirror-3^";
469                  stone_map[0x55] = "st-mirror-3<";              stone_map[0x55] = "st-mirror-3<";
470                  stone_map[0x56] = "st-mirror-3v";              stone_map[0x56] = "st-mirror-3v";
471    
472                  stone_map[0x57] = "st-puzzle-es";              stone_map[0x57] = "st-puzzle-es";
473                  stone_map[0x58] = "st-puzzle-sw";              stone_map[0x58] = "st-puzzle-sw";
474                  stone_map[0x59] = "st-puzzle-nw";              stone_map[0x59] = "st-puzzle-nw";
475                  stone_map[0x5a] = "st-puzzle-ne";              stone_map[0x5a] = "st-puzzle-ne";
476                  stone_map[0x5b] = "st-puzzle-ew";              stone_map[0x5b] = "st-puzzle-ew";
477                  stone_map[0x5c] = "st-puzzle-ns";              stone_map[0x5c] = "st-puzzle-ns";
478                  stone_map[0x5d] = "st-puzzle-n";              stone_map[0x5d] = "st-puzzle-n";
479                  stone_map[0x5e] = "st-puzzle-s";              stone_map[0x5e] = "st-puzzle-s";
480                  stone_map[0x5f] = "st-puzzle-w";              stone_map[0x5f] = "st-puzzle-w";
481                  stone_map[0x60] = "st-puzzle-e";              stone_map[0x60] = "st-puzzle-e";
482                  stone_map[0x61] = "st-puzzle-nesw";              stone_map[0x61] = "st-puzzle-nesw";
483                  stone_map[0x68] = "st-bombs";              stone_map[0x68] = "st-bombs";
484                  stone_map[0x6c] = "st-shogun-s";              stone_map[0x6c] = "st-shogun-s";
485                  stone_map[0x6d] = "st-stoneimpulse";              stone_map[0x6d] = "st-stoneimpulse";
486                  stone_map[0x6e] = "st-laserswitch";              stone_map[0x6e] = "st-laserswitch";
487                  stone_map[0x75] = "st-rock2";              stone_map[0x75] = "st-rock2";
488                  stone_map[0x76] = "st-invisible";              stone_map[0x76] = "st-invisible";
489                  stone_map[0x86] = "st-rock2_hole";              stone_map[0x86] = "st-rock2_hole";
490                  stone_map[0x8a] = "st-stone1";              stone_map[0x8a] = "st-stone1";
491                  stone_map[0x8c] = "st-rock7";              stone_map[0x8c] = "st-rock7";
492                  stone_map[0x8e] = "st-yinyang2";              stone_map[0x8e] = "st-yinyang2";
493                  break;              break;
494    
495              case OxydVersion_OxydMagnum:          case OxydVersion_OxydMagnum:
496              case OxydVersion_OxydMagnumGold:          case OxydVersion_OxydMagnumGold:
497                  floor_map[0x34] = "fl-brick";              floor_map[0x34] = "fl-brick";
498                  floor_map[0x35] = "fl-brick";              floor_map[0x35] = "fl-brick";
499                  floor_map[0x38] = "fl-brick";              floor_map[0x38] = "fl-brick";
500                  floor_map[0x3c] = "fl-rock";              floor_map[0x3c] = "fl-rock";
501                  floor_map[0x53] = "fl-springboard";              floor_map[0x53] = "fl-springboard";
502    
503                  item_map[0x25] = "it-seed";              item_map[0x25] = "it-seed";
504                  item_map[0x36] = "it-springboard";              item_map[0x36] = "it-springboard";
505                  item_map[0x4c] = "it-springboard";              item_map[0x4c] = "it-springboard";
506    
507                  stone_map[0x1a] = "st-grate1";              stone_map[0x1a] = "st-grate1";
508                  stone_map[0x1f] = "st-brick";              stone_map[0x1f] = "st-brick";
509                  stone_map[0x20] = "st-rock1";              stone_map[0x20] = "st-rock1";
510                  stone_map[0x23] = "st-woven";              stone_map[0x23] = "st-woven";
511                  stone_map[0x24] = "st-marble";              stone_map[0x24] = "st-marble";
512                  stone_map[0x25] = "st-glass1";              stone_map[0x25] = "st-glass1";
513                  stone_map[0x26] = "st-glass3";              stone_map[0x26] = "st-glass3";
514                  stone_map[0x27] = "st-glass1";              stone_map[0x27] = "st-glass1";
515                  stone_map[0x2b] = "st-wood";              stone_map[0x2b] = "st-wood";
516                  stone_map[0x2c] = "st-switch";              stone_map[0x2c] = "st-switch";
517                  stone_map[0x2d] = "st-floppy";              stone_map[0x2d] = "st-floppy";
518                  stone_map[0x30] = "st-key_a";              stone_map[0x30] = "st-key_a";
519                  stone_map[0x34] = "st-death";              stone_map[0x34] = "st-death";
520                  stone_map[0x35] = "st-death_invisible";              stone_map[0x35] = "st-death_invisible";
521                  stone_map[0x43] = "st-actorimpulse_invisible";              stone_map[0x43] = "st-actorimpulse_invisible";
522                  stone_map[0x44] = "st-laser-n";              stone_map[0x44] = "st-laser-n";
523                  stone_map[0x45] = "st-laser-s";              stone_map[0x45] = "st-laser-s";
524                  stone_map[0x46] = "st-laser-e";              stone_map[0x46] = "st-laser-e";
525                  stone_map[0x47] = "st-mirror-p|";              stone_map[0x47] = "st-mirror-p|";
526                  stone_map[0x48] = "st-mirror-p/";              stone_map[0x48] = "st-mirror-p/";
527                  stone_map[0x49] = "st-mirror-p-";              stone_map[0x49] = "st-mirror-p-";
528                  stone_map[0x4a] = "st-mirror-p\\";              stone_map[0x4a] = "st-mirror-p\\";
529                  stone_map[0x4b] = "st-mirror-p|m";              stone_map[0x4b] = "st-mirror-p|m";
530                  stone_map[0x4c] = "st-mirror-p/m";              stone_map[0x4c] = "st-mirror-p/m";
531                  stone_map[0x4d] = "st-mirror-p-m";              stone_map[0x4d] = "st-mirror-p-m";
532                  stone_map[0x4e] = "st-mirror-p\\m";              stone_map[0x4e] = "st-mirror-p\\m";
533                  stone_map[0x4f] = "st-mirror-p|t";              stone_map[0x4f] = "st-mirror-p|t";
534                  stone_map[0x50] = "st-mirror-p/t";              stone_map[0x50] = "st-mirror-p/t";
535                  stone_map[0x51] = "st-mirror-p-t";              stone_map[0x51] = "st-mirror-p-t";
536                  stone_map[0x52] = "st-mirror-p\\t";              stone_map[0x52] = "st-mirror-p\\t";
537                  stone_map[0x53] = "st-mirror-3>";              stone_map[0x53] = "st-mirror-3>";
538                  stone_map[0x54] = "st-mirror-3^";              stone_map[0x54] = "st-mirror-3^";
539                  stone_map[0x55] = "st-mirror-3<";              stone_map[0x55] = "st-mirror-3<";
540                  stone_map[0x56] = "st-mirror-3v";              stone_map[0x56] = "st-mirror-3v";
541                  // 0x5d special exploding puzzle stone              // 0x5d special exploding puzzle stone
542                  // 0x5e              // 0x5e
543                  stone_map[0x68] = "st-bombs";              stone_map[0x68] = "st-bombs";
544                  stone_map[0x6d] = "st-stoneimpulse";              stone_map[0x6d] = "st-stoneimpulse";
545                  stone_map[0x8a] = "st-stone1";              stone_map[0x8a] = "st-stone1";
546                  stone_map[0x8c] = "st-white1";              stone_map[0x8c] = "st-white1";
547                  stone_map[0x8d] = "st-black1";              stone_map[0x8d] = "st-black1";
548                  stone_map[0x8e] = "st-yinyang2";              stone_map[0x8e] = "st-yinyang2";
549                  stone_map[0x93] = "st-yinyang1";              stone_map[0x93] = "st-yinyang1";
550                  stone_map[0xa4] = "st-stoneimpulse-hollow";              stone_map[0xa4] = "st-stoneimpulse-hollow";
551                  break;              break;
552    
553              case OxydVersion_PerOxyd:          case OxydVersion_PerOxyd:
554                  floor_map[0x08] = "fl-rough-red";              floor_map[0x08] = "fl-rough-red";
555                  floor_map[0x0b] = "fl-rough-red";              floor_map[0x0b] = "fl-rough-red";
556                  floor_map[0x09] = "fl-rough-blue";              floor_map[0x09] = "fl-rough-blue";
557                  floor_map[0x0a] = "fl-rough-blue";              floor_map[0x0a] = "fl-rough-blue";
558                  floor_map[0x38] = "fl-concrete";              floor_map[0x38] = "fl-concrete";
559                  floor_map[0x4c] = "fl-bridge-open";              floor_map[0x4c] = "fl-bridge-open";
560                  floor_map[0x5a] = "fl-springboard";              floor_map[0x5a] = "fl-springboard";
561                  floor_map[0x5b] = "fl-gravel";              floor_map[0x5b] = "fl-gravel";
562    
563                  item_map[0x18] = "it-flagwhite";              item_map[0x18] = "it-flagwhite";
564                  item_map[0x19] = "it-flagblack";              item_map[0x19] = "it-flagblack";
565                  item_map[0x1a] = "it-soother";              item_map[0x1a] = "it-soother";
566                  item_map[0x2c] = "it-shogun-l";              item_map[0x1b] = "it-pipe-wn";
567                  item_map[0x36] = "it-springboard";              item_map[0x1c] = "it-pipe-sw";
568                  item_map[0x40] = "it-trigger";              item_map[0x1d] = "it-pipe-ne";
569                  item_map[0x4a] = "it-odometer";              item_map[0x1e] = "it-pipe-es";
570                item_map[0x1f] = "it-pipe-v";
571                  stone_map[0x13] = "st-rock4";              item_map[0x20] = "it-pipe-h";
572                  stone_map[0x14] = "st-beads";              item_map[0x2c] = "it-shogun-l";
573                  stone_map[0x16] = "st-rock7";              item_map[0x36] = "it-springboard";
574                  stone_map[0x20] = "st-stone2";              item_map[0x40] = "it-trigger";
575                  // stone_map[0x21] = "st-concrete"; // layout similar to fl-concrete              item_map[0x4a] = "it-odometer";
576                  stone_map[0x25] = "st-bluegray_hole";  
577                  stone_map[0x27] = "st-wood";              stone_map[0x13] = "st-rock4";
578                  stone_map[0x28] = "st-switch";              stone_map[0x14] = "st-beads";
579                  stone_map[0x2b] = "st-fourswitch";              stone_map[0x16] = "st-rock7";
580                  stone_map[0x2c] = "st-switch";              stone_map[0x20] = "st-stone2";
581                  stone_map[0x2d] = "st-floppy";              // stone_map[0x21] = "st-concrete"; // layout similar to fl-concrete
582                  stone_map[0x29] = "st-switch_black";              stone_map[0x25] = "st-bluegray_hole";
583                  stone_map[0x2a] = "st-switch_white";              stone_map[0x27] = "st-wood";
584                  stone_map[0x2d] = "st-floppy";              stone_map[0x28] = "st-switch";
585                  stone_map[0x3e] = "st-laser-n";              stone_map[0x2b] = "st-fourswitch";
586                  stone_map[0x3f] = "st-laser-s";              stone_map[0x2c] = "st-switch";
587                  stone_map[0x40] = "st-laser-e";              stone_map[0x2d] = "st-floppy";
588                  stone_map[0x41] = "st-mirror-p|";              stone_map[0x29] = "st-switch_black";
589                  stone_map[0x42] = "st-mirror-p/";              stone_map[0x2a] = "st-switch_white";
590                  stone_map[0x43] = "st-mirror-p-";              stone_map[0x2d] = "st-floppy";
591                  stone_map[0x44] = "st-mirror-p\\";              stone_map[0x3e] = "st-laser-n";
592                  stone_map[0x45] = "st-mirror-p|m";              stone_map[0x3f] = "st-laser-s";
593                  stone_map[0x46] = "st-mirror-p/m";              stone_map[0x40] = "st-laser-e";
594                  stone_map[0x47] = "st-mirror-p-m";              stone_map[0x41] = "st-mirror-p|";
595                  stone_map[0x48] = "st-mirror-p\\m";              stone_map[0x42] = "st-mirror-p/";
596                  stone_map[0x49] = "st-mirror-p|t";              stone_map[0x43] = "st-mirror-p-";
597                  stone_map[0x4a] = "st-mirror-p/t";              stone_map[0x44] = "st-mirror-p\\";
598                  stone_map[0x4b] = "st-mirror-p-t";              stone_map[0x45] = "st-mirror-p|m";
599                  stone_map[0x4c] = "st-mirror-p\\t";              stone_map[0x46] = "st-mirror-p/m";
600                  stone_map[0x4d] = "st-mirror-3>";              stone_map[0x47] = "st-mirror-p-m";
601                  stone_map[0x4e] = "st-mirror-3^";              stone_map[0x48] = "st-mirror-p\\m";
602                  stone_map[0x4f] = "st-mirror-3<";              stone_map[0x49] = "st-mirror-p|t";
603                  stone_map[0x50] = "st-mirror-3v";              stone_map[0x4a] = "st-mirror-p/t";
604                  stone_map[0x51] = "st-puzzle-es";              stone_map[0x4b] = "st-mirror-p-t";
605                  stone_map[0x52] = "st-puzzle-sw";              stone_map[0x4c] = "st-mirror-p\\t";
606                  stone_map[0x53] = "st-puzzle-nw";              stone_map[0x4d] = "st-mirror-3>";
607                  stone_map[0x54] = "st-puzzle-ne";              stone_map[0x4e] = "st-mirror-3^";
608                  stone_map[0x55] = "st-puzzle-ew";              stone_map[0x4f] = "st-mirror-3<";
609                  stone_map[0x56] = "st-puzzle-ns";              stone_map[0x50] = "st-mirror-3v";
610                  stone_map[0x57] = "st-puzzle-n";              stone_map[0x51] = "st-puzzle-es";
611                  stone_map[0x58] = "st-puzzle-s";              stone_map[0x52] = "st-puzzle-sw";
612                  stone_map[0x59] = "st-puzzle-w";              stone_map[0x53] = "st-puzzle-nw";
613                  stone_map[0x5a] = "st-puzzle-e";              stone_map[0x54] = "st-puzzle-ne";
614                  stone_map[0x5b] = "st-puzzle-nesw";              stone_map[0x55] = "st-puzzle-ew";
615                  stone_map[0x5c] = "st-puzzle-hollow";              stone_map[0x56] = "st-puzzle-ns";
616                  stone_map[0x62] = "st-bombs";              stone_map[0x57] = "st-puzzle-n";
617                  stone_map[0x64] = "st-coinslot";              stone_map[0x58] = "st-puzzle-s";
618                  stone_map[0x6d] = "st-stoneimpulse";              stone_map[0x59] = "st-puzzle-w";
619                  stone_map[0x76] = "st-invisible";              stone_map[0x5a] = "st-puzzle-e";
620                  stone_map[0x79] = "st-white1";              stone_map[0x5b] = "st-puzzle-nesw";
621                  stone_map[0x7a] = "st-black1";              stone_map[0x5c] = "st-puzzle-hollow";
622                  stone_map[0x7d] = "st-yinyang1";              stone_map[0x62] = "st-bombs";
623                  stone_map[0x7e] = "st-break_acwhite";              stone_map[0x64] = "st-coinslot";
624                  stone_map[0x7f] = "st-break_acblack";              stone_map[0x6d] = "st-stoneimpulse";
625                  stone_map[0x8c] = "st-rock3";              stone_map[0x6f] = "st-mail-n";
626                  stone_map[0x91] = "st-rotator-left";              stone_map[0x70] = "st-mail-w";
627                  stone_map[0x92] = "st-rotator-right";              stone_map[0x71] = "st-mail-e";
628                  stone_map[0x98] = "st-grate3";              stone_map[0x72] = "st-mail-s";
629                  stone_map[0x9c] = "st-stone1";              stone_map[0x76] = "st-invisible";
630                  stone_map[0xb7] = "st-easymode";              stone_map[0x79] = "st-white1";
631                  break;              stone_map[0x7a] = "st-black1";
632                stone_map[0x7d] = "st-yinyang1";
633              case OxydVersion_OxydExtra:              stone_map[0x7e] = "st-break_acwhite";
634                  stone_map[0x27] = "st-wood";              stone_map[0x7f] = "st-break_acblack";
635                  stone_map[0x3c] = "st-stoneimpulse";              stone_map[0x8c] = "st-rock3";
636                stone_map[0x91] = "st-rotator-left";
637                  stone_map[0x3e] = "st-laser-n";              stone_map[0x92] = "st-rotator-right";
638                  stone_map[0x3f] = "st-laser-s";              stone_map[0x98] = "st-grate3";
639                  stone_map[0x40] = "st-laser-e";              stone_map[0x9c] = "st-stone1";
640                stone_map[0xb7] = "st-easymode";
641                  stone_map[0x43] = "st-mirror-p-";              break;
642                  stone_map[0x44] = "st-mirror-p\\";  
643                  stone_map[0x46] = "st-mirror-p/";          case OxydVersion_OxydExtra:
644                  stone_map[0x4b] = "st-mirror-p-t";              stone_map[0x27] = "st-wood";
645                  stone_map[0x4d] = "st-mirror-3>";              stone_map[0x3c] = "st-stoneimpulse";
646                  stone_map[0x4e] = "st-mirror-3^";  
647                  stone_map[0x4f] = "st-mirror-3<";              stone_map[0x3e] = "st-laser-n";
648                  stone_map[0x50] = "st-mirror-3v";              stone_map[0x3f] = "st-laser-s";
649                stone_map[0x40] = "st-laser-e";
650                  // 0x57 - 0x61 are special puzzle stones (rotate if incomplete, explode if complete)  
651                stone_map[0x43] = "st-mirror-p-";
652                  stone_map[0x76] = "st-invisible";              stone_map[0x44] = "st-mirror-p\\";
653                  break;              stone_map[0x46] = "st-mirror-p/";
654                stone_map[0x4b] = "st-mirror-p-t";
655              default:              stone_map[0x4d] = "st-mirror-3>";
656                  fprintf(stderr, "Unknown Oxyd version '%i'\n", int(version));              stone_map[0x4e] = "st-mirror-3^";
657                  break;              stone_map[0x4f] = "st-mirror-3<";
658                stone_map[0x50] = "st-mirror-3v";
659    
660                // 0x57 - 0x61 are special puzzle stones (rotate if incomplete, explode if complete)
661    
662                stone_map[0x76] = "st-invisible";
663                break;
664    
665            default:
666                fprintf(stderr, "Unknown Oxyd version '%i'\n", int(version));
667                break;
668          }          }
669      }      }
670    

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26