Advertisement
Empoliam

Modified ElementClasses.h

Jan 1st, 2013
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.58 KB | None | 0 0
  1. #ifndef ELEMENTCLASSES_H
  2. #define ELEMENTCLASSES_H
  3.  
  4. #include <vector>
  5.  
  6. #include "simulation/Element.h"
  7. #include "simulation/elements/Element.h"
  8.  
  9. #define PT_NONE 0
  10. #define PT_DUST 1
  11. #define PT_WATR 2
  12. #define PT_OIL 3
  13. #define PT_FIRE 4
  14. #define PT_STNE 5
  15. #define PT_LAVA 6
  16. #define PT_GUNP 7
  17. #define PT_NITR 8
  18. #define PT_CLNE 9
  19. #define PT_GAS 10
  20. #define PT_PLEX 11
  21. #define PT_GOO 12
  22. #define PT_ICEI 13
  23. #define PT_METL 14
  24. #define PT_SPRK 15
  25. #define PT_SNOW 16
  26. #define PT_WOOD 17
  27. #define PT_NEUT 18
  28. #define PT_PLUT 19
  29. #define PT_PLNT 20
  30. #define PT_ACID 21
  31. #define PT_VOID 22
  32. #define PT_WTRV 23
  33. #define PT_CNCT 24
  34. #define PT_DSTW 25
  35. #define PT_SALT 26
  36. #define PT_SLTW 27
  37. #define PT_DMND 28
  38. #define PT_BMTL 29
  39. #define PT_BRMT 30
  40. #define PT_PHOT 31
  41. #define PT_URAN 32
  42. #define PT_WAX 33
  43. #define PT_MWAX 34
  44. #define PT_PSCN 35
  45. #define PT_NSCN 36
  46. #define PT_LNTG 37
  47. #define PT_INSL 38
  48. #define PT_BHOL 39
  49. #define PT_WHOL 40
  50. #define PT_RBDM 41
  51. #define PT_LRBD 42
  52. #define PT_NTCT 43
  53. #define PT_SAND 44
  54. #define PT_GLAS 45
  55. #define PT_PTCT 46
  56. #define PT_BGLA 47
  57. #define PT_THDR 48
  58. #define PT_PLSM 49
  59. #define PT_ETRD 50
  60. #define PT_NICE 51
  61. #define PT_NBLE 52
  62. #define PT_BTRY 53
  63. #define PT_LCRY 54
  64. #define PT_STKM 55
  65. #define PT_SWCH 56
  66. #define PT_SMKE 57
  67. #define PT_DESL 58
  68. #define PT_COAL 59
  69. #define PT_LO2 60
  70. #define PT_O2 61
  71. #define PT_INWR 62
  72. #define PT_YEST 63
  73. #define PT_DYST 64
  74. #define PT_THRM 65
  75. #define PT_GLOW 66
  76. #define PT_BRCK 67
  77. #define PT_HFLM 68
  78. #define PT_FIRW 69
  79. #define PT_FUSE 70
  80. #define PT_FSEP 71
  81. #define PT_AMTR 72
  82. #define PT_BCOL 73
  83. #define PT_PCLN 74
  84. #define PT_HSWC 75
  85. #define PT_IRON 76
  86. #define PT_MORT 77
  87. #define PT_LIFE 78
  88. #define PT_DLAY 79
  89. #define PT_CO2 80
  90. #define PT_DRIC 81
  91. #define PT_CBNW 82
  92. #define PT_STOR 83
  93. #define PT_PVOD 84
  94. #define PT_CONV 85
  95. #define PT_CAUS 86
  96. #define PT_LIGH 87
  97. #define PT_TESC 88
  98. #define PT_DEST 89
  99. #define PT_SPNG 90
  100. #define PT_RIME 91
  101. #define PT_FOG 92
  102. #define PT_BCLN 93
  103. #define PT_LOVE 94
  104. #define PT_DEUT 95
  105. #define PT_WARP 96
  106. #define PT_PUMP 97
  107. #define PT_FWRK 98
  108. #define PT_PIPE 99
  109. #define PT_FRZZ 100
  110. #define PT_FRZW 101
  111. #define PT_GRAV 102
  112. #define PT_BIZR 103
  113. #define PT_BIZRG 104
  114. #define PT_BIZRS 105
  115. #define PT_INST 106
  116. #define PT_ISOZ 107
  117. #define PT_ISZS 108
  118. #define PT_PRTI 109
  119. #define PT_PRTO 110
  120. #define PT_PSTE 111
  121. #define PT_PSTS 112
  122. #define PT_ANAR 113
  123. #define PT_VINE 114
  124. #define PT_INVIS 115
  125. #define PT_116 116
  126. #define PT_SPAWN2 117
  127. #define PT_SPAWN 118
  128. #define PT_SHLD1 119
  129. #define PT_SHLD2 120
  130. #define PT_SHLD3 121
  131. #define PT_SHLD4 122
  132. #define PT_LOLZ 123
  133. #define PT_WIFI 124
  134. #define PT_FILT 125
  135. #define PT_ARAY 126
  136. #define PT_BRAY 127
  137. #define PT_STKM2 128
  138. #define PT_BOMB 129
  139. #define PT_C5 130
  140. #define PT_SING 131
  141. #define PT_QRTZ 132
  142. #define PT_PQRT 133
  143. #define PT_EMP 134
  144. #define PT_BREC 135
  145. #define PT_ELEC 136
  146. #define PT_ACEL 137
  147. #define PT_DCEL 138
  148. #define PT_BANG 139
  149. #define PT_IGNT 140
  150. #define PT_BOYL 141
  151. #define PT_GEL 142
  152. #define PT_TRON 143
  153. #define PT_TTAN 144
  154. #define PT_EXOT 145
  155. #define PT_146 146
  156. #define PT_EMBR 147
  157. #define PT_H2 148
  158. #define PT_SOAP 149
  159. #define PT_NBHL 150
  160. #define PT_NWHL 151
  161. #define PT_MERC 152
  162. #define PT_PBCN 153
  163. #define PT_GPMP 154
  164. #define PT_CLST 155
  165. #define PT_WIRE 156
  166. #define PT_GBMB 157
  167. #define PT_FIGH 158
  168. #define PT_FRAY 159
  169. #define PT_REPL 160
  170. #define PT_PPIP 161
  171. #define PT_DTEC 162
  172. #define PT_DMG 163
  173. #define PT_TSNS 164
  174. #define PT_VIBR 165
  175. #define PT_BVBR 166
  176. #define PT_GOLD 167
  177.  
  178. class Element_NONE: public Element
  179. {
  180. public:
  181. Element_NONE();
  182. virtual ~Element_NONE();
  183. static VideoBuffer * iconGen(int, int, int);
  184. };
  185.  
  186. class Element_DUST: public Element
  187. {
  188. public:
  189. Element_DUST();
  190. virtual ~Element_DUST();
  191.  
  192. };
  193.  
  194. class Element_WATR: public Element
  195. {
  196. public:
  197. Element_WATR();
  198. virtual ~Element_WATR();
  199. static int update(UPDATE_FUNC_ARGS);
  200. };
  201.  
  202. class Element_OIL: public Element
  203. {
  204. public:
  205. Element_OIL();
  206. virtual ~Element_OIL();
  207.  
  208. };
  209.  
  210. class Element_FIRE: public Element
  211. {
  212. public:
  213. Element_FIRE();
  214. virtual ~Element_FIRE();
  215. static int update(UPDATE_FUNC_ARGS);
  216. static int updateLegacy(UPDATE_FUNC_ARGS);
  217. static int graphics(GRAPHICS_FUNC_ARGS);
  218. };
  219.  
  220. class Element_STNE: public Element
  221. {
  222. public:
  223. Element_STNE();
  224. virtual ~Element_STNE();
  225.  
  226. };
  227.  
  228. class Element_LAVA: public Element
  229. {
  230. public:
  231. Element_LAVA();
  232. virtual ~Element_LAVA();
  233. static int graphics(GRAPHICS_FUNC_ARGS);
  234. static int update(UPDATE_FUNC_ARGS);
  235. };
  236.  
  237. class Element_GUNP: public Element
  238. {
  239. public:
  240. Element_GUNP();
  241. virtual ~Element_GUNP();
  242.  
  243. };
  244.  
  245. class Element_NITR: public Element
  246. {
  247. public:
  248. Element_NITR();
  249. virtual ~Element_NITR();
  250.  
  251. };
  252.  
  253. class Element_CLNE: public Element
  254. {
  255. public:
  256. Element_CLNE();
  257. virtual ~Element_CLNE();
  258. static int update(UPDATE_FUNC_ARGS);
  259. };
  260.  
  261. class Element_GAS: public Element
  262. {
  263. public:
  264. Element_GAS();
  265. virtual ~Element_GAS();
  266.  
  267. };
  268.  
  269. class Element_PLEX: public Element
  270. {
  271. public:
  272. Element_PLEX();
  273. virtual ~Element_PLEX();
  274.  
  275. };
  276.  
  277. class Element_GOO: public Element
  278. {
  279. public:
  280. Element_GOO();
  281. virtual ~Element_GOO();
  282. static int update(UPDATE_FUNC_ARGS);
  283. };
  284.  
  285. class Element_ICEI: public Element
  286. {
  287. public:
  288. Element_ICEI();
  289. virtual ~Element_ICEI();
  290. static int update(UPDATE_FUNC_ARGS);
  291. };
  292.  
  293. class Element_METL: public Element
  294. {
  295. public:
  296. Element_METL();
  297. virtual ~Element_METL();
  298.  
  299. };
  300.  
  301. class Element_SPRK: public Element
  302. {
  303. public:
  304. Element_SPRK();
  305. virtual ~Element_SPRK();
  306. static int update(UPDATE_FUNC_ARGS);
  307. static int graphics(GRAPHICS_FUNC_ARGS);
  308. };
  309.  
  310. class Element_SNOW: public Element
  311. {
  312. public:
  313. Element_SNOW();
  314. virtual ~Element_SNOW();
  315. static int update(UPDATE_FUNC_ARGS);
  316. };
  317.  
  318. class Element_WOOD: public Element
  319. {
  320. public:
  321. Element_WOOD();
  322. virtual ~Element_WOOD();
  323. static int graphics(GRAPHICS_FUNC_ARGS);
  324. };
  325.  
  326. class Element_NEUT: public Element
  327. {
  328. public:
  329. Element_NEUT();
  330. virtual ~Element_NEUT();
  331. static int update(UPDATE_FUNC_ARGS);
  332. static int graphics(GRAPHICS_FUNC_ARGS);
  333. static int create_n_parts(Simulation * sim, int n, int x, int y, float vx, float vy, float temp, int t);
  334. };
  335.  
  336. class Element_PLUT: public Element
  337. {
  338. public:
  339. Element_PLUT();
  340. virtual ~Element_PLUT();
  341. static int update(UPDATE_FUNC_ARGS);
  342. };
  343.  
  344. class Element_PLNT: public Element
  345. {
  346. public:
  347. Element_PLNT();
  348. virtual ~Element_PLNT();
  349. static int update(UPDATE_FUNC_ARGS);
  350. static int graphics(GRAPHICS_FUNC_ARGS);
  351. };
  352.  
  353. class Element_ACID: public Element
  354. {
  355. public:
  356. Element_ACID();
  357. virtual ~Element_ACID();
  358. static int update(UPDATE_FUNC_ARGS);
  359. static int graphics(GRAPHICS_FUNC_ARGS);
  360. };
  361.  
  362. class Element_VOID: public Element
  363. {
  364. public:
  365. Element_VOID();
  366. virtual ~Element_VOID();
  367.  
  368. };
  369.  
  370. class Element_WTRV: public Element
  371. {
  372. public:
  373. Element_WTRV();
  374. virtual ~Element_WTRV();
  375. static int update(UPDATE_FUNC_ARGS);
  376. };
  377.  
  378. class Element_CNCT: public Element
  379. {
  380. public:
  381. Element_CNCT();
  382. virtual ~Element_CNCT();
  383.  
  384. };
  385.  
  386. class Element_DSTW: public Element
  387. {
  388. public:
  389. Element_DSTW();
  390. virtual ~Element_DSTW();
  391. static int update(UPDATE_FUNC_ARGS);
  392. };
  393.  
  394. class Element_SALT: public Element
  395. {
  396. public:
  397. Element_SALT();
  398. virtual ~Element_SALT();
  399.  
  400. };
  401.  
  402. class Element_SLTW: public Element
  403. {
  404. public:
  405. Element_SLTW();
  406. virtual ~Element_SLTW();
  407. static int update(UPDATE_FUNC_ARGS);
  408. };
  409.  
  410. class Element_DMND: public Element
  411. {
  412. public:
  413. Element_DMND();
  414. virtual ~Element_DMND();
  415.  
  416. };
  417.  
  418. class Element_BMTL: public Element
  419. {
  420. public:
  421. Element_BMTL();
  422. virtual ~Element_BMTL();
  423. static int update(UPDATE_FUNC_ARGS);
  424. };
  425.  
  426. class Element_BRMT: public Element
  427. {
  428. public:
  429. Element_BRMT();
  430. virtual ~Element_BRMT();
  431. static int update(UPDATE_FUNC_ARGS);
  432. };
  433.  
  434. class Element_PHOT: public Element
  435. {
  436. public:
  437. Element_PHOT();
  438. virtual ~Element_PHOT();
  439. static int update(UPDATE_FUNC_ARGS);
  440. static int graphics(GRAPHICS_FUNC_ARGS);
  441. };
  442.  
  443. class Element_URAN: public Element
  444. {
  445. public:
  446. Element_URAN();
  447. virtual ~Element_URAN();
  448. static int update(UPDATE_FUNC_ARGS);
  449. };
  450.  
  451. class Element_WAX: public Element
  452. {
  453. public:
  454. Element_WAX();
  455. virtual ~Element_WAX();
  456.  
  457. };
  458.  
  459. class Element_MWAX: public Element
  460. {
  461. public:
  462. Element_MWAX();
  463. virtual ~Element_MWAX();
  464.  
  465. };
  466.  
  467. class Element_PSCN: public Element
  468. {
  469. public:
  470. Element_PSCN();
  471. virtual ~Element_PSCN();
  472.  
  473. };
  474.  
  475. class Element_NSCN: public Element
  476. {
  477. public:
  478. Element_NSCN();
  479. virtual ~Element_NSCN();
  480.  
  481. };
  482.  
  483. class Element_LNTG: public Element
  484. {
  485. public:
  486. Element_LNTG();
  487. virtual ~Element_LNTG();
  488.  
  489. };
  490.  
  491. class Element_INSL: public Element
  492. {
  493. public:
  494. Element_INSL();
  495. virtual ~Element_INSL();
  496.  
  497. };
  498.  
  499. class Element_BHOL: public Element
  500. {
  501. public:
  502. Element_BHOL();
  503. virtual ~Element_BHOL();
  504.  
  505. };
  506.  
  507. class Element_WHOL: public Element
  508. {
  509. public:
  510. Element_WHOL();
  511. virtual ~Element_WHOL();
  512.  
  513. };
  514.  
  515. class Element_RBDM: public Element
  516. {
  517. public:
  518. Element_RBDM();
  519. virtual ~Element_RBDM();
  520.  
  521. };
  522.  
  523. class Element_LRBD: public Element
  524. {
  525. public:
  526. Element_LRBD();
  527. virtual ~Element_LRBD();
  528.  
  529. };
  530.  
  531. class Element_NTCT: public Element
  532. {
  533. public:
  534. Element_NTCT();
  535. virtual ~Element_NTCT();
  536. static int update(UPDATE_FUNC_ARGS);
  537. };
  538.  
  539. class Element_SAND: public Element
  540. {
  541. public:
  542. Element_SAND();
  543. virtual ~Element_SAND();
  544.  
  545. };
  546.  
  547. class Element_GLAS: public Element
  548. {
  549. public:
  550. Element_GLAS();
  551. virtual ~Element_GLAS();
  552. static int update(UPDATE_FUNC_ARGS);
  553. };
  554.  
  555. class Element_PTCT: public Element
  556. {
  557. public:
  558. Element_PTCT();
  559. virtual ~Element_PTCT();
  560. static int update(UPDATE_FUNC_ARGS);
  561. };
  562.  
  563. class Element_BGLA: public Element
  564. {
  565. public:
  566. Element_BGLA();
  567. virtual ~Element_BGLA();
  568.  
  569. };
  570.  
  571. class Element_THDR: public Element
  572. {
  573. public:
  574. Element_THDR();
  575. virtual ~Element_THDR();
  576. static int update(UPDATE_FUNC_ARGS);
  577. static int graphics(GRAPHICS_FUNC_ARGS);
  578. };
  579.  
  580. class Element_PLSM: public Element
  581. {
  582. public:
  583. Element_PLSM();
  584. virtual ~Element_PLSM();
  585. static int graphics(GRAPHICS_FUNC_ARGS);
  586. };
  587.  
  588. class Element_ETRD: public Element
  589. {
  590. public:
  591. Element_ETRD();
  592. virtual ~Element_ETRD();
  593.  
  594. };
  595.  
  596. class Element_NICE: public Element
  597. {
  598. public:
  599. Element_NICE();
  600. virtual ~Element_NICE();
  601.  
  602. };
  603.  
  604. class Element_NBLE: public Element
  605. {
  606. public:
  607. Element_NBLE();
  608. virtual ~Element_NBLE();
  609. static int update(UPDATE_FUNC_ARGS);
  610. };
  611.  
  612. class Element_BTRY: public Element
  613. {
  614. public:
  615. Element_BTRY();
  616. virtual ~Element_BTRY();
  617. static int update(UPDATE_FUNC_ARGS);
  618. };
  619.  
  620. class Element_LCRY: public Element
  621. {
  622. public:
  623. Element_LCRY();
  624. virtual ~Element_LCRY();
  625. static int update(UPDATE_FUNC_ARGS);
  626. static int graphics(GRAPHICS_FUNC_ARGS);
  627. };
  628.  
  629. class Element_STKM: public Element
  630. {
  631. public:
  632. Element_STKM();
  633. virtual ~Element_STKM();
  634. static int update(UPDATE_FUNC_ARGS);
  635. static int graphics(GRAPHICS_FUNC_ARGS);
  636. static int run_stickman(playerst* playerp, UPDATE_FUNC_ARGS);
  637. static void STKM_interact(Simulation * sim, playerst* playerp, int i, int x, int y);
  638. static void STKM_init_legs(Simulation * sim, playerst* playerp, int i);
  639. };
  640.  
  641. class Element_SWCH: public Element
  642. {
  643. public:
  644. Element_SWCH();
  645. virtual ~Element_SWCH();
  646. static int update(UPDATE_FUNC_ARGS);
  647. static int graphics(GRAPHICS_FUNC_ARGS);
  648. };
  649.  
  650. class Element_SMKE: public Element
  651. {
  652. public:
  653. Element_SMKE();
  654. virtual ~Element_SMKE();
  655. static int graphics(GRAPHICS_FUNC_ARGS);
  656. };
  657.  
  658. class Element_DESL: public Element
  659. {
  660. public:
  661. Element_DESL();
  662. virtual ~Element_DESL();
  663.  
  664. };
  665.  
  666. class Element_COAL: public Element
  667. {
  668. public:
  669. Element_COAL();
  670. virtual ~Element_COAL();
  671. static int update(UPDATE_FUNC_ARGS);
  672. static int graphics(GRAPHICS_FUNC_ARGS);
  673. };
  674.  
  675. class Element_LO2: public Element
  676. {
  677. public:
  678. Element_LO2();
  679. virtual ~Element_LO2();
  680.  
  681. };
  682.  
  683. class Element_O2: public Element
  684. {
  685. public:
  686. Element_O2();
  687. virtual ~Element_O2();
  688. static int update(UPDATE_FUNC_ARGS);
  689. };
  690.  
  691. class Element_INWR: public Element
  692. {
  693. public:
  694. Element_INWR();
  695. virtual ~Element_INWR();
  696.  
  697. };
  698.  
  699. class Element_YEST: public Element
  700. {
  701. public:
  702. Element_YEST();
  703. virtual ~Element_YEST();
  704. static int update(UPDATE_FUNC_ARGS);
  705. };
  706.  
  707. class Element_DYST: public Element
  708. {
  709. public:
  710. Element_DYST();
  711. virtual ~Element_DYST();
  712.  
  713. };
  714.  
  715. class Element_THRM: public Element
  716. {
  717. public:
  718. Element_THRM();
  719. virtual ~Element_THRM();
  720. static int update(UPDATE_FUNC_ARGS);
  721. };
  722.  
  723. class Element_GLOW: public Element
  724. {
  725. public:
  726. Element_GLOW();
  727. virtual ~Element_GLOW();
  728. static int update(UPDATE_FUNC_ARGS);
  729. static int graphics(GRAPHICS_FUNC_ARGS);
  730. };
  731.  
  732. class Element_BRCK: public Element
  733. {
  734. public:
  735. Element_BRCK();
  736. virtual ~Element_BRCK();
  737. static int graphics(GRAPHICS_FUNC_ARGS);
  738. };
  739.  
  740. class Element_HFLM: public Element
  741. {
  742. public:
  743. Element_HFLM();
  744. virtual ~Element_HFLM();
  745. static int graphics(GRAPHICS_FUNC_ARGS);
  746. };
  747.  
  748. class Element_FIRW: public Element
  749. {
  750. public:
  751. Element_FIRW();
  752. virtual ~Element_FIRW();
  753. static int update(UPDATE_FUNC_ARGS);
  754. static int graphics(GRAPHICS_FUNC_ARGS);
  755. };
  756.  
  757. class Element_FUSE: public Element
  758. {
  759. public:
  760. Element_FUSE();
  761. virtual ~Element_FUSE();
  762. static int update(UPDATE_FUNC_ARGS);
  763. };
  764.  
  765. class Element_FSEP: public Element
  766. {
  767. public:
  768. Element_FSEP();
  769. virtual ~Element_FSEP();
  770. static int update(UPDATE_FUNC_ARGS);
  771. };
  772.  
  773. class Element_AMTR: public Element
  774. {
  775. public:
  776. Element_AMTR();
  777. virtual ~Element_AMTR();
  778. static int update(UPDATE_FUNC_ARGS);
  779. };
  780.  
  781. class Element_BCOL: public Element
  782. {
  783. public:
  784. Element_BCOL();
  785. virtual ~Element_BCOL();
  786. static int update(UPDATE_FUNC_ARGS);
  787. static int graphics(GRAPHICS_FUNC_ARGS);
  788. };
  789.  
  790. class Element_PCLN: public Element
  791. {
  792. public:
  793. Element_PCLN();
  794. virtual ~Element_PCLN();
  795. static int update(UPDATE_FUNC_ARGS);
  796. static int graphics(GRAPHICS_FUNC_ARGS);
  797. };
  798.  
  799. class Element_HSWC: public Element
  800. {
  801. public:
  802. Element_HSWC();
  803. virtual ~Element_HSWC();
  804. static int update(UPDATE_FUNC_ARGS);
  805. static int graphics(GRAPHICS_FUNC_ARGS);
  806. };
  807.  
  808. class Element_IRON: public Element
  809. {
  810. public:
  811. Element_IRON();
  812. virtual ~Element_IRON();
  813. static int update(UPDATE_FUNC_ARGS);
  814. };
  815.  
  816. class Element_MORT: public Element
  817. {
  818. public:
  819. Element_MORT();
  820. virtual ~Element_MORT();
  821. static int update(UPDATE_FUNC_ARGS);
  822. };
  823.  
  824. class Element_LIFE: public Element
  825. {
  826. public:
  827. Element_LIFE();
  828. virtual ~Element_LIFE();
  829. static int graphics(GRAPHICS_FUNC_ARGS);
  830. };
  831.  
  832. class Element_DLAY: public Element
  833. {
  834. public:
  835. Element_DLAY();
  836. virtual ~Element_DLAY();
  837. static int update(UPDATE_FUNC_ARGS);
  838. static int graphics(GRAPHICS_FUNC_ARGS);
  839. };
  840.  
  841. class Element_CO2: public Element
  842. {
  843. public:
  844. Element_CO2();
  845. virtual ~Element_CO2();
  846. static int update(UPDATE_FUNC_ARGS);
  847. };
  848.  
  849. class Element_DRIC: public Element
  850. {
  851. public:
  852. Element_DRIC();
  853. virtual ~Element_DRIC();
  854.  
  855. };
  856.  
  857. class Element_CBNW: public Element
  858. {
  859. public:
  860. Element_CBNW();
  861. virtual ~Element_CBNW();
  862. static int update(UPDATE_FUNC_ARGS);
  863. static int graphics(GRAPHICS_FUNC_ARGS);
  864. };
  865.  
  866. class Element_STOR: public Element
  867. {
  868. public:
  869. Element_STOR();
  870. virtual ~Element_STOR();
  871. static int update(UPDATE_FUNC_ARGS);
  872. static int graphics(GRAPHICS_FUNC_ARGS);
  873. };
  874.  
  875. class Element_PVOD: public Element
  876. {
  877. public:
  878. Element_PVOD();
  879. virtual ~Element_PVOD();
  880. static int update(UPDATE_FUNC_ARGS);
  881. static int graphics(GRAPHICS_FUNC_ARGS);
  882. };
  883.  
  884. class Element_CONV: public Element
  885. {
  886. public:
  887. Element_CONV();
  888. virtual ~Element_CONV();
  889. static int update(UPDATE_FUNC_ARGS);
  890. };
  891.  
  892. class Element_CAUS: public Element
  893. {
  894. public:
  895. Element_CAUS();
  896. virtual ~Element_CAUS();
  897. static int update(UPDATE_FUNC_ARGS);
  898. };
  899.  
  900. class Element_LIGH: public Element
  901. {
  902. public:
  903. Element_LIGH();
  904. virtual ~Element_LIGH();
  905. static int update(UPDATE_FUNC_ARGS);
  906. static int LIGH_nearest_part(Simulation * sim, int ci, int max_d);
  907. static int contact_part(Simulation * sim, int i, int tp);
  908. static void create_line_par(Simulation * sim, int x1, int y1, int x2, int y2, int c, int temp, int life, int tmp, int tmp2);
  909. static int graphics(GRAPHICS_FUNC_ARGS);
  910. };
  911.  
  912. class Element_TESC: public Element
  913. {
  914. public:
  915. Element_TESC();
  916. virtual ~Element_TESC();
  917.  
  918. };
  919.  
  920. class Element_DEST: public Element
  921. {
  922. public:
  923. Element_DEST();
  924. virtual ~Element_DEST();
  925. static int update(UPDATE_FUNC_ARGS);
  926. static int graphics(GRAPHICS_FUNC_ARGS);
  927. };
  928.  
  929. class Element_SPNG: public Element
  930. {
  931. public:
  932. Element_SPNG();
  933. virtual ~Element_SPNG();
  934. static int update(UPDATE_FUNC_ARGS);
  935. static int graphics(GRAPHICS_FUNC_ARGS);
  936. };
  937.  
  938. class Element_RIME: public Element
  939. {
  940. public:
  941. Element_RIME();
  942. virtual ~Element_RIME();
  943. static int update(UPDATE_FUNC_ARGS);
  944. };
  945.  
  946. class Element_FOG: public Element
  947. {
  948. public:
  949. Element_FOG();
  950. virtual ~Element_FOG();
  951. static int update(UPDATE_FUNC_ARGS);
  952. };
  953.  
  954. class Element_BCLN: public Element
  955. {
  956. public:
  957. Element_BCLN();
  958. virtual ~Element_BCLN();
  959. static int update(UPDATE_FUNC_ARGS);
  960. };
  961.  
  962. class Element_LOVE: public Element
  963. {
  964. public:
  965. Element_LOVE();
  966. virtual ~Element_LOVE();
  967. static int update(UPDATE_FUNC_ARGS);
  968. static int RuleTable[9][9];
  969. };
  970.  
  971. class Element_DEUT: public Element
  972. {
  973. public:
  974. Element_DEUT();
  975. virtual ~Element_DEUT();
  976. static int update(UPDATE_FUNC_ARGS);
  977. static int graphics(GRAPHICS_FUNC_ARGS);
  978. };
  979.  
  980. class Element_WARP: public Element
  981. {
  982. public:
  983. Element_WARP();
  984. virtual ~Element_WARP();
  985. static int update(UPDATE_FUNC_ARGS);
  986. static int graphics(GRAPHICS_FUNC_ARGS);
  987. };
  988.  
  989. class Element_PUMP: public Element
  990. {
  991. public:
  992. Element_PUMP();
  993. virtual ~Element_PUMP();
  994. static int update(UPDATE_FUNC_ARGS);
  995. static int graphics(GRAPHICS_FUNC_ARGS);
  996. };
  997.  
  998. class Element_FWRK: public Element
  999. {
  1000. public:
  1001. Element_FWRK();
  1002. virtual ~Element_FWRK();
  1003. static int update(UPDATE_FUNC_ARGS);
  1004. };
  1005.  
  1006. class Element_PIPE: public Element
  1007. {
  1008. public:
  1009. Element_PIPE();
  1010. virtual ~Element_PIPE();
  1011. static int update(UPDATE_FUNC_ARGS);
  1012. static int graphics(GRAPHICS_FUNC_ARGS);
  1013. static void transfer_pipe_to_part(Particle *pipe, Particle *part);
  1014. static void transfer_part_to_pipe(Particle *part, Particle *pipe);
  1015. static void transfer_pipe_to_pipe(Particle *src, Particle *dest);
  1016. static void pushParticle(Simulation * sim, int i, int count, int original);
  1017. };
  1018.  
  1019. class Element_FRZZ: public Element
  1020. {
  1021. public:
  1022. Element_FRZZ();
  1023. virtual ~Element_FRZZ();
  1024. static int update(UPDATE_FUNC_ARGS);
  1025. };
  1026.  
  1027. class Element_FRZW: public Element
  1028. {
  1029. public:
  1030. Element_FRZW();
  1031. virtual ~Element_FRZW();
  1032. static int update(UPDATE_FUNC_ARGS);
  1033. };
  1034.  
  1035. class Element_GRAV: public Element
  1036. {
  1037. public:
  1038. Element_GRAV();
  1039. virtual ~Element_GRAV();
  1040. static int update(UPDATE_FUNC_ARGS);
  1041. static int graphics(GRAPHICS_FUNC_ARGS);
  1042. };
  1043.  
  1044. class Element_BIZR: public Element
  1045. {
  1046. public:
  1047. Element_BIZR();
  1048. virtual ~Element_BIZR();
  1049. static int update(UPDATE_FUNC_ARGS);
  1050. static int graphics(GRAPHICS_FUNC_ARGS);
  1051. };
  1052.  
  1053. class Element_BIZRG: public Element
  1054. {
  1055. public:
  1056. Element_BIZRG();
  1057. virtual ~Element_BIZRG();
  1058. static int update(UPDATE_FUNC_ARGS);
  1059. static int graphics(GRAPHICS_FUNC_ARGS);
  1060. };
  1061.  
  1062. class Element_BIZRS: public Element
  1063. {
  1064. public:
  1065. Element_BIZRS();
  1066. virtual ~Element_BIZRS();
  1067. static int update(UPDATE_FUNC_ARGS);
  1068. static int graphics(GRAPHICS_FUNC_ARGS);
  1069. };
  1070.  
  1071. class Element_INST: public Element
  1072. {
  1073. public:
  1074. Element_INST();
  1075. virtual ~Element_INST();
  1076.  
  1077. };
  1078.  
  1079. class Element_ISOZ: public Element
  1080. {
  1081. public:
  1082. Element_ISOZ();
  1083. virtual ~Element_ISOZ();
  1084. static int update(UPDATE_FUNC_ARGS);
  1085. };
  1086.  
  1087. class Element_ISZS: public Element
  1088. {
  1089. public:
  1090. Element_ISZS();
  1091. virtual ~Element_ISZS();
  1092. static int update(UPDATE_FUNC_ARGS);
  1093. };
  1094.  
  1095. class Element_PRTI: public Element
  1096. {
  1097. public:
  1098. Element_PRTI();
  1099. virtual ~Element_PRTI();
  1100. static int update(UPDATE_FUNC_ARGS);
  1101. static int graphics(GRAPHICS_FUNC_ARGS);
  1102. };
  1103.  
  1104. class Element_PRTO: public Element
  1105. {
  1106. public:
  1107. Element_PRTO();
  1108. virtual ~Element_PRTO();
  1109. static int update(UPDATE_FUNC_ARGS);
  1110. static int graphics(GRAPHICS_FUNC_ARGS);
  1111. };
  1112.  
  1113. class Element_PSTE: public Element
  1114. {
  1115. public:
  1116. Element_PSTE();
  1117. virtual ~Element_PSTE();
  1118.  
  1119. };
  1120.  
  1121. class Element_PSTS: public Element
  1122. {
  1123. public:
  1124. Element_PSTS();
  1125. virtual ~Element_PSTS();
  1126.  
  1127. };
  1128.  
  1129. class Element_ANAR: public Element
  1130. {
  1131. public:
  1132. Element_ANAR();
  1133. virtual ~Element_ANAR();
  1134. static int update(UPDATE_FUNC_ARGS);
  1135. };
  1136.  
  1137. class Element_VINE: public Element
  1138. {
  1139. public:
  1140. Element_VINE();
  1141. virtual ~Element_VINE();
  1142. static int update(UPDATE_FUNC_ARGS);
  1143. };
  1144.  
  1145. class Element_INVIS: public Element
  1146. {
  1147. public:
  1148. Element_INVIS();
  1149. virtual ~Element_INVIS();
  1150. static int graphics(GRAPHICS_FUNC_ARGS);
  1151. static int update(UPDATE_FUNC_ARGS);
  1152. };
  1153.  
  1154. class Element_116: public Element
  1155. {
  1156. public:
  1157. Element_116();
  1158. virtual ~Element_116();
  1159.  
  1160. };
  1161.  
  1162. class Element_SPAWN2: public Element
  1163. {
  1164. public:
  1165. Element_SPAWN2();
  1166. virtual ~Element_SPAWN2();
  1167. static int update(UPDATE_FUNC_ARGS);
  1168. };
  1169.  
  1170. class Element_SPAWN: public Element
  1171. {
  1172. public:
  1173. Element_SPAWN();
  1174. virtual ~Element_SPAWN();
  1175. static int update(UPDATE_FUNC_ARGS);
  1176. };
  1177.  
  1178. class Element_SHLD1: public Element
  1179. {
  1180. public:
  1181. Element_SHLD1();
  1182. virtual ~Element_SHLD1();
  1183. static int update(UPDATE_FUNC_ARGS);
  1184. };
  1185.  
  1186. class Element_SHLD2: public Element
  1187. {
  1188. public:
  1189. Element_SHLD2();
  1190. virtual ~Element_SHLD2();
  1191. static int update(UPDATE_FUNC_ARGS);
  1192. };
  1193.  
  1194. class Element_SHLD3: public Element
  1195. {
  1196. public:
  1197. Element_SHLD3();
  1198. virtual ~Element_SHLD3();
  1199. static int update(UPDATE_FUNC_ARGS);
  1200. };
  1201.  
  1202. class Element_SHLD4: public Element
  1203. {
  1204. public:
  1205. Element_SHLD4();
  1206. virtual ~Element_SHLD4();
  1207. static int update(UPDATE_FUNC_ARGS);
  1208. };
  1209.  
  1210. class Element_LOLZ: public Element
  1211. {
  1212. public:
  1213. Element_LOLZ();
  1214. virtual ~Element_LOLZ();
  1215. static int update(UPDATE_FUNC_ARGS);
  1216. static int RuleTable[9][9];
  1217. };
  1218.  
  1219. class Element_WIFI: public Element
  1220. {
  1221. public:
  1222. Element_WIFI();
  1223. virtual ~Element_WIFI();
  1224. static int update(UPDATE_FUNC_ARGS);
  1225. static int graphics(GRAPHICS_FUNC_ARGS);
  1226. };
  1227.  
  1228. class Element_FILT: public Element
  1229. {
  1230. public:
  1231. Element_FILT();
  1232. virtual ~Element_FILT();
  1233. static int graphics(GRAPHICS_FUNC_ARGS);
  1234. };
  1235.  
  1236. class Element_ARAY: public Element
  1237. {
  1238. public:
  1239. Element_ARAY();
  1240. virtual ~Element_ARAY();
  1241. static int update(UPDATE_FUNC_ARGS);
  1242. };
  1243.  
  1244. class Element_BRAY: public Element
  1245. {
  1246. public:
  1247. Element_BRAY();
  1248. virtual ~Element_BRAY();
  1249. static int graphics(GRAPHICS_FUNC_ARGS);
  1250. };
  1251.  
  1252. class Element_STKM2: public Element
  1253. {
  1254. public:
  1255. Element_STKM2();
  1256. virtual ~Element_STKM2();
  1257. static int update(UPDATE_FUNC_ARGS);
  1258. };
  1259.  
  1260. class Element_BOMB: public Element
  1261. {
  1262. public:
  1263. Element_BOMB();
  1264. virtual ~Element_BOMB();
  1265. static int update(UPDATE_FUNC_ARGS);
  1266. static int graphics(GRAPHICS_FUNC_ARGS);
  1267. };
  1268.  
  1269. class Element_C5: public Element
  1270. {
  1271. public:
  1272. Element_C5();
  1273. virtual ~Element_C5();
  1274. static int update(UPDATE_FUNC_ARGS);
  1275. };
  1276.  
  1277. class Element_SING: public Element
  1278. {
  1279. public:
  1280. Element_SING();
  1281. virtual ~Element_SING();
  1282. static int update(UPDATE_FUNC_ARGS);
  1283. };
  1284.  
  1285. class Element_QRTZ: public Element
  1286. {
  1287. public:
  1288. Element_QRTZ();
  1289. virtual ~Element_QRTZ();
  1290. static int update(UPDATE_FUNC_ARGS);
  1291. static int graphics(GRAPHICS_FUNC_ARGS);
  1292. };
  1293.  
  1294. class Element_PQRT: public Element
  1295. {
  1296. public:
  1297. Element_PQRT();
  1298. virtual ~Element_PQRT();
  1299. static int update(UPDATE_FUNC_ARGS);
  1300. static int graphics(GRAPHICS_FUNC_ARGS);
  1301. };
  1302.  
  1303. class Element_EMP: public Element
  1304. {
  1305. public:
  1306. Element_EMP();
  1307. virtual ~Element_EMP();
  1308. static int update(UPDATE_FUNC_ARGS);
  1309. static int graphics(GRAPHICS_FUNC_ARGS);
  1310. };
  1311.  
  1312. class Element_BREC: public Element
  1313. {
  1314. public:
  1315. Element_BREC();
  1316. virtual ~Element_BREC();
  1317. static int update(UPDATE_FUNC_ARGS);
  1318. };
  1319.  
  1320. class Element_ELEC: public Element
  1321. {
  1322. public:
  1323. Element_ELEC();
  1324. virtual ~Element_ELEC();
  1325. static int update(UPDATE_FUNC_ARGS);
  1326. static int graphics(GRAPHICS_FUNC_ARGS);
  1327. };
  1328.  
  1329. class Element_ACEL: public Element
  1330. {
  1331. public:
  1332. Element_ACEL();
  1333. virtual ~Element_ACEL();
  1334. static int update(UPDATE_FUNC_ARGS);
  1335. static int graphics(GRAPHICS_FUNC_ARGS);
  1336. };
  1337.  
  1338. class Element_DCEL: public Element
  1339. {
  1340. public:
  1341. Element_DCEL();
  1342. virtual ~Element_DCEL();
  1343. static int update(UPDATE_FUNC_ARGS);
  1344. static int graphics(GRAPHICS_FUNC_ARGS);
  1345. };
  1346.  
  1347. class Element_BANG: public Element
  1348. {
  1349. public:
  1350. Element_BANG();
  1351. virtual ~Element_BANG();
  1352. static int update(UPDATE_FUNC_ARGS);
  1353. };
  1354.  
  1355. class Element_IGNT: public Element
  1356. {
  1357. public:
  1358. Element_IGNT();
  1359. virtual ~Element_IGNT();
  1360. static int update(UPDATE_FUNC_ARGS);
  1361. };
  1362.  
  1363. class Element_BOYL: public Element
  1364. {
  1365. public:
  1366. Element_BOYL();
  1367. virtual ~Element_BOYL();
  1368. static int update(UPDATE_FUNC_ARGS);
  1369. };
  1370.  
  1371. class Element_GEL: public Element
  1372. {
  1373. public:
  1374. Element_GEL();
  1375. virtual ~Element_GEL();
  1376. static int update(UPDATE_FUNC_ARGS);
  1377. static int graphics(GRAPHICS_FUNC_ARGS);
  1378. };
  1379.  
  1380. class Element_TRON: public Element
  1381. {
  1382. public:
  1383. Element_TRON();
  1384. virtual ~Element_TRON();
  1385. static void init_graphics();
  1386. static int update(UPDATE_FUNC_ARGS);
  1387. static int graphics(GRAPHICS_FUNC_ARGS);
  1388. static int new_tronhead(Simulation * sim, int x, int y, int i, int direction);
  1389. static int trymovetron(Simulation * sim, int x, int y, int dir, int i, int len);
  1390. };
  1391.  
  1392. class Element_TTAN: public Element
  1393. {
  1394. public:
  1395. Element_TTAN();
  1396. virtual ~Element_TTAN();
  1397. static int update(UPDATE_FUNC_ARGS);
  1398. };
  1399.  
  1400. class Element_EXOT: public Element
  1401. {
  1402. public:
  1403. Element_EXOT();
  1404. virtual ~Element_EXOT();
  1405. static int update(UPDATE_FUNC_ARGS);
  1406. static int graphics(GRAPHICS_FUNC_ARGS);
  1407. };
  1408.  
  1409. class Element_146: public Element
  1410. {
  1411. public:
  1412. Element_146();
  1413. virtual ~Element_146();
  1414.  
  1415. };
  1416.  
  1417. class Element_EMBR: public Element
  1418. {
  1419. public:
  1420. Element_EMBR();
  1421. virtual ~Element_EMBR();
  1422. static int update(UPDATE_FUNC_ARGS);
  1423. static int graphics(GRAPHICS_FUNC_ARGS);
  1424. };
  1425.  
  1426. class Element_H2: public Element
  1427. {
  1428. public:
  1429. Element_H2();
  1430. virtual ~Element_H2();
  1431. static int update(UPDATE_FUNC_ARGS);
  1432. };
  1433.  
  1434. class Element_SOAP: public Element
  1435. {
  1436. public:
  1437. Element_SOAP();
  1438. virtual ~Element_SOAP();
  1439. static void attach(Particle * parts, int i1, int i2);
  1440. static int update(UPDATE_FUNC_ARGS);
  1441. static int graphics(GRAPHICS_FUNC_ARGS);
  1442. };
  1443.  
  1444. class Element_NBHL: public Element
  1445. {
  1446. public:
  1447. Element_NBHL();
  1448. virtual ~Element_NBHL();
  1449. static int update(UPDATE_FUNC_ARGS);
  1450. };
  1451.  
  1452. class Element_NWHL: public Element
  1453. {
  1454. public:
  1455. Element_NWHL();
  1456. virtual ~Element_NWHL();
  1457. static int update(UPDATE_FUNC_ARGS);
  1458. };
  1459.  
  1460. class Element_MERC: public Element
  1461. {
  1462. public:
  1463. Element_MERC();
  1464. virtual ~Element_MERC();
  1465. static int update(UPDATE_FUNC_ARGS);
  1466. };
  1467.  
  1468. class Element_PBCN: public Element
  1469. {
  1470. public:
  1471. Element_PBCN();
  1472. virtual ~Element_PBCN();
  1473. static int update(UPDATE_FUNC_ARGS);
  1474. static int graphics(GRAPHICS_FUNC_ARGS);
  1475. };
  1476.  
  1477. class Element_GPMP: public Element
  1478. {
  1479. public:
  1480. Element_GPMP();
  1481. virtual ~Element_GPMP();
  1482. static int update(UPDATE_FUNC_ARGS);
  1483. static int graphics(GRAPHICS_FUNC_ARGS);
  1484. };
  1485.  
  1486. class Element_CLST: public Element
  1487. {
  1488. public:
  1489. Element_CLST();
  1490. virtual ~Element_CLST();
  1491. static int update(UPDATE_FUNC_ARGS);
  1492. static int graphics(GRAPHICS_FUNC_ARGS);
  1493. };
  1494.  
  1495. class Element_WIRE: public Element
  1496. {
  1497. public:
  1498. Element_WIRE();
  1499. virtual ~Element_WIRE();
  1500. static int update(UPDATE_FUNC_ARGS);
  1501. static int graphics(GRAPHICS_FUNC_ARGS);
  1502. };
  1503.  
  1504. class Element_GBMB: public Element
  1505. {
  1506. public:
  1507. Element_GBMB();
  1508. virtual ~Element_GBMB();
  1509. static int update(UPDATE_FUNC_ARGS);
  1510. static int graphics(GRAPHICS_FUNC_ARGS);
  1511. };
  1512.  
  1513. class Element_FIGH: public Element
  1514. {
  1515. public:
  1516. Element_FIGH();
  1517. virtual ~Element_FIGH();
  1518. static int update(UPDATE_FUNC_ARGS);
  1519. };
  1520.  
  1521. class Element_FRAY: public Element
  1522. {
  1523. public:
  1524. Element_FRAY();
  1525. virtual ~Element_FRAY();
  1526. static int update(UPDATE_FUNC_ARGS);
  1527. };
  1528.  
  1529. class Element_REPL: public Element
  1530. {
  1531. public:
  1532. Element_REPL();
  1533. virtual ~Element_REPL();
  1534. static int update(UPDATE_FUNC_ARGS);
  1535. };
  1536.  
  1537. class Element_PPIP: public Element
  1538. {
  1539. public:
  1540. Element_PPIP();
  1541. virtual ~Element_PPIP();
  1542. static int ppip_changed;
  1543. static void flood_trigger(Simulation * sim, int x, int y, int sparkedBy);
  1544. };
  1545.  
  1546. class Element_DTEC: public Element
  1547. {
  1548. public:
  1549. Element_DTEC();
  1550. virtual ~Element_DTEC();
  1551. static int update(UPDATE_FUNC_ARGS);
  1552. static int in_radius(int rd, int x, int y);
  1553. };
  1554.  
  1555. class Element_DMG: public Element
  1556. {
  1557. public:
  1558. Element_DMG();
  1559. virtual ~Element_DMG();
  1560. static int update(UPDATE_FUNC_ARGS);
  1561. static int graphics(GRAPHICS_FUNC_ARGS);
  1562. };
  1563.  
  1564. class Element_TSNS: public Element
  1565. {
  1566. public:
  1567. Element_TSNS();
  1568. virtual ~Element_TSNS();
  1569. static int update(UPDATE_FUNC_ARGS);
  1570. };
  1571.  
  1572. class Element_VIBR: public Element
  1573. {
  1574. public:
  1575. Element_VIBR();
  1576. virtual ~Element_VIBR();
  1577. static int update(UPDATE_FUNC_ARGS);
  1578. static int graphics(GRAPHICS_FUNC_ARGS);
  1579. };
  1580.  
  1581. class Element_BVBR: public Element
  1582. {
  1583. public:
  1584. Element_BVBR();
  1585. virtual ~Element_BVBR();
  1586. };
  1587. class Element_GOLD: public Element
  1588. {
  1589. public:
  1590. Element_GOLD();
  1591. virtual ~Element_GOLD();
  1592.  
  1593. };
  1594. std::vector<Element> GetElements();
  1595.  
  1596. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement