Guest User

Untitled

a guest
May 26th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.94 KB | None | 0 0
  1. // SRB2109FLAME - Resource file for Mobj objects, states, and sounds.
  2. // By Flame, based off the JTESHUFFLE source [Whoops!]
  3.  
  4. #include "../d_englsh.h"
  5. #include "../g_game.h"
  6. #include "../m_menu.h"
  7. #include "../m_random.h"
  8. #include "../p_local.h"
  9. #include "../p_mobj.h"
  10. #include "../r_main.h"
  11. #include "../s_sound.h"
  12. #include "FL_Info.h"
  13.  
  14. #ifdef HWRENDER
  15. #include "../hardware/hw_light.h"
  16. #endif
  17.  
  18. #ifdef SMASH // Resources for Super Smash Brothers: Sonic Showdown
  19. void SMASH_Init(void)
  20. {
  21. size_t thing;
  22.  
  23. //****** Mobj types ******//
  24. thing = MT_FIST; // 'Fist' object. This is more or less a type of hitbox for punching
  25. mobjinfo[thing] = mobjinfo[MT_DISS];
  26. mobjinfo[thing].radius = 25*FRACUNIT;
  27. mobjinfo[thing].height = 55*FRACUNIT;
  28. mobjinfo[thing].speed = 8;
  29. mobjinfo[thing].flags = MF_FLOAT|MF_NOGRAVITY|MF_MISSILE;
  30.  
  31. thing = MT_STAR; // Starman
  32. mobjinfo[thing] = mobjinfo[MT_DISS];
  33. mobjinfo[thing].spawnstate = S_STAR;
  34. mobjinfo[thing].reactiontime = TICRATE;
  35. mobjinfo[thing].radius = 16*FRACUNIT;
  36. mobjinfo[thing].height = 32*FRACUNIT;
  37. mobjinfo[thing].mass = 100;
  38. mobjinfo[thing].flags = MF_SPECIAL|MF_BOUNCE;
  39.  
  40. thing = MT_HEARTCONTAINER; // Heart Container
  41. mobjinfo[thing] = mobjinfo[MT_STAR];
  42. mobjinfo[thing].spawnstate = S_HEART;
  43. mobjinfo[thing].flags = MF_SHOOTABLE|MF_NOCLIPTHING|MF_PUSHABLE|MF_SLIDEME;
  44.  
  45. thing = MT_SMASHBALL; // Smash ball. 'HIT IT!'
  46. mobjinfo[thing] = mobjinfo[MT_STAR];
  47. mobjinfo[thing].spawnstate = S_SMSHBALLUP;
  48. mobjinfo[thing].spawnhealth = 3;
  49. mobjinfo[thing].reactiontime = TICRATE/2;
  50. mobjinfo[thing].painstate = S_SMSHBALLUP;
  51. mobjinfo[thing].painsound = sfx_dmpain;
  52. mobjinfo[thing].flags = MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY|MF_FLOAT;
  53.  
  54. thing = MT_SMASHBALLFLAME;
  55. mobjinfo[thing] = mobjinfo[MT_REDORB];
  56. mobjinfo[thing].spawnstate = S_SMASHFLAME1;
  57. mobjinfo[thing].speed = pw_finalsmash;
  58.  
  59. thing = MT_SUPERFLICKY;
  60. mobjinfo[thing] = mobjinfo[MT_BIRD];
  61. mobjinfo[thing].doomednum = -1;
  62. mobjinfo[thing].spawnstate = S_SFLICK1;
  63. mobjinfo[thing].speed = 30*FRACUNIT;
  64. mobjinfo[thing].flags |= MF_TRANSLATION;
  65.  
  66. thing = MT_SHIELD;
  67. mobjinfo[thing] = mobjinfo[MT_THOK];
  68. mobjinfo[thing].doomednum = -1;
  69. mobjinfo[thing].spawnstate = S_SHLD1;
  70. mobjinfo[thing].height = 56*FRACUNIT;
  71.  
  72. #ifdef CHAOSBLAST_OLD
  73. thing = MT_CBLASTORB;
  74. mobjinfo[thing] = mobjinfo[MT_THOK];
  75. mobjinfo[thing].doomednum = -1;
  76. mobjinfo[thing].spawnstate = S_CBLASTORB;
  77. #endif
  78.  
  79. #ifdef SMASHCAM // Who knows? Someone might want to disable the SMASHCAM define.
  80. thing = MT_CAMMAX; // [Outer/Right] Camera Boundary
  81. mobjinfo[thing] = mobjinfo[MT_DISS];
  82. mobjinfo[thing].doomednum = 400;
  83. mobjinfo[thing].spawnstate = S_TNT1;
  84.  
  85. thing = MT_CAMMIN; // [Inner/Left] Camera Boundary
  86. mobjinfo[thing] = mobjinfo[MT_CAMMAX];
  87. mobjinfo[thing].doomednum = 401;
  88. #endif
  89.  
  90. //****** States ******//
  91.  
  92. // Extra Player frames
  93. // First Punch
  94. thing = S_PLAY_PUNCH1;
  95. states[thing].sprite = SPR_PLAY;
  96. states[thing].frame = 34;
  97. states[thing].tics = 4;
  98. states[thing].nextstate = S_PLAY_PUNCH2;
  99.  
  100. thing = S_PLAY_PUNCH2;
  101. states[thing] = states[S_PLAY_PUNCH1];
  102. states[thing].frame = 35;
  103. states[thing].nextstate = S_PLAY_PUNCH3;
  104.  
  105. thing = S_PLAY_PUNCH3;
  106. states[thing] = states[S_PLAY_PUNCH1];
  107. states[thing].frame = 36;
  108. states[thing].nextstate = S_PLAY_STND;
  109.  
  110. // Second Punch
  111. thing = S_PLAY_PUNCH4;
  112. states[thing] = states[S_PLAY_PUNCH1];
  113. states[thing].frame = 37;
  114. states[thing].nextstate = S_PLAY_PUNCH5;
  115.  
  116. thing = S_PLAY_PUNCH5;
  117. states[thing] = states[S_PLAY_PUNCH1];
  118. states[thing].frame = 38;
  119. states[thing].nextstate = S_PLAY_PUNCH6;
  120.  
  121. thing = S_PLAY_PUNCH6;
  122. states[thing] = states[S_PLAY_PUNCH3];
  123. states[thing].frame = 39;
  124.  
  125. // Kicks
  126. thing = S_PLAY_KICK1;
  127. states[thing].sprite = SPR_PLAY;
  128. states[thing].frame = 40;
  129. states[thing].tics = 6;
  130. states[thing].nextstate = S_PLAY_KICK2;
  131.  
  132. thing = S_PLAY_KICK2;
  133. states[thing] = states[S_PLAY_KICK1];
  134. states[thing].frame = 41;
  135. states[thing].nextstate = S_PLAY_KICK3;
  136.  
  137. thing = S_PLAY_KICK3;
  138. states[thing] = states[S_PLAY_KICK1];
  139. states[thing].frame = 42;
  140. states[thing].nextstate = S_PLAY_KICK4;
  141.  
  142. thing = S_PLAY_KICK4;
  143. states[thing] = states[S_PLAY_PUNCH1]; // This is just so I can get the tics
  144. states[thing].frame = 43;
  145. states[thing].nextstate = S_PLAY_KICK4;
  146.  
  147. thing = S_PLAY_KICK5;
  148. states[thing] = states[S_PLAY_PUNCH1];
  149. states[thing].frame = 44;
  150. states[thing].nextstate = S_PLAY_KICK6;
  151.  
  152. thing = S_PLAY_KICK6;
  153. states[thing] = states[S_PLAY_PUNCH1];
  154. states[thing].frame = 45;
  155. states[thing].nextstate = S_PLAY_STND;
  156.  
  157.  
  158. /* // Aaand.. Here's that 'fist' state for that 'fist' object.
  159. thing = S_FIST;
  160. states[thing] = states[S_DISS];
  161. states[thing].tics = 10;
  162. */
  163.  
  164. thing = S_STAR; // Starman
  165. states[thing] = states[S_DISS];
  166. states[thing].sprite = SPR_STAR;
  167. states[thing].nextstate = S_STAR;
  168.  
  169. thing = S_HEART; // Heart Container
  170. states[thing] = states[S_DISS];
  171. states[thing].sprite = SPR_HART;
  172. states[thing].nextstate = S_HEART;
  173.  
  174. thing = S_SMSHBALLUP; // Smashball (Moving up?)
  175. states[thing] = states[S_DISS];
  176. states[thing].sprite = SPR_FSMH;
  177. states[thing].nextstate = S_SMSHBALLDOWN;
  178.  
  179. thing = S_SMSHBALLDOWN; // Smashball (Moving down?)
  180. states[thing] = states[S_SMSHBALLUP];
  181. states[thing].nextstate = S_SMSHBALLUP;
  182.  
  183. // Final Smash Fire Aura animation
  184. thing = S_SMASHFLAME1;
  185. states[thing] = states[S_DISS];
  186. states[thing].sprite = SPR_SFIR;
  187. states[thing].frame = 0;
  188. states[thing].tics = 1;
  189. states[thing].nextstate = S_SMASHFLAME2;
  190.  
  191. thing = S_SMASHFLAME2;
  192. states[thing] = states[S_SMASHFLAME1];
  193. states[thing].frame = 1;
  194. states[thing].nextstate = S_SMASHFLAME3;
  195.  
  196. thing = S_SMASHFLAME3;
  197. states[thing] = states[S_SMASHFLAME1];
  198. states[thing].frame = 2;
  199. states[thing].nextstate = S_SMASHFLAME4;
  200.  
  201. thing = S_SMASHFLAME4;
  202. states[thing] = states[S_SMASHFLAME1];
  203. states[thing].frame = 3;
  204. states[thing].nextstate = S_SMASHFLAME5;
  205.  
  206. thing = S_SMASHFLAME5;
  207. states[thing] = states[S_SMASHFLAME1];
  208. states[thing].frame = 4;
  209. states[thing].nextstate = S_SMASHFLAME6;
  210.  
  211. thing = S_SMASHFLAME6;
  212. states[thing] = states[S_SMASHFLAME1];
  213. states[thing].frame = 5;
  214. states[thing].nextstate = S_SMASHFLAME7;
  215.  
  216. thing = S_SMASHFLAME7;
  217. states[thing] = states[S_SMASHFLAME1];
  218. states[thing].frame = 6;
  219. states[thing].nextstate = S_SMASHFLAME1;
  220.  
  221. // Flicky animations [TAILS ONLY]
  222. thing = S_SFLICK1;
  223. states[thing] = states[S_BIRD1];
  224. states[thing].nextstate = S_SFLICK2;
  225.  
  226. thing = S_SFLICK2;
  227. states[thing] = states[S_BIRD1];
  228. states[thing].frame = 1;
  229. states[thing].nextstate = S_SFLICK1;
  230.  
  231.  
  232. thing = S_SHLD1; // SSB:SS Shield.
  233. states[thing] = states[S_DISS];
  234. states[thing].sprite = SPR_SHLD;
  235. states[thing].tics = -1;
  236.  
  237. // Shadow doing a Chaos Blast blast animation
  238. thing = S_SHADBLST1;
  239. states[thing] = states[S_DISS];
  240. states[thing].sprite = SPR_SHCB;
  241. states[thing].frame = 0;
  242. states[thing].tics = 4;
  243. states[thing].nextstate = S_SHADBLST2;
  244.  
  245. thing = S_SHADBLST2;
  246. states[thing] = states[S_SHADBLST1];
  247. states[thing].frame = 1;
  248. states[thing].nextstate = S_SHADBLST3;
  249.  
  250. thing = S_SHADBLST3;
  251. states[thing] = states[S_SHADBLST1];
  252. states[thing].frame = 32770; // 32770 = 2nd frame, with.. lighting effects?
  253. states[thing].nextstate = S_SHADBLST4;
  254.  
  255. thing = S_SHADBLST4;
  256. states[thing] = states[S_SHADBLST1];
  257. states[thing].frame = 3;
  258. states[thing].tics = 3;
  259. states[thing].nextstate = S_SHADBLST5;
  260.  
  261. thing = S_SHADBLST5;
  262. states[thing] = states[S_SHADBLST4];
  263. states[thing].frame = 4;
  264. states[thing].nextstate = S_SHADBLST6;
  265.  
  266. thing = S_SHADBLST6;
  267. states[thing] = states[S_SHADBLST4];
  268. states[thing].frame = 5;
  269. states[thing].nextstate = S_SHADBLST7;
  270.  
  271. thing = S_SHADBLST7;
  272. states[thing] = states[S_SHADBLST1];
  273. states[thing].frame = 6;
  274. states[thing].tics = 224;
  275. states[thing].nextstate = S_NIGHTSDRONE1;
  276.  
  277. #ifdef CHAOSBLAST_OLD
  278. thing = S_CBLASTORB;
  279. states[thing] = states[S_THOK1];
  280. states[thing].tics = -1;
  281. #endif
  282.  
  283. //***** Sprite files? *****//
  284. thing = SPR_STAR; // Starman
  285. strcpy(sprnames[thing],"STAR");
  286. #ifdef HWRENDER
  287. t_lspr[thing] = &lspr[NOLIGHT];
  288. #endif
  289.  
  290. thing = SPR_HART; // Heart Container
  291. strcpy(sprnames[thing],"HART");
  292. #ifdef HWRENDER
  293. t_lspr[thing] = &lspr[NOLIGHT];
  294. #endif
  295.  
  296. thing = SPR_FSMH; // Final Smash
  297. strcpy(sprnames[thing],"FSMH");
  298. #ifdef HWRENDER
  299. t_lspr[thing] = &lspr[NOLIGHT];
  300. #endif
  301.  
  302. thing = SPR_SFIR; // Final Smash Fire Aura
  303. strcpy(sprnames[thing],"SFIR");
  304. #ifdef HWRENDER
  305. t_lspr[thing] = &lspr[NOLIGHT];
  306. #endif
  307.  
  308. thing = SPR_TARG; // Target
  309. strcpy(sprnames[thing],"TARG");
  310. #ifdef HWRENDER
  311. t_lspr[thing] = &lspr[NOLIGHT];
  312. #endif
  313.  
  314. thing = SPR_SHLD; // Shield
  315. strcpy(sprnames[thing],"SHLD");
  316. #ifdef HWRENDER
  317. t_lspr[thing] = &lspr[NOLIGHT];
  318. #endif
  319.  
  320. thing = SPR_SHCB; // Shadow Chaos Blast sprite set
  321. strcpy(sprnames[thing],"SHCB");
  322. #ifdef HWRENDER
  323. t_lspr[thing] = &lspr[NOLIGHT];
  324. #endif
  325.  
  326. //***** Sound files *****//
  327. // SSB Item sounds
  328. thing = sfx_sbounce;
  329. S_sfx[thing] = S_sfx[sfx_None];
  330. S_sfx[thing].name = "sbounce";
  331. S_sfx[thing].singularity = true;
  332. S_sfx[thing].priority = 96;
  333. // S_sfx[thing].pitch = SF_NOINTERRUPT|SF_X4AWAYSOUND; // Refrence
  334.  
  335. thing = sfx_itemspwn;
  336. S_sfx[thing] = S_sfx[sfx_sbounce];
  337. S_sfx[thing].name = "itemspwn";
  338.  
  339. // Announcer Sound files
  340. thing = sfx_ssbsay1; // "ONE!"
  341. S_sfx[thing] = S_sfx[sfx_None];
  342. S_sfx[thing].name = "ssbsay1";
  343. S_sfx[thing].singularity = false;
  344. S_sfx[thing].priority = 127;
  345.  
  346. thing = sfx_ssbsay2; // "TWO!"
  347. S_sfx[thing] = S_sfx[sfx_ssbsay1];
  348. S_sfx[thing].name = "ssbsay2";
  349.  
  350. thing = sfx_ssbsay3; // "THREE!"
  351. S_sfx[thing] = S_sfx[sfx_ssbsay1];
  352. S_sfx[thing].name = "ssbsay3";
  353.  
  354. thing = sfx_ssbsaygo; // "GO!!"
  355. S_sfx[thing] = S_sfx[sfx_ssbsay1];
  356. S_sfx[thing].name = "ssbsaygo";
  357.  
  358. thing = sfx_ssbgames; // "GAME SET!"
  359. S_sfx[thing] = S_sfx[sfx_ssbsay1];
  360. S_sfx[thing].name = "ssbgames";
  361. }
  362. #endif
  363.  
  364. #ifdef BOMB // Resources for Super Bomberman Blast (2 ?)
  365. void BOMB_Init(void)
  366. {
  367. size_t thing;
  368.  
  369. //****** Mobj types ******//
  370. thing = MT_BOMB;
  371. mobjinfo[thing] = mobjinfo[MT_DISS];
  372. mobjinfo[thing].spawnstate = S_BOMB;
  373. mobjinfo[thing].seestate = S_BOMB;
  374. mobjinfo[thing].radius = 10*FRACUNIT;
  375. mobjinfo[thing].height = 26*FRACUNIT;
  376. mobjinfo[thing].mass = 16;
  377. mobjinfo[thing].speed = 8;
  378. mobjinfo[thing].flags = MF_SHOOTABLE|MF_NOCLIP;
  379.  
  380. /*thing = MT_BOMBBOOM;
  381. mobjinfo[thing] = mobjinfo[MT_DISS];
  382. mobjinfo[thing].spawnstate = S_BOMBBOOM;
  383. mobjinfo[thing].seesound = sfx_rlaunc;
  384. mobjinfo[thing].radius = 50*FRACUNIT;
  385. mobjinfo[thing].height = 50*FRACUNIT;
  386. mobjinfo[thing].mass = 100;
  387. mobjinfo[thing].damage = 20;
  388. mobjinfo[thing].flags = MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY;*/
  389.  
  390. thing = MT_BOMBUP;
  391. mobjinfo[thing] = mobjinfo[MT_DISS];
  392. mobjinfo[thing].doomednum = 7000;
  393. mobjinfo[thing].spawnstate = S_BOMBUP;
  394. mobjinfo[thing].spawnhealth = 1000;
  395. mobjinfo[thing].seestate = S_BOMBUP;
  396. // mobjinfo[thing].deathstate = S_IVSP1;
  397. mobjinfo[thing].speed = 0;
  398. mobjinfo[thing].radius = 15*FRACUNIT;
  399. mobjinfo[thing].height = 28*FRACUNIT;
  400. mobjinfo[thing].mass = 16;
  401. mobjinfo[thing].flags = MF_SPECIAL|MF_FLOAT|MF_NOGRAVITY;
  402.  
  403. thing = MT_FIREUP;
  404. mobjinfo[thing] = mobjinfo[MT_BOMBUP];
  405. mobjinfo[thing].doomednum = 7001;
  406. mobjinfo[thing].spawnstate = S_FIREUP;
  407. mobjinfo[thing].seestate = S_FIREUP;
  408.  
  409. thing = MT_SPEEDUP;
  410. mobjinfo[thing] = mobjinfo[MT_BOMBUP];
  411. mobjinfo[thing].doomednum = 7002;
  412. mobjinfo[thing].spawnstate = S_SPEEDUP;
  413. mobjinfo[thing].seestate = S_SPEEDUP;
  414.  
  415. thing = MT_FULLFIRE;
  416. mobjinfo[thing] = mobjinfo[MT_BOMBUP];
  417. mobjinfo[thing].doomednum = 7003;
  418. mobjinfo[thing].spawnstate = S_FULLFIRE;
  419. mobjinfo[thing].seestate = S_FULLFIRE;
  420.  
  421. thing = MT_BOMBPLODEGFX;
  422. mobjinfo[thing] = mobjinfo[MT_BOMBUP];
  423. mobjinfo[thing].doomednum = -1;
  424. mobjinfo[thing].spawnstate = S_EXPL1;
  425. mobjinfo[thing].seestate = S_EXPL1;
  426. mobjinfo[thing].radius = 10*FRACUNIT;
  427. mobjinfo[thing].height = 22*FRACUNIT;
  428. mobjinfo[thing].flags |= MF_FIRE;
  429.  
  430. thing = MT_BOSSTHROWNBOMB;
  431. mobjinfo[thing] = mobjinfo[MT_THROWNEXPLOSION];
  432. mobjinfo[thing].speed = 30*FRACUNIT;
  433.  
  434. //****** States ******//
  435.  
  436. // EGGMAN *BOMBERMAN* MODIFIER //
  437.  
  438. thing = S_EGGMOBILE_STND;
  439. states[thing].sprite = SPR_EGGM;
  440. states[thing].frame = 0;
  441. states[thing].tics = 70;
  442. states[thing].action.acp1 = (actionf_p1)A_MoveRelative;
  443. states[thing].var1 = 180;
  444. states[thing].var2 = 10;
  445. states[thing].nextstate = S_EGGMOBILE_FLYUP;
  446.  
  447. thing = S_EGGMOBILE_ATK1;
  448. states[thing].sprite = SPR_EGGM;
  449. states[thing].frame = 1;
  450. states[thing].tics = 35;
  451. states[thing].action.acp1 = (actionf_p1)A_FaceTarget;
  452. // states[thing].var1 = 0;
  453. // states[thing].var2 = 0;
  454. states[thing].nextstate = S_EGGMOBILE_ATK2;
  455.  
  456. thing = S_EGGMOBILE_ATK2;
  457. states[thing].sprite = SPR_EGGM;
  458. states[thing].frame = 2;
  459. states[thing].tics = 35;
  460. states[thing].action.acp1 = (actionf_p1)A_FireShot;
  461. states[thing].var1 = MT_BOSSTHROWNBOMB;
  462. states[thing].nextstate = S_EGGMOBILE_ATK3;
  463.  
  464. thing = S_EGGMOBILE_ATK3;
  465. states[thing] = states[S_EGGMOBILE_ATK2];
  466. states[thing].frame = 4;
  467. states[thing].nextstate = S_EGGMOBILE_ATK4;
  468.  
  469. thing = S_EGGMOBILE_ATK4;
  470. states[thing] = states[S_EGGMOBILE_ATK2];
  471. states[thing].frame = 2;
  472. states[thing].nextstate = S_EGGMOBILE_PANIC1;
  473.  
  474. thing = S_EGGMOBILE_PANIC1;
  475. states[thing].sprite = SPR_EGGM;
  476. states[thing].frame = 1;
  477. states[thing].tics = 35;
  478. states[thing].action.acp1 = (actionf_p1)A_FaceTarget;
  479. states[thing].nextstate = S_EGGMOBILE_PANIC2;
  480.  
  481. thing = S_EGGMOBILE_PANIC2;
  482. states[thing].sprite = SPR_EGGM;
  483. states[thing].frame = 1;
  484. states[thing].tics = 35;
  485. states[thing].action.acp1 = (actionf_p1)A_MoveRelative;
  486. states[thing].var2 = 10;
  487. states[thing].nextstate = S_EGGMOBILE_FLYDOWN;
  488.  
  489. thing = S_EGGMOBILE_PAIN;
  490. states[thing].sprite = SPR_EGGM;
  491. states[thing].frame = 5;
  492. states[thing].tics = 24;
  493. states[thing].action.acp1 = (actionf_p1)A_Pain;
  494. states[thing].nextstate = S_EGGMOBILE_FLYUP;
  495.  
  496. thing = S_EGGMOBILE_FLYUP;
  497. states[thing].sprite = SPR_EGGM;
  498. states[thing].frame = 0;
  499. states[thing].tics = 35;
  500. states[thing].action.acp1 = (actionf_p1)A_BossFlyUp;
  501. states[thing].nextstate = S_EGGMOBILE_ATK1;
  502.  
  503. thing = S_EGGMOBILE_FLYDOWN;
  504. states[thing] = states[S_EGGMOBILE_FLYUP];
  505. states[thing].tics = 70;
  506. states[thing].action.acp1 = (actionf_p1)A_BossFlyDown;
  507. states[thing].nextstate = S_EGGMOBILE_STND;
  508.  
  509. // END EGGMAN *BOMBERMAN* MODIFIER //
  510.  
  511. thing = S_BOMB; // Bomb
  512. states[thing].sprite = SPR_BOMB;
  513. states[thing].frame = 0;
  514. states[thing].tics = 2;
  515. states[thing].nextstate = S_BOMB2;
  516.  
  517. thing = S_BOMB2;
  518. states[thing].sprite = SPR_BOMB;
  519. states[thing].frame = 1;
  520. states[thing].tics = 2;
  521. states[thing].nextstate = S_BOMB;
  522.  
  523. thing = S_BOMBPLS; // Bomb Pulse
  524. states[thing].sprite = SPR_BOMB;
  525. states[thing].frame = 2;
  526. states[thing].tics = 5;
  527. states[thing].nextstate = S_BOMBPLS2;
  528.  
  529. thing = S_BOMBPLS2; // Bomb Pulse (About to explode)
  530. states[thing].sprite = SPR_BOMB;
  531. states[thing].frame = 3;
  532. states[thing].tics = -1;
  533.  
  534. thing = S_BOMBBOOM; // Bomb explosion
  535. states[thing] = states[S_DISS];
  536. states[thing].tics = 1;
  537. states[thing].nextstate = S_FLAME1;
  538.  
  539. thing = S_BOMBBOOM3D; // Bomb explosion (In non-2D maps)
  540. states[thing] = states[S_RINGEXPLODE];
  541. states[thing].nextstate = S_DISS;
  542.  
  543.  
  544.  
  545. thing = S_BOMBUP; // Bombs +1
  546. states[thing].sprite = SPR_BOMU;
  547. states[thing].frame = 0;
  548. states[thing].tics = -1;
  549.  
  550. thing = S_FIREUP; // Fire power +1
  551. states[thing] = states[S_BOMBUP];
  552. states[thing].sprite = SPR_FIRU;
  553.  
  554. thing = S_SPEEDUP; // Speed up +1
  555. states[thing] = states[S_BOMBUP];
  556. states[thing].sprite = SPR_SPDU;
  557.  
  558. thing = S_FULLFIRE; // Full Fire (Maxes Fire power)
  559. states[thing] = states[S_BOMBUP];
  560. states[thing].sprite = SPR_FFIR;
  561.  
  562. // Exploding GFX
  563. thing = S_EXPL1;
  564. states[thing].sprite = SPR_EXPL;
  565. states[thing].frame = 0;
  566. states[thing].tics = 3;
  567. states[thing].nextstate = S_EXPL2;
  568.  
  569. thing = S_EXPL2;
  570. states[thing] = states[S_EXPL1];
  571. states[thing].frame = 1;
  572. states[thing].nextstate = S_EXPL3;
  573.  
  574. thing = S_EXPL3;
  575. states[thing] = states[S_EXPL1];
  576. states[thing].frame = 2;
  577. states[thing].nextstate = S_EXPL4;
  578.  
  579. thing = S_EXPL4;
  580. states[thing] = states[S_EXPL1];
  581. states[thing].frame = 3;
  582. states[thing].nextstate = S_EXPL5;
  583.  
  584. thing = S_EXPL5;
  585. states[thing] = states[S_EXPL1];
  586. states[thing].frame = 4;
  587. states[thing].nextstate = S_DISS;
  588.  
  589. //***** Sprite files? *****//
  590. thing = SPR_BOMB;
  591. strcpy(sprnames[thing],"BOMB");
  592.  
  593.  
  594. thing = SPR_BOMU;
  595. strcpy(sprnames[thing],"BOMU");
  596. #ifdef HWRENDER
  597. t_lspr[thing] = &lspr[NOLIGHT];
  598. #endif
  599.  
  600. thing = SPR_FIRU;
  601. strcpy(sprnames[thing],"FIRU");
  602. #ifdef HWRENDER
  603. t_lspr[thing] = &lspr[NOLIGHT];
  604. #endif
  605.  
  606. thing = SPR_SPDU;
  607. strcpy(sprnames[thing],"SPDU");
  608. #ifdef HWRENDER
  609. t_lspr[thing] = &lspr[NOLIGHT];
  610. #endif
  611.  
  612. thing = SPR_FFIR;
  613. strcpy(sprnames[thing],"FFIR");
  614. #ifdef HWRENDER
  615. t_lspr[thing] = &lspr[NOLIGHT];
  616. #endif
  617.  
  618. thing = SPR_EXPL;
  619. strcpy(sprnames[thing],"EXPL");
  620. #ifdef HWRENDER
  621. t_lspr[thing] = &lspr[NOLIGHT];
  622. #endif
  623.  
  624. //***** Sound files *****//
  625. thing = sfx_fuse;
  626. S_sfx[thing] = S_sfx[sfx_None];
  627. S_sfx[thing].name = "fuse";
  628. S_sfx[thing].singularity = false;
  629. S_sfx[thing].priority = 129;
  630. // S_sfx[thing].pitch = SF_NOINTERRUPT|SF_X4AWAYSOUND; // Refrence
  631.  
  632. thing = sfx_boom;
  633. S_sfx[thing] = S_sfx[sfx_None];
  634. S_sfx[thing].name = "boom";
  635. S_sfx[thing].singularity = true;
  636. S_sfx[thing].priority = 130;
  637. S_sfx[thing].pitch = 24;
  638.  
  639. thing = sfx_getitem;
  640. S_sfx[thing] = S_sfx[sfx_fuse];
  641. S_sfx[thing].name = "getitem";
  642. }
  643. #endif
  644.  
  645. #ifdef FLAME
  646. void FLAME_Init(void)
  647. {
  648. size_t thing;
  649.  
  650. #ifdef FLAMEBOSS
  651. // Runaway Eggmobile
  652. thing = MT_EGGMOBILE3;
  653. mobjinfo[thing] = mobjinfo[MT_EGGMOBILE];
  654. mobjinfo[thing].doomednum = 7070;
  655. #ifdef BOMB
  656. mobjinfo[thing].spawnhealth = 8;
  657. mobjinfo[thing].meleestate = S_EGGMOBILE_ATK3;
  658. mobjinfo[thing].missilestate = S_EGGMOBILE_ATK1;
  659. mobjinfo[thing].raisestate = S_EGGMOBILE_PANIC1;
  660. #else
  661. mobjinfo[thing].speed = 20*FRACUNIT; // SKULLSPEED
  662. #endif
  663.  
  664. #endif // FLAMEBOSS
  665. }
  666. #endif // FLAME
Add Comment
Please, Sign In to add comment