tdog442

ElementClasses.h

May 4th, 2013
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.53 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_CFLM 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_CRAY 167
  177. #define PT_PSTN 168
  178. #define PT_FRME 169
  179. #define PT_GOLD 170
  180.  
  181. class Element_NONE: public Element
  182. {
  183. public:
  184. Element_NONE();
  185. virtual ~Element_NONE();
  186. static VideoBuffer * iconGen(int, int, int);
  187. };
  188.  
  189. class Element_DUST: public Element
  190. {
  191. public:
  192. Element_DUST();
  193. virtual ~Element_DUST();
  194.  
  195. };
  196.  
  197. class Element_WATR: public Element
  198. {
  199. public:
  200. Element_WATR();
  201. virtual ~Element_WATR();
  202. static int update(UPDATE_FUNC_ARGS);
  203. };
  204.  
  205. class Element_OIL: public Element
  206. {
  207. public:
  208. Element_OIL();
  209. virtual ~Element_OIL();
  210.  
  211. };
  212.  
  213. class Element_FIRE: public Element
  214. {
  215. public:
  216. Element_FIRE();
  217. virtual ~Element_FIRE();
  218. static int update(UPDATE_FUNC_ARGS);
  219. static int updateLegacy(UPDATE_FUNC_ARGS);
  220. static int graphics(GRAPHICS_FUNC_ARGS);
  221. };
  222.  
  223. class Element_STNE: public Element
  224. {
  225. public:
  226. Element_STNE();
  227. virtual ~Element_STNE();
  228.  
  229. };
  230.  
  231. class Element_LAVA: public Element
  232. {
  233. public:
  234. Element_LAVA();
  235. virtual ~Element_LAVA();
  236. static int graphics(GRAPHICS_FUNC_ARGS);
  237. };
  238.  
  239. class Element_GUNP: public Element
  240. {
  241. public:
  242. Element_GUNP();
  243. virtual ~Element_GUNP();
  244.  
  245. };
  246.  
  247. class Element_NITR: public Element
  248. {
  249. public:
  250. Element_NITR();
  251. virtual ~Element_NITR();
  252.  
  253. };
  254.  
  255. class Element_CLNE: public Element
  256. {
  257. public:
  258. Element_CLNE();
  259. virtual ~Element_CLNE();
  260. static int update(UPDATE_FUNC_ARGS);
  261. };
  262.  
  263. class Element_GAS: public Element
  264. {
  265. public:
  266. Element_GAS();
  267. virtual ~Element_GAS();
  268.  
  269. };
  270.  
  271. class Element_PLEX: public Element
  272. {
  273. public:
  274. Element_PLEX();
  275. virtual ~Element_PLEX();
  276.  
  277. };
  278.  
  279. class Element_GOO: public Element
  280. {
  281. public:
  282. Element_GOO();
  283. virtual ~Element_GOO();
  284. static int update(UPDATE_FUNC_ARGS);
  285. };
  286.  
  287. class Element_ICEI: public Element
  288. {
  289. public:
  290. Element_ICEI();
  291. virtual ~Element_ICEI();
  292. static int update(UPDATE_FUNC_ARGS);
  293. };
  294.  
  295. class Element_METL: public Element
  296. {
  297. public:
  298. Element_METL();
  299. virtual ~Element_METL();
  300.  
  301. };
  302.  
  303. class Element_SPRK: public Element
  304. {
  305. public:
  306. Element_SPRK();
  307. virtual ~Element_SPRK();
  308. static int update(UPDATE_FUNC_ARGS);
  309. static int graphics(GRAPHICS_FUNC_ARGS);
  310. };
  311.  
  312. class Element_SNOW: public Element
  313. {
  314. public:
  315. Element_SNOW();
  316. virtual ~Element_SNOW();
  317. static int update(UPDATE_FUNC_ARGS);
  318. };
  319.  
  320. class Element_WOOD: public Element
  321. {
  322. public:
  323. Element_WOOD();
  324. virtual ~Element_WOOD();
  325. static int update(UPDATE_FUNC_ARGS);
  326. static int graphics(GRAPHICS_FUNC_ARGS);
  327. };
  328.  
  329. class Element_NEUT: public Element
  330. {
  331. public:
  332. Element_NEUT();
  333. virtual ~Element_NEUT();
  334. static int update(UPDATE_FUNC_ARGS);
  335. static int graphics(GRAPHICS_FUNC_ARGS);
  336. static int create_n_parts(Simulation * sim, int n, int x, int y, float vx, float vy, float temp, int t);
  337. };
  338.  
  339. class Element_PLUT: public Element
  340. {
  341. public:
  342. Element_PLUT();
  343. virtual ~Element_PLUT();
  344. static int update(UPDATE_FUNC_ARGS);
  345. };
  346.  
  347. class Element_PLNT: public Element
  348. {
  349. public:
  350. Element_PLNT();
  351. virtual ~Element_PLNT();
  352. static int update(UPDATE_FUNC_ARGS);
  353. static int graphics(GRAPHICS_FUNC_ARGS);
  354. };
  355.  
  356. class Element_ACID: public Element
  357. {
  358. public:
  359. Element_ACID();
  360. virtual ~Element_ACID();
  361. static int update(UPDATE_FUNC_ARGS);
  362. static int graphics(GRAPHICS_FUNC_ARGS);
  363. };
  364.  
  365. class Element_VOID: public Element
  366. {
  367. public:
  368. Element_VOID();
  369. virtual ~Element_VOID();
  370.  
  371. };
  372.  
  373. class Element_WTRV: public Element
  374. {
  375. public:
  376. Element_WTRV();
  377. virtual ~Element_WTRV();
  378. static int update(UPDATE_FUNC_ARGS);
  379. };
  380.  
  381. class Element_CNCT: public Element
  382. {
  383. public:
  384. Element_CNCT();
  385. virtual ~Element_CNCT();
  386.  
  387. };
  388.  
  389. class Element_DSTW: public Element
  390. {
  391. public:
  392. Element_DSTW();
  393. virtual ~Element_DSTW();
  394. static int update(UPDATE_FUNC_ARGS);
  395. };
  396.  
  397. class Element_SALT: public Element
  398. {
  399. public:
  400. Element_SALT();
  401. virtual ~Element_SALT();
  402.  
  403. };
  404.  
  405. class Element_SLTW: public Element
  406. {
  407. public:
  408. Element_SLTW();
  409. virtual ~Element_SLTW();
  410. static int update(UPDATE_FUNC_ARGS);
  411. };
  412.  
  413. class Element_DMND: public Element
  414. {
  415. public:
  416. Element_DMND();
  417. virtual ~Element_DMND();
  418.  
  419. };
  420.  
  421. class Element_BMTL: public Element
  422. {
  423. public:
  424. Element_BMTL();
  425. virtual ~Element_BMTL();
  426. static int update(UPDATE_FUNC_ARGS);
  427. };
  428.  
  429. class Element_BRMT: public Element
  430. {
  431. public:
  432. Element_BRMT();
  433. virtual ~Element_BRMT();
  434. static int update(UPDATE_FUNC_ARGS);
  435. };
  436.  
  437. class Element_PHOT: public Element
  438. {
  439. public:
  440. Element_PHOT();
  441. virtual ~Element_PHOT();
  442. static int update(UPDATE_FUNC_ARGS);
  443. static int graphics(GRAPHICS_FUNC_ARGS);
  444. };
  445.  
  446. class Element_URAN: public Element
  447. {
  448. public:
  449. Element_URAN();
  450. virtual ~Element_URAN();
  451. static int update(UPDATE_FUNC_ARGS);
  452. };
  453.  
  454. class Element_WAX: public Element
  455. {
  456. public:
  457. Element_WAX();
  458. virtual ~Element_WAX();
  459.  
  460. };
  461.  
  462. class Element_MWAX: public Element
  463. {
  464. public:
  465. Element_MWAX();
  466. virtual ~Element_MWAX();
  467.  
  468. };
  469.  
  470. class Element_PSCN: public Element
  471. {
  472. public:
  473. Element_PSCN();
  474. virtual ~Element_PSCN();
  475.  
  476. };
  477.  
  478. class Element_NSCN: public Element
  479. {
  480. public:
  481. Element_NSCN();
  482. virtual ~Element_NSCN();
  483.  
  484. };
  485.  
  486. class Element_LNTG: public Element
  487. {
  488. public:
  489. Element_LNTG();
  490. virtual ~Element_LNTG();
  491.  
  492. };
  493.  
  494. class Element_INSL: public Element
  495. {
  496. public:
  497. Element_INSL();
  498. virtual ~Element_INSL();
  499.  
  500. };
  501.  
  502. class Element_BHOL: public Element
  503. {
  504. public:
  505. Element_BHOL();
  506. virtual ~Element_BHOL();
  507.  
  508. };
  509.  
  510. class Element_WHOL: public Element
  511. {
  512. public:
  513. Element_WHOL();
  514. virtual ~Element_WHOL();
  515.  
  516. };
  517.  
  518. class Element_RBDM: public Element
  519. {
  520. public:
  521. Element_RBDM();
  522. virtual ~Element_RBDM();
  523.  
  524. };
  525.  
  526. class Element_LRBD: public Element
  527. {
  528. public:
  529. Element_LRBD();
  530. virtual ~Element_LRBD();
  531.  
  532. };
  533.  
  534. class Element_NTCT: public Element
  535. {
  536. public:
  537. Element_NTCT();
  538. virtual ~Element_NTCT();
  539. static int update(UPDATE_FUNC_ARGS);
  540. };
  541.  
  542. class Element_SAND: public Element
  543. {
  544. public:
  545. Element_SAND();
  546. virtual ~Element_SAND();
  547.  
  548. };
  549.  
  550. class Element_GLAS: public Element
  551. {
  552. public:
  553. Element_GLAS();
  554. virtual ~Element_GLAS();
  555. static int update(UPDATE_FUNC_ARGS);
  556. };
  557.  
  558. class Element_PTCT: public Element
  559. {
  560. public:
  561. Element_PTCT();
  562. virtual ~Element_PTCT();
  563. static int update(UPDATE_FUNC_ARGS);
  564. };
  565.  
  566. class Element_BGLA: public Element
  567. {
  568. public:
  569. Element_BGLA();
  570. virtual ~Element_BGLA();
  571.  
  572. };
  573.  
  574. class Element_THDR: public Element
  575. {
  576. public:
  577. Element_THDR();
  578. virtual ~Element_THDR();
  579. static int update(UPDATE_FUNC_ARGS);
  580. static int graphics(GRAPHICS_FUNC_ARGS);
  581. };
  582.  
  583. class Element_PLSM: public Element
  584. {
  585. public:
  586. Element_PLSM();
  587. virtual ~Element_PLSM();
  588. static int graphics(GRAPHICS_FUNC_ARGS);
  589. };
  590.  
  591. class Element_ETRD: public Element
  592. {
  593. public:
  594. Element_ETRD();
  595. virtual ~Element_ETRD();
  596.  
  597. };
  598.  
  599. class Element_NICE: public Element
  600. {
  601. public:
  602. Element_NICE();
  603. virtual ~Element_NICE();
  604.  
  605. };
  606.  
  607. class Element_NBLE: public Element
  608. {
  609. public:
  610. Element_NBLE();
  611. virtual ~Element_NBLE();
  612. static int update(UPDATE_FUNC_ARGS);
  613. };
  614.  
  615. class Element_BTRY: public Element
  616. {
  617. public:
  618. Element_BTRY();
  619. virtual ~Element_BTRY();
  620. static int update(UPDATE_FUNC_ARGS);
  621. };
  622.  
  623. class Element_LCRY: public Element
  624. {
  625. public:
  626. Element_LCRY();
  627. virtual ~Element_LCRY();
  628. static int update(UPDATE_FUNC_ARGS);
  629. static int graphics(GRAPHICS_FUNC_ARGS);
  630. };
  631.  
  632. class Element_STKM: public Element
  633. {
  634. public:
  635. Element_STKM();
  636. virtual ~Element_STKM();
  637. static int update(UPDATE_FUNC_ARGS);
  638. static int graphics(GRAPHICS_FUNC_ARGS);
  639. static int run_stickman(playerst* playerp, UPDATE_FUNC_ARGS);
  640. static void STKM_interact(Simulation * sim, playerst* playerp, int i, int x, int y);
  641. static void STKM_init_legs(Simulation * sim, playerst* playerp, int i);
  642. };
  643.  
  644. class Element_SWCH: public Element
  645. {
  646. public:
  647. Element_SWCH();
  648. virtual ~Element_SWCH();
  649. static int update(UPDATE_FUNC_ARGS);
  650. static int graphics(GRAPHICS_FUNC_ARGS);
  651. };
  652.  
  653. class Element_SMKE: public Element
  654. {
  655. public:
  656. Element_SMKE();
  657. virtual ~Element_SMKE();
  658. static int graphics(GRAPHICS_FUNC_ARGS);
  659. };
  660.  
  661. class Element_DESL: public Element
  662. {
  663. public:
  664. Element_DESL();
  665. virtual ~Element_DESL();
  666.  
  667. };
  668.  
  669. class Element_COAL: public Element
  670. {
  671. public:
  672. Element_COAL();
  673. virtual ~Element_COAL();
  674. static int update(UPDATE_FUNC_ARGS);
  675. static int graphics(GRAPHICS_FUNC_ARGS);
  676. };
  677.  
  678. class Element_LO2: public Element
  679. {
  680. public:
  681. Element_LO2();
  682. virtual ~Element_LO2();
  683.  
  684. };
  685.  
  686. class Element_O2: public Element
  687. {
  688. public:
  689. Element_O2();
  690. virtual ~Element_O2();
  691. static int update(UPDATE_FUNC_ARGS);
  692. };
  693.  
  694. class Element_INWR: public Element
  695. {
  696. public:
  697. Element_INWR();
  698. virtual ~Element_INWR();
  699.  
  700. };
  701.  
  702. class Element_YEST: public Element
  703. {
  704. public:
  705. Element_YEST();
  706. virtual ~Element_YEST();
  707. static int update(UPDATE_FUNC_ARGS);
  708. };
  709.  
  710. class Element_DYST: public Element
  711. {
  712. public:
  713. Element_DYST();
  714. virtual ~Element_DYST();
  715.  
  716. };
  717.  
  718. class Element_THRM: public Element
  719. {
  720. public:
  721. Element_THRM();
  722. virtual ~Element_THRM();
  723.  
  724. };
  725.  
  726. class Element_GLOW: public Element
  727. {
  728. public:
  729. Element_GLOW();
  730. virtual ~Element_GLOW();
  731. static int update(UPDATE_FUNC_ARGS);
  732. static int graphics(GRAPHICS_FUNC_ARGS);
  733. };
  734.  
  735. class Element_BRCK: public Element
  736. {
  737. public:
  738. Element_BRCK();
  739. virtual ~Element_BRCK();
  740. static int graphics(GRAPHICS_FUNC_ARGS);
  741. };
  742.  
  743. class Element_CFLM: public Element
  744. {
  745. public:
  746. Element_CFLM();
  747. virtual ~Element_CFLM();
  748. static int graphics(GRAPHICS_FUNC_ARGS);
  749. };
  750.  
  751. class Element_FIRW: public Element
  752. {
  753. public:
  754. Element_FIRW();
  755. virtual ~Element_FIRW();
  756. static int update(UPDATE_FUNC_ARGS);
  757. static int graphics(GRAPHICS_FUNC_ARGS);
  758. };
  759.  
  760. class Element_FUSE: public Element
  761. {
  762. public:
  763. Element_FUSE();
  764. virtual ~Element_FUSE();
  765. static int update(UPDATE_FUNC_ARGS);
  766. };
  767.  
  768. class Element_FSEP: public Element
  769. {
  770. public:
  771. Element_FSEP();
  772. virtual ~Element_FSEP();
  773. static int update(UPDATE_FUNC_ARGS);
  774. };
  775.  
  776. class Element_AMTR: public Element
  777. {
  778. public:
  779. Element_AMTR();
  780. virtual ~Element_AMTR();
  781. static int update(UPDATE_FUNC_ARGS);
  782. };
  783.  
  784. class Element_BCOL: public Element
  785. {
  786. public:
  787. Element_BCOL();
  788. virtual ~Element_BCOL();
  789. static int update(UPDATE_FUNC_ARGS);
  790. static int graphics(GRAPHICS_FUNC_ARGS);
  791. };
  792.  
  793. class Element_PCLN: public Element
  794. {
  795. public:
  796. Element_PCLN();
  797. virtual ~Element_PCLN();
  798. static int update(UPDATE_FUNC_ARGS);
  799. static int graphics(GRAPHICS_FUNC_ARGS);
  800. };
  801.  
  802. class Element_HSWC: public Element
  803. {
  804. public:
  805. Element_HSWC();
  806. virtual ~Element_HSWC();
  807. static int update(UPDATE_FUNC_ARGS);
  808. static int graphics(GRAPHICS_FUNC_ARGS);
  809. };
  810.  
  811. class Element_IRON: public Element
  812. {
  813. public:
  814. Element_IRON();
  815. virtual ~Element_IRON();
  816. static int update(UPDATE_FUNC_ARGS);
  817. };
  818.  
  819. class Element_MORT: public Element
  820. {
  821. public:
  822. Element_MORT();
  823. virtual ~Element_MORT();
  824. static int update(UPDATE_FUNC_ARGS);
  825. };
  826.  
  827. class Element_LIFE: public Element
  828. {
  829. public:
  830. Element_LIFE();
  831. virtual ~Element_LIFE();
  832. static int update(UPDATE_FUNC_ARGS);
  833. static int graphics(GRAPHICS_FUNC_ARGS);
  834. };
  835.  
  836. class Element_DLAY: public Element
  837. {
  838. public:
  839. Element_DLAY();
  840. virtual ~Element_DLAY();
  841. static int update(UPDATE_FUNC_ARGS);
  842. static int graphics(GRAPHICS_FUNC_ARGS);
  843. };
  844.  
  845. class Element_CO2: public Element
  846. {
  847. public:
  848. Element_CO2();
  849. virtual ~Element_CO2();
  850. static int update(UPDATE_FUNC_ARGS);
  851. };
  852.  
  853. class Element_DRIC: public Element
  854. {
  855. public:
  856. Element_DRIC();
  857. virtual ~Element_DRIC();
  858.  
  859. };
  860.  
  861. class Element_CBNW: public Element
  862. {
  863. public:
  864. Element_CBNW();
  865. virtual ~Element_CBNW();
  866. static int update(UPDATE_FUNC_ARGS);
  867. static int graphics(GRAPHICS_FUNC_ARGS);
  868. };
  869.  
  870. class Element_STOR: public Element
  871. {
  872. public:
  873. Element_STOR();
  874. virtual ~Element_STOR();
  875. static int update(UPDATE_FUNC_ARGS);
  876. static int graphics(GRAPHICS_FUNC_ARGS);
  877. };
  878.  
  879. class Element_PVOD: public Element
  880. {
  881. public:
  882. Element_PVOD();
  883. virtual ~Element_PVOD();
  884. static int update(UPDATE_FUNC_ARGS);
  885. static int graphics(GRAPHICS_FUNC_ARGS);
  886. };
  887.  
  888. class Element_CONV: public Element
  889. {
  890. public:
  891. Element_CONV();
  892. virtual ~Element_CONV();
  893. static int update(UPDATE_FUNC_ARGS);
  894. };
  895.  
  896. class Element_CAUS: public Element
  897. {
  898. public:
  899. Element_CAUS();
  900. virtual ~Element_CAUS();
  901. static int update(UPDATE_FUNC_ARGS);
  902. };
  903.  
  904. class Element_LIGH: public Element
  905. {
  906. public:
  907. Element_LIGH();
  908. virtual ~Element_LIGH();
  909. static int update(UPDATE_FUNC_ARGS);
  910. static int LIGH_nearest_part(Simulation * sim, int ci, int max_d);
  911. static int contact_part(Simulation * sim, int i, int tp);
  912. static bool create_LIGH(Simulation * sim, int x, int y, int c, int temp, int life, int tmp, int tmp2, bool last);
  913. 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);
  914. static int graphics(GRAPHICS_FUNC_ARGS);
  915. };
  916.  
  917. class Element_TESC: public Element
  918. {
  919. public:
  920. Element_TESC();
  921. virtual ~Element_TESC();
  922.  
  923. };
  924.  
  925. class Element_DEST: public Element
  926. {
  927. public:
  928. Element_DEST();
  929. virtual ~Element_DEST();
  930. static int update(UPDATE_FUNC_ARGS);
  931. static int graphics(GRAPHICS_FUNC_ARGS);
  932. };
  933.  
  934. class Element_SPNG: public Element
  935. {
  936. public:
  937. Element_SPNG();
  938. virtual ~Element_SPNG();
  939. static int update(UPDATE_FUNC_ARGS);
  940. static int graphics(GRAPHICS_FUNC_ARGS);
  941. };
  942.  
  943. class Element_RIME: public Element
  944. {
  945. public:
  946. Element_RIME();
  947. virtual ~Element_RIME();
  948. static int update(UPDATE_FUNC_ARGS);
  949. };
  950.  
  951. class Element_FOG: public Element
  952. {
  953. public:
  954. Element_FOG();
  955. virtual ~Element_FOG();
  956. static int update(UPDATE_FUNC_ARGS);
  957. };
  958.  
  959. class Element_BCLN: public Element
  960. {
  961. public:
  962. Element_BCLN();
  963. virtual ~Element_BCLN();
  964. static int update(UPDATE_FUNC_ARGS);
  965. };
  966.  
  967. class Element_LOVE: public Element
  968. {
  969. public:
  970. Element_LOVE();
  971. virtual ~Element_LOVE();
  972. static int RuleTable[9][9];
  973. static int love[XRES/9][YRES/9];;
  974. };
  975.  
  976. class Element_DEUT: public Element
  977. {
  978. public:
  979. Element_DEUT();
  980. virtual ~Element_DEUT();
  981. static int update(UPDATE_FUNC_ARGS);
  982. static int graphics(GRAPHICS_FUNC_ARGS);
  983. };
  984.  
  985. class Element_WARP: public Element
  986. {
  987. public:
  988. Element_WARP();
  989. virtual ~Element_WARP();
  990. static int update(UPDATE_FUNC_ARGS);
  991. static int graphics(GRAPHICS_FUNC_ARGS);
  992. };
  993.  
  994. class Element_PUMP: public Element
  995. {
  996. public:
  997. Element_PUMP();
  998. virtual ~Element_PUMP();
  999. static int update(UPDATE_FUNC_ARGS);
  1000. static int graphics(GRAPHICS_FUNC_ARGS);
  1001. };
  1002.  
  1003. class Element_FWRK: public Element
  1004. {
  1005. public:
  1006. Element_FWRK();
  1007. virtual ~Element_FWRK();
  1008. static int update(UPDATE_FUNC_ARGS);
  1009. };
  1010.  
  1011. class Element_PIPE: public Element
  1012. {
  1013. public:
  1014. Element_PIPE();
  1015. virtual ~Element_PIPE();
  1016. static int update(UPDATE_FUNC_ARGS);
  1017. static int graphics(GRAPHICS_FUNC_ARGS);
  1018. static void transfer_pipe_to_part(Particle *pipe, Particle *part);
  1019. static void transfer_part_to_pipe(Particle *part, Particle *pipe);
  1020. static void transfer_pipe_to_pipe(Particle *src, Particle *dest);
  1021. static void pushParticle(Simulation * sim, int i, int count, int original);
  1022. };
  1023.  
  1024. class Element_FRZZ: public Element
  1025. {
  1026. public:
  1027. Element_FRZZ();
  1028. virtual ~Element_FRZZ();
  1029. static int update(UPDATE_FUNC_ARGS);
  1030. };
  1031.  
  1032. class Element_FRZW: public Element
  1033. {
  1034. public:
  1035. Element_FRZW();
  1036. virtual ~Element_FRZW();
  1037. static int update(UPDATE_FUNC_ARGS);
  1038. };
  1039.  
  1040. class Element_GRAV: public Element
  1041. {
  1042. public:
  1043. Element_GRAV();
  1044. virtual ~Element_GRAV();
  1045. static int graphics(GRAPHICS_FUNC_ARGS);
  1046. };
  1047.  
  1048. class Element_BIZR: public Element
  1049. {
  1050. public:
  1051. Element_BIZR();
  1052. virtual ~Element_BIZR();
  1053. static int update(UPDATE_FUNC_ARGS);
  1054. static int graphics(GRAPHICS_FUNC_ARGS);
  1055. };
  1056.  
  1057. class Element_BIZRG: public Element
  1058. {
  1059. public:
  1060. Element_BIZRG();
  1061. virtual ~Element_BIZRG();
  1062.  
  1063. };
  1064.  
  1065. class Element_BIZRS: public Element
  1066. {
  1067. public:
  1068. Element_BIZRS();
  1069. virtual ~Element_BIZRS();
  1070.  
  1071. };
  1072.  
  1073. class Element_INST: public Element
  1074. {
  1075. public:
  1076. Element_INST();
  1077. virtual ~Element_INST();
  1078.  
  1079. };
  1080.  
  1081. class Element_ISOZ: public Element
  1082. {
  1083. public:
  1084. Element_ISOZ();
  1085. virtual ~Element_ISOZ();
  1086. static int update(UPDATE_FUNC_ARGS);
  1087. };
  1088.  
  1089. class Element_ISZS: public Element
  1090. {
  1091. public:
  1092. Element_ISZS();
  1093. virtual ~Element_ISZS();
  1094. static int update(UPDATE_FUNC_ARGS);
  1095. };
  1096.  
  1097. class Element_PRTI: public Element
  1098. {
  1099. public:
  1100. Element_PRTI();
  1101. virtual ~Element_PRTI();
  1102. static int update(UPDATE_FUNC_ARGS);
  1103. static int graphics(GRAPHICS_FUNC_ARGS);
  1104. };
  1105.  
  1106. class Element_PRTO: public Element
  1107. {
  1108. public:
  1109. Element_PRTO();
  1110. virtual ~Element_PRTO();
  1111. static int update(UPDATE_FUNC_ARGS);
  1112. static int graphics(GRAPHICS_FUNC_ARGS);
  1113. };
  1114.  
  1115. class Element_PSTE: public Element
  1116. {
  1117. public:
  1118. Element_PSTE();
  1119. virtual ~Element_PSTE();
  1120.  
  1121. };
  1122.  
  1123. class Element_PSTS: public Element
  1124. {
  1125. public:
  1126. Element_PSTS();
  1127. virtual ~Element_PSTS();
  1128.  
  1129. };
  1130.  
  1131. class Element_ANAR: public Element
  1132. {
  1133. public:
  1134. Element_ANAR();
  1135. virtual ~Element_ANAR();
  1136. static int update(UPDATE_FUNC_ARGS);
  1137. };
  1138.  
  1139. class Element_VINE: public Element
  1140. {
  1141. public:
  1142. Element_VINE();
  1143. virtual ~Element_VINE();
  1144. static int update(UPDATE_FUNC_ARGS);
  1145. static int graphics(GRAPHICS_FUNC_ARGS);
  1146. };
  1147.  
  1148. class Element_INVIS: public Element
  1149. {
  1150. public:
  1151. Element_INVIS();
  1152. virtual ~Element_INVIS();
  1153. static int update(UPDATE_FUNC_ARGS);
  1154. static int graphics(GRAPHICS_FUNC_ARGS);
  1155. };
  1156.  
  1157. class Element_116: public Element
  1158. {
  1159. public:
  1160. Element_116();
  1161. virtual ~Element_116();
  1162.  
  1163. };
  1164.  
  1165. class Element_SPAWN2: public Element
  1166. {
  1167. public:
  1168. Element_SPAWN2();
  1169. virtual ~Element_SPAWN2();
  1170. static int update(UPDATE_FUNC_ARGS);
  1171. };
  1172.  
  1173. class Element_SPAWN: public Element
  1174. {
  1175. public:
  1176. Element_SPAWN();
  1177. virtual ~Element_SPAWN();
  1178. static int update(UPDATE_FUNC_ARGS);
  1179. };
  1180.  
  1181. class Element_SHLD1: public Element
  1182. {
  1183. public:
  1184. Element_SHLD1();
  1185. virtual ~Element_SHLD1();
  1186. static int update(UPDATE_FUNC_ARGS);
  1187. };
  1188.  
  1189. class Element_SHLD2: public Element
  1190. {
  1191. public:
  1192. Element_SHLD2();
  1193. virtual ~Element_SHLD2();
  1194. static int update(UPDATE_FUNC_ARGS);
  1195. };
  1196.  
  1197. class Element_SHLD3: public Element
  1198. {
  1199. public:
  1200. Element_SHLD3();
  1201. virtual ~Element_SHLD3();
  1202. static int update(UPDATE_FUNC_ARGS);
  1203. };
  1204.  
  1205. class Element_SHLD4: public Element
  1206. {
  1207. public:
  1208. Element_SHLD4();
  1209. virtual ~Element_SHLD4();
  1210. static int update(UPDATE_FUNC_ARGS);
  1211. };
  1212.  
  1213. class Element_LOLZ: public Element
  1214. {
  1215. public:
  1216. Element_LOLZ();
  1217. virtual ~Element_LOLZ();
  1218. static int RuleTable[9][9];
  1219. static int lolz[XRES/9][YRES/9];;
  1220. };
  1221.  
  1222. class Element_WIFI: public Element
  1223. {
  1224. public:
  1225. Element_WIFI();
  1226. virtual ~Element_WIFI();
  1227. static int update(UPDATE_FUNC_ARGS);
  1228. static int graphics(GRAPHICS_FUNC_ARGS);
  1229. };
  1230.  
  1231. class Element_FILT: public Element
  1232. {
  1233. public:
  1234. Element_FILT();
  1235. virtual ~Element_FILT();
  1236. static int graphics(GRAPHICS_FUNC_ARGS);
  1237. };
  1238.  
  1239. class Element_ARAY: public Element
  1240. {
  1241. public:
  1242. Element_ARAY();
  1243. virtual ~Element_ARAY();
  1244. static int update(UPDATE_FUNC_ARGS);
  1245. };
  1246.  
  1247. class Element_BRAY: public Element
  1248. {
  1249. public:
  1250. Element_BRAY();
  1251. virtual ~Element_BRAY();
  1252. static int graphics(GRAPHICS_FUNC_ARGS);
  1253. };
  1254.  
  1255. class Element_STKM2: public Element
  1256. {
  1257. public:
  1258. Element_STKM2();
  1259. virtual ~Element_STKM2();
  1260. static int update(UPDATE_FUNC_ARGS);
  1261. };
  1262.  
  1263. class Element_BOMB: public Element
  1264. {
  1265. public:
  1266. Element_BOMB();
  1267. virtual ~Element_BOMB();
  1268. static int update(UPDATE_FUNC_ARGS);
  1269. static int graphics(GRAPHICS_FUNC_ARGS);
  1270. };
  1271.  
  1272. class Element_C5: public Element
  1273. {
  1274. public:
  1275. Element_C5();
  1276. virtual ~Element_C5();
  1277. static int update(UPDATE_FUNC_ARGS);
  1278. };
  1279.  
  1280. class Element_SING: public Element
  1281. {
  1282. public:
  1283. Element_SING();
  1284. virtual ~Element_SING();
  1285. static int update(UPDATE_FUNC_ARGS);
  1286. };
  1287.  
  1288. class Element_QRTZ: public Element
  1289. {
  1290. public:
  1291. Element_QRTZ();
  1292. virtual ~Element_QRTZ();
  1293. static int update(UPDATE_FUNC_ARGS);
  1294. static int graphics(GRAPHICS_FUNC_ARGS);
  1295. };
  1296.  
  1297. class Element_PQRT: public Element
  1298. {
  1299. public:
  1300. Element_PQRT();
  1301. virtual ~Element_PQRT();
  1302. static int update(UPDATE_FUNC_ARGS);
  1303. static int graphics(GRAPHICS_FUNC_ARGS);
  1304. };
  1305.  
  1306. class Element_EMP: public Element
  1307. {
  1308. public:
  1309. Element_EMP();
  1310. virtual ~Element_EMP();
  1311. static int update(UPDATE_FUNC_ARGS);
  1312. static int graphics(GRAPHICS_FUNC_ARGS);
  1313. };
  1314.  
  1315. class Element_BREC: public Element
  1316. {
  1317. public:
  1318. Element_BREC();
  1319. virtual ~Element_BREC();
  1320. static int update(UPDATE_FUNC_ARGS);
  1321. };
  1322.  
  1323. class Element_ELEC: public Element
  1324. {
  1325. public:
  1326. Element_ELEC();
  1327. virtual ~Element_ELEC();
  1328. static int update(UPDATE_FUNC_ARGS);
  1329. static int graphics(GRAPHICS_FUNC_ARGS);
  1330. };
  1331.  
  1332. class Element_ACEL: public Element
  1333. {
  1334. public:
  1335. Element_ACEL();
  1336. virtual ~Element_ACEL();
  1337. static int update(UPDATE_FUNC_ARGS);
  1338. static int graphics(GRAPHICS_FUNC_ARGS);
  1339. };
  1340.  
  1341. class Element_DCEL: public Element
  1342. {
  1343. public:
  1344. Element_DCEL();
  1345. virtual ~Element_DCEL();
  1346. static int update(UPDATE_FUNC_ARGS);
  1347. static int graphics(GRAPHICS_FUNC_ARGS);
  1348. };
  1349.  
  1350. class Element_BANG: public Element
  1351. {
  1352. public:
  1353. Element_BANG();
  1354. virtual ~Element_BANG();
  1355. static int update(UPDATE_FUNC_ARGS);
  1356. };
  1357.  
  1358. class Element_IGNT: public Element
  1359. {
  1360. public:
  1361. Element_IGNT();
  1362. virtual ~Element_IGNT();
  1363. static int update(UPDATE_FUNC_ARGS);
  1364. };
  1365.  
  1366. class Element_BOYL: public Element
  1367. {
  1368. public:
  1369. Element_BOYL();
  1370. virtual ~Element_BOYL();
  1371. static int update(UPDATE_FUNC_ARGS);
  1372. };
  1373.  
  1374. class Element_GEL: public Element
  1375. {
  1376. public:
  1377. Element_GEL();
  1378. virtual ~Element_GEL();
  1379. static int update(UPDATE_FUNC_ARGS);
  1380. static int graphics(GRAPHICS_FUNC_ARGS);
  1381. };
  1382.  
  1383. class Element_TRON: public Element
  1384. {
  1385. public:
  1386. Element_TRON();
  1387. virtual ~Element_TRON();
  1388. static void init_graphics();
  1389. static int update(UPDATE_FUNC_ARGS);
  1390. static int graphics(GRAPHICS_FUNC_ARGS);
  1391. static int new_tronhead(Simulation * sim, int x, int y, int i, int direction);
  1392. static int trymovetron(Simulation * sim, int x, int y, int dir, int i, int len);
  1393. static bool canmovetron(Simulation * sim, int r, int len);
  1394. };
  1395.  
  1396. class Element_TTAN: public Element
  1397. {
  1398. public:
  1399. Element_TTAN();
  1400. virtual ~Element_TTAN();
  1401. static int update(UPDATE_FUNC_ARGS);
  1402. };
  1403.  
  1404. class Element_EXOT: public Element
  1405. {
  1406. public:
  1407. Element_EXOT();
  1408. virtual ~Element_EXOT();
  1409. static int update(UPDATE_FUNC_ARGS);
  1410. static int graphics(GRAPHICS_FUNC_ARGS);
  1411. };
  1412.  
  1413. class Element_146: public Element
  1414. {
  1415. public:
  1416. Element_146();
  1417. virtual ~Element_146();
  1418.  
  1419. };
  1420.  
  1421. class Element_EMBR: public Element
  1422. {
  1423. public:
  1424. Element_EMBR();
  1425. virtual ~Element_EMBR();
  1426. static int update(UPDATE_FUNC_ARGS);
  1427. static int graphics(GRAPHICS_FUNC_ARGS);
  1428. };
  1429.  
  1430. class Element_H2: public Element
  1431. {
  1432. public:
  1433. Element_H2();
  1434. virtual ~Element_H2();
  1435. static int update(UPDATE_FUNC_ARGS);
  1436. };
  1437.  
  1438. class Element_SOAP: public Element
  1439. {
  1440. public:
  1441. Element_SOAP();
  1442. virtual ~Element_SOAP();
  1443. static void attach(Particle * parts, int i1, int i2);
  1444. static int update(UPDATE_FUNC_ARGS);
  1445. static int graphics(GRAPHICS_FUNC_ARGS);
  1446. };
  1447.  
  1448. class Element_NBHL: public Element
  1449. {
  1450. public:
  1451. Element_NBHL();
  1452. virtual ~Element_NBHL();
  1453. static int update(UPDATE_FUNC_ARGS);
  1454. };
  1455.  
  1456. class Element_NWHL: public Element
  1457. {
  1458. public:
  1459. Element_NWHL();
  1460. virtual ~Element_NWHL();
  1461. static int update(UPDATE_FUNC_ARGS);
  1462. };
  1463.  
  1464. class Element_MERC: public Element
  1465. {
  1466. public:
  1467. Element_MERC();
  1468. virtual ~Element_MERC();
  1469. static int update(UPDATE_FUNC_ARGS);
  1470. };
  1471.  
  1472. class Element_PBCN: public Element
  1473. {
  1474. public:
  1475. Element_PBCN();
  1476. virtual ~Element_PBCN();
  1477. static int update(UPDATE_FUNC_ARGS);
  1478. static int graphics(GRAPHICS_FUNC_ARGS);
  1479. };
  1480.  
  1481. class Element_GPMP: public Element
  1482. {
  1483. public:
  1484. Element_GPMP();
  1485. virtual ~Element_GPMP();
  1486. static int update(UPDATE_FUNC_ARGS);
  1487. static int graphics(GRAPHICS_FUNC_ARGS);
  1488. };
  1489.  
  1490. class Element_CLST: public Element
  1491. {
  1492. public:
  1493. Element_CLST();
  1494. virtual ~Element_CLST();
  1495. static int update(UPDATE_FUNC_ARGS);
  1496. static int graphics(GRAPHICS_FUNC_ARGS);
  1497. };
  1498.  
  1499. class Element_WIRE: public Element
  1500. {
  1501. public:
  1502. Element_WIRE();
  1503. virtual ~Element_WIRE();
  1504. static int update(UPDATE_FUNC_ARGS);
  1505. static int graphics(GRAPHICS_FUNC_ARGS);
  1506. };
  1507.  
  1508. class Element_GBMB: public Element
  1509. {
  1510. public:
  1511. Element_GBMB();
  1512. virtual ~Element_GBMB();
  1513. static int update(UPDATE_FUNC_ARGS);
  1514. static int graphics(GRAPHICS_FUNC_ARGS);
  1515. };
  1516.  
  1517. class Element_FIGH: public Element
  1518. {
  1519. public:
  1520. Element_FIGH();
  1521. virtual ~Element_FIGH();
  1522. static int update(UPDATE_FUNC_ARGS);
  1523. };
  1524.  
  1525. class Element_FRAY: public Element
  1526. {
  1527. public:
  1528. Element_FRAY();
  1529. virtual ~Element_FRAY();
  1530. static int update(UPDATE_FUNC_ARGS);
  1531. };
  1532.  
  1533. class Element_REPL: public Element
  1534. {
  1535. public:
  1536. Element_REPL();
  1537. virtual ~Element_REPL();
  1538. static int update(UPDATE_FUNC_ARGS);
  1539. };
  1540.  
  1541. class Element_PPIP: public Element
  1542. {
  1543. public:
  1544. Element_PPIP();
  1545. virtual ~Element_PPIP();
  1546. static int ppip_changed;
  1547. static void flood_trigger(Simulation * sim, int x, int y, int sparkedBy);
  1548. };
  1549.  
  1550. class Element_DTEC: public Element
  1551. {
  1552. public:
  1553. Element_DTEC();
  1554. virtual ~Element_DTEC();
  1555. static int update(UPDATE_FUNC_ARGS);
  1556. };
  1557.  
  1558. class Element_DMG: public Element
  1559. {
  1560. public:
  1561. Element_DMG();
  1562. virtual ~Element_DMG();
  1563. static int update(UPDATE_FUNC_ARGS);
  1564. static int graphics(GRAPHICS_FUNC_ARGS);
  1565. };
  1566.  
  1567. class Element_TSNS: public Element
  1568. {
  1569. public:
  1570. Element_TSNS();
  1571. virtual ~Element_TSNS();
  1572. static int update(UPDATE_FUNC_ARGS);
  1573. };
  1574.  
  1575. class Element_VIBR: public Element
  1576. {
  1577. public:
  1578. Element_VIBR();
  1579. virtual ~Element_VIBR();
  1580. static int update(UPDATE_FUNC_ARGS);
  1581. static int graphics(GRAPHICS_FUNC_ARGS);
  1582. };
  1583.  
  1584. class Element_BVBR: public Element
  1585. {
  1586. public:
  1587. Element_BVBR();
  1588. virtual ~Element_BVBR();
  1589.  
  1590. };
  1591.  
  1592. class Element_CRAY: public Element
  1593. {
  1594. public:
  1595. Element_CRAY();
  1596. virtual ~Element_CRAY();
  1597. static int update(UPDATE_FUNC_ARGS);
  1598. static unsigned int wavelengthToDecoColour(int wavelength);
  1599. };
  1600.  
  1601. class Element_PSTN: public Element
  1602. {
  1603. public:
  1604. Element_PSTN();
  1605. virtual ~Element_PSTN();
  1606. static int tempParts[128];;
  1607. static int update(UPDATE_FUNC_ARGS);
  1608. static int CanMoveStack(Simulation * sim, int stackX, int stackY, int directionX, int directionY, int maxSize, int amount, bool retract, int block);
  1609. static int MoveStack(Simulation * sim, int stackX, int stackY, int directionX, int directionY, int maxSize, int amount, bool retract, int block, bool sticky, int callDepth = 0);
  1610. static int graphics(GRAPHICS_FUNC_ARGS);
  1611. };
  1612.  
  1613. class Element_FRME: public Element
  1614. {
  1615. public:
  1616. Element_FRME();
  1617. virtual ~Element_FRME();
  1618. static int graphics(GRAPHICS_FUNC_ARGS);
  1619. };
  1620.  
  1621. class Element_GOLD: public Element
  1622. {
  1623. public:
  1624. Element_GOLD();
  1625. virtual ~Element_GOLD();
  1626. static int update(UPDATE_FUNC_ARGS);
  1627. };
  1628.  
  1629. std::vector<Element> GetElements();
  1630.  
  1631. #endif
Advertisement
Add Comment
Please, Sign In to add comment