PageRenderTime 36ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 1ms

/rocksndiamonds-3.3.0.1/src/main.c

#
C | 5596 lines | 5489 code | 60 blank | 47 comment | 0 complexity | 9692550d99fb7d51d45b95b909dd5b50 MD5 | raw file
Possible License(s): GPL-2.0
  1. /***********************************************************
  2. * Rocks'n'Diamonds -- McDuffin Strikes Back! *
  3. *----------------------------------------------------------*
  4. * (c) 1995-2006 Artsoft Entertainment *
  5. * Holger Schemel *
  6. * Detmolder Strasse 189 *
  7. * 33604 Bielefeld *
  8. * Germany *
  9. * e-mail: info@artsoft.org *
  10. *----------------------------------------------------------*
  11. * main.c *
  12. ***********************************************************/
  13. #include "libgame/libgame.h"
  14. #include "main.h"
  15. #include "init.h"
  16. #include "game.h"
  17. #include "tape.h"
  18. #include "events.h"
  19. #include "config.h"
  20. Bitmap *bitmap_db_store;
  21. Bitmap *bitmap_db_cross;
  22. Bitmap *bitmap_db_field;
  23. Bitmap *bitmap_db_panel;
  24. Bitmap *bitmap_db_door;
  25. Bitmap *bitmap_db_toons;
  26. DrawBuffer *fieldbuffer;
  27. DrawBuffer *drawto_field;
  28. int game_status = -1;
  29. boolean level_editor_test_game = FALSE;
  30. boolean network_playing = FALSE;
  31. #if defined(TARGET_SDL)
  32. boolean network_server = FALSE;
  33. SDL_Thread *server_thread;
  34. #endif
  35. int key_joystick_mapping = 0;
  36. #if 1
  37. boolean redraw[MAX_LEV_FIELDX + 2][MAX_LEV_FIELDY + 2];
  38. #else
  39. boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
  40. #endif
  41. int redraw_x1 = 0, redraw_y1 = 0;
  42. short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  43. short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  44. short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  45. short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  46. short ChangeDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  47. short ChangePage[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  48. short CustomValue[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  49. short Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  50. short Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  51. short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  52. short Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  53. boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  54. boolean Pushed[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  55. short ChangeCount[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  56. short ChangeEvent[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  57. short WasJustMoving[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  58. short WasJustFalling[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  59. short CheckCollision[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  60. short CheckImpact[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  61. short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  62. short AmoebaCnt[MAX_NUM_AMOEBA];
  63. short AmoebaCnt2[MAX_NUM_AMOEBA];
  64. short ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  65. short ExplodePhase[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  66. short ExplodeDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  67. int RunnerVisit[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  68. int PlayerVisit[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  69. int GfxFrame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  70. int GfxRandom[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  71. int GfxElement[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  72. int GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  73. int GfxDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  74. int GfxRedraw[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
  75. int ActiveElement[MAX_NUM_ELEMENTS];
  76. int ActiveButton[NUM_IMAGE_FILES];
  77. int ActiveFont[NUM_FONTS];
  78. int lev_fieldx, lev_fieldy;
  79. int scroll_x, scroll_y;
  80. int WIN_XSIZE = 672, WIN_YSIZE = 560;
  81. int SCR_FIELDX = 17, SCR_FIELDY = 17;
  82. int SX = 8, SY = 8;
  83. int REAL_SX = 6, REAL_SY = 6;
  84. int DX = 566, DY = 60;
  85. int VX = 566, VY = 400;
  86. int EX = 566, EY = 356;
  87. int dDX, dDY;
  88. #if 1
  89. int FX, FY;
  90. #else
  91. int FX = SX, FY = SY;
  92. #endif
  93. int ScrollStepSize;
  94. int ScreenMovDir = MV_NONE, ScreenMovPos = 0;
  95. int ScreenGfxPos = 0;
  96. int BorderElement = EL_STEELWALL;
  97. int GameFrameDelay = GAME_FRAME_DELAY;
  98. int FfwdFrameDelay = FFWD_FRAME_DELAY;
  99. #if 1
  100. int BX1, BY1;
  101. int BX2, BY2;
  102. #else
  103. int BX1 = 0, BY1 = 0;
  104. int BX2 = SCR_FIELDX - 1, BY2 = SCR_FIELDY - 1;
  105. #endif
  106. int SBX_Left, SBX_Right;
  107. int SBY_Upper, SBY_Lower;
  108. int ZX, ZY;
  109. int ExitX, ExitY;
  110. int AllPlayersGone;
  111. int TimeFrames, TimePlayed, TimeLeft, TapeTime;
  112. boolean network_player_action_received = FALSE;
  113. struct LevelSetInfo levelset;
  114. struct LevelInfo level, level_template;
  115. struct PlayerInfo stored_player[MAX_PLAYERS], *local_player = NULL;
  116. struct HiScore highscore[MAX_SCORE_ENTRIES];
  117. struct TapeInfo tape;
  118. struct SetupInfo setup;
  119. struct GameInfo game;
  120. struct GlobalInfo global;
  121. struct BorderInfo border;
  122. struct ViewportInfo viewport;
  123. struct TitleFadingInfo fading;
  124. struct TitleFadingInfo title_initial_default;
  125. struct TitleFadingInfo title_default;
  126. struct TitleMessageInfo titlemessage_initial_default;
  127. struct TitleMessageInfo titlemessage_initial[MAX_NUM_TITLE_MESSAGES];
  128. struct TitleMessageInfo titlemessage_default;
  129. struct TitleMessageInfo titlemessage[MAX_NUM_TITLE_MESSAGES];
  130. struct TitleMessageInfo readme;
  131. struct InitInfo init, init_last;
  132. struct MenuInfo menu;
  133. struct DoorInfo door_1, door_2;
  134. struct PreviewInfo preview;
  135. struct GraphicInfo *graphic_info = NULL;
  136. struct SoundInfo *sound_info = NULL;
  137. struct MusicInfo *music_info = NULL;
  138. struct MusicFileInfo *music_file_info = NULL;
  139. struct HelpAnimInfo *helpanim_info = NULL;
  140. SetupFileHash *helptext_info = NULL;
  141. SetupFileHash *image_config_hash = NULL;
  142. SetupFileHash *element_token_hash = NULL;
  143. SetupFileHash *graphic_token_hash = NULL;
  144. SetupFileHash *font_token_hash = NULL;
  145. /* ------------------------------------------------------------------------- */
  146. /* element definitions */
  147. /* ------------------------------------------------------------------------- */
  148. struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1];
  149. /* this contains predefined structure elements to initialize "element_info" */
  150. struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
  151. {
  152. /* keyword to start parser: "ELEMENT_INFO_START" <-- do not change! */
  153. /* ----------------------------------------------------------------------- */
  154. /* "real" level file elements */
  155. /* ----------------------------------------------------------------------- */
  156. {
  157. "empty_space",
  158. "empty_space",
  159. "empty space"
  160. },
  161. {
  162. "sand",
  163. "sand",
  164. "sand"
  165. },
  166. {
  167. "wall",
  168. "wall",
  169. "normal wall"
  170. },
  171. {
  172. "wall_slippery",
  173. "wall",
  174. "slippery wall"
  175. },
  176. {
  177. "rock",
  178. "rock",
  179. "rock"
  180. },
  181. {
  182. "key_obsolete",
  183. "obsolete",
  184. "key (OBSOLETE)"
  185. },
  186. {
  187. "emerald",
  188. "emerald",
  189. "emerald"
  190. },
  191. {
  192. "exit_closed",
  193. "exit",
  194. "closed exit"
  195. },
  196. {
  197. "player_obsolete",
  198. "obsolete",
  199. "player (OBSOLETE)"
  200. },
  201. {
  202. "bug",
  203. "bug",
  204. "bug (random start direction)"
  205. },
  206. {
  207. "spaceship",
  208. "spaceship",
  209. "spaceship (random start direction)"
  210. },
  211. {
  212. "yamyam",
  213. "yamyam",
  214. "yam yam (random start direction)"
  215. },
  216. {
  217. "robot",
  218. "robot",
  219. "robot"
  220. },
  221. {
  222. "steelwall",
  223. "steelwall",
  224. "steel wall"
  225. },
  226. {
  227. "diamond",
  228. "diamond",
  229. "diamond"
  230. },
  231. {
  232. "amoeba_dead",
  233. "amoeba",
  234. "dead amoeba"
  235. },
  236. {
  237. "quicksand_empty",
  238. "quicksand",
  239. "quicksand (empty)"
  240. },
  241. {
  242. "quicksand_full",
  243. "quicksand",
  244. "quicksand (with rock)"
  245. },
  246. {
  247. "amoeba_drop",
  248. "amoeba",
  249. "amoeba drop"
  250. },
  251. {
  252. "bomb",
  253. "bomb",
  254. "bomb"
  255. },
  256. {
  257. "magic_wall",
  258. "magic_wall",
  259. "magic wall"
  260. },
  261. {
  262. "speed_pill",
  263. "speed_pill",
  264. "speed pill"
  265. },
  266. {
  267. "acid",
  268. "acid",
  269. "acid"
  270. },
  271. {
  272. "amoeba_wet",
  273. "amoeba",
  274. "dropping amoeba (EM style)"
  275. },
  276. {
  277. "amoeba_dry",
  278. "amoeba",
  279. "normal amoeba"
  280. },
  281. {
  282. "nut",
  283. "nut",
  284. "nut with emerald"
  285. },
  286. {
  287. "game_of_life",
  288. "game_of_life",
  289. "Conway's wall of life"
  290. },
  291. {
  292. "biomaze",
  293. "biomaze",
  294. "biomaze"
  295. },
  296. {
  297. "dynamite.active",
  298. "dynamite",
  299. "burning dynamite"
  300. },
  301. {
  302. "stoneblock",
  303. "wall",
  304. "wall"
  305. },
  306. {
  307. "robot_wheel",
  308. "robot_wheel",
  309. "magic wheel"
  310. },
  311. {
  312. "robot_wheel.active",
  313. "robot_wheel",
  314. "magic wheel (running)"
  315. },
  316. {
  317. "key_1",
  318. "key",
  319. "key 1"
  320. },
  321. {
  322. "key_2",
  323. "key",
  324. "key 2"
  325. },
  326. {
  327. "key_3",
  328. "key",
  329. "key 3"
  330. },
  331. {
  332. "key_4",
  333. "key",
  334. "key 4"
  335. },
  336. {
  337. "gate_1",
  338. "gate",
  339. "door 1"
  340. },
  341. {
  342. "gate_2",
  343. "gate",
  344. "door 2"
  345. },
  346. {
  347. "gate_3",
  348. "gate",
  349. "door 3"
  350. },
  351. {
  352. "gate_4",
  353. "gate",
  354. "door 4"
  355. },
  356. {
  357. "gate_1_gray",
  358. "gate",
  359. "gray door (opened by key 1)"
  360. },
  361. {
  362. "gate_2_gray",
  363. "gate",
  364. "gray door (opened by key 2)"
  365. },
  366. {
  367. "gate_3_gray",
  368. "gate",
  369. "gray door (opened by key 3)"
  370. },
  371. {
  372. "gate_4_gray",
  373. "gate",
  374. "gray door (opened by key 4)"
  375. },
  376. {
  377. "dynamite",
  378. "dynamite",
  379. "dynamite"
  380. },
  381. {
  382. "pacman",
  383. "pacman",
  384. "pac man (random start direction)"
  385. },
  386. {
  387. "invisible_wall",
  388. "wall",
  389. "invisible normal wall"
  390. },
  391. {
  392. "lamp",
  393. "lamp",
  394. "lamp (off)"
  395. },
  396. {
  397. "lamp.active",
  398. "lamp",
  399. "lamp (on)"
  400. },
  401. {
  402. "wall_emerald",
  403. "wall",
  404. "wall with emerald"
  405. },
  406. {
  407. "wall_diamond",
  408. "wall",
  409. "wall with diamond"
  410. },
  411. {
  412. "amoeba_full",
  413. "amoeba",
  414. "amoeba with content"
  415. },
  416. {
  417. "bd_amoeba",
  418. "bd_amoeba",
  419. "amoeba (BD style)"
  420. },
  421. {
  422. "time_orb_full",
  423. "time_orb_full",
  424. "time orb (full)"
  425. },
  426. {
  427. "time_orb_empty",
  428. "time_orb_empty",
  429. "time orb (empty)"
  430. },
  431. {
  432. "expandable_wall",
  433. "wall",
  434. "growing wall (horizontal, visible)"
  435. },
  436. {
  437. "bd_diamond",
  438. "bd_diamond",
  439. "diamond (BD style)"
  440. },
  441. {
  442. "emerald_yellow",
  443. "emerald",
  444. "yellow emerald"
  445. },
  446. {
  447. "wall_bd_diamond",
  448. "wall",
  449. "wall with BD style diamond"
  450. },
  451. {
  452. "wall_emerald_yellow",
  453. "wall",
  454. "wall with yellow emerald"
  455. },
  456. {
  457. "dark_yamyam",
  458. "dark_yamyam",
  459. "dark yam yam"
  460. },
  461. {
  462. "bd_magic_wall",
  463. "bd_magic_wall",
  464. "magic wall (BD style)"
  465. },
  466. {
  467. "invisible_steelwall",
  468. "steelwall",
  469. "invisible steel wall"
  470. },
  471. {
  472. "sokoban_field_player",
  473. "sokoban",
  474. "sokoban field with player"
  475. },
  476. {
  477. "dynabomb_increase_number",
  478. "dynabomb",
  479. "increases number of bombs"
  480. },
  481. {
  482. "dynabomb_increase_size",
  483. "dynabomb",
  484. "increases explosion size"
  485. },
  486. {
  487. "dynabomb_increase_power",
  488. "dynabomb",
  489. "increases power of explosion"
  490. },
  491. {
  492. "sokoban_object",
  493. "sokoban",
  494. "sokoban object"
  495. },
  496. {
  497. "sokoban_field_empty",
  498. "sokoban",
  499. "sokoban empty field"
  500. },
  501. {
  502. "sokoban_field_full",
  503. "sokoban",
  504. "sokoban field with object"
  505. },
  506. {
  507. "bd_butterfly.right",
  508. "bd_butterfly",
  509. "butterfly (starts moving right)"},
  510. {
  511. "bd_butterfly.up",
  512. "bd_butterfly",
  513. "butterfly (starts moving up)"
  514. },
  515. {
  516. "bd_butterfly.left",
  517. "bd_butterfly",
  518. "butterfly (starts moving left)"},
  519. {
  520. "bd_butterfly.down",
  521. "bd_butterfly",
  522. "butterfly (starts moving down)"},
  523. {
  524. "bd_firefly.right",
  525. "bd_firefly",
  526. "firefly (starts moving right)"
  527. },
  528. {
  529. "bd_firefly.up",
  530. "bd_firefly",
  531. "firefly (starts moving up)"
  532. },
  533. {
  534. "bd_firefly.left",
  535. "bd_firefly",
  536. "firefly (starts moving left)"
  537. },
  538. {
  539. "bd_firefly.down",
  540. "bd_firefly",
  541. "firefly (starts moving down)"
  542. },
  543. {
  544. "bd_butterfly",
  545. "bd_butterfly",
  546. "butterfly (random start direction)"
  547. },
  548. {
  549. "bd_firefly",
  550. "bd_firefly",
  551. "firefly (random start direction)"
  552. },
  553. {
  554. "player_1",
  555. "player",
  556. "player 1"
  557. },
  558. {
  559. "player_2",
  560. "player",
  561. "player 2"
  562. },
  563. {
  564. "player_3",
  565. "player",
  566. "player 3"
  567. },
  568. {
  569. "player_4",
  570. "player",
  571. "player 4"
  572. },
  573. {
  574. "bug.right",
  575. "bug",
  576. "bug (starts moving right)"
  577. },
  578. {
  579. "bug.up",
  580. "bug",
  581. "bug (starts moving up)"
  582. },
  583. {
  584. "bug.left",
  585. "bug",
  586. "bug (starts moving left)"
  587. },
  588. {
  589. "bug.down",
  590. "bug",
  591. "bug (starts moving down)"
  592. },
  593. {
  594. "spaceship.right",
  595. "spaceship",
  596. "spaceship (starts moving right)"},
  597. {
  598. "spaceship.up",
  599. "spaceship",
  600. "spaceship (starts moving up)"
  601. },
  602. {
  603. "spaceship.left",
  604. "spaceship",
  605. "spaceship (starts moving left)"},
  606. {
  607. "spaceship.down",
  608. "spaceship",
  609. "spaceship (starts moving down)"},
  610. {
  611. "pacman.right",
  612. "pacman",
  613. "pac man (starts moving right)"
  614. },
  615. {
  616. "pacman.up",
  617. "pacman",
  618. "pac man (starts moving up)"
  619. },
  620. {
  621. "pacman.left",
  622. "pacman",
  623. "pac man (starts moving left)"
  624. },
  625. {
  626. "pacman.down",
  627. "pacman",
  628. "pac man (starts moving down)"
  629. },
  630. {
  631. "emerald_red",
  632. "emerald",
  633. "red emerald"
  634. },
  635. {
  636. "emerald_purple",
  637. "emerald",
  638. "purple emerald"
  639. },
  640. {
  641. "wall_emerald_red",
  642. "wall",
  643. "wall with red emerald"
  644. },
  645. {
  646. "wall_emerald_purple",
  647. "wall",
  648. "wall with purple emerald"
  649. },
  650. {
  651. "acid_pool_topleft",
  652. "wall",
  653. "acid pool (top left)"
  654. },
  655. {
  656. "acid_pool_topright",
  657. "wall",
  658. "acid pool (top right)"
  659. },
  660. {
  661. "acid_pool_bottomleft",
  662. "wall",
  663. "acid pool (bottom left)"
  664. },
  665. {
  666. "acid_pool_bottom",
  667. "wall",
  668. "acid pool (bottom)"
  669. },
  670. {
  671. "acid_pool_bottomright",
  672. "wall",
  673. "acid pool (bottom right)"
  674. },
  675. {
  676. "bd_wall",
  677. "wall",
  678. "normal wall (BD style)"
  679. },
  680. {
  681. "bd_rock",
  682. "bd_rock",
  683. "rock (BD style)"
  684. },
  685. {
  686. "exit_open",
  687. "exit",
  688. "open exit"
  689. },
  690. {
  691. "black_orb",
  692. "black_orb",
  693. "black orb bomb"
  694. },
  695. {
  696. "amoeba_to_diamond",
  697. "amoeba",
  698. "amoeba"
  699. },
  700. {
  701. "mole",
  702. "mole",
  703. "mole (random start direction)"
  704. },
  705. {
  706. "penguin",
  707. "penguin",
  708. "penguin"
  709. },
  710. {
  711. "satellite",
  712. "satellite",
  713. "satellite"
  714. },
  715. {
  716. "arrow_left",
  717. "arrow",
  718. "arrow left"
  719. },
  720. {
  721. "arrow_right",
  722. "arrow",
  723. "arrow right"
  724. },
  725. {
  726. "arrow_up",
  727. "arrow",
  728. "arrow up"
  729. },
  730. {
  731. "arrow_down",
  732. "arrow",
  733. "arrow down"
  734. },
  735. {
  736. "pig",
  737. "pig",
  738. "pig"
  739. },
  740. {
  741. "dragon",
  742. "dragon",
  743. "fire breathing dragon"
  744. },
  745. {
  746. "em_key_1_file_obsolete",
  747. "obsolete",
  748. "key (OBSOLETE)"
  749. },
  750. {
  751. "char_space",
  752. "char",
  753. "letter ' '"
  754. },
  755. {
  756. "char_exclam",
  757. "char",
  758. "letter '!'"
  759. },
  760. {
  761. "char_quotedbl",
  762. "char",
  763. "letter '\"'"
  764. },
  765. {
  766. "char_numbersign",
  767. "char",
  768. "letter '#'"
  769. },
  770. {
  771. "char_dollar",
  772. "char",
  773. "letter '$'"
  774. },
  775. {
  776. "char_percent",
  777. "char",
  778. "letter '%'"
  779. },
  780. {
  781. "char_ampersand",
  782. "char",
  783. "letter '&'"
  784. },
  785. {
  786. "char_apostrophe",
  787. "char",
  788. "letter '''"
  789. },
  790. {
  791. "char_parenleft",
  792. "char",
  793. "letter '('"
  794. },
  795. {
  796. "char_parenright",
  797. "char",
  798. "letter ')'"
  799. },
  800. {
  801. "char_asterisk",
  802. "char",
  803. "letter '*'"
  804. },
  805. {
  806. "char_plus",
  807. "char",
  808. "letter '+'"
  809. },
  810. {
  811. "char_comma",
  812. "char",
  813. "letter ','"
  814. },
  815. {
  816. "char_minus",
  817. "char",
  818. "letter '-'"
  819. },
  820. {
  821. "char_period",
  822. "char",
  823. "letter '.'"
  824. },
  825. {
  826. "char_slash",
  827. "char",
  828. "letter '/'"
  829. },
  830. {
  831. "char_0",
  832. "char",
  833. "letter '0'"
  834. },
  835. {
  836. "char_1",
  837. "char",
  838. "letter '1'"
  839. },
  840. {
  841. "char_2",
  842. "char",
  843. "letter '2'"
  844. },
  845. {
  846. "char_3",
  847. "char",
  848. "letter '3'"
  849. },
  850. {
  851. "char_4",
  852. "char",
  853. "letter '4'"
  854. },
  855. {
  856. "char_5",
  857. "char",
  858. "letter '5'"
  859. },
  860. {
  861. "char_6",
  862. "char",
  863. "letter '6'"
  864. },
  865. {
  866. "char_7",
  867. "char",
  868. "letter '7'"
  869. },
  870. {
  871. "char_8",
  872. "char",
  873. "letter '8'"
  874. },
  875. {
  876. "char_9",
  877. "char",
  878. "letter '9'"
  879. },
  880. {
  881. "char_colon",
  882. "char",
  883. "letter ':'"
  884. },
  885. {
  886. "char_semicolon",
  887. "char",
  888. "letter ';'"
  889. },
  890. {
  891. "char_less",
  892. "char",
  893. "letter '<'"
  894. },
  895. {
  896. "char_equal",
  897. "char",
  898. "letter '='"
  899. },
  900. {
  901. "char_greater",
  902. "char",
  903. "letter '>'"
  904. },
  905. {
  906. "char_question",
  907. "char",
  908. "letter '?'"
  909. },
  910. {
  911. "char_at",
  912. "char",
  913. "letter '@'"
  914. },
  915. {
  916. "char_a",
  917. "char",
  918. "letter 'A'"
  919. },
  920. {
  921. "char_b",
  922. "char",
  923. "letter 'B'"
  924. },
  925. {
  926. "char_c",
  927. "char",
  928. "letter 'C'"
  929. },
  930. {
  931. "char_d",
  932. "char",
  933. "letter 'D'"
  934. },
  935. {
  936. "char_e",
  937. "char",
  938. "letter 'E'"
  939. },
  940. {
  941. "char_f",
  942. "char",
  943. "letter 'F'"
  944. },
  945. {
  946. "char_g",
  947. "char",
  948. "letter 'G'"
  949. },
  950. {
  951. "char_h",
  952. "char",
  953. "letter 'H'"
  954. },
  955. {
  956. "char_i",
  957. "char",
  958. "letter 'I'"
  959. },
  960. {
  961. "char_j",
  962. "char",
  963. "letter 'J'"
  964. },
  965. {
  966. "char_k",
  967. "char",
  968. "letter 'K'"
  969. },
  970. {
  971. "char_l",
  972. "char",
  973. "letter 'L'"
  974. },
  975. {
  976. "char_m",
  977. "char",
  978. "letter 'M'"
  979. },
  980. {
  981. "char_n",
  982. "char",
  983. "letter 'N'"
  984. },
  985. {
  986. "char_o",
  987. "char",
  988. "letter 'O'"
  989. },
  990. {
  991. "char_p",
  992. "char",
  993. "letter 'P'"
  994. },
  995. {
  996. "char_q",
  997. "char",
  998. "letter 'Q'"
  999. },
  1000. {
  1001. "char_r",
  1002. "char",
  1003. "letter 'R'"
  1004. },
  1005. {
  1006. "char_s",
  1007. "char",
  1008. "letter 'S'"
  1009. },
  1010. {
  1011. "char_t",
  1012. "char",
  1013. "letter 'T'"
  1014. },
  1015. {
  1016. "char_u",
  1017. "char",
  1018. "letter 'U'"
  1019. },
  1020. {
  1021. "char_v",
  1022. "char",
  1023. "letter 'V'"
  1024. },
  1025. {
  1026. "char_w",
  1027. "char",
  1028. "letter 'W'"
  1029. },
  1030. {
  1031. "char_x",
  1032. "char",
  1033. "letter 'X'"
  1034. },
  1035. {
  1036. "char_y",
  1037. "char",
  1038. "letter 'Y'"
  1039. },
  1040. {
  1041. "char_z",
  1042. "char",
  1043. "letter 'Z'"
  1044. },
  1045. {
  1046. "char_bracketleft",
  1047. "char",
  1048. "letter '['"
  1049. },
  1050. {
  1051. "char_backslash",
  1052. "char",
  1053. "letter '\\'"
  1054. },
  1055. {
  1056. "char_bracketright",
  1057. "char",
  1058. "letter ']'"
  1059. },
  1060. {
  1061. "char_asciicircum",
  1062. "char",
  1063. "letter '^'"
  1064. },
  1065. {
  1066. "char_underscore",
  1067. "char",
  1068. "letter '_'"
  1069. },
  1070. {
  1071. "char_copyright",
  1072. "char",
  1073. "letter 'Š'"
  1074. },
  1075. {
  1076. "char_aumlaut",
  1077. "char",
  1078. "letter 'Ä'"
  1079. },
  1080. {
  1081. "char_oumlaut",
  1082. "char",
  1083. "letter 'Ö'"
  1084. },
  1085. {
  1086. "char_uumlaut",
  1087. "char",
  1088. "letter 'Ü'"
  1089. },
  1090. {
  1091. "char_degree",
  1092. "char",
  1093. "letter '°'"
  1094. },
  1095. {
  1096. "char_trademark",
  1097. "char",
  1098. "letter 'ÂŽ'"
  1099. },
  1100. {
  1101. "char_cursor",
  1102. "char",
  1103. "letter ' '"
  1104. },
  1105. {
  1106. "char_unused",
  1107. "char",
  1108. "letter ''"
  1109. },
  1110. {
  1111. "char_unused",
  1112. "char",
  1113. "letter ''"
  1114. },
  1115. {
  1116. "char_unused",
  1117. "char",
  1118. "letter ''"
  1119. },
  1120. {
  1121. "char_unused",
  1122. "char",
  1123. "letter ''"
  1124. },
  1125. {
  1126. "char_unused",
  1127. "char",
  1128. "letter ''"
  1129. },
  1130. {
  1131. "char_unused",
  1132. "char",
  1133. "letter ''"
  1134. },
  1135. {
  1136. "char_unused",
  1137. "char",
  1138. "letter 'button'"
  1139. },
  1140. {
  1141. "char_unused",
  1142. "char",
  1143. "letter 'up'"
  1144. },
  1145. {
  1146. "char_unused",
  1147. "char",
  1148. "letter 'down'"
  1149. },
  1150. {
  1151. "expandable_wall_horizontal",
  1152. "wall",
  1153. "growing wall (horizontal)"
  1154. },
  1155. {
  1156. "expandable_wall_vertical",
  1157. "wall",
  1158. "growing wall (vertical)"
  1159. },
  1160. {
  1161. "expandable_wall_any",
  1162. "wall",
  1163. "growing wall (any direction)"
  1164. },
  1165. {
  1166. "em_gate_1",
  1167. "gate",
  1168. "door 1 (EM style)"
  1169. },
  1170. {
  1171. "em_gate_2",
  1172. "gate",
  1173. "door 2 (EM style)"
  1174. },
  1175. {
  1176. "em_gate_3",
  1177. "gate",
  1178. "door 3 (EM style)"
  1179. },
  1180. {
  1181. "em_gate_4",
  1182. "gate",
  1183. "door 4 (EM style)"
  1184. },
  1185. {
  1186. "em_key_2_file_obsolete",
  1187. "obsolete",
  1188. "key (OBSOLETE)"
  1189. },
  1190. {
  1191. "em_key_3_file_obsolete",
  1192. "obsolete",
  1193. "key (OBSOLETE)"
  1194. },
  1195. {
  1196. "em_key_4_file_obsolete",
  1197. "obsolete",
  1198. "key (OBSOLETE)"
  1199. },
  1200. {
  1201. "sp_empty_space",
  1202. "empty_space",
  1203. "empty space"
  1204. },
  1205. {
  1206. "sp_zonk",
  1207. "sp_zonk",
  1208. "zonk"
  1209. },
  1210. {
  1211. "sp_base",
  1212. "sp_base",
  1213. "base"
  1214. },
  1215. {
  1216. "sp_murphy",
  1217. "player",
  1218. "murphy"
  1219. },
  1220. {
  1221. "sp_infotron",
  1222. "sp_infotron",
  1223. "infotron"
  1224. },
  1225. {
  1226. "sp_chip_single",
  1227. "wall",
  1228. "chip (single)"
  1229. },
  1230. {
  1231. "sp_hardware_gray",
  1232. "wall",
  1233. "hardware"
  1234. },
  1235. {
  1236. "sp_exit_closed",
  1237. "sp_exit",
  1238. "exit"
  1239. },
  1240. {
  1241. "sp_disk_orange",
  1242. "sp_disk_orange",
  1243. "orange disk"
  1244. },
  1245. {
  1246. "sp_port_right",
  1247. "sp_port",
  1248. "port (leading right)"
  1249. },
  1250. {
  1251. "sp_port_down",
  1252. "sp_port",
  1253. "port (leading down)"
  1254. },
  1255. {
  1256. "sp_port_left",
  1257. "sp_port",
  1258. "port (leading left)"
  1259. },
  1260. {
  1261. "sp_port_up",
  1262. "sp_port",
  1263. "port (leading up)"
  1264. },
  1265. {
  1266. "sp_gravity_port_right",
  1267. "sp_gravity_port",
  1268. "gravity-on/off port (leading right)"
  1269. },
  1270. {
  1271. "sp_gravity_port_down",
  1272. "sp_gravity_port",
  1273. "gravity-on/off port (leading down)"
  1274. },
  1275. {
  1276. "sp_gravity_port_left",
  1277. "sp_gravity_port",
  1278. "gravity-on/off port (leading left)"
  1279. },
  1280. {
  1281. "sp_gravity_port_up",
  1282. "sp_gravity_port",
  1283. "gravity-on/off port (leading up)"
  1284. },
  1285. {
  1286. "sp_sniksnak",
  1287. "sp_sniksnak",
  1288. "snik snak"
  1289. },
  1290. {
  1291. "sp_disk_yellow",
  1292. "sp_disk_yellow",
  1293. "yellow disk"
  1294. },
  1295. {
  1296. "sp_terminal",
  1297. "sp_terminal",
  1298. "terminal"
  1299. },
  1300. {
  1301. "sp_disk_red",
  1302. "dynamite",
  1303. "red disk"
  1304. },
  1305. {
  1306. "sp_port_vertical",
  1307. "sp_port",
  1308. "port (vertical)"
  1309. },
  1310. {
  1311. "sp_port_horizontal",
  1312. "sp_port",
  1313. "port (horizontal)"
  1314. },
  1315. {
  1316. "sp_port_any",
  1317. "sp_port",
  1318. "port (any direction)"
  1319. },
  1320. {
  1321. "sp_electron",
  1322. "sp_electron",
  1323. "electron"
  1324. },
  1325. {
  1326. "sp_buggy_base",
  1327. "sp_buggy_base",
  1328. "buggy base"
  1329. },
  1330. {
  1331. "sp_chip_left",
  1332. "wall",
  1333. "chip (left half)"
  1334. },
  1335. {
  1336. "sp_chip_right",
  1337. "wall",
  1338. "chip (right half)"
  1339. },
  1340. {
  1341. "sp_hardware_base_1",
  1342. "wall",
  1343. "hardware"
  1344. },
  1345. {
  1346. "sp_hardware_green",
  1347. "wall",
  1348. "hardware"
  1349. },
  1350. {
  1351. "sp_hardware_blue",
  1352. "wall",
  1353. "hardware"
  1354. },
  1355. {
  1356. "sp_hardware_red",
  1357. "wall",
  1358. "hardware"
  1359. },
  1360. {
  1361. "sp_hardware_yellow",
  1362. "wall",
  1363. "hardware"
  1364. },
  1365. {
  1366. "sp_hardware_base_2",
  1367. "wall",
  1368. "hardware"
  1369. },
  1370. {
  1371. "sp_hardware_base_3",
  1372. "wall",
  1373. "hardware"
  1374. },
  1375. {
  1376. "sp_hardware_base_4",
  1377. "wall",
  1378. "hardware"
  1379. },
  1380. {
  1381. "sp_hardware_base_5",
  1382. "wall",
  1383. "hardware"
  1384. },
  1385. {
  1386. "sp_hardware_base_6",
  1387. "wall",
  1388. "hardware"
  1389. },
  1390. {
  1391. "sp_chip_top",
  1392. "wall",
  1393. "chip (upper half)"
  1394. },
  1395. {
  1396. "sp_chip_bottom",
  1397. "wall",
  1398. "chip (lower half)"
  1399. },
  1400. {
  1401. "em_gate_1_gray",
  1402. "gate",
  1403. "gray door (EM style, key 1)"
  1404. },
  1405. {
  1406. "em_gate_2_gray",
  1407. "gate",
  1408. "gray door (EM style, key 2)"
  1409. },
  1410. {
  1411. "em_gate_3_gray",
  1412. "gate",
  1413. "gray door (EM style, key 3)"
  1414. },
  1415. {
  1416. "em_gate_4_gray",
  1417. "gate",
  1418. "gray door (EM style, key 4)"
  1419. },
  1420. {
  1421. "em_dynamite",
  1422. "dynamite",
  1423. "dynamite (EM style)"
  1424. },
  1425. {
  1426. "em_dynamite.active",
  1427. "dynamite",
  1428. "burning dynamite (EM style)"
  1429. },
  1430. {
  1431. "pearl",
  1432. "pearl",
  1433. "pearl"
  1434. },
  1435. {
  1436. "crystal",
  1437. "crystal",
  1438. "crystal"
  1439. },
  1440. {
  1441. "wall_pearl",
  1442. "wall",
  1443. "wall with pearl"
  1444. },
  1445. {
  1446. "wall_crystal",
  1447. "wall",
  1448. "wall with crystal"
  1449. },
  1450. {
  1451. "dc_gate_white",
  1452. "gate",
  1453. "white door"
  1454. },
  1455. {
  1456. "dc_gate_white_gray",
  1457. "gate",
  1458. "gray door (opened by white key)"
  1459. },
  1460. {
  1461. "dc_key_white",
  1462. "key",
  1463. "white key"
  1464. },
  1465. {
  1466. "shield_normal",
  1467. "shield_normal",
  1468. "shield (normal)"
  1469. },
  1470. {
  1471. "extra_time",
  1472. "extra_time",
  1473. "extra time"
  1474. },
  1475. {
  1476. "switchgate_open",
  1477. "switchgate",
  1478. "switch gate (open)"
  1479. },
  1480. {
  1481. "switchgate_closed",
  1482. "switchgate",
  1483. "switch gate (closed)"
  1484. },
  1485. {
  1486. "switchgate_switch_up",
  1487. "switchgate_switch",
  1488. "switch for switch gate"
  1489. },
  1490. {
  1491. "switchgate_switch_down",
  1492. "switchgate_switch",
  1493. "switch for switch gate"
  1494. },
  1495. {
  1496. "unused_269",
  1497. "unused",
  1498. "-"
  1499. },
  1500. {
  1501. "unused_270",
  1502. "unused",
  1503. "-"
  1504. },
  1505. {
  1506. "conveyor_belt_1_left",
  1507. "conveyor_belt",
  1508. "conveyor belt 1 (left)"
  1509. },
  1510. {
  1511. "conveyor_belt_1_middle",
  1512. "conveyor_belt",
  1513. "conveyor belt 1 (middle)"
  1514. },
  1515. {
  1516. "conveyor_belt_1_right",
  1517. "conveyor_belt",
  1518. "conveyor belt 1 (right)"
  1519. },
  1520. {
  1521. "conveyor_belt_1_switch_left",
  1522. "conveyor_belt_switch",
  1523. "switch for conveyor belt 1 (left)"
  1524. },
  1525. {
  1526. "conveyor_belt_1_switch_middle",
  1527. "conveyor_belt_switch",
  1528. "switch for conveyor belt 1 (middle)"
  1529. },
  1530. {
  1531. "conveyor_belt_1_switch_right",
  1532. "conveyor_belt_switch",
  1533. "switch for conveyor belt 1 (right)"
  1534. },
  1535. {
  1536. "conveyor_belt_2_left",
  1537. "conveyor_belt",
  1538. "conveyor belt 2 (left)"
  1539. },
  1540. {
  1541. "conveyor_belt_2_middle",
  1542. "conveyor_belt",
  1543. "conveyor belt 2 (middle)"
  1544. },
  1545. {
  1546. "conveyor_belt_2_right",
  1547. "conveyor_belt",
  1548. "conveyor belt 2 (right)"
  1549. },
  1550. {
  1551. "conveyor_belt_2_switch_left",
  1552. "conveyor_belt_switch",
  1553. "switch for conveyor belt 2 (left)"
  1554. },
  1555. {
  1556. "conveyor_belt_2_switch_middle",
  1557. "conveyor_belt_switch",
  1558. "switch for conveyor belt 2 (middle)"
  1559. },
  1560. {
  1561. "conveyor_belt_2_switch_right",
  1562. "conveyor_belt_switch",
  1563. "switch for conveyor belt 2 (right)"
  1564. },
  1565. {
  1566. "conveyor_belt_3_left",
  1567. "conveyor_belt",
  1568. "conveyor belt 3 (left)"
  1569. },
  1570. {
  1571. "conveyor_belt_3_middle",
  1572. "conveyor_belt",
  1573. "conveyor belt 3 (middle)"
  1574. },
  1575. {
  1576. "conveyor_belt_3_right",
  1577. "conveyor_belt",
  1578. "conveyor belt 3 (right)"
  1579. },
  1580. {
  1581. "conveyor_belt_3_switch_left",
  1582. "conveyor_belt_switch",
  1583. "switch for conveyor belt 3 (left)"
  1584. },
  1585. {
  1586. "conveyor_belt_3_switch_middle",
  1587. "conveyor_belt_switch",
  1588. "switch for conveyor belt 3 (middle)"
  1589. },
  1590. {
  1591. "conveyor_belt_3_switch_right",
  1592. "conveyor_belt_switch",
  1593. "switch for conveyor belt 3 (right)"
  1594. },
  1595. {
  1596. "conveyor_belt_4_left",
  1597. "conveyor_belt",
  1598. "conveyor belt 4 (left)"
  1599. },
  1600. {
  1601. "conveyor_belt_4_middle",
  1602. "conveyor_belt",
  1603. "conveyor belt 4 (middle)"
  1604. },
  1605. {
  1606. "conveyor_belt_4_right",
  1607. "conveyor_belt",
  1608. "conveyor belt 4 (right)"
  1609. },
  1610. {
  1611. "conveyor_belt_4_switch_left",
  1612. "conveyor_belt_switch",
  1613. "switch for conveyor belt 4 (left)"
  1614. },
  1615. {
  1616. "conveyor_belt_4_switch_middle",
  1617. "conveyor_belt_switch",
  1618. "switch for conveyor belt 4 (middle)"
  1619. },
  1620. {
  1621. "conveyor_belt_4_switch_right",
  1622. "conveyor_belt_switch",
  1623. "switch for conveyor belt 4 (right)"
  1624. },
  1625. {
  1626. "landmine",
  1627. "landmine",
  1628. "land mine (not removable)"
  1629. },
  1630. {
  1631. "envelope_obsolete",
  1632. "obsolete",
  1633. "envelope (OBSOLETE)"
  1634. },
  1635. {
  1636. "light_switch",
  1637. "light_switch",
  1638. "light switch (off)"
  1639. },
  1640. {
  1641. "light_switch.active",
  1642. "light_switch",
  1643. "light switch (on)"
  1644. },
  1645. {
  1646. "sign_exclamation",
  1647. "sign",
  1648. "sign (exclamation)"
  1649. },
  1650. {
  1651. "sign_radioactivity",
  1652. "sign",
  1653. "sign (radio activity)"
  1654. },
  1655. {
  1656. "sign_stop",
  1657. "sign",
  1658. "sign (stop)"
  1659. },
  1660. {
  1661. "sign_wheelchair",
  1662. "sign",
  1663. "sign (wheel chair)"
  1664. },
  1665. {
  1666. "sign_parking",
  1667. "sign",
  1668. "sign (parking)"
  1669. },
  1670. {
  1671. "sign_no_entry",
  1672. "sign",
  1673. "sign (no entry)"
  1674. },
  1675. {
  1676. "sign_unused_1",
  1677. "sign",
  1678. "sign (unused)"
  1679. },
  1680. {
  1681. "sign_give_way",
  1682. "sign",
  1683. "sign (give way)"
  1684. },
  1685. {
  1686. "sign_entry_forbidden",
  1687. "sign",
  1688. "sign (entry forbidden)"
  1689. },
  1690. {
  1691. "sign_emergency_exit",
  1692. "sign",
  1693. "sign (emergency exit)"
  1694. },
  1695. {
  1696. "sign_yin_yang",
  1697. "sign",
  1698. "sign (yin yang)"
  1699. },
  1700. {
  1701. "sign_unused_2",
  1702. "sign",
  1703. "sign (unused)"
  1704. },
  1705. {
  1706. "mole.left",
  1707. "mole",
  1708. "mole (starts moving left)"
  1709. },
  1710. {
  1711. "mole.right",
  1712. "mole",
  1713. "mole (starts moving right)"
  1714. },
  1715. {
  1716. "mole.up",
  1717. "mole",
  1718. "mole (starts moving up)"
  1719. },
  1720. {
  1721. "mole.down",
  1722. "mole",
  1723. "mole (starts moving down)"
  1724. },
  1725. {
  1726. "steelwall_slippery",
  1727. "steelwall",
  1728. "slippery steel wall"
  1729. },
  1730. {
  1731. "invisible_sand",
  1732. "sand",
  1733. "invisible sand"
  1734. },
  1735. {
  1736. "dx_unknown_15",
  1737. "unknown",
  1738. "dx unknown element 15"
  1739. },
  1740. {
  1741. "dx_unknown_42",
  1742. "unknown",
  1743. "dx unknown element 42"
  1744. },
  1745. {
  1746. "unused_319",
  1747. "unused",
  1748. "(not used)"
  1749. },
  1750. {
  1751. "unused_320",
  1752. "unused",
  1753. "(not used)"
  1754. },
  1755. {
  1756. "shield_deadly",
  1757. "shield_deadly",
  1758. "shield (deadly, kills enemies)"
  1759. },
  1760. {
  1761. "timegate_open",
  1762. "timegate",
  1763. "time gate (open)"
  1764. },
  1765. {
  1766. "timegate_closed",
  1767. "timegate",
  1768. "time gate (closed)"
  1769. },
  1770. {
  1771. "timegate_switch.active",
  1772. "timegate_switch",
  1773. "switch for time gate"
  1774. },
  1775. {
  1776. "timegate_switch",
  1777. "timegate_switch",
  1778. "switch for time gate"
  1779. },
  1780. {
  1781. "balloon",
  1782. "balloon",
  1783. "balloon"
  1784. },
  1785. {
  1786. "balloon_switch_left",
  1787. "balloon_switch",
  1788. "wind switch (left)"
  1789. },
  1790. {
  1791. "balloon_switch_right",
  1792. "balloon_switch",
  1793. "wind switch (right)"
  1794. },
  1795. {
  1796. "balloon_switch_up",
  1797. "balloon_switch",
  1798. "wind switch (up)"
  1799. },
  1800. {
  1801. "balloon_switch_down",
  1802. "balloon_switch",
  1803. "wind switch (down)"
  1804. },
  1805. {
  1806. "balloon_switch_any",
  1807. "balloon_switch",
  1808. "wind switch (any direction)"
  1809. },
  1810. {
  1811. "emc_steelwall_1",
  1812. "steelwall",
  1813. "steel wall"
  1814. },
  1815. {
  1816. "emc_steelwall_2",
  1817. "steelwall",
  1818. "steel wall"
  1819. },
  1820. {
  1821. "emc_steelwall_3",
  1822. "steelwall",
  1823. "steel wall"
  1824. },
  1825. {
  1826. "emc_steelwall_4",
  1827. "steelwall",
  1828. "steel wall"
  1829. },
  1830. {
  1831. "emc_wall_1",
  1832. "wall",
  1833. "normal wall"
  1834. },
  1835. {
  1836. "emc_wall_2",
  1837. "wall",
  1838. "normal wall"
  1839. },
  1840. {
  1841. "emc_wall_3",
  1842. "wall",
  1843. "normal wall"
  1844. },
  1845. {
  1846. "emc_wall_4",
  1847. "wall",
  1848. "normal wall"
  1849. },
  1850. {
  1851. "emc_wall_5",
  1852. "wall",
  1853. "normal wall"
  1854. },
  1855. {
  1856. "emc_wall_6",
  1857. "wall",
  1858. "normal wall"
  1859. },
  1860. {
  1861. "emc_wall_7",
  1862. "wall",
  1863. "normal wall"
  1864. },
  1865. {
  1866. "emc_wall_8",
  1867. "wall",
  1868. "normal wall"
  1869. },
  1870. {
  1871. "tube_any",
  1872. "tube",
  1873. "tube (any direction)"
  1874. },
  1875. {
  1876. "tube_vertical",
  1877. "tube",
  1878. "tube (vertical)"
  1879. },
  1880. {
  1881. "tube_horizontal",
  1882. "tube",
  1883. "tube (horizontal)"
  1884. },
  1885. {
  1886. "tube_vertical_left",
  1887. "tube",
  1888. "tube (vertical & left)"
  1889. },
  1890. {
  1891. "tube_vertical_right",
  1892. "tube",
  1893. "tube (vertical & right)"
  1894. },
  1895. {
  1896. "tube_horizontal_up",
  1897. "tube",
  1898. "tube (horizontal & up)"
  1899. },
  1900. {
  1901. "tube_horizontal_down",
  1902. "tube",
  1903. "tube (horizontal & down)"
  1904. },
  1905. {
  1906. "tube_left_up",
  1907. "tube",
  1908. "tube (left & up)"
  1909. },
  1910. {
  1911. "tube_left_down",
  1912. "tube",
  1913. "tube (left & down)"
  1914. },
  1915. {
  1916. "tube_right_up",
  1917. "tube",
  1918. "tube (right & up)"
  1919. },
  1920. {
  1921. "tube_right_down",
  1922. "tube",
  1923. "tube (right & down)"
  1924. },
  1925. {
  1926. "spring",
  1927. "spring",
  1928. "spring"
  1929. },
  1930. {
  1931. "trap",
  1932. "trap",
  1933. "trap"
  1934. },
  1935. {
  1936. "dx_supabomb",
  1937. "bomb",
  1938. "stable bomb (DX style)"
  1939. },
  1940. {
  1941. "unused_358",
  1942. "unused",
  1943. "-"
  1944. },
  1945. {
  1946. "unused_359",
  1947. "unused",
  1948. "-"
  1949. },
  1950. {
  1951. "custom_1",
  1952. "custom",
  1953. "custom element 1"
  1954. },
  1955. {
  1956. "custom_2",
  1957. "custom",
  1958. "custom element 2"
  1959. },
  1960. {
  1961. "custom_3",
  1962. "custom",
  1963. "custom element 3"
  1964. },
  1965. {
  1966. "custom_4",
  1967. "custom",
  1968. "custom element 4"
  1969. },
  1970. {
  1971. "custom_5",
  1972. "custom",
  1973. "custom element 5"
  1974. },
  1975. {
  1976. "custom_6",
  1977. "custom",
  1978. "custom element 6"
  1979. },
  1980. {
  1981. "custom_7",
  1982. "custom",
  1983. "custom element 7"
  1984. },
  1985. {
  1986. "custom_8",
  1987. "custom",
  1988. "custom element 8"
  1989. },
  1990. {
  1991. "custom_9",
  1992. "custom",
  1993. "custom element 9"
  1994. },
  1995. {
  1996. "custom_10",
  1997. "custom",
  1998. "custom element 10"
  1999. },
  2000. {
  2001. "custom_11",
  2002. "custom",
  2003. "custom element 11"
  2004. },
  2005. {
  2006. "custom_12",
  2007. "custom",
  2008. "custom element 12"
  2009. },
  2010. {
  2011. "custom_13",
  2012. "custom",
  2013. "custom element 13"
  2014. },
  2015. {
  2016. "custom_14",
  2017. "custom",
  2018. "custom element 14"
  2019. },
  2020. {
  2021. "custom_15",
  2022. "custom",
  2023. "custom element 15"
  2024. },
  2025. {
  2026. "custom_16",
  2027. "custom",
  2028. "custom element 16"
  2029. },
  2030. {
  2031. "custom_17",
  2032. "custom",
  2033. "custom element 17"
  2034. },
  2035. {
  2036. "custom_18",
  2037. "custom",
  2038. "custom element 18"
  2039. },
  2040. {
  2041. "custom_19",
  2042. "custom",
  2043. "custom element 19"
  2044. },
  2045. {
  2046. "custom_20",
  2047. "custom",
  2048. "custom element 20"
  2049. },
  2050. {
  2051. "custom_21",
  2052. "custom",
  2053. "custom element 21"
  2054. },
  2055. {
  2056. "custom_22",
  2057. "custom",
  2058. "custom element 22"
  2059. },
  2060. {
  2061. "custom_23",
  2062. "custom",
  2063. "custom element 23"
  2064. },
  2065. {
  2066. "custom_24",
  2067. "custom",
  2068. "custom element 24"
  2069. },
  2070. {
  2071. "custom_25",
  2072. "custom",
  2073. "custom element 25"
  2074. },
  2075. {
  2076. "custom_26",
  2077. "custom",
  2078. "custom element 26"
  2079. },
  2080. {
  2081. "custom_27",
  2082. "custom",
  2083. "custom element 27"
  2084. },
  2085. {
  2086. "custom_28",
  2087. "custom",
  2088. "custom element 28"
  2089. },
  2090. {
  2091. "custom_29",
  2092. "custom",
  2093. "custom element 29"
  2094. },
  2095. {
  2096. "custom_30",
  2097. "custom",
  2098. "custom element 30"
  2099. },
  2100. {
  2101. "custom_31",
  2102. "custom",
  2103. "custom element 31"
  2104. },
  2105. {
  2106. "custom_32",
  2107. "custom",
  2108. "custom element 32"
  2109. },
  2110. {
  2111. "custom_33",
  2112. "custom",
  2113. "custom element 33"
  2114. },
  2115. {
  2116. "custom_34",
  2117. "custom",
  2118. "custom element 34"
  2119. },
  2120. {
  2121. "custom_35",
  2122. "custom",
  2123. "custom element 35"
  2124. },
  2125. {
  2126. "custom_36",
  2127. "custom",
  2128. "custom element 36"
  2129. },
  2130. {
  2131. "custom_37",
  2132. "custom",
  2133. "custom element 37"
  2134. },
  2135. {
  2136. "custom_38",
  2137. "custom",
  2138. "custom element 38"
  2139. },
  2140. {
  2141. "custom_39",
  2142. "custom",
  2143. "custom element 39"
  2144. },
  2145. {
  2146. "custom_40",
  2147. "custom",
  2148. "custom element 40"
  2149. },
  2150. {
  2151. "custom_41",
  2152. "custom",
  2153. "custom element 41"
  2154. },
  2155. {
  2156. "custom_42",
  2157. "custom",
  2158. "custom element 42"
  2159. },
  2160. {
  2161. "custom_43",
  2162. "custom",
  2163. "custom element 43"
  2164. },
  2165. {
  2166. "custom_44",
  2167. "custom",
  2168. "custom element 44"
  2169. },
  2170. {
  2171. "custom_45",
  2172. "custom",
  2173. "custom element 45"
  2174. },
  2175. {
  2176. "custom_46",
  2177. "custom",
  2178. "custom element 46"
  2179. },
  2180. {
  2181. "custom_47",
  2182. "custom",
  2183. "custom element 47"
  2184. },
  2185. {
  2186. "custom_48",
  2187. "custom",
  2188. "custom element 48"
  2189. },
  2190. {
  2191. "custom_49",
  2192. "custom",
  2193. "custom element 49"
  2194. },
  2195. {
  2196. "custom_50",
  2197. "custom",
  2198. "custom element 50"
  2199. },
  2200. {
  2201. "custom_51",
  2202. "custom",
  2203. "custom element 51"
  2204. },
  2205. {
  2206. "custom_52",
  2207. "custom",
  2208. "custom element 52"
  2209. },
  2210. {
  2211. "custom_53",
  2212. "custom",
  2213. "custom element 53"
  2214. },
  2215. {
  2216. "custom_54",
  2217. "custom",
  2218. "custom element 54"
  2219. },
  2220. {
  2221. "custom_55",
  2222. "custom",
  2223. "custom element 55"
  2224. },
  2225. {
  2226. "custom_56",
  2227. "custom",
  2228. "custom element 56"
  2229. },
  2230. {
  2231. "custom_57",
  2232. "custom",
  2233. "custom element 57"
  2234. },
  2235. {
  2236. "custom_58",
  2237. "custom",
  2238. "custom element 58"
  2239. },
  2240. {
  2241. "custom_59",
  2242. "custom",
  2243. "custom element 59"
  2244. },
  2245. {
  2246. "custom_60",
  2247. "custom",
  2248. "custom element 60"
  2249. },
  2250. {
  2251. "custom_61",
  2252. "custom",
  2253. "custom element 61"
  2254. },
  2255. {
  2256. "custom_62",
  2257. "custom",
  2258. "custom element 62"
  2259. },
  2260. {
  2261. "custom_63",
  2262. "custom",
  2263. "custom element 63"
  2264. },
  2265. {
  2266. "custom_64",
  2267. "custom",
  2268. "custom element 64"
  2269. },
  2270. {
  2271. "custom_65",
  2272. "custom",
  2273. "custom element 65"
  2274. },
  2275. {
  2276. "custom_66",
  2277. "custom",
  2278. "custom element 66"
  2279. },
  2280. {
  2281. "custom_67",
  2282. "custom",
  2283. "custom element 67"
  2284. },
  2285. {
  2286. "custom_68",
  2287. "custom",
  2288. "custom element 68"
  2289. },
  2290. {
  2291. "custom_69",
  2292. "custom",
  2293. "custom element 69"
  2294. },
  2295. {
  2296. "custom_70",
  2297. "custom",
  2298. "custom element 70"
  2299. },
  2300. {
  2301. "custom_71",
  2302. "custom",
  2303. "custom element 71"
  2304. },
  2305. {
  2306. "custom_72",
  2307. "custom",
  2308. "custom element 72"
  2309. },
  2310. {
  2311. "custom_73",
  2312. "custom",
  2313. "custom element 73"
  2314. },
  2315. {
  2316. "custom_74",
  2317. "custom",
  2318. "custom element 74"
  2319. },
  2320. {
  2321. "custom_75",
  2322. "custom",
  2323. "custom element 75"
  2324. },
  2325. {
  2326. "custom_76",
  2327. "custom",
  2328. "custom element 76"
  2329. },
  2330. {
  2331. "custom_77",
  2332. "custom",
  2333. "custom element 77"
  2334. },
  2335. {
  2336. "custom_78",
  2337. "custom",
  2338. "custom element 78"
  2339. },
  2340. {
  2341. "custom_79",
  2342. "custom",
  2343. "custom element 79"
  2344. },
  2345. {
  2346. "custom_80",
  2347. "custom",
  2348. "custom element 80"
  2349. },
  2350. {
  2351. "custom_81",
  2352. "custom",
  2353. "custom element 81"
  2354. },
  2355. {
  2356. "custom_82",
  2357. "custom",
  2358. "custom element 82"
  2359. },
  2360. {
  2361. "custom_83",
  2362. "custom",
  2363. "custom element 83"
  2364. },
  2365. {
  2366. "custom_84",
  2367. "custom",
  2368. "custom element 84"
  2369. },
  2370. {
  2371. "custom_85",
  2372. "custom",
  2373. "custom element 85"
  2374. },
  2375. {
  2376. "custom_86",
  2377. "custom",
  2378. "custom element 86"
  2379. },
  2380. {
  2381. "custom_87",
  2382. "custom",
  2383. "custom element 87"
  2384. },
  2385. {
  2386. "custom_88",
  2387. "custom",
  2388. "custom element 88"
  2389. },
  2390. {
  2391. "custom_89",
  2392. "custom",
  2393. "custom element 89"
  2394. },
  2395. {
  2396. "custom_90",
  2397. "custom",
  2398. "custom element 90"
  2399. },
  2400. {
  2401. "custom_91",
  2402. "custom",
  2403. "custom element 91"
  2404. },
  2405. {
  2406. "custom_92",
  2407. "custom",
  2408. "custom element 92"
  2409. },
  2410. {
  2411. "custom_93",
  2412. "custom",
  2413. "custom element 93"
  2414. },
  2415. {
  2416. "custom_94",
  2417. "custom",
  2418. "custom element 94"
  2419. },
  2420. {
  2421. "custom_95",
  2422. "custom",
  2423. "custom element 95"
  2424. },
  2425. {
  2426. "custom_96",
  2427. "custom",
  2428. "custom element 96"
  2429. },
  2430. {
  2431. "custom_97",
  2432. "custom",
  2433. "custom element 97"
  2434. },
  2435. {
  2436. "custom_98",
  2437. "custom",
  2438. "custom element 98"
  2439. },
  2440. {
  2441. "custom_99",
  2442. "custom",
  2443. "custom element 99"
  2444. },
  2445. {
  2446. "custom_100",
  2447. "custom",
  2448. "custom element 100"
  2449. },
  2450. {
  2451. "custom_101",
  2452. "custom",
  2453. "custom element 101"
  2454. },
  2455. {
  2456. "custom_102",
  2457. "custom",
  2458. "custom element 102"
  2459. },
  2460. {
  2461. "custom_103",
  2462. "custom",
  2463. "custom element 103"
  2464. },
  2465. {
  2466. "custom_104",
  2467. "custom",
  2468. "custom element 104"
  2469. },
  2470. {
  2471. "custom_105",
  2472. "custom",
  2473. "custom element 105"
  2474. },
  2475. {
  2476. "custom_106",
  2477. "custom",
  2478. "custom element 106"
  2479. },
  2480. {
  2481. "custom_107",
  2482. "custom",
  2483. "custom element 107"
  2484. },
  2485. {
  2486. "custom_108",
  2487. "custom",
  2488. "custom element 108"
  2489. },
  2490. {
  2491. "custom_109",
  2492. "custom",
  2493. "custom element 109"
  2494. },
  2495. {
  2496. "custom_110",
  2497. "custom",
  2498. "custom element 110"
  2499. },
  2500. {
  2501. "custom_111",
  2502. "custom",
  2503. "custom element 111"
  2504. },
  2505. {
  2506. "custom_112",
  2507. "custom",
  2508. "custom element 112"
  2509. },
  2510. {
  2511. "custom_113",
  2512. "custom",
  2513. "custom element 113"
  2514. },
  2515. {
  2516. "custom_114",
  2517. "custom",
  2518. "custom element 114"
  2519. },
  2520. {
  2521. "custom_115",
  2522. "custom",
  2523. "custom element 115"
  2524. },
  2525. {
  2526. "custom_116",
  2527. "custom",
  2528. "custom element 116"
  2529. },
  2530. {
  2531. "custom_117",
  2532. "custom",
  2533. "custom element 117"
  2534. },
  2535. {
  2536. "custom_118",
  2537. "custom",
  2538. "custom element 118"
  2539. },
  2540. {
  2541. "custom_119",
  2542. "custom",
  2543. "custom element 119"
  2544. },
  2545. {
  2546. "custom_120",
  2547. "custom",
  2548. "custom element 120"
  2549. },
  2550. {
  2551. "custom_121",
  2552. "custom",
  2553. "custom element 121"
  2554. },
  2555. {
  2556. "custom_122",
  2557. "custom",
  2558. "custom element 122"
  2559. },
  2560. {
  2561. "custom_123",
  2562. "custom",
  2563. "custom element 123"
  2564. },
  2565. {
  2566. "custom_124",
  2567. "custom",
  2568. "custom element 124"
  2569. },
  2570. {
  2571. "custom_125",
  2572. "custom",
  2573. "custom element 125"
  2574. },
  2575. {
  2576. "custom_126",
  2577. "custom",
  2578. "custom element 126"
  2579. },
  2580. {
  2581. "custom_127",
  2582. "custom",
  2583. "custom element 127"
  2584. },
  2585. {
  2586. "custom_128",
  2587. "custom",
  2588. "custom element 128"
  2589. },
  2590. {
  2591. "custom_129",
  2592. "custom",
  2593. "custom element 129"
  2594. },
  2595. {
  2596. "custom_130",
  2597. "custom",
  2598. "custom element 130"
  2599. },
  2600. {
  2601. "custom_131",
  2602. "custom",
  2603. "custom element 131"
  2604. },
  2605. {
  2606. "custom_132",
  2607. "custom",
  2608. "custom element 132"
  2609. },
  2610. {
  2611. "custom_133",
  2612. "custom",
  2613. "custom element 133"
  2614. },
  2615. {
  2616. "custom_134",
  2617. "custom",
  2618. "custom element 134"
  2619. },
  2620. {
  2621. "custom_135",
  2622. "custom",
  2623. "custom element 135"
  2624. },
  2625. {
  2626. "custom_136",
  2627. "custom",
  2628. "custom element 136"
  2629. },
  2630. {
  2631. "custom_137",
  2632. "custom",
  2633. "custom element 137"
  2634. },
  2635. {
  2636. "custom_138",
  2637. "custom",
  2638. "custom element 138"
  2639. },
  2640. {
  2641. "custom_139",
  2642. "custom",
  2643. "custom element 139"
  2644. },
  2645. {
  2646. "custom_140",
  2647. "custom",
  2648. "custom element 140"
  2649. },
  2650. {
  2651. "custom_141",
  2652. "custom",
  2653. "custom element 141"
  2654. },
  2655. {
  2656. "custom_142",
  2657. "custom",
  2658. "custom element 142"
  2659. },
  2660. {
  2661. "custom_143",
  2662. "custom",
  2663. "custom element 143"
  2664. },
  2665. {
  2666. "custom_144",
  2667. "custom",
  2668. "custom element 144"
  2669. },
  2670. {
  2671. "custom_145",
  2672. "custom",
  2673. "custom element 145"
  2674. },
  2675. {
  2676. "custom_146",
  2677. "custom",
  2678. "custom element 146"
  2679. },
  2680. {
  2681. "custom_147",
  2682. "custom",
  2683. "custom element 147"
  2684. },
  2685. {
  2686. "custom_148",
  2687. "custom",
  2688. "custom element 148"
  2689. },
  2690. {
  2691. "custom_149",
  2692. "custom",
  2693. "custom element 149"
  2694. },
  2695. {
  2696. "custom_150",
  2697. "custom",
  2698. "custom element 150"
  2699. },
  2700. {
  2701. "custom_151",
  2702. "custom",
  2703. "custom element 151"
  2704. },
  2705. {
  2706. "custom_152",
  2707. "custom",
  2708. "custom element 152"
  2709. },
  2710. {
  2711. "custom_153",
  2712. "custom",
  2713. "custom element 153"
  2714. },
  2715. {
  2716. "custom_154",
  2717. "custom",
  2718. "custom element 154"
  2719. },
  2720. {
  2721. "custom_155",
  2722. "custom",
  2723. "custom element 155"
  2724. },
  2725. {
  2726. "custom_156",
  2727. "custom",
  2728. "custom element 156"
  2729. },
  2730. {
  2731. "custom_157",
  2732. "custom",
  2733. "custom element 157"
  2734. },
  2735. {
  2736. "custom_158",
  2737. "custom",
  2738. "custom element 158"
  2739. },
  2740. {
  2741. "custom_159",
  2742. "custom",
  2743. "custom element 159"
  2744. },
  2745. {
  2746. "custom_160",
  2747. "custom",
  2748. "custom element 160"
  2749. },
  2750. {
  2751. "custom_161",
  2752. "custom",
  2753. "custom element 161"
  2754. },
  2755. {
  2756. "custom_162",
  2757. "custom",
  2758. "custom element 162"
  2759. },
  2760. {
  2761. "custom_163",
  2762. "custom",
  2763. "custom element 163"
  2764. },
  2765. {
  2766. "custom_164",
  2767. "custom",
  2768. "custom element 164"
  2769. },
  2770. {
  2771. "custom_165",
  2772. "custom",
  2773. "custom element 165"
  2774. },
  2775. {
  2776. "custom_166",
  2777. "custom",
  2778. "custom element 166"
  2779. },
  2780. {
  2781. "custom_167",
  2782. "custom",
  2783. "custom element 167"
  2784. },
  2785. {
  2786. "custom_168",
  2787. "custom",
  2788. "custom element 168"
  2789. },
  2790. {
  2791. "custom_169",
  2792. "custom",
  2793. "custom element 169"
  2794. },
  2795. {
  2796. "custom_170",
  2797. "custom",
  2798. "custom element 170"
  2799. },
  2800. {
  2801. "custom_171",
  2802. "custom",
  2803. "custom element 171"
  2804. },
  2805. {
  2806. "custom_172",
  2807. "custom",
  2808. "custom element 172"
  2809. },
  2810. {
  2811. "custom_173",
  2812. "custom",
  2813. "custom element 173"
  2814. },
  2815. {
  2816. "custom_174",
  2817. "custom",
  2818. "custom element 174"
  2819. },
  2820. {
  2821. "custom_175",
  2822. "custom",
  2823. "custom element 175"
  2824. },
  2825. {
  2826. "custom_176",
  2827. "custom",
  2828. "custom element 176"
  2829. },
  2830. {
  2831. "custom_177",
  2832. "custom",
  2833. "custom element 177"
  2834. },
  2835. {
  2836. "custom_178",
  2837. "custom",
  2838. "custom element 178"
  2839. },
  2840. {
  2841. "custom_179",
  2842. "custom",
  2843. "custom element 179"
  2844. },
  2845. {
  2846. "custom_180",
  2847. "custom",
  2848. "custom element 180"
  2849. },
  2850. {
  2851. "custom_181",
  2852. "custom",
  2853. "custom element 181"
  2854. },
  2855. {
  2856. "custom_182",
  2857. "custom",
  2858. "custom element 182"
  2859. },
  2860. {
  2861. "custom_183",
  2862. "custom",
  2863. "custom element 183"
  2864. },
  2865. {
  2866. "custom_184",
  2867. "custom",
  2868. "custom element 184"
  2869. },
  2870. {
  2871. "custom_185",
  2872. "custom",
  2873. "custom element 185"
  2874. },
  2875. {
  2876. "custom_186",
  2877. "custom",
  2878. "custom element 186"
  2879. },
  2880. {
  2881. "custom_187",
  2882. "custom",
  2883. "custom element 187"
  2884. },
  2885. {
  2886. "custom_188",
  2887. "custom",
  2888. "custom element 188"
  2889. },
  2890. {
  2891. "custom_189",
  2892. "custom",
  2893. "custom element 189"
  2894. },
  2895. {
  2896. "custom_190",
  2897. "custom",
  2898. "custom element 190"
  2899. },
  2900. {
  2901. "custom_191",
  2902. "custom",
  2903. "custom element 191"
  2904. },
  2905. {
  2906. "custom_192",
  2907. "custom",
  2908. "custom element 192"
  2909. },
  2910. {
  2911. "custom_193",
  2912. "custom",
  2913. "custom element 193"
  2914. },
  2915. {
  2916. "custom_194",
  2917. "custom",
  2918. "custom element 194"
  2919. },
  2920. {
  2921. "custom_195",
  2922. "custom",
  2923. "custom element 195"
  2924. },
  2925. {
  2926. "custom_196",
  2927. "custom",
  2928. "custom element 196"
  2929. },
  2930. {
  2931. "custom_197",
  2932. "custom",
  2933. "custom element 197"
  2934. },
  2935. {
  2936. "custom_198",
  2937. "custom",
  2938. "custom element 198"
  2939. },
  2940. {
  2941. "custom_199",
  2942. "custom",
  2943. "custom element 199"
  2944. },
  2945. {
  2946. "custom_200",
  2947. "custom",
  2948. "custom element 200"
  2949. },
  2950. {
  2951. "custom_201",
  2952. "custom",
  2953. "custom element 201"
  2954. },
  2955. {
  2956. "custom_202",
  2957. "custom",
  2958. "custom element 202"
  2959. },
  2960. {
  2961. "custom_203",
  2962. "custom",
  2963. "custom element 203"
  2964. },
  2965. {
  2966. "custom_204",
  2967. "custom",
  2968. "custom element 204"
  2969. },
  2970. {
  2971. "custom_205",
  2972. "custom",
  2973. "custom element 205"
  2974. },
  2975. {
  2976. "custom_206",
  2977. "custom",
  2978. "custom element 206"
  2979. },
  2980. {
  2981. "custom_207",
  2982. "custom",
  2983. "custom element 207"
  2984. },
  2985. {
  2986. "custom_208",
  2987. "custom",
  2988. "custom element 208"
  2989. },
  2990. {
  2991. "custom_209",
  2992. "custom",
  2993. "custom element 209"
  2994. },
  2995. {
  2996. "custom_210",
  2997. "custom",
  2998. "custom element 210"
  2999. },
  3000. {
  3001. "custom_211",
  3002. "custom",
  3003. "custom element 211"
  3004. },
  3005. {
  3006. "custom_212",
  3007. "custom",
  3008. "custom element 212"
  3009. },
  3010. {
  3011. "custom_213",
  3012. "custom",
  3013. "custom element 213"
  3014. },
  3015. {
  3016. "custom_214",
  3017. "custom",
  3018. "custom element 214"
  3019. },
  3020. {
  3021. "custom_215",
  3022. "custom",
  3023. "custom element 215"
  3024. },
  3025. {
  3026. "custom_216",
  3027. "custom",
  3028. "custom element 216"
  3029. },
  3030. {
  3031. "custom_217",
  3032. "custom",
  3033. "custom element 217"
  3034. },
  3035. {
  3036. "custom_218",
  3037. "custom",
  3038. "custom element 218"
  3039. },
  3040. {
  3041. "custom_219",
  3042. "custom",
  3043. "custom element 219"
  3044. },
  3045. {
  3046. "custom_220",
  3047. "custom",
  3048. "custom element 220"
  3049. },
  3050. {
  3051. "custom_221",
  3052. "custom",
  3053. "custom element 221"
  3054. },
  3055. {
  3056. "custom_222",
  3057. "custom",
  3058. "custom element 222"
  3059. },
  3060. {
  3061. "custom_223",
  3062. "custom",
  3063. "custom element 223"
  3064. },
  3065. {
  3066. "custom_224",
  3067. "custom",
  3068. "custom element 224"
  3069. },
  3070. {
  3071. "custom_225",
  3072. "custom",
  3073. "custom element 225"
  3074. },
  3075. {
  3076. "custom_226",
  3077. "custom",
  3078. "custom element 226"
  3079. },
  3080. {
  3081. "custom_227",
  3082. "custom",
  3083. "custom element 227"
  3084. },
  3085. {
  3086. "custom_228",
  3087. "custom",
  3088. "custom element 228"
  3089. },
  3090. {
  3091. "custom_229",
  3092. "custom",
  3093. "custom element 229"
  3094. },
  3095. {
  3096. "custom_230",
  3097. "custom",
  3098. "custom element 230"
  3099. },
  3100. {
  3101. "custom_231",
  3102. "custom",
  3103. "custom element 231"
  3104. },
  3105. {
  3106. "custom_232",
  3107. "custom",
  3108. "custom element 232"
  3109. },
  3110. {
  3111. "custom_233",
  3112. "custom",
  3113. "custom element 233"
  3114. },
  3115. {
  3116. "custom_234",
  3117. "custom",
  3118. "custom element 234"
  3119. },
  3120. {
  3121. "custom_235",
  3122. "custom",
  3123. "custom element 235"
  3124. },
  3125. {
  3126. "custom_236",
  3127. "custom",
  3128. "custom element 236"
  3129. },
  3130. {
  3131. "custom_237",
  3132. "custom",
  3133. "custom element 237"
  3134. },
  3135. {
  3136. "custom_238",
  3137. "custom",
  3138. "custom element 238"
  3139. },
  3140. {
  3141. "custom_239",
  3142. "custom",
  3143. "custom element 239"
  3144. },
  3145. {
  3146. "custom_240",
  3147. "custom",
  3148. "custom element 240"
  3149. },
  3150. {
  3151. "custom_241",
  3152. "custom",
  3153. "custom element 241"
  3154. },
  3155. {
  3156. "custom_242",
  3157. "custom",
  3158. "custom element 242"
  3159. },
  3160. {
  3161. "custom_243",
  3162. "custom",
  3163. "custom element 243"
  3164. },
  3165. {
  3166. "custom_244",
  3167. "custom",
  3168. "custom element 244"
  3169. },
  3170. {
  3171. "custom_245",
  3172. "custom",
  3173. "custom element 245"
  3174. },
  3175. {
  3176. "custom_246",
  3177. "custom",
  3178. "custom element 246"
  3179. },
  3180. {
  3181. "custom_247",
  3182. "custom",
  3183. "custom element 247"
  3184. },
  3185. {
  3186. "custom_248",
  3187. "custom",
  3188. "custom element 248"
  3189. },
  3190. {
  3191. "custom_249",
  3192. "custom",
  3193. "custom element 249"
  3194. },
  3195. {
  3196. "custom_250",
  3197. "custom",
  3198. "custom element 250"
  3199. },
  3200. {
  3201. "custom_251",
  3202. "custom",
  3203. "custom element 251"
  3204. },
  3205. {
  3206. "custom_252",
  3207. "custom",
  3208. "custom element 252"
  3209. },
  3210. {
  3211. "custom_253",
  3212. "custom",
  3213. "custom element 253"
  3214. },
  3215. {
  3216. "custom_254",
  3217. "custom",
  3218. "custom element 254"
  3219. },
  3220. {
  3221. "custom_255",
  3222. "custom",
  3223. "custom element 255"
  3224. },
  3225. {
  3226. "custom_256",
  3227. "custom",
  3228. "custom element 256"
  3229. },
  3230. {
  3231. "em_key_1",
  3232. "key",
  3233. "key 1 (EM style)"
  3234. },
  3235. {
  3236. "em_key_2",
  3237. "key",
  3238. "key 2 (EM style)"
  3239. },
  3240. {
  3241. "em_key_3",
  3242. "key",
  3243. "key 3 (EM style)"
  3244. },
  3245. {
  3246. "em_key_4",
  3247. "key",
  3248. "key 4 (EM style)"
  3249. },
  3250. {
  3251. "envelope_1",
  3252. "envelope",
  3253. "mail envelope 1"
  3254. },
  3255. {
  3256. "envelope_2",
  3257. "envelope",
  3258. "mail envelope 2"
  3259. },
  3260. {
  3261. "envelope_3",
  3262. "envelope",
  3263. "mail envelope 3"
  3264. },
  3265. {
  3266. "envelope_4",
  3267. "envelope",
  3268. "mail envelope 4"
  3269. },
  3270. {
  3271. "group_1",
  3272. "group",
  3273. "group element 1"
  3274. },
  3275. {
  3276. "group_2",
  3277. "group",
  3278. "group element 2"
  3279. },
  3280. {
  3281. "group_3",
  3282. "group",
  3283. "group element 3"
  3284. },
  3285. {
  3286. "group_4",
  3287. "group",
  3288. "group element 4"
  3289. },
  3290. {
  3291. "group_5",
  3292. "group",
  3293. "group element 5"
  3294. },
  3295. {
  3296. "group_6",
  3297. "group",
  3298. "group element 6"
  3299. },
  3300. {
  3301. "group_7",
  3302. "group",
  3303. "group element 7"
  3304. },
  3305. {
  3306. "group_8",
  3307. "group",
  3308. "group element 8"
  3309. },
  3310. {
  3311. "group_9",
  3312. "group",
  3313. "group element 9"
  3314. },
  3315. {
  3316. "group_10",
  3317. "group",
  3318. "group element 10"
  3319. },
  3320. {
  3321. "group_11",
  3322. "group",
  3323. "group element 11"
  3324. },
  3325. {
  3326. "group_12",
  3327. "group",
  3328. "group element 12"
  3329. },
  3330. {
  3331. "group_13",
  3332. "group",
  3333. "group element 13"
  3334. },
  3335. {
  3336. "group_14",
  3337. "group",
  3338. "group element 14"
  3339. },
  3340. {
  3341. "group_15",
  3342. "group",
  3343. "group element 15"
  3344. },
  3345. {
  3346. "group_16",
  3347. "group",
  3348. "group element 16"
  3349. },
  3350. {
  3351. "group_17",
  3352. "group",
  3353. "group element 17"
  3354. },
  3355. {
  3356. "group_18",
  3357. "group",
  3358. "group element 18"
  3359. },
  3360. {
  3361. "group_19",
  3362. "group",
  3363. "group element 19"
  3364. },
  3365. {
  3366. "group_20",
  3367. "group",
  3368. "group element 20"
  3369. },
  3370. {
  3371. "group_21",
  3372. "group",
  3373. "group element 21"
  3374. },
  3375. {
  3376. "group_22",
  3377. "group",
  3378. "group element 22"
  3379. },
  3380. {
  3381. "group_23",
  3382. "group",
  3383. "group element 23"
  3384. },
  3385. {
  3386. "group_24",
  3387. "group",
  3388. "group element 24"
  3389. },
  3390. {
  3391. "group_25",
  3392. "group",
  3393. "group element 25"
  3394. },
  3395. {
  3396. "group_26",
  3397. "group",
  3398. "group element 26"
  3399. },
  3400. {
  3401. "group_27",
  3402. "group",
  3403. "group element 27"
  3404. },
  3405. {
  3406. "group_28",
  3407. "group",
  3408. "group element 28"
  3409. },
  3410. {
  3411. "group_29",
  3412. "group",
  3413. "group element 29"
  3414. },
  3415. {
  3416. "group_30",
  3417. "group",
  3418. "group element 30"
  3419. },
  3420. {
  3421. "group_31",
  3422. "group",
  3423. "group element 31"
  3424. },
  3425. {
  3426. "group_32",
  3427. "group",
  3428. "group element 32"
  3429. },
  3430. {
  3431. "unknown",
  3432. "unknown",
  3433. "unknown element"
  3434. },
  3435. {
  3436. "trigger_element",
  3437. "trigger",
  3438. "element triggering change"
  3439. },
  3440. {
  3441. "trigger_player",
  3442. "trigger",
  3443. "player triggering change"
  3444. },
  3445. {
  3446. "sp_gravity_on_port_right",
  3447. "sp_gravity_on_port",
  3448. "gravity-on port (leading right)"
  3449. },
  3450. {
  3451. "sp_gravity_on_port_down",
  3452. "sp_gravity_on_port",
  3453. "gravity-on port (leading down)"
  3454. },
  3455. {
  3456. "sp_gravity_on_port_left",
  3457. "sp_gravity_on_port",
  3458. "gravity-on port (leading left)"
  3459. },
  3460. {
  3461. "sp_gravity_on_port_up",
  3462. "sp_gravity_on_port",
  3463. "gravity-on port (leading up)"
  3464. },
  3465. {
  3466. "sp_gravity_off_port_right",
  3467. "sp_gravity_off_port",
  3468. "gravity-off port (leading right)"
  3469. },
  3470. {
  3471. "sp_gravity_off_port_down",
  3472. "sp_gravity_off_port",
  3473. "gravity-off port (leading down)"
  3474. },
  3475. {
  3476. "sp_gravity_off_port_left",
  3477. "sp_gravity_off_port",
  3478. "gravity-off port (leading left)"
  3479. },
  3480. {
  3481. "sp_gravity_off_port_up",
  3482. "sp_gravity_off_port",
  3483. "gravity-off port (leading up)"
  3484. },
  3485. {
  3486. "balloon_switch_none",
  3487. "balloon_switch",
  3488. "wind switch (off)"
  3489. },
  3490. {
  3491. "emc_gate_5",
  3492. "gate",
  3493. "door 5 (EMC style)",
  3494. },
  3495. {
  3496. "emc_gate_6",
  3497. "gate",
  3498. "door 6 (EMC style)",
  3499. },
  3500. {
  3501. "emc_gate_7",
  3502. "gate",
  3503. "door 7 (EMC style)",
  3504. },
  3505. {
  3506. "emc_gate_8",
  3507. "gate",
  3508. "door 8 (EMC style)",
  3509. },
  3510. {
  3511. "emc_gate_5_gray",
  3512. "gate",
  3513. "gray door (EMC style, key 5)",
  3514. },
  3515. {
  3516. "emc_gate_6_gray",
  3517. "gate",
  3518. "gray door (EMC style, key 6)",
  3519. },
  3520. {
  3521. "emc_gate_7_gray",
  3522. "gate",
  3523. "gray door (EMC style, key 7)",
  3524. },
  3525. {
  3526. "emc_gate_8_gray",
  3527. "gate",
  3528. "gray door (EMC style, key 8)",
  3529. },
  3530. {
  3531. "emc_key_5",
  3532. "key",
  3533. "key 5 (EMC style)",
  3534. },
  3535. {
  3536. "emc_key_6",
  3537. "key",
  3538. "key 6 (EMC style)",
  3539. },
  3540. {
  3541. "emc_key_7",
  3542. "key",
  3543. "key 7 (EMC style)",
  3544. },
  3545. {
  3546. "emc_key_8",
  3547. "key",
  3548. "key 8 (EMC style)",
  3549. },
  3550. {
  3551. "emc_android",
  3552. "emc_android",
  3553. "android",
  3554. },
  3555. {
  3556. "emc_grass",
  3557. "emc_grass",
  3558. "grass",
  3559. },
  3560. {
  3561. "emc_magic_ball",
  3562. "emc_magic_ball",
  3563. "magic ball",
  3564. },
  3565. {
  3566. "emc_magic_ball.active",
  3567. "emc_magic_ball",
  3568. "magic ball (activated)",
  3569. },
  3570. {
  3571. "emc_magic_ball_switch",
  3572. "emc_magic_ball_switch",
  3573. "magic ball switch (off)",
  3574. },
  3575. {
  3576. "emc_magic_ball_switch.active",
  3577. "emc_magic_ball_switch",
  3578. "magic ball switch (on)",
  3579. },
  3580. {
  3581. "emc_spring_bumper",
  3582. "emc_spring_bumper",
  3583. "spring bumper",
  3584. },
  3585. {
  3586. "emc_plant",
  3587. "emc_plant",
  3588. "plant",
  3589. },
  3590. {
  3591. "emc_lenses",
  3592. "emc_lenses",
  3593. "lenses",
  3594. },
  3595. {
  3596. "emc_magnifier",
  3597. "emc_magnifier",
  3598. "magnifier",
  3599. },
  3600. {
  3601. "emc_wall_9",
  3602. "wall",
  3603. "normal wall"
  3604. },
  3605. {
  3606. "emc_wall_10",
  3607. "wall",
  3608. "normal wall"
  3609. },
  3610. {
  3611. "emc_wall_11",
  3612. "wall",
  3613. "normal wall"
  3614. },
  3615. {
  3616. "emc_wall_12",
  3617. "wall",
  3618. "normal wall"
  3619. },
  3620. {
  3621. "emc_wall_13",
  3622. "wall",
  3623. "normal wall"
  3624. },
  3625. {
  3626. "emc_wall_14",
  3627. "wall",
  3628. "normal wall"
  3629. },
  3630. {
  3631. "emc_wall_15",
  3632. "wall",
  3633. "normal wall"
  3634. },
  3635. {
  3636. "emc_wall_16",
  3637. "wall",
  3638. "normal wall"
  3639. },
  3640. {
  3641. "emc_wall_slippery_1",
  3642. "wall",
  3643. "slippery wall"
  3644. },
  3645. {
  3646. "emc_wall_slippery_2",
  3647. "wall",
  3648. "slippery wall"
  3649. },
  3650. {
  3651. "emc_wall_slippery_3",
  3652. "wall",
  3653. "slippery wall"
  3654. },
  3655. {
  3656. "emc_wall_slippery_4",
  3657. "wall",
  3658. "slippery wall"
  3659. },
  3660. {
  3661. "emc_fake_grass",
  3662. "fake_grass",
  3663. "fake grass"
  3664. },
  3665. {
  3666. "emc_fake_acid",
  3667. "fake_acid",
  3668. "fake acid"
  3669. },
  3670. {
  3671. "emc_dripper",
  3672. "dripper",
  3673. "dripper"
  3674. },
  3675. {
  3676. "trigger_ce_value",
  3677. "trigger",
  3678. "CE value of element triggering change"
  3679. },
  3680. {
  3681. "trigger_ce_score",
  3682. "trigger",
  3683. "CE score of element triggering change"
  3684. },
  3685. {
  3686. "current_ce_value",
  3687. "current",
  3688. "CE value of current element"
  3689. },
  3690. {
  3691. "current_ce_score",
  3692. "current",
  3693. "CE score of current element"
  3694. },
  3695. {
  3696. "yamyam.left",
  3697. "yamyam",
  3698. "yam yam (starts moving left)"
  3699. },
  3700. {
  3701. "yamyam.right",
  3702. "yamyam",
  3703. "yam yam (starts moving right)"
  3704. },
  3705. {
  3706. "yamyam.up",
  3707. "yamyam",
  3708. "yam yam (starts moving up)"
  3709. },
  3710. {
  3711. "yamyam.down",
  3712. "yamyam",
  3713. "yam yam (starts moving down)"
  3714. },
  3715. {
  3716. "bd_expandable_wall",
  3717. "wall",
  3718. "growing wall (horizontal, BD style)"
  3719. },
  3720. {
  3721. "prev_ce_8",
  3722. "prev_ce",
  3723. "CE 8 positions earlier in list"
  3724. },
  3725. {
  3726. "prev_ce_7",
  3727. "prev_ce",
  3728. "CE 7 positions earlier in list"
  3729. },
  3730. {
  3731. "prev_ce_6",
  3732. "prev_ce",
  3733. "CE 6 positions earlier in list"
  3734. },
  3735. {
  3736. "prev_ce_5",
  3737. "prev_ce",
  3738. "CE 5 positions earlier in list"
  3739. },
  3740. {
  3741. "prev_ce_4",
  3742. "prev_ce",
  3743. "CE 4 positions earlier in list"
  3744. },
  3745. {
  3746. "prev_ce_3",
  3747. "prev_ce",
  3748. "CE 3 positions earlier in list"
  3749. },
  3750. {
  3751. "prev_ce_2",
  3752. "prev_ce",
  3753. "CE 2 positions earlier in list"
  3754. },
  3755. {
  3756. "prev_ce_1",
  3757. "prev_ce",
  3758. "CE 1 position earlier in list"
  3759. },
  3760. {
  3761. "self",
  3762. "self",
  3763. "the current custom element"
  3764. },
  3765. {
  3766. "next_ce_1",
  3767. "next_ce",
  3768. "CE 1 position later in list"
  3769. },
  3770. {
  3771. "next_ce_2",
  3772. "next_ce",
  3773. "CE 2 positions later in list"
  3774. },
  3775. {
  3776. "next_ce_3",
  3777. "next_ce",
  3778. "CE 3 positions later in list"
  3779. },
  3780. {
  3781. "next_ce_4",
  3782. "next_ce",
  3783. "CE 4 positions later in list"
  3784. },
  3785. {
  3786. "next_ce_5",
  3787. "next_ce",
  3788. "CE 5 positions later in list"
  3789. },
  3790. {
  3791. "next_ce_6",
  3792. "next_ce",
  3793. "CE 6 positions later in list"
  3794. },
  3795. {
  3796. "next_ce_7",
  3797. "next_ce",
  3798. "CE 7 positions later in list"
  3799. },
  3800. {
  3801. "next_ce_8",
  3802. "next_ce",
  3803. "CE 8 positions later in list"
  3804. },
  3805. {
  3806. "any_element",
  3807. "any_element",
  3808. "this element matches any element"
  3809. },
  3810. {
  3811. "steel_char_space",
  3812. "steel_char",
  3813. "steel letter ' '"
  3814. },
  3815. {
  3816. "steel_char_exclam",
  3817. "steel_char",
  3818. "steel letter '!'"
  3819. },
  3820. {
  3821. "steel_char_quotedbl",
  3822. "steel_char",
  3823. "steel letter '\"'"
  3824. },
  3825. {
  3826. "steel_char_numbersign",
  3827. "steel_char",
  3828. "steel letter '#'"
  3829. },
  3830. {
  3831. "steel_char_dollar",
  3832. "steel_char",
  3833. "steel letter '$'"
  3834. },
  3835. {
  3836. "steel_char_percent",
  3837. "steel_char",
  3838. "steel letter '%'"
  3839. },
  3840. {
  3841. "steel_char_ampersand",
  3842. "steel_char",
  3843. "steel letter '&'"
  3844. },
  3845. {
  3846. "steel_char_apostrophe",
  3847. "steel_char",
  3848. "steel letter '''"
  3849. },
  3850. {
  3851. "steel_char_parenleft",
  3852. "steel_char",
  3853. "steel letter '('"
  3854. },
  3855. {
  3856. "steel_char_parenright",
  3857. "steel_char",
  3858. "steel letter ')'"
  3859. },
  3860. {
  3861. "steel_char_asterisk",
  3862. "steel_char",
  3863. "steel letter '*'"
  3864. },
  3865. {
  3866. "steel_char_plus",
  3867. "steel_char",
  3868. "steel letter '+'"
  3869. },
  3870. {
  3871. "steel_char_comma",
  3872. "steel_char",
  3873. "steel letter ','"
  3874. },
  3875. {
  3876. "steel_char_minus",
  3877. "steel_char",
  3878. "steel letter '-'"
  3879. },
  3880. {
  3881. "steel_char_period",
  3882. "steel_char",
  3883. "steel letter '.'"
  3884. },
  3885. {
  3886. "steel_char_slash",
  3887. "steel_char",
  3888. "steel letter '/'"
  3889. },
  3890. {
  3891. "steel_char_0",
  3892. "steel_char",
  3893. "steel letter '0'"
  3894. },
  3895. {
  3896. "steel_char_1",
  3897. "steel_char",
  3898. "steel letter '1'"
  3899. },
  3900. {
  3901. "steel_char_2",
  3902. "steel_char",
  3903. "steel letter '2'"
  3904. },
  3905. {
  3906. "steel_char_3",
  3907. "steel_char",
  3908. "steel letter '3'"
  3909. },
  3910. {
  3911. "steel_char_4",
  3912. "steel_char",
  3913. "steel letter '4'"
  3914. },
  3915. {
  3916. "steel_char_5",
  3917. "steel_char",
  3918. "steel letter '5'"
  3919. },
  3920. {
  3921. "steel_char_6",
  3922. "steel_char",
  3923. "steel letter '6'"
  3924. },
  3925. {
  3926. "steel_char_7",
  3927. "steel_char",
  3928. "steel letter '7'"
  3929. },
  3930. {
  3931. "steel_char_8",
  3932. "steel_char",
  3933. "steel letter '8'"
  3934. },
  3935. {
  3936. "steel_char_9",
  3937. "steel_char",
  3938. "steel letter '9'"
  3939. },
  3940. {
  3941. "steel_char_colon",
  3942. "steel_char",
  3943. "steel letter ':'"
  3944. },
  3945. {
  3946. "steel_char_semicolon",
  3947. "steel_char",
  3948. "steel letter ';'"
  3949. },
  3950. {
  3951. "steel_char_less",
  3952. "steel_char",
  3953. "steel letter '<'"
  3954. },
  3955. {
  3956. "steel_char_equal",
  3957. "steel_char",
  3958. "steel letter '='"
  3959. },
  3960. {
  3961. "steel_char_greater",
  3962. "steel_char",
  3963. "steel letter '>'"
  3964. },
  3965. {
  3966. "steel_char_question",
  3967. "steel_char",
  3968. "steel letter '?'"
  3969. },
  3970. {
  3971. "steel_char_at",
  3972. "steel_char",
  3973. "steel letter '@'"
  3974. },
  3975. {
  3976. "steel_char_a",
  3977. "steel_char",
  3978. "steel letter 'A'"
  3979. },
  3980. {
  3981. "steel_char_b",
  3982. "steel_char",
  3983. "steel letter 'B'"
  3984. },
  3985. {
  3986. "steel_char_c",
  3987. "steel_char",
  3988. "steel letter 'C'"
  3989. },
  3990. {
  3991. "steel_char_d",
  3992. "steel_char",
  3993. "steel letter 'D'"
  3994. },
  3995. {
  3996. "steel_char_e",
  3997. "steel_char",
  3998. "steel letter 'E'"
  3999. },
  4000. {
  4001. "steel_char_f",
  4002. "steel_char",
  4003. "steel letter 'F'"
  4004. },
  4005. {
  4006. "steel_char_g",
  4007. "steel_char",
  4008. "steel letter 'G'"
  4009. },
  4010. {
  4011. "steel_char_h",
  4012. "steel_char",
  4013. "steel letter 'H'"
  4014. },
  4015. {
  4016. "steel_char_i",
  4017. "steel_char",
  4018. "steel letter 'I'"
  4019. },
  4020. {
  4021. "steel_char_j",
  4022. "steel_char",
  4023. "steel letter 'J'"
  4024. },
  4025. {
  4026. "steel_char_k",
  4027. "steel_char",
  4028. "steel letter 'K'"
  4029. },
  4030. {
  4031. "steel_char_l",
  4032. "steel_char",
  4033. "steel letter 'L'"
  4034. },
  4035. {
  4036. "steel_char_m",
  4037. "steel_char",
  4038. "steel letter 'M'"
  4039. },
  4040. {
  4041. "steel_char_n",
  4042. "steel_char",
  4043. "steel letter 'N'"
  4044. },
  4045. {
  4046. "steel_char_o",
  4047. "steel_char",
  4048. "steel letter 'O'"
  4049. },
  4050. {
  4051. "steel_char_p",
  4052. "steel_char",
  4053. "steel letter 'P'"
  4054. },
  4055. {
  4056. "steel_char_q",
  4057. "steel_char",
  4058. "steel letter 'Q'"
  4059. },
  4060. {
  4061. "steel_char_r",
  4062. "steel_char",
  4063. "steel letter 'R'"
  4064. },
  4065. {
  4066. "steel_char_s",
  4067. "steel_char",
  4068. "steel letter 'S'"
  4069. },
  4070. {
  4071. "steel_char_t",
  4072. "steel_char",
  4073. "steel letter 'T'"
  4074. },
  4075. {
  4076. "steel_char_u",
  4077. "steel_char",
  4078. "steel letter 'U'"
  4079. },
  4080. {
  4081. "steel_char_v",
  4082. "steel_char",
  4083. "steel letter 'V'"
  4084. },
  4085. {
  4086. "steel_char_w",
  4087. "steel_char",
  4088. "steel letter 'W'"
  4089. },
  4090. {
  4091. "steel_char_x",
  4092. "steel_char",
  4093. "steel letter 'X'"
  4094. },
  4095. {
  4096. "steel_char_y",
  4097. "steel_char",
  4098. "steel letter 'Y'"
  4099. },
  4100. {
  4101. "steel_char_z",
  4102. "steel_char",
  4103. "steel letter 'Z'"
  4104. },
  4105. {
  4106. "steel_char_bracketleft",
  4107. "steel_char",
  4108. "steel letter '['"
  4109. },
  4110. {
  4111. "steel_char_backslash",
  4112. "steel_char",
  4113. "steel letter '\\'"
  4114. },
  4115. {
  4116. "steel_char_bracketright",
  4117. "steel_char",
  4118. "steel letter ']'"
  4119. },
  4120. {
  4121. "steel_char_asciicircum",
  4122. "steel_char",
  4123. "steel letter '^'"
  4124. },
  4125. {
  4126. "steel_char_underscore",
  4127. "steel_char",
  4128. "steel letter '_'"
  4129. },
  4130. {
  4131. "steel_char_copyright",
  4132. "steel_char",
  4133. "steel letter 'Š'"
  4134. },
  4135. {
  4136. "steel_char_aumlaut",
  4137. "steel_char",
  4138. "steel letter 'Ä'"
  4139. },
  4140. {
  4141. "steel_char_oumlaut",
  4142. "steel_char",
  4143. "steel letter 'Ö'"
  4144. },
  4145. {
  4146. "steel_char_uumlaut",
  4147. "steel_char",
  4148. "steel letter 'Ü'"
  4149. },
  4150. {
  4151. "steel_char_degree",
  4152. "steel_char",
  4153. "steel letter '°'"
  4154. },
  4155. {
  4156. "steel_char_trademark",
  4157. "steel_char",
  4158. "steel letter 'ÂŽ'"
  4159. },
  4160. {
  4161. "steel_char_cursor",
  4162. "steel_char",
  4163. "steel letter ' '"
  4164. },
  4165. {
  4166. "steel_char_unused",
  4167. "steel_char",
  4168. "steel letter ''"
  4169. },
  4170. {
  4171. "steel_char_unused",
  4172. "steel_char",
  4173. "steel letter ''"
  4174. },
  4175. {
  4176. "steel_char_unused",
  4177. "steel_char",
  4178. "steel letter ''"
  4179. },
  4180. {
  4181. "steel_char_unused",
  4182. "steel_char",
  4183. "steel letter ''"
  4184. },
  4185. {
  4186. "steel_char_unused",
  4187. "steel_char",
  4188. "steel letter ''"
  4189. },
  4190. {
  4191. "steel_char_unused",
  4192. "steel_char",
  4193. "steel letter ''"
  4194. },
  4195. {
  4196. "steel_char_unused",
  4197. "steel_char",
  4198. "steel letter 'button'"
  4199. },
  4200. {
  4201. "steel_char_unused",
  4202. "steel_char",
  4203. "steel letter 'up'"
  4204. },
  4205. {
  4206. "steel_char_unused",
  4207. "steel_char",
  4208. "steel letter 'down'"
  4209. },
  4210. {
  4211. "sperms",
  4212. "frankie",
  4213. "sperms"
  4214. },
  4215. {
  4216. "bullet",
  4217. "frankie",
  4218. "bullet"
  4219. },
  4220. {
  4221. "heart",
  4222. "frankie",
  4223. "heart"
  4224. },
  4225. {
  4226. "cross",
  4227. "frankie",
  4228. "cross"
  4229. },
  4230. {
  4231. "frankie",
  4232. "frankie",
  4233. "frankie"
  4234. },
  4235. {
  4236. "sign_sperms",
  4237. "sign",
  4238. "sign (sperms)"
  4239. },
  4240. {
  4241. "sign_bullet",
  4242. "sign",
  4243. "sign (bullet)"
  4244. },
  4245. {
  4246. "sign_heart",
  4247. "sign",
  4248. "sign (heart)"
  4249. },
  4250. {
  4251. "sign_cross",
  4252. "sign",
  4253. "sign (cross)"
  4254. },
  4255. {
  4256. "sign_frankie",
  4257. "sign",
  4258. "sign (frankie)"
  4259. },
  4260. {
  4261. "steel_exit_closed",
  4262. "steel_exit",
  4263. "closed steel exit"
  4264. },
  4265. {
  4266. "steel_exit_open",
  4267. "steel_exit",
  4268. "open steel exit"
  4269. },
  4270. {
  4271. "dc_steelwall_1_left",
  4272. "steelwall",
  4273. "steel wall (left)"
  4274. },
  4275. {
  4276. "dc_steelwall_1_right",
  4277. "steelwall",
  4278. "steel wall (right)"
  4279. },
  4280. {
  4281. "dc_steelwall_1_top",
  4282. "steelwall",
  4283. "steel wall (top)"
  4284. },
  4285. {
  4286. "dc_steelwall_1_bottom",
  4287. "steelwall",
  4288. "steel wall (bottom)"
  4289. },
  4290. {
  4291. "dc_steelwall_1_horizontal",
  4292. "steelwall",
  4293. "steel wall (top/bottom)"
  4294. },
  4295. {
  4296. "dc_steelwall_1_vertical",
  4297. "steelwall",
  4298. "steel wall (left/right)"
  4299. },
  4300. {
  4301. "dc_steelwall_1_topleft",
  4302. "steelwall",
  4303. "steel wall (top/left)"
  4304. },
  4305. {
  4306. "dc_steelwall_1_topright",
  4307. "steelwall",
  4308. "steel wall (top/right)"
  4309. },
  4310. {
  4311. "dc_steelwall_1_bottomleft",
  4312. "steelwall",
  4313. "steel wall (bottom/left)"
  4314. },
  4315. {
  4316. "dc_steelwall_1_bottomright",
  4317. "steelwall",
  4318. "steel wall (bottom/right)"
  4319. },
  4320. {
  4321. "dc_steelwall_1_topleft_2",
  4322. "steelwall",
  4323. "steel wall (top/left corner)"
  4324. },
  4325. {
  4326. "dc_steelwall_1_topright_2",
  4327. "steelwall",
  4328. "steel wall (top/right corner)"
  4329. },
  4330. {
  4331. "dc_steelwall_1_bottomleft_2",
  4332. "steelwall",
  4333. "steel wall (bottom/left corner)"
  4334. },
  4335. {
  4336. "dc_steelwall_1_bottomright_2",
  4337. "steelwall",
  4338. "steel wall (bottom/right corner)"
  4339. },
  4340. {
  4341. "dc_steelwall_2_left",
  4342. "steelwall",
  4343. "steel wall (left)"
  4344. },
  4345. {
  4346. "dc_steelwall_2_right",
  4347. "steelwall",
  4348. "steel wall (right)"
  4349. },
  4350. {
  4351. "dc_steelwall_2_top",
  4352. "steelwall",
  4353. "steel wall (top)"
  4354. },
  4355. {
  4356. "dc_steelwall_2_bottom",
  4357. "steelwall",
  4358. "steel wall (bottom)"
  4359. },
  4360. {
  4361. "dc_steelwall_2_horizontal",
  4362. "steelwall",
  4363. "steel wall (horizontal)"
  4364. },
  4365. {
  4366. "dc_steelwall_2_vertical",
  4367. "steelwall",
  4368. "steel wall (vertical)"
  4369. },
  4370. {
  4371. "dc_steelwall_2_middle",
  4372. "steelwall",
  4373. "steel wall (middle)"
  4374. },
  4375. {
  4376. "dc_steelwall_2_single",
  4377. "steelwall",
  4378. "steel wall (single)"
  4379. },
  4380. {
  4381. "dc_switchgate_switch_up",
  4382. "switchgate_switch",
  4383. "switch for switch gate (steel)"
  4384. },
  4385. {
  4386. "dc_switchgate_switch_down",
  4387. "switchgate_switch",
  4388. "switch for switch gate (steel)"
  4389. },
  4390. {
  4391. "dc_timegate_switch",
  4392. "timegate_switch",
  4393. "switch for time gate (steel)"
  4394. },
  4395. {
  4396. "dc_timegate_switch.active",
  4397. "timegate_switch",
  4398. "switch for time gate (steel)"
  4399. },
  4400. {
  4401. "dc_landmine",
  4402. "dc_landmine",
  4403. "land mine (DC style, removable)"
  4404. },
  4405. {
  4406. "expandable_steelwall",
  4407. "steelwall",
  4408. "growing steel wall"
  4409. },
  4410. {
  4411. "expandable_steelwall_horizontal",
  4412. "steelwall",
  4413. "growing steel wall (horizontal)"
  4414. },
  4415. {
  4416. "expandable_steelwall_vertical",
  4417. "steelwall",
  4418. "growing steel wall (vertical)"
  4419. },
  4420. {
  4421. "expandable_steelwall_any",
  4422. "steelwall",
  4423. "growing steel wall (any direction)"
  4424. },
  4425. {
  4426. "em_exit_closed",
  4427. "em_exit",
  4428. "closed exit (EM style)"
  4429. },
  4430. {
  4431. "em_exit_open",
  4432. "em_exit",
  4433. "open exit (EM style)"
  4434. },
  4435. {
  4436. "em_steel_exit_closed",
  4437. "em_steel_exit",
  4438. "closed steel exit (EM style)"
  4439. },
  4440. {
  4441. "em_steel_exit_open",
  4442. "em_steel_exit",
  4443. "open steel exit (EM style)"
  4444. },
  4445. {
  4446. "dc_gate_fake_gray",
  4447. "gate",
  4448. "gray door (opened by no key)"
  4449. },
  4450. {
  4451. "dc_magic_wall",
  4452. "dc_magic_wall",
  4453. "magic wall (DC style)"
  4454. },
  4455. {
  4456. "quicksand_fast_empty",
  4457. "quicksand",
  4458. "fast quicksand (empty)"
  4459. },
  4460. {
  4461. "quicksand_fast_full",
  4462. "quicksand",
  4463. "fast quicksand (with rock)"
  4464. },
  4465. {
  4466. "from_level_template",
  4467. "from_level_template",
  4468. "element taken from level template"
  4469. },
  4470. /* ----------------------------------------------------------------------- */
  4471. /* "real" (and therefore drawable) runtime elements */
  4472. /* ----------------------------------------------------------------------- */
  4473. {
  4474. "dynabomb_player_1.active",
  4475. "dynabomb",
  4476. "-"
  4477. },
  4478. {
  4479. "dynabomb_player_2.active",
  4480. "dynabomb",
  4481. "-"
  4482. },
  4483. {
  4484. "dynabomb_player_3.active",
  4485. "dynabomb",
  4486. "-"
  4487. },
  4488. {
  4489. "dynabomb_player_4.active",
  4490. "dynabomb",
  4491. "-"
  4492. },
  4493. {
  4494. "sp_disk_red.active",
  4495. "dynamite",
  4496. "-"
  4497. },
  4498. {
  4499. "switchgate.opening",
  4500. "switchgate",
  4501. "-"
  4502. },
  4503. {
  4504. "switchgate.closing",
  4505. "switchgate",
  4506. "-"
  4507. },
  4508. {
  4509. "timegate.opening",
  4510. "timegate",
  4511. "-"
  4512. },
  4513. {
  4514. "timegate.closing",
  4515. "timegate",
  4516. "-"
  4517. },
  4518. {
  4519. "pearl.breaking",
  4520. "pearl",
  4521. "-"
  4522. },
  4523. {
  4524. "trap.active",
  4525. "trap",
  4526. "-"
  4527. },
  4528. {
  4529. "invisible_steelwall.active",
  4530. "steelwall",
  4531. "-"
  4532. },
  4533. {
  4534. "invisible_wall.active",
  4535. "wall",
  4536. "-"
  4537. },
  4538. {
  4539. "invisible_sand.active",
  4540. "sand",
  4541. "-"
  4542. },
  4543. {
  4544. "conveyor_belt_1_left.active",
  4545. "conveyor_belt",
  4546. "-"
  4547. },
  4548. {
  4549. "conveyor_belt_1_middle.active",
  4550. "conveyor_belt",
  4551. "-"
  4552. },
  4553. {
  4554. "conveyor_belt_1_right.active",
  4555. "conveyor_belt",
  4556. "-"
  4557. },
  4558. {
  4559. "conveyor_belt_2_left.active",
  4560. "conveyor_belt",
  4561. "-"
  4562. },
  4563. {
  4564. "conveyor_belt_2_middle.active",
  4565. "conveyor_belt",
  4566. "-"
  4567. },
  4568. {
  4569. "conveyor_belt_2_right.active",
  4570. "conveyor_belt",
  4571. "-"
  4572. },
  4573. {
  4574. "conveyor_belt_3_left.active",
  4575. "conveyor_belt",
  4576. "-"
  4577. },
  4578. {
  4579. "conveyor_belt_3_middle.active",
  4580. "conveyor_belt",
  4581. "-"
  4582. },
  4583. {
  4584. "conveyor_belt_3_right.active",
  4585. "conveyor_belt",
  4586. "-"
  4587. },
  4588. {
  4589. "conveyor_belt_4_left.active",
  4590. "conveyor_belt",
  4591. "-"
  4592. },
  4593. {
  4594. "conveyor_belt_4_middle.active",
  4595. "conveyor_belt",
  4596. "-"
  4597. },
  4598. {
  4599. "conveyor_belt_4_right.active",
  4600. "conveyor_belt",
  4601. "-"
  4602. },
  4603. {
  4604. "exit.opening",
  4605. "exit",
  4606. "-"
  4607. },
  4608. {
  4609. "exit.closing",
  4610. "exit",
  4611. "-"
  4612. },
  4613. {
  4614. "steel_exit.opening",
  4615. "steel_exit",
  4616. "-"
  4617. },
  4618. {
  4619. "steel_exit.closing",
  4620. "steel_exit",
  4621. "-"
  4622. },
  4623. {
  4624. "em_exit.opening",
  4625. "em_exit",
  4626. "-"
  4627. },
  4628. {
  4629. "em_exit.closing",
  4630. "em_exit",
  4631. "-"
  4632. },
  4633. {
  4634. "em_steel_exit.opening",
  4635. "em_steel_exit",
  4636. "-"
  4637. },
  4638. {
  4639. "em_steel_exit.closing",
  4640. "em_steel_exit",
  4641. "-"
  4642. },
  4643. {
  4644. "sp_exit.opening",
  4645. "sp_exit",
  4646. "-"
  4647. },
  4648. {
  4649. "sp_exit.closing",
  4650. "sp_exit",
  4651. "-"
  4652. },
  4653. {
  4654. "sp_exit_open",
  4655. "sp_exit",
  4656. "-"
  4657. },
  4658. {
  4659. "sp_terminal.active",
  4660. "sp_terminal",
  4661. "-"
  4662. },
  4663. {
  4664. "sp_buggy_base.activating",
  4665. "sp_buggy_base",
  4666. "-"
  4667. },
  4668. {
  4669. "sp_buggy_base.active",
  4670. "sp_buggy_base",
  4671. "-"
  4672. },
  4673. {
  4674. "sp_murphy_clone",
  4675. "murphy_clone",
  4676. "-"
  4677. },
  4678. {
  4679. "amoeba.dropping",
  4680. "amoeba",
  4681. "-"
  4682. },
  4683. {
  4684. "quicksand.emptying",
  4685. "quicksand",
  4686. "-"
  4687. },
  4688. {
  4689. "quicksand_fast.emptying",
  4690. "quicksand",
  4691. "-"
  4692. },
  4693. {
  4694. "magic_wall.active",
  4695. "magic_wall",
  4696. "-"
  4697. },
  4698. {
  4699. "bd_magic_wall.active",
  4700. "magic_wall",
  4701. "-"
  4702. },
  4703. {
  4704. "dc_magic_wall.active",
  4705. "magic_wall",
  4706. "-"
  4707. },
  4708. {
  4709. "magic_wall_full",
  4710. "magic_wall",
  4711. "-"
  4712. },
  4713. {
  4714. "bd_magic_wall_full",
  4715. "magic_wall",
  4716. "-"
  4717. },
  4718. {
  4719. "dc_magic_wall_full",
  4720. "magic_wall",
  4721. "-"
  4722. },
  4723. {
  4724. "magic_wall.emptying",
  4725. "magic_wall",
  4726. "-"
  4727. },
  4728. {
  4729. "bd_magic_wall.emptying",
  4730. "magic_wall",
  4731. "-"
  4732. },
  4733. {
  4734. "dc_magic_wall.emptying",
  4735. "magic_wall",
  4736. "-"
  4737. },
  4738. {
  4739. "magic_wall_dead",
  4740. "magic_wall",
  4741. "-"
  4742. },
  4743. {
  4744. "bd_magic_wall_dead",
  4745. "magic_wall",
  4746. "-"
  4747. },
  4748. {
  4749. "dc_magic_wall_dead",
  4750. "magic_wall",
  4751. "-"
  4752. },
  4753. {
  4754. "emc_fake_grass.active",
  4755. "fake_grass",
  4756. "-"
  4757. },
  4758. {
  4759. "gate_1_gray.active",
  4760. "gate",
  4761. ""
  4762. },
  4763. {
  4764. "gate_2_gray.active",
  4765. "gate",
  4766. ""
  4767. },
  4768. {
  4769. "gate_3_gray.active",
  4770. "gate",
  4771. ""
  4772. },
  4773. {
  4774. "gate_4_gray.active",
  4775. "gate",
  4776. ""
  4777. },
  4778. {
  4779. "em_gate_1_gray.active",
  4780. "gate",
  4781. ""
  4782. },
  4783. {
  4784. "em_gate_2_gray.active",
  4785. "gate",
  4786. ""
  4787. },
  4788. {
  4789. "em_gate_3_gray.active",
  4790. "gate",
  4791. ""
  4792. },
  4793. {
  4794. "em_gate_4_gray.active",
  4795. "gate",
  4796. ""
  4797. },
  4798. {
  4799. "emc_gate_5_gray.active",
  4800. "gate",
  4801. "",
  4802. },
  4803. {
  4804. "emc_gate_6_gray.active",
  4805. "gate",
  4806. "",
  4807. },
  4808. {
  4809. "emc_gate_7_gray.active",
  4810. "gate",
  4811. "",
  4812. },
  4813. {
  4814. "emc_gate_8_gray.active",
  4815. "gate",
  4816. "",
  4817. },
  4818. {
  4819. "dc_gate_white_gray.active",
  4820. "gate",
  4821. "",
  4822. },
  4823. {
  4824. "emc_dripper.active",
  4825. "dripper",
  4826. "dripper"
  4827. },
  4828. {
  4829. "emc_spring_bumper.active",
  4830. "emc_spring_bumper",
  4831. "spring bumper",
  4832. },
  4833. /* ----------------------------------------------------------------------- */
  4834. /* "unreal" (and therefore not drawable) runtime elements */
  4835. /* ----------------------------------------------------------------------- */
  4836. {
  4837. "blocked",
  4838. "-",
  4839. "-"
  4840. },
  4841. {
  4842. "explosion",
  4843. "-",
  4844. "-"
  4845. },
  4846. {
  4847. "nut.breaking",
  4848. "-",
  4849. "-"
  4850. },
  4851. {
  4852. "diamond.breaking",
  4853. "-",
  4854. "-"
  4855. },
  4856. {
  4857. "acid_splash_left",
  4858. "-",
  4859. "-"
  4860. },
  4861. {
  4862. "acid_splash_right",
  4863. "-",
  4864. "-"
  4865. },
  4866. {
  4867. "amoeba.growing",
  4868. "-",
  4869. "-"
  4870. },
  4871. {
  4872. "amoeba.shrinking",
  4873. "-",
  4874. "-"
  4875. },
  4876. {
  4877. "expandable_wall.growing",
  4878. "-",
  4879. "-"
  4880. },
  4881. {
  4882. "expandable_steelwall.growing",
  4883. "-",
  4884. "-"
  4885. },
  4886. {
  4887. "flames",
  4888. "-",
  4889. "-"
  4890. },
  4891. {
  4892. "player_is_leaving",
  4893. "-",
  4894. "-"
  4895. },
  4896. {
  4897. "player_is_exploding_1",
  4898. "-",
  4899. "-"
  4900. },
  4901. {
  4902. "player_is_exploding_2",
  4903. "-",
  4904. "-"
  4905. },
  4906. {
  4907. "player_is_exploding_3",
  4908. "-",
  4909. "-"
  4910. },
  4911. {
  4912. "player_is_exploding_4",
  4913. "-",
  4914. "-"
  4915. },
  4916. {
  4917. "quicksand.filling",
  4918. "quicksand",
  4919. "-"
  4920. },
  4921. {
  4922. "quicksand_fast.filling",
  4923. "quicksand",
  4924. "-"
  4925. },
  4926. {
  4927. "magic_wall.filling",
  4928. "-",
  4929. "-"
  4930. },
  4931. {
  4932. "bd_magic_wall.filling",
  4933. "-",
  4934. "-"
  4935. },
  4936. {
  4937. "dc_magic_wall.filling",
  4938. "-",
  4939. "-"
  4940. },
  4941. {
  4942. "element.snapping",
  4943. "-",
  4944. "-"
  4945. },
  4946. {
  4947. "diagonal.shrinking",
  4948. "-",
  4949. "-"
  4950. },
  4951. {
  4952. "diagonal.growing",
  4953. "-",
  4954. "-"
  4955. },
  4956. /* ----------------------------------------------------------------------- */
  4957. /* dummy elements (never used as game elements, only used as graphics) */
  4958. /* ----------------------------------------------------------------------- */
  4959. {
  4960. "steelwall_topleft",
  4961. "-",
  4962. "-"
  4963. },
  4964. {
  4965. "steelwall_topright",
  4966. "-",
  4967. "-"
  4968. },
  4969. {
  4970. "steelwall_bottomleft",
  4971. "-",
  4972. "-"
  4973. },
  4974. {
  4975. "steelwall_bottomright",
  4976. "-",
  4977. "-"
  4978. },
  4979. {
  4980. "steelwall_horizontal",
  4981. "-",
  4982. "-"
  4983. },
  4984. {
  4985. "steelwall_vertical",
  4986. "-",
  4987. "-"
  4988. },
  4989. {
  4990. "invisible_steelwall_topleft",
  4991. "-",
  4992. "-"
  4993. },
  4994. {
  4995. "invisible_steelwall_topright",
  4996. "-",
  4997. "-"
  4998. },
  4999. {
  5000. "invisible_steelwall_bottomleft",
  5001. "-",
  5002. "-"
  5003. },
  5004. {
  5005. "invisible_steelwall_bottomright",
  5006. "-",
  5007. "-"
  5008. },
  5009. {
  5010. "invisible_steelwall_horizontal",
  5011. "-",
  5012. "-"
  5013. },
  5014. {
  5015. "invisible_steelwall_vertical",
  5016. "-",
  5017. "-"
  5018. },
  5019. {
  5020. "dynabomb",
  5021. "-",
  5022. "-"
  5023. },
  5024. {
  5025. "dynabomb.active",
  5026. "-",
  5027. "-"
  5028. },
  5029. {
  5030. "dynabomb_player_1",
  5031. "-",
  5032. "-"
  5033. },
  5034. {
  5035. "dynabomb_player_2",
  5036. "-",
  5037. "-"
  5038. },
  5039. {
  5040. "dynabomb_player_3",
  5041. "-",
  5042. "-"
  5043. },
  5044. {
  5045. "dynabomb_player_4",
  5046. "-",
  5047. "-"
  5048. },
  5049. {
  5050. "shield_normal.active",
  5051. "-",
  5052. "-"
  5053. },
  5054. {
  5055. "shield_deadly.active",
  5056. "-",
  5057. "-"
  5058. },
  5059. {
  5060. "amoeba",
  5061. "amoeba",
  5062. "-"
  5063. },
  5064. {
  5065. "[default]",
  5066. "default",
  5067. "-"
  5068. },
  5069. {
  5070. "[bd_default]",
  5071. "bd_default",
  5072. "-"
  5073. },
  5074. {
  5075. "[sp_default]",
  5076. "sp_default",
  5077. "-"
  5078. },
  5079. {
  5080. "[sb_default]",
  5081. "sb_default",
  5082. "-"
  5083. },
  5084. {
  5085. "graphic_1",
  5086. "graphic",
  5087. "-"
  5088. },
  5089. {
  5090. "graphic_2",
  5091. "graphic",
  5092. "-"
  5093. },
  5094. {
  5095. "graphic_3",
  5096. "graphic",
  5097. "-"
  5098. },
  5099. {
  5100. "graphic_4",
  5101. "graphic",
  5102. "-"
  5103. },
  5104. {
  5105. "graphic_5",
  5106. "graphic",
  5107. "-"
  5108. },
  5109. {
  5110. "graphic_6",
  5111. "graphic",
  5112. "-"
  5113. },
  5114. {
  5115. "graphic_7",
  5116. "graphic",
  5117. "-"
  5118. },
  5119. {
  5120. "graphic_8",
  5121. "graphic",
  5122. "-"
  5123. },
  5124. {
  5125. "internal_clipboard_custom",
  5126. "internal",
  5127. "empty custom element"
  5128. },
  5129. {
  5130. "internal_clipboard_change",
  5131. "internal",
  5132. "empty change page"
  5133. },
  5134. {
  5135. "internal_clipboard_group",
  5136. "internal",
  5137. "empty group element"
  5138. },
  5139. {
  5140. "internal_dummy",
  5141. "internal",
  5142. "-"
  5143. },
  5144. {
  5145. "internal_cascade_bd",
  5146. "internal",
  5147. "show Boulder Dash elements"
  5148. },
  5149. {
  5150. "internal_cascade_bd.active",
  5151. "internal",
  5152. "hide Boulder Dash elements"
  5153. },
  5154. {
  5155. "internal_cascade_em",
  5156. "internal",
  5157. "show Emerald Mine elements"
  5158. },
  5159. {
  5160. "internal_cascade_em.active",
  5161. "internal",
  5162. "hide Emerald Mine elements"
  5163. },
  5164. {
  5165. "internal_cascade_emc",
  5166. "internal",
  5167. "show Emerald Mine Club elements"
  5168. },
  5169. {
  5170. "internal_cascade_emc.active",
  5171. "internal",
  5172. "hide Emerald Mine Club elements"
  5173. },
  5174. {
  5175. "internal_cascade_rnd",
  5176. "internal",
  5177. "show Rocks'n'Diamonds elements"
  5178. },
  5179. {
  5180. "internal_cascade_rnd.active",
  5181. "internal",
  5182. "hide Rocks'n'Diamonds elements"
  5183. },
  5184. {
  5185. "internal_cascade_sb",
  5186. "internal",
  5187. "show Sokoban elements"
  5188. },
  5189. {
  5190. "internal_cascade_sb.active",
  5191. "internal",
  5192. "hide Sokoban elements"
  5193. },
  5194. {
  5195. "internal_cascade_sp",
  5196. "internal",
  5197. "show Supaplex elements"
  5198. },
  5199. {
  5200. "internal_cascade_sp.active",
  5201. "internal",
  5202. "hide Supaplex elements"
  5203. },
  5204. {
  5205. "internal_cascade_dc",
  5206. "internal",
  5207. "show Diamond Caves II elements"
  5208. },
  5209. {
  5210. "internal_cascade_dc.active",
  5211. "internal",
  5212. "hide Diamond Caves II elements"
  5213. },
  5214. {
  5215. "internal_cascade_dx",
  5216. "internal",
  5217. "show DX Boulderdash elements"
  5218. },
  5219. {
  5220. "internal_cascade_dx.active",
  5221. "internal",
  5222. "hide DX Boulderdash elements"
  5223. },
  5224. {
  5225. "internal_cascade_chars",
  5226. "internal",
  5227. "show text elements"
  5228. },
  5229. {
  5230. "internal_cascade_chars.active",
  5231. "internal",
  5232. "hide text elements"
  5233. },
  5234. {
  5235. "internal_cascade_steel_chars",
  5236. "internal",
  5237. "show steel text elements"
  5238. },
  5239. {
  5240. "internal_cascade_steel_chars.active",
  5241. "internal",
  5242. "hide steel text elements"
  5243. },
  5244. {
  5245. "internal_cascade_ce",
  5246. "internal",
  5247. "show custom elements"
  5248. },
  5249. {
  5250. "internal_cascade_ce.active",
  5251. "internal",
  5252. "hide custom elements"
  5253. },
  5254. {
  5255. "internal_cascade_ge",
  5256. "internal",
  5257. "show group elements"
  5258. },
  5259. {
  5260. "internal_cascade_ge.active",
  5261. "internal",
  5262. "hide group elements"
  5263. },
  5264. {
  5265. "internal_cascade_ref",
  5266. "internal",
  5267. "show reference elements"
  5268. },
  5269. {
  5270. "internal_cascade_ref.active",
  5271. "internal",
  5272. "hide reference elements"
  5273. },
  5274. {
  5275. "internal_cascade_user",
  5276. "internal",
  5277. "show user defined elements"
  5278. },
  5279. {
  5280. "internal_cascade_user.active",
  5281. "internal",
  5282. "hide user defined elements"
  5283. },
  5284. {
  5285. "internal_cascade_dynamic",
  5286. "internal",
  5287. "show elements used in this level"
  5288. },
  5289. {
  5290. "internal_cascade_dynamic.active",
  5291. "internal",
  5292. "hide elements used in this level"
  5293. },
  5294. /* keyword to stop parser: "ELEMENT_INFO_END" <-- do not change! */
  5295. {
  5296. NULL,
  5297. NULL,
  5298. NULL
  5299. }
  5300. };
  5301. /* ------------------------------------------------------------------------- */
  5302. /* element action and direction definitions */
  5303. /* ------------------------------------------------------------------------- */
  5304. struct ElementActionInfo element_action_info[NUM_ACTIONS + 1 + 1] =
  5305. {
  5306. { ".[DEFAULT]", ACTION_DEFAULT, TRUE },
  5307. { ".waiting", ACTION_WAITING, TRUE },
  5308. { ".falling", ACTION_FALLING, TRUE },
  5309. { ".moving", ACTION_MOVING, TRUE },
  5310. { ".digging", ACTION_DIGGING, FALSE },
  5311. { ".snapping", ACTION_SNAPPING, FALSE },
  5312. { ".collecting", ACTION_COLLECTING, FALSE },
  5313. { ".dropping", ACTION_DROPPING, FALSE },
  5314. { ".pushing", ACTION_PUSHING, FALSE },
  5315. { ".walking", ACTION_WALKING, FALSE },
  5316. { ".passing", ACTION_PASSING, FALSE },
  5317. { ".impact", ACTION_IMPACT, FALSE },
  5318. { ".breaking", ACTION_BREAKING, FALSE },
  5319. { ".activating", ACTION_ACTIVATING, FALSE },
  5320. { ".deactivating", ACTION_DEACTIVATING, FALSE },
  5321. { ".opening", ACTION_OPENING, FALSE },
  5322. { ".closing", ACTION_CLOSING, FALSE },
  5323. { ".attacking", ACTION_ATTACKING, TRUE },
  5324. { ".growing", ACTION_GROWING, TRUE },
  5325. { ".shrinking", ACTION_SHRINKING, FALSE },
  5326. { ".active", ACTION_ACTIVE, TRUE },
  5327. { ".filling", ACTION_FILLING, FALSE },
  5328. { ".emptying", ACTION_EMPTYING, FALSE },
  5329. { ".changing", ACTION_CHANGING, FALSE },
  5330. { ".exploding", ACTION_EXPLODING, FALSE },
  5331. { ".boring", ACTION_BORING, FALSE },
  5332. { ".boring[1]", ACTION_BORING_1, FALSE },
  5333. { ".boring[2]", ACTION_BORING_2, FALSE },
  5334. { ".boring[3]", ACTION_BORING_3, FALSE },
  5335. { ".boring[4]", ACTION_BORING_4, FALSE },
  5336. { ".boring[5]", ACTION_BORING_5, FALSE },
  5337. { ".boring[6]", ACTION_BORING_6, FALSE },
  5338. { ".boring[7]", ACTION_BORING_7, FALSE },
  5339. { ".boring[8]", ACTION_BORING_8, FALSE },
  5340. { ".boring[9]", ACTION_BORING_9, FALSE },
  5341. { ".boring[10]", ACTION_BORING_10, FALSE },
  5342. { ".sleeping", ACTION_SLEEPING, FALSE },
  5343. { ".sleeping[1]", ACTION_SLEEPING_1, FALSE },
  5344. { ".sleeping[2]", ACTION_SLEEPING_2, FALSE },
  5345. { ".sleeping[3]", ACTION_SLEEPING_3, FALSE },
  5346. { ".awakening", ACTION_AWAKENING, FALSE },
  5347. { ".dying", ACTION_DYING, FALSE },
  5348. { ".turning", ACTION_TURNING, FALSE },
  5349. { ".turning_from_left", ACTION_TURNING_FROM_LEFT, FALSE },
  5350. { ".turning_from_right", ACTION_TURNING_FROM_RIGHT, FALSE },
  5351. { ".turning_from_up", ACTION_TURNING_FROM_UP, FALSE },
  5352. { ".turning_from_down", ACTION_TURNING_FROM_DOWN, FALSE },
  5353. { ".smashed_by_rock", ACTION_SMASHED_BY_ROCK, FALSE },
  5354. { ".smashed_by_spring", ACTION_SMASHED_BY_SPRING, FALSE },
  5355. { ".eating", ACTION_EATING, FALSE },
  5356. { ".twinkling", ACTION_TWINKLING, FALSE },
  5357. { ".splashing", ACTION_SPLASHING, FALSE },
  5358. { ".page[1]", ACTION_PAGE_1, FALSE },
  5359. { ".page[2]", ACTION_PAGE_2, FALSE },
  5360. { ".page[3]", ACTION_PAGE_3, FALSE },
  5361. { ".page[4]", ACTION_PAGE_4, FALSE },
  5362. { ".page[5]", ACTION_PAGE_5, FALSE },
  5363. { ".page[6]", ACTION_PAGE_6, FALSE },
  5364. { ".page[7]", ACTION_PAGE_7, FALSE },
  5365. { ".page[8]", ACTION_PAGE_8, FALSE },
  5366. { ".page[9]", ACTION_PAGE_9, FALSE },
  5367. { ".page[10]", ACTION_PAGE_10, FALSE },
  5368. { ".page[11]", ACTION_PAGE_11, FALSE },
  5369. { ".page[12]", ACTION_PAGE_12, FALSE },
  5370. { ".page[13]", ACTION_PAGE_13, FALSE },
  5371. { ".page[14]", ACTION_PAGE_14, FALSE },
  5372. { ".page[15]", ACTION_PAGE_15, FALSE },
  5373. { ".page[16]", ACTION_PAGE_16, FALSE },
  5374. { ".page[17]", ACTION_PAGE_17, FALSE },
  5375. { ".page[18]", ACTION_PAGE_18, FALSE },
  5376. { ".page[19]", ACTION_PAGE_19, FALSE },
  5377. { ".page[20]", ACTION_PAGE_20, FALSE },
  5378. { ".page[21]", ACTION_PAGE_21, FALSE },
  5379. { ".page[22]", ACTION_PAGE_22, FALSE },
  5380. { ".page[23]", ACTION_PAGE_23, FALSE },
  5381. { ".page[24]", ACTION_PAGE_24, FALSE },
  5382. { ".page[25]", ACTION_PAGE_25, FALSE },
  5383. { ".page[26]", ACTION_PAGE_26, FALSE },
  5384. { ".page[27]", ACTION_PAGE_27, FALSE },
  5385. { ".page[28]", ACTION_PAGE_28, FALSE },
  5386. { ".page[29]", ACTION_PAGE_29, FALSE },
  5387. { ".page[30]", ACTION_PAGE_30, FALSE },
  5388. { ".page[31]", ACTION_PAGE_31, FALSE },
  5389. { ".page[32]", ACTION_PAGE_32, FALSE },
  5390. { ".other", ACTION_OTHER, FALSE },
  5391. /* empty suffix always matches -- check as last entry in InitSoundInfo() */
  5392. { "", ACTION_DEFAULT, TRUE },
  5393. { NULL, 0, 0 }
  5394. };
  5395. struct ElementDirectionInfo element_direction_info[NUM_DIRECTIONS_FULL + 1] =
  5396. {
  5397. { ".left", MV_BIT_LEFT },
  5398. { ".right", MV_BIT_RIGHT },
  5399. { ".up", MV_BIT_UP },
  5400. { ".down", MV_BIT_DOWN },
  5401. { ".upleft", MV_BIT_UP },
  5402. { ".upright", MV_BIT_RIGHT },
  5403. { ".downleft", MV_BIT_LEFT },
  5404. { ".downright", MV_BIT_DOWN },
  5405. { NULL, 0 }
  5406. };
  5407. struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] =
  5408. {
  5409. { ".[DEFAULT]", GFX_SPECIAL_ARG_DEFAULT, },
  5410. { ".LOADING", GFX_SPECIAL_ARG_LOADING, },
  5411. { ".TITLE_INITIAL", GFX_SPECIAL_ARG_TITLE_INITIAL, },
  5412. { ".TITLE", GFX_SPECIAL_ARG_TITLE, },
  5413. { ".MAIN", GFX_SPECIAL_ARG_MAIN, },
  5414. { ".LEVELS", GFX_SPECIAL_ARG_LEVELS },
  5415. { ".SCORES", GFX_SPECIAL_ARG_SCORES, },
  5416. { ".EDITOR", GFX_SPECIAL_ARG_EDITOR, },
  5417. { ".INFO", GFX_SPECIAL_ARG_INFO, },
  5418. { ".SETUP", GFX_SPECIAL_ARG_SETUP, },
  5419. { ".PLAYING", GFX_SPECIAL_ARG_PLAYING, },
  5420. { ".DOOR", GFX_SPECIAL_ARG_DOOR, },
  5421. { ".PANEL", GFX_SPECIAL_ARG_PANEL, },
  5422. { ".PREVIEW", GFX_SPECIAL_ARG_PREVIEW, },
  5423. { ".CRUMBLED", GFX_SPECIAL_ARG_CRUMBLED, },
  5424. /* empty suffix always matches -- check as last entry in InitMusicInfo() */
  5425. { "", GFX_SPECIAL_ARG_DEFAULT, },
  5426. { NULL, 0, }
  5427. };
  5428. #include "conf_var.c" /* include auto-generated data structure definitions */
  5429. /* ------------------------------------------------------------------------- */
  5430. /* font definitions */
  5431. /* ------------------------------------------------------------------------- */
  5432. /* Important: When one entry is a prefix of another entry, the longer entry
  5433. must come first, because the dynamic configuration does prefix matching!
  5434. (These definitions must match the corresponding definitions in "main.h"!) */
  5435. struct FontInfo font_info[NUM_FONTS + 1] =
  5436. {
  5437. { "font.initial_1" },
  5438. { "font.initial_2" },
  5439. { "font.initial_3" },
  5440. { "font.initial_4" },
  5441. { "font.title_1" },
  5442. { "font.title_2" },
  5443. { "font.menu_1.active" },
  5444. { "font.menu_2.active" },
  5445. { "font.menu_1" },
  5446. { "font.menu_2" },
  5447. { "font.text_1.active" },
  5448. { "font.text_2.active" },
  5449. { "font.text_3.active" },
  5450. { "font.text_4.active" },
  5451. { "font.text_1" },
  5452. { "font.text_2" },
  5453. { "font.text_3" },
  5454. { "font.text_4" },
  5455. { "font.envelope_1" },
  5456. { "font.envelope_2" },
  5457. { "font.envelope_3" },
  5458. { "font.envelope_4" },
  5459. { "font.input_1.active" },
  5460. { "font.input_2.active" },
  5461. { "font.input_1" },
  5462. { "font.input_2" },
  5463. { "font.option_off" },
  5464. { "font.option_on" },
  5465. { "font.value_1" },
  5466. { "font.value_2" },
  5467. { "font.value_old" },
  5468. { "font.level_number.active" },
  5469. { "font.level_number" },
  5470. { "font.tape_recorder" },
  5471. { "font.game_info" },
  5472. { "font.info.elements" },
  5473. { "font.info.levelset" },
  5474. { NULL }
  5475. };
  5476. /* ------------------------------------------------------------------------- */
  5477. /* music token prefix definitions */
  5478. /* ------------------------------------------------------------------------- */
  5479. struct MusicPrefixInfo music_prefix_info[NUM_MUSIC_PREFIXES + 1] =
  5480. {
  5481. { "background", TRUE },
  5482. { NULL, 0 }
  5483. };
  5484. /* ========================================================================= */
  5485. /* main() */
  5486. /* ========================================================================= */
  5487. static void print_usage()
  5488. {
  5489. printf("\n"
  5490. "Usage: %s [OPTION]... [HOSTNAME [PORT]]\n"
  5491. "\n"
  5492. "Options:\n"
  5493. " -d, --display HOSTNAME[:SCREEN] specify X server display\n"
  5494. " -b, --basepath DIRECTORY alternative base DIRECTORY\n"
  5495. " -l, --level DIRECTORY alternative level DIRECTORY\n"
  5496. " -g, --graphics DIRECTORY alternative graphics DIRECTORY\n"
  5497. " -s, --sounds DIRECTORY alternative sounds DIRECTORY\n"
  5498. " -m, --music DIRECTORY alternative music DIRECTORY\n"
  5499. " -n, --network network multiplayer game\n"
  5500. " --serveronly only start network server\n"
  5501. " -v, --verbose verbose mode\n"
  5502. " --debug display debugging information\n"
  5503. " --debug-x11-sync enable X11 synchronous mode\n"
  5504. " -e, --execute COMMAND execute batch COMMAND\n"
  5505. "\n"
  5506. "Valid commands for '--execute' option:\n"
  5507. " \"print graphicsinfo.conf\" print default graphics config\n"
  5508. " \"print soundsinfo.conf\" print default sounds config\n"
  5509. " \"print musicinfo.conf\" print default music config\n"
  5510. " \"print editorsetup.conf\" print default editor config\n"
  5511. " \"print helpanim.conf\" print default helpanim config\n"
  5512. " \"print helptext.conf\" print default helptext config\n"
  5513. " \"dump level FILE\" dump level data from FILE\n"
  5514. " \"dump tape FILE\" dump tape data from FILE\n"
  5515. " \"autoplay LEVELDIR [NR ...]\" play level tapes for LEVELDIR\n"
  5516. " \"convert LEVELDIR [NR]\" convert levels in LEVELDIR\n"
  5517. " \"create images DIRECTORY\" write BMP images to DIRECTORY\n"
  5518. "\n",
  5519. program.command_basename);
  5520. }
  5521. int main(int argc, char *argv[])
  5522. {
  5523. char * window_title_string = getWindowTitleString();
  5524. InitProgramInfo(argv[0], USERDATA_DIRECTORY, USERDATA_DIRECTORY_UNIX,
  5525. PROGRAM_TITLE_STRING, window_title_string, ICON_TITLE_STRING,
  5526. X11_ICON_FILENAME, X11_ICONMASK_FILENAME, SDL_ICON_FILENAME,
  5527. MSDOS_POINTER_FILENAME,
  5528. COOKIE_PREFIX, FILENAME_PREFIX, GAME_VERSION_ACTUAL);
  5529. InitExitFunction(CloseAllAndExit);
  5530. InitPlatformDependentStuff();
  5531. GetOptions(argv, print_usage);
  5532. OpenAll();
  5533. EventLoop();
  5534. CloseAllAndExit(0);
  5535. return 0; /* to keep compilers happy */
  5536. }