diff --git a/src/dehacked.c b/src/dehacked.c index f482eec9..08b19a55 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -6306,15 +6306,6 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_GREENITEM6", "S_GREENITEM7", "S_GREENITEM8", - "S_GREENTRAIL1", - "S_GREENTRAIL2", - "S_GREENTRAIL3", - "S_GREENTRAIL4", - "S_GREENTRAIL5", - "S_GREENTRAIL6", - "S_GREENTRAIL7", - "S_GREENTRAIL8", - "S_GREENTRAIL9", "S_DEADGREEN", //} //{ Red Shell @@ -6342,20 +6333,19 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_REDITEM6", "S_REDITEM7", "S_REDITEM8", - "S_REDITEMCHASE", - "S_REDITEMTRAIL", - "S_REDTRAIL1", - "S_REDTRAIL2", - "S_REDTRAIL3", - "S_REDTRAIL4", - "S_REDTRAIL5", - "S_REDTRAIL6", - "S_REDTRAIL7", - "S_REDTRAIL8", - "S_REDTRAIL9", "S_DEADRED", //} + "S_FIRETRAIL1", + "S_FIRETRAIL2", + "S_FIRETRAIL3", + "S_FIRETRAIL4", + "S_FIRETRAIL5", + "S_FIRETRAIL6", + "S_FIRETRAIL7", + "S_FIRETRAIL8", + "S_FIRETRAIL9", + // Bob-omb "S_BOMBSHIELD", "S_BOMBITEM", @@ -6400,6 +6390,26 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_SHADOW", "S_WHITESHADOW", + "S_BUMP1", + "S_BUMP2", + "S_BUMP3", + + "S_FLINGENERGY1", + "S_FLINGENERGY2", + "S_FLINGENERGY3", + + "S_CLASH1", + "S_CLASH2", + "S_CLASH3", + "S_CLASH4", + "S_CLASH5", + "S_CLASH6", + + "S_FIREDITEM1", + "S_FIREDITEM2", + "S_FIREDITEM3", + "S_FIREDITEM4", + #ifdef SEENAMES "S_NAMECHECK", #endif @@ -6936,7 +6946,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s "MT_TRIPLEGREENSHIELD3", "MT_GREENSHIELD", "MT_GREENITEM", - "MT_GREENTRAIL", + "MT_FIRETRAIL", "MT_TRIPLEREDSHIELD1", // Red shell stuff "MT_TRIPLEREDSHIELD2", @@ -6944,7 +6954,6 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s "MT_REDSHIELD", "MT_REDITEM", "MT_REDITEMDUD", - "MT_REDTRAIL", "MT_BOMBSHIELD", // Bob-omb stuff "MT_BOMBITEM", @@ -6971,6 +6980,12 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s "MT_WAYPOINT", "MT_SHADOW", + "MT_BUMP", + + "MT_ITEMCLASH", + + "MT_FIREDITEM", + #ifdef SEENAMES "MT_NAMECHECK", #endif diff --git a/src/info.c b/src/info.c index 0ac52481..3c1fb681 100644 --- a/src/info.c +++ b/src/info.c @@ -56,9 +56,9 @@ char sprnames[NUMSPRITES + 1][5] = "SRBJ","SRBK","SRBL","SRBM","SRBN","SRBO", //SRB2kart Sprites "SPRG","BSPR","RNDM","RPOP","KFRE","DRIF","DSMO","FITM","DFAK","BANA", - "DBAN","GSHE","GSTR","DGSH","RSHE","RSTR","DRSH","BOMB","BLIG","LIGH", - "SINK","SITR","KBLN","LAKI","POKE","AUDI","DECO","DOOD","SNES","GBAS", - "SPRS","BUZB","CHOM","SACO","CRAB", "SHAD" + "DBAN","GSHE","DGSH","RSHE","DRSH","BOMB","BLIG","LIGH","SINK","SITR", + "KBLN","LAKI","POKE","AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB", + "CHOM","SACO","CRAB","SHAD","BUMP","FLEN","CLAS","PSHW" }; // Doesn't work with g++, needs actionf_p1 (don't modify this comment) @@ -2128,13 +2128,13 @@ state_t states[NUMSTATES] = {SPR_FFWR, 3, 3, {NULL}, 0, 0, S_FIREFLOWER1}, // S_FIREFLOWER4 // Thrown Mario Fireball - {SPR_FBLL, FF_FULLBRIGHT, 3, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_FIREBALL2}, // S_FIREBALL1 - {SPR_FBLL, FF_FULLBRIGHT|1, 3, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_FIREBALL3}, // S_FIREBALL2 - {SPR_FBLL, FF_FULLBRIGHT|2, 3, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_FIREBALL4}, // S_FIREBALL3 - {SPR_FBLL, FF_FULLBRIGHT|3, 3, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_FIREBALL5}, // S_FIREBALL4 - {SPR_FBLL, FF_FULLBRIGHT|4, 3, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_FIREBALL6}, // S_FIREBALL5 - {SPR_FBLL, FF_FULLBRIGHT|5, 3, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_FIREBALL7}, // S_FIREBALL6 - {SPR_FBLL, FF_FULLBRIGHT|6, 3, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_FIREBALL1}, // S_FIREBALL7 + {SPR_FBLL, FF_FULLBRIGHT, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL2}, // S_FIREBALL1 + {SPR_FBLL, FF_FULLBRIGHT|1, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL3}, // S_FIREBALL2 + {SPR_FBLL, FF_FULLBRIGHT|2, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL4}, // S_FIREBALL3 + {SPR_FBLL, FF_FULLBRIGHT|3, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL5}, // S_FIREBALL4 + {SPR_FBLL, FF_FULLBRIGHT|4, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL6}, // S_FIREBALL5 + {SPR_FBLL, FF_FULLBRIGHT|5, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL7}, // S_FIREBALL6 + {SPR_FBLL, FF_FULLBRIGHT|6, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL1}, // S_FIREBALL7 {SPR_FBLL, FF_FULLBRIGHT|7, 3, {NULL}, 0, 0, S_FIREBALLEXP2}, // S_FIREBALLEXP1 {SPR_FBLL, FF_FULLBRIGHT|8, 3, {NULL}, 0, 0, S_FIREBALLEXP3}, // S_FIREBALLEXP2 {SPR_FBLL, FF_FULLBRIGHT|9, 3, {NULL}, 0, 0, S_FIREBALLEXP4}, // S_FIREBALLEXP3 @@ -2641,23 +2641,14 @@ state_t states[NUMSTATES] = {SPR_GSHE, 5, 1, {NULL}, 0, 0, S_GREENSHIELD7}, // S_GREENSHIELD6 {SPR_GSHE, 6, 1, {NULL}, 0, 0, S_GREENSHIELD8}, // S_GREENSHIELD7 {SPR_GSHE, 7, 1, {NULL}, 0, 0, S_GREENSHIELD1}, // S_GREENSHIELD8 - {SPR_GSHE, 0, 1, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_GREENITEM2}, // S_GREENITEM1 - {SPR_GSHE, 1, 1, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_GREENITEM3}, // S_GREENITEM2 - {SPR_GSHE, 2, 1, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_GREENITEM4}, // S_GREENITEM3 - {SPR_GSHE, 3, 1, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_GREENITEM5}, // S_GREENITEM4 - {SPR_GSHE, 4, 1, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_GREENITEM6}, // S_GREENITEM5 - {SPR_GSHE, 5, 1, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_GREENITEM7}, // S_GREENITEM6 - {SPR_GSHE, 6, 1, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_GREENITEM8}, // S_GREENITEM7 - {SPR_GSHE, 7, 1, {A_SmokeTrailer}, MT_GREENTRAIL, 0, S_GREENITEM1}, // S_GREENITEM8 - {SPR_GSTR, 0, 1, {NULL}, 0, 0, S_GREENTRAIL2}, // S_GREENTRAIL1 - {SPR_GSTR, 1, 1, {NULL}, 0, 0, S_GREENTRAIL3}, // S_GREENTRAIL2 - {SPR_GSTR, 2, 1, {NULL}, 0, 0, S_GREENTRAIL4}, // S_GREENTRAIL3 - {SPR_GSTR, 3, 1, {NULL}, 0, 0, S_GREENTRAIL5}, // S_GREENTRAIL4 - {SPR_GSTR, 4, 1, {NULL}, 0, 0, S_GREENTRAIL6}, // S_GREENTRAIL5 - {SPR_GSTR, 5, 1, {NULL}, 0, 0, S_GREENTRAIL7}, // S_GREENTRAIL6 - {SPR_GSTR, 6, 1, {NULL}, 0, 0, S_GREENTRAIL8}, // S_GREENTRAIL7 - {SPR_GSTR, 7, 1, {NULL}, 0, 0, S_GREENTRAIL9}, // S_GREENTRAIL8 - {SPR_GSTR, 8, 1, {NULL}, 0, 0, S_NULL}, // S_GREENTRAIL9 + {SPR_GSHE, 0, 1, {NULL}, 0, 0, S_GREENITEM2}, // S_GREENITEM1 + {SPR_GSHE, 1, 1, {NULL}, 0, 0, S_GREENITEM3}, // S_GREENITEM2 + {SPR_GSHE, 2, 1, {NULL}, 0, 0, S_GREENITEM4}, // S_GREENITEM3 + {SPR_GSHE, 3, 1, {NULL}, 0, 0, S_GREENITEM5}, // S_GREENITEM4 + {SPR_GSHE, 4, 1, {NULL}, 0, 0, S_GREENITEM6}, // S_GREENITEM5 + {SPR_GSHE, 5, 1, {NULL}, 0, 0, S_GREENITEM7}, // S_GREENITEM6 + {SPR_GSHE, 6, 1, {NULL}, 0, 0, S_GREENITEM8}, // S_GREENITEM7 + {SPR_GSHE, 7, 1, {NULL}, 0, 0, S_GREENITEM1}, // S_GREENITEM8 {SPR_DGSH, 0, 175, {NULL}, 0, 0, S_NULL}, // S_DEADGREEN {SPR_RSHE, 0, 1, {NULL}, 0, 0, S_TRIPLEREDSHIELD2}, // S_TRIPLEREDSHIELD1 @@ -2676,27 +2667,26 @@ state_t states[NUMSTATES] = {SPR_RSHE, 5, 1, {NULL}, 0, 0, S_REDSHIELD7}, // S_REDSHIELD6 {SPR_RSHE, 6, 1, {NULL}, 0, 0, S_REDSHIELD8}, // S_REDSHIELD7 {SPR_RSHE, 7, 1, {NULL}, 0, 0, S_REDSHIELD1}, // S_REDSHIELD8 - {SPR_RSHE, 0, 1, {A_DualAction}, S_REDITEMCHASE, S_REDITEMTRAIL, S_REDITEM2}, // S_REDITEM1 - {SPR_RSHE, 1, 1, {A_DualAction}, S_REDITEMCHASE, S_REDITEMTRAIL, S_REDITEM3}, // S_REDITEM2 - {SPR_RSHE, 2, 1, {A_DualAction}, S_REDITEMCHASE, S_REDITEMTRAIL, S_REDITEM4}, // S_REDITEM3 - {SPR_RSHE, 3, 1, {A_DualAction}, S_REDITEMCHASE, S_REDITEMTRAIL, S_REDITEM5}, // S_REDITEM4 - {SPR_RSHE, 4, 1, {A_DualAction}, S_REDITEMCHASE, S_REDITEMTRAIL, S_REDITEM6}, // S_REDITEM5 - {SPR_RSHE, 5, 1, {A_DualAction}, S_REDITEMCHASE, S_REDITEMTRAIL, S_REDITEM7}, // S_REDITEM6 - {SPR_RSHE, 6, 1, {A_DualAction}, S_REDITEMCHASE, S_REDITEMTRAIL, S_REDITEM8}, // S_REDITEM7 - {SPR_RSHE, 7, 1, {A_DualAction}, S_REDITEMCHASE, S_REDITEMTRAIL, S_REDITEM1}, // S_REDITEM8 - {SPR_RSHE, 0, 1, {A_RedShellChase}, 0, 0, S_REDITEM2}, // S_REDITEMCHASE - {SPR_RSHE, 1, 1, {A_SmokeTrailer}, MT_REDTRAIL, 0, S_REDITEM3}, // S_REDITEMTRAIL - {SPR_RSTR, 0, 1, {NULL}, 0, 0, S_REDTRAIL2}, // S_REDTRAIL1 - {SPR_RSTR, 1, 1, {NULL}, 0, 0, S_REDTRAIL3}, // S_REDTRAIL2 - {SPR_RSTR, 2, 1, {NULL}, 0, 0, S_REDTRAIL4}, // S_REDTRAIL3 - {SPR_RSTR, 3, 1, {NULL}, 0, 0, S_REDTRAIL5}, // S_REDTRAIL4 - {SPR_RSTR, 4, 1, {NULL}, 0, 0, S_REDTRAIL6}, // S_REDTRAIL5 - {SPR_RSTR, 5, 1, {NULL}, 0, 0, S_REDTRAIL7}, // S_REDTRAIL6 - {SPR_RSTR, 6, 1, {NULL}, 0, 0, S_REDTRAIL8}, // S_REDTRAIL7 - {SPR_RSTR, 7, 1, {NULL}, 0, 0, S_REDTRAIL9}, // S_REDTRAIL8 - {SPR_RSTR, 8, 1, {NULL}, 0, 0, S_NULL}, // S_REDTRAIL9 + {SPR_RSHE, 0, 1, {A_RedShellChase}, 0, 0, S_REDITEM2}, // S_REDITEM1 + {SPR_RSHE, 1, 1, {A_RedShellChase}, 0, 0, S_REDITEM3}, // S_REDITEM2 + {SPR_RSHE, 2, 1, {A_RedShellChase}, 0, 0, S_REDITEM4}, // S_REDITEM3 + {SPR_RSHE, 3, 1, {A_RedShellChase}, 0, 0, S_REDITEM5}, // S_REDITEM4 + {SPR_RSHE, 4, 1, {A_RedShellChase}, 0, 0, S_REDITEM6}, // S_REDITEM5 + {SPR_RSHE, 5, 1, {A_RedShellChase}, 0, 0, S_REDITEM7}, // S_REDITEM6 + {SPR_RSHE, 6, 1, {A_RedShellChase}, 0, 0, S_REDITEM8}, // S_REDITEM7 + {SPR_RSHE, 7, 1, {A_RedShellChase}, 0, 0, S_REDITEM1}, // S_REDITEM8 {SPR_DRSH, 0, 175, {NULL}, 0, 0, S_NULL}, // S_DEADRED + {SPR_FBLL, 13, 3, {NULL}, 0, 0, S_FIRETRAIL2}, // S_FIRETRAIL1 + {SPR_FBLL, 14, 3, {NULL}, 0, 0, S_FIRETRAIL3}, // S_FIRETRAIL2 + {SPR_FBLL, 15, 3, {NULL}, 0, 0, S_FIRETRAIL4}, // S_FIRETRAIL3 + {SPR_FBLL, 16, 3, {NULL}, 0, 0, S_FIRETRAIL5}, // S_FIRETRAIL4 + {SPR_FBLL, 17, 3, {NULL}, 0, 0, S_FIRETRAIL6}, // S_FIRETRAIL5 + {SPR_FBLL, 18, 3, {NULL}, 0, 0, S_FIRETRAIL7}, // S_FIRETRAIL6 + {SPR_FBLL, 19, 3, {NULL}, 0, 0, S_FIRETRAIL8}, // S_FIRETRAIL7 + {SPR_FBLL, 20, 3, {NULL}, 0, 0, S_FIRETRAIL9}, // S_FIRETRAIL8 + {SPR_FBLL, 21, 3, {NULL}, 0, 0, S_NULL}, // S_FIRETRAIL9 + {SPR_BOMB, 0, 1, {NULL}, 0, 0, S_BOMBSHIELD}, // S_BOMBSHIELD {SPR_BOMB, 0, 1, {A_GrenadeRing}, 0, 0, S_BOMBITEM}, // S_BOMBITEM {SPR_BOMB, 0, 1, {NULL}, 0, 0, S_BOMBAIR}, // S_BOMBAIR @@ -2719,8 +2709,8 @@ state_t states[NUMSTATES] = {SPR_SITR, 2, 3, {NULL}, 0, 0, S_NULL}, // S_SINKTRAIL3 {SPR_KBLN, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BATTLEBALLOON1}, // S_BATTLEBALLOON1 - {SPR_KBLN, 1|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BATTLEBALLOON2}, // S_BATTLEBALLOON2 - {SPR_KBLN, 2|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BATTLEBALLOON3}, // S_BATTLEBALLOON3 + {SPR_KBLN, FF_FULLBRIGHT|1, 1, {NULL}, 0, 0, S_BATTLEBALLOON2}, // S_BATTLEBALLOON2 + {SPR_KBLN, FF_FULLBRIGHT|2, 1, {NULL}, 0, 0, S_BATTLEBALLOON3}, // S_BATTLEBALLOON3 {SPR_LAKI, 0, 64, {NULL}, 1, 0, S_LAKITU2}, // S_LAKITU1 {SPR_LAKI, 1, 35, {NULL}, 0, 0, S_NULL}, // S_LAKITU2 @@ -2855,6 +2845,26 @@ state_t states[NUMSTATES] = {SPR_SHAD, FF_TRANS50, -1, {NULL}, 0, 0, S_NULL}, // S_SHADOW {SPR_SHAD, FF_FULLBRIGHT|FF_TRANS50|1, -1, {NULL}, 0, 0, S_NULL}, // S_WHITESHADOW + {SPR_BUMP, 0, 3, {NULL}, 0, 0, S_BUMP2}, // S_BUMP1 + {SPR_BUMP, 1, 3, {NULL}, 0, 0, S_BUMP3}, // S_BUMP2 + {SPR_BUMP, 2, 3, {NULL}, 0, 0, S_NULL}, // S_BUMP3 + + {SPR_FLEN, FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_FLINGENERGY2}, // S_FLINGENERGY1, + {SPR_FLEN, FF_FULLBRIGHT|1, 3, {NULL}, 0, 0, S_FLINGENERGY3}, // S_FLINGENERGY2, + {SPR_FLEN, FF_FULLBRIGHT|2, 3, {NULL}, 0, 0, S_NULL}, // S_FLINGENERGY3, + + {SPR_CLAS, FF_FULLBRIGHT|FF_TRANS30, 2, {A_PlayActiveSound}, 0, 0, S_CLASH2}, // S_CLASH1 + {SPR_CLAS, FF_FULLBRIGHT|FF_TRANS30|1, 2, {NULL}, 0, 0, S_CLASH3}, // S_CLASH2 + {SPR_CLAS, FF_FULLBRIGHT|FF_TRANS30|2, 2, {NULL}, 0, 0, S_CLASH4}, // S_CLASH3 + {SPR_CLAS, FF_FULLBRIGHT|FF_TRANS30|3, 2, {NULL}, 0, 0, S_CLASH5}, // S_CLASH4 + {SPR_CLAS, FF_FULLBRIGHT|FF_TRANS30|4, 2, {NULL}, 0, 0, S_CLASH6}, // S_CLASH5 + {SPR_CLAS, FF_FULLBRIGHT|FF_TRANS30|5, 2, {NULL}, 0, 0, S_NULL}, // S_CLASH6 + + {SPR_PSHW, 0, 3, {NULL}, 0, 0, S_FIREDITEM2}, // S_FIREDITEM1 + {SPR_PSHW, 1, 3, {NULL}, 0, 0, S_FIREDITEM3}, // S_FIREDITEM2 + {SPR_PSHW, 2, 3, {NULL}, 0, 0, S_FIREDITEM4}, // S_FIREDITEM3 + {SPR_PSHW, 3, 3, {NULL}, 0, 0, S_NULL}, // S_FIREDITEM4 + #ifdef SEENAMES {SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_NAMECHECK #endif @@ -14386,7 +14396,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_FAKEITEM1, // spawnstate 2, // spawnhealth S_NULL, // seestate - sfx_None, // seesound + sfx_tossed, // seesound 8, // reactiontime sfx_None, // attacksound S_NULL, // painstate @@ -14521,7 +14531,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_BANANAITEM, // spawnstate 2, // spawnhealth S_NULL, // seestate - sfx_None, // seesound + sfx_tossed, // seesound 8, // reactiontime sfx_None, // attacksound S_NULL, // painstate @@ -14656,7 +14666,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_GREENITEM1, // spawnstate 7, // spawnhealth S_NULL, // seestate - sfx_None, // seesound + sfx_tossed, // seesound 8, // reactiontime sfx_tink, // attacksound S_NULL, // painstate @@ -14678,9 +14688,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_GREENTRAIL + { // MT_FIRETRAIL -1, // doomednum - S_GREENTRAIL1, // spawnstate + S_FIRETRAIL1, // spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound @@ -14818,7 +14828,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_REDITEM1, // spawnstate 1, // spawnhealth S_NULL, // seestate - sfx_None, // seesound + sfx_tossed, // seesound 8, // reactiontime sfx_None, // attacksound S_NULL, // painstate @@ -14845,7 +14855,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_REDITEM1, // spawnstate 1, // spawnhealth S_NULL, // seestate - sfx_None, // seesound + sfx_tossed, // seesound 8, // reactiontime sfx_None, // attacksound S_NULL, // painstate @@ -14867,33 +14877,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_REDTRAIL - -1, // doomednum - S_REDTRAIL1, // spawnstate - 1000, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 8, // reactiontime - sfx_None, // attacksound - S_NULL, // painstate - 0, // painchance - sfx_None, // painsound - S_NULL, // meleestate - S_NULL, // missilestate - S_NULL, // deathstate - S_NULL, // xdeathstate - sfx_None, // deathsound - 8, // speed - 20*FRACUNIT, // radius - 16*FRACUNIT, // height - 0, // display offset - 100, // mass - 0, // damage - sfx_None, // activesound - MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY, // flags - S_NULL // raisestate - }, - { // MT_BOMBSHIELD -1, // doomednum S_BOMBSHIELD, // spawnstate @@ -14926,7 +14909,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_BOMBAIR, // spawnstate 105, // spawnhealth S_NULL, // seestate - sfx_None, // seesound + sfx_tossed, // seesound 8, // reactiontime sfx_None, // attacksound S_NULL, // painstate @@ -16649,6 +16632,113 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, + { // MT_BUMP + -1, // doomednum + S_BUMP1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 32*FRACUNIT, // radius + 64*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOGRAVITY|MF_SCENERY|MF_NOCLIP|MF_NOCLIPHEIGHT, // flags + S_NULL // raisestate + }, + + { // MT_FLINGENERGY + -1, // doomednum + S_FLINGENERGY1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + MT_FLINGENERGY, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 60*FRACUNIT, // speed + 32*FRACUNIT, // radius + 64*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT, // flags + S_NULL // raisestate + }, + + { // MT_ITEMCLASH + -1, // doomednum + S_CLASH1, // spawnstate + 1, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 0, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 60*FRACUNIT, // speed + 32*FRACUNIT, // radius + 64*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_clash, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + S_NULL // raisestate + }, + + { // MT_FIREDITEM + -1, // doomednum + S_FIREDITEM1, // spawnstate + 1, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 0, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 60*FRACUNIT, // speed + 32*FRACUNIT, // radius + 64*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_SCENERY, // flags + S_NULL // raisestate + }, // ============================================================================================================================// #ifdef SEENAMES @@ -16674,7 +16764,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 0, // display offset 100, // mass 0, // damage - sfx_None, // activesound + sfx_None, // activesound MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY|MF_NOSECTOR, // flags S_NULL // raisestate }, diff --git a/src/info.h b/src/info.h index fc996cd4..37babceb 100644 --- a/src/info.h +++ b/src/info.h @@ -590,10 +590,8 @@ typedef enum sprite SPR_BANA, // Banana Peel SPR_DBAN, // Dead Banana Peel SPR_GSHE, // Green Shell - SPR_GSTR, // Green Shell Trail SPR_DGSH, // Dead Green Shell SPR_RSHE, // Red Shell - SPR_RSTR, // Red Shell Trail SPR_DRSH, // Dead Red Shell SPR_BOMB, // Bob-omb SPR_BLIG, // Blue Lightning @@ -618,6 +616,11 @@ typedef enum sprite SPR_CRAB, // Crystal Abyss mobs SPR_SHAD, // TD shadows + SPR_BUMP, // Player/shell bump + SPR_FLEN, // Shell hit graphics stuff + SPR_CLAS, // items clash + SPR_PSHW, // thrown indicator + SPR_FIRSTFREESLOT, SPR_LASTFREESLOT = SPR_FIRSTFREESLOT + NUMSPRITEFREESLOTS - 1, NUMSPRITES @@ -3149,15 +3152,6 @@ typedef enum state S_GREENITEM6, S_GREENITEM7, S_GREENITEM8, - S_GREENTRAIL1, - S_GREENTRAIL2, - S_GREENTRAIL3, - S_GREENTRAIL4, - S_GREENTRAIL5, - S_GREENTRAIL6, - S_GREENTRAIL7, - S_GREENTRAIL8, - S_GREENTRAIL9, S_DEADGREEN, //} //{ Red Shell @@ -3185,20 +3179,19 @@ typedef enum state S_REDITEM6, S_REDITEM7, S_REDITEM8, - S_REDITEMCHASE, - S_REDITEMTRAIL, - S_REDTRAIL1, - S_REDTRAIL2, - S_REDTRAIL3, - S_REDTRAIL4, - S_REDTRAIL5, - S_REDTRAIL6, - S_REDTRAIL7, - S_REDTRAIL8, - S_REDTRAIL9, S_DEADRED, //} + S_FIRETRAIL1, + S_FIRETRAIL2, + S_FIRETRAIL3, + S_FIRETRAIL4, + S_FIRETRAIL5, + S_FIRETRAIL6, + S_FIRETRAIL7, + S_FIRETRAIL8, + S_FIRETRAIL9, + // Bob-omb S_BOMBSHIELD, S_BOMBITEM, @@ -3370,6 +3363,26 @@ typedef enum state S_SHADOW, S_WHITESHADOW, + S_BUMP1, + S_BUMP2, + S_BUMP3, + + S_FLINGENERGY1, + S_FLINGENERGY2, + S_FLINGENERGY3, + + S_CLASH1, + S_CLASH2, + S_CLASH3, + S_CLASH4, + S_CLASH5, + S_CLASH6, + + S_FIREDITEM1, + S_FIREDITEM2, + S_FIREDITEM3, + S_FIREDITEM4, + #ifdef SEENAMES S_NAMECHECK, #endif @@ -3923,7 +3936,7 @@ typedef enum mobj_type MT_TRIPLEGREENSHIELD3, MT_GREENSHIELD, MT_GREENITEM, - MT_GREENTRAIL, + MT_FIRETRAIL, MT_TRIPLEREDSHIELD1, // Red shell stuff MT_TRIPLEREDSHIELD2, @@ -3931,7 +3944,6 @@ typedef enum mobj_type MT_REDSHIELD, MT_REDITEM, MT_REDITEMDUD, - MT_REDTRAIL, MT_BOMBSHIELD, // Bob-omb stuff MT_BOMBITEM, @@ -4013,6 +4025,14 @@ typedef enum mobj_type MT_MOSSYTREE, MT_SHADOW, + MT_BUMP, + + MT_FLINGENERGY, + + MT_ITEMCLASH, + + MT_FIREDITEM, + #ifdef SEENAMES MT_NAMECHECK, #endif diff --git a/src/k_kart.c b/src/k_kart.c index 25eac841..fdd5951f 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1060,8 +1060,8 @@ boolean K_IsTouching(mobj_t *mobj1, mobj_t *mobj2) void K_SwapMomentum(mobj_t *mobj1, mobj_t *mobj2, boolean bounce) { - fixed_t newx; - fixed_t newy; + fixed_t newx, newy; + mobj_t *fx; if (mobj1 == NULL || mobj2 == NULL) return; @@ -1076,6 +1076,14 @@ void K_SwapMomentum(mobj_t *mobj1, mobj_t *mobj2, boolean bounce) S_StartSound(mobj1, cv_collidesoundnum.value); //S_StartSound(mobj2, cv_collidesoundnum.value); } + + fx = P_SpawnMobj((mobj1->x + mobj2->x)/2, (mobj1->y + mobj2->y)/2, (mobj1->z + mobj2->z)/2, MT_BUMP); + if (mobj1->eflags & MFE_VERTICALFLIP) + fx->eflags |= MFE_VERTICALFLIP; + else + fx->eflags &= ~MFE_VERTICALFLIP; + fx->scale = mobj1->scale; + if (deltaV1 < (cv_collideminimum.value * FRACUNIT / 2)) { fixed_t a = 0; @@ -1769,6 +1777,12 @@ void K_ExplodePlayer(player_t *player, mobj_t *source) // A bit of a hack, we ju P_PlayRinglossSound(player->mo); + if (P_IsLocalPlayer(player)) + { + quake.intensity = 64*FRACUNIT; + quake.time = 5; + } + return; } @@ -1896,6 +1910,13 @@ static mobj_t *K_SpawnKartMissile(mobj_t *source, mobjtype_t type, angle_t angle th->momx = FixedMul(speed, FINECOSINE(an>>ANGLETOFINESHIFT)); th->momy = FixedMul(speed, FINESINE(an>>ANGLETOFINESHIFT)); + x = x + P_ReturnThrustX(source, an, source->radius + th->radius); + x = y + P_ReturnThrustY(source, an, source->radius + th->radius); + mobj_t *throwmo = P_SpawnMobj(x, y, z, MT_FIREDITEM); + throwmo->movecount = 1; + throwmo->movedir = source->angle - an; + P_SetTarget(&throwmo->target, source); + return NULL; } @@ -2094,6 +2115,8 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map P_SetTarget(&mo->target, player->mo); + S_StartSound(player->mo, mo->info->seesound); + if (mo) { angle_t fa = player->mo->angle>>ANGLETOFINESHIFT; @@ -2114,6 +2137,10 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map if (player->mo->eflags & MFE_VERTICALFLIP) mo->eflags |= MFE_VERTICALFLIP; } + + mobj_t *throwmo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + 80*FRACUNIT, MT_FIREDITEM); + P_SetTarget(&throwmo->target, player->mo); + throwmo->movecount = 0; // above player } else { diff --git a/src/p_inter.c b/src/p_inter.c index d5847677..ead8d5a4 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -3176,7 +3176,14 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da K_SpinPlayer(player, source); damage = player->mo->health - 1; P_RingDamage(player, inflictor, source, damage); + if (inflictor->type == MT_GREENITEM || inflictor->type == MT_REDITEM || inflictor->type == MT_REDITEMDUD) + P_PlayerRingBurst(player, 5); player->mo->momx = player->mo->momy = 0; + if (P_IsLocalPlayer(player)) + { + quake.intensity = 32*FRACUNIT; + quake.time = 5; + } return true; } /* // SRB2kart - don't need these @@ -3367,9 +3374,9 @@ void P_PlayerRingBurst(player_t *player, INT32 num_rings) if (!player) return; - // If no health, don't spawn ring! + // Never have health in kart I think if (player->mo->health <= 1) - num_rings = 0; + num_rings = 5; if (num_rings > 32 && !(player->pflags & PF_NIGHTSFALL)) num_rings = 32; @@ -3384,11 +3391,10 @@ void P_PlayerRingBurst(player_t *player, INT32 num_rings) // Spill the ammo P_PlayerWeaponAmmoBurst(player); + // There's no ring spilling in kart, so I'm hijacking this for the same thing as TD for (i = 0; i < num_rings; i++) { - INT32 objType = mobjinfo[MT_RING].reactiontime; - if (mariomode) - objType = mobjinfo[MT_COIN].reactiontime; + INT32 objType = mobjinfo[MT_FLINGENERGY].reactiontime; z = player->mo->z; if (player->mo->eflags & MFE_VERTICALFLIP) @@ -3429,17 +3435,17 @@ void P_PlayerRingBurst(player_t *player, INT32 num_rings) } else { - momxy = 2*FRACUNIT; + momxy = 28*FRACUNIT; momz = 3*FRACUNIT; } - ns = FixedMul(FixedMul(momxy, FRACUNIT + FixedDiv(player->losstime<scale); + ns = FixedMul(momxy, mo->scale); mo->momx = FixedMul(FINECOSINE(fa),ns); if (!(twodlevel || (player->mo->flags2 & MF2_TWOD))) mo->momy = FixedMul(FINESINE(fa),ns); - ns = FixedMul(momz, FRACUNIT + FixedDiv(player->losstime<target, 1); + if (tmthing->type == MT_GREENITEM || tmthing->type == MT_REDITEM || tmthing->type == MT_REDITEMDUD) + S_StartSound(thing, sfx_shelit); // This Item Damage if (tmthing->eflags & MFE_VERTICALFLIP) @@ -711,6 +713,7 @@ static boolean PIT_CheckThing(mobj_t *thing) P_SetObjectMomZ(thing, 8*FRACUNIT, false); P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT); + P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH); // This Item Damage if (tmthing->eflags & MFE_VERTICALFLIP) @@ -741,6 +744,8 @@ static boolean PIT_CheckThing(mobj_t *thing) P_SetObjectMomZ(tmthing, 8*FRACUNIT, false); P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT); + + P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH); } // Other Item Damage @@ -769,7 +774,6 @@ static boolean PIT_CheckThing(mobj_t *thing) P_SetObjectMomZ(tmthing, 8*FRACUNIT, false); P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT); - // Bomb death P_KillMobj(thing, tmthing, tmthing); } @@ -895,6 +899,8 @@ static boolean PIT_CheckThing(mobj_t *thing) P_SetObjectMomZ(thing, 8*FRACUNIT, false); P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT); + P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH); + // This Item Damage if (tmthing->eflags & MFE_VERTICALFLIP) tmthing->z -= tmthing->height; @@ -922,6 +928,8 @@ static boolean PIT_CheckThing(mobj_t *thing) P_SetObjectMomZ(tmthing, 8*FRACUNIT, false); P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT); + + P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH); } // Other Item Damage if (thing->eflags & MFE_VERTICALFLIP) @@ -987,6 +995,8 @@ static boolean PIT_CheckThing(mobj_t *thing) P_SetObjectMomZ(thing, 8*FRACUNIT, false); P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT); + P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH); + // This Item Damage if (tmthing->eflags & MFE_VERTICALFLIP) tmthing->z -= tmthing->height; @@ -1091,6 +1101,9 @@ static boolean PIT_CheckThing(mobj_t *thing) // Player Damage P_DamageMobj(tmthing, thing, thing->target, 1); + if (thing->type == MT_GREENITEM || thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD) + S_StartSound(tmthing, sfx_shelit); + // Other Item Damage if (thing->eflags & MFE_VERTICALFLIP) thing->z -= thing->height; diff --git a/src/p_mobj.c b/src/p_mobj.c index a22ad261..52683a9f 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -1737,11 +1737,18 @@ void P_XYMovement(mobj_t *mo) //{ SRB2kart - Green Shell, Fireball if (mo->type == MT_GREENITEM) { + mobj_t *fx; + fx = P_SpawnMobj(mo->x, mo->y, mo->z, MT_BUMP); + if (mo->eflags & MFE_VERTICALFLIP) + fx->eflags |= MFE_VERTICALFLIP; + else + fx->eflags &= ~MFE_VERTICALFLIP; + fx->scale = mo->scale; if (mo->health > 1) { - S_StartSound(mo, mo->info->attacksound); - mo->health--; - mo->threshold = 0; + S_StartSound(mo, mo->info->attacksound); + mo->health--; + mo->threshold = 0; } else if (mo->health == 1) { @@ -6237,7 +6244,7 @@ void P_RunShadows(void) if (mobj->type != MT_SHADOW) continue; - if (mobj->target && (mobj->target->health || mobj->target->player)) // only players keep shadows after death, but only until their mobj is killed + if (mobj->target) { if ((mobj->target->flags2 & MF2_DONTDRAW) || (((mobj->target->eflags & MFE_VERTICALFLIP) && mobj->target->z+mobj->target->height > mobj->target->ceilingz) @@ -6848,6 +6855,24 @@ void P_MobjThinker(mobj_t *mobj) return; } break; + case MT_FIREDITEM: + { + fixed_t x, y, z; + if (mobj->movecount) + { + x = mobj->target->x + P_ReturnThrustX(mobj->target, mobj->target->angle + mobj->movedir, mobj->target->radius + mobj->radius); + y = mobj->target->y + P_ReturnThrustY(mobj->target, mobj->target->angle + mobj->movedir, mobj->target->radius + mobj->radius); + z = mobj->target->z + mobj->target->height/3; + } + else + { + x = mobj->target->x; + y = mobj->target->y; + z = mobj->target->z + 80*FRACUNIT; + } + P_TeleportMove(mobj, x, y, z); + break; + } default: if (mobj->fuse) { // Scenery object fuse! Very basic! @@ -7478,6 +7503,13 @@ void P_MobjThinker(mobj_t *mobj) if (mobj->flags2 & MF2_NIGHTSPULL) P_NightsItemChase(mobj); break; + case MT_SMALLMACE: + case MT_BIGMACE: + { + mobj_t *ghostmo = P_SpawnGhostMobj(mobj); + ghostmo->fuse = 4; + } + break; case MT_SHELL: if (mobj->threshold > TICRATE) mobj->threshold--; @@ -7537,6 +7569,8 @@ void P_MobjThinker(mobj_t *mobj) { fixed_t finalspeed = mobj->info->speed; + P_SpawnGhostMobj(mobj); + if (cv_kartcc.value == 50) { finalspeed = FixedMul(finalspeed, FRACUNIT-FRACUNIT/4); @@ -7571,6 +7605,9 @@ void P_MobjThinker(mobj_t *mobj) fixed_t topspeed = 64*FRACUNIT; fixed_t distbarrier = 512*FRACUNIT; fixed_t distaway; + + P_SpawnGhostMobj(mobj); + if (mobj->threshold > 0) mobj->threshold--; if (leveltime % 7 == 0) @@ -7604,6 +7641,7 @@ void P_MobjThinker(mobj_t *mobj) break; } case MT_REDITEMDUD: + P_SpawnGhostMobj(mobj); mobj->angle = R_PointToAngle2(mobj->x, mobj->y, mobj->x+mobj->momx, mobj->y+mobj->momy); P_InstaThrust(mobj, mobj->angle, mobj->info->speed); if (mobj->threshold > 0) @@ -7613,6 +7651,8 @@ void P_MobjThinker(mobj_t *mobj) break; case MT_BANANAITEM: case MT_FAKEITEM: + if (mobj->momx || mobj->momy) + P_SpawnGhostMobj(mobj); if (mobj->z <= mobj->floorz && mobj->health > 1) { S_StartSound(mobj, mobj->info->activesound); @@ -7623,6 +7663,8 @@ void P_MobjThinker(mobj_t *mobj) mobj->threshold--; break; case MT_FIREBALL: + var1 = MT_FIRETRAIL; + A_SmokeTrailer(mobj); if (mobj->threshold > 0) mobj->threshold--; break; @@ -7636,6 +7678,8 @@ void P_MobjThinker(mobj_t *mobj) mobj->threshold--; break; case MT_BOMBITEM: + if (mobj->momx || mobj->momy) + P_SpawnGhostMobj(mobj); if (mobj->z <= mobj->floorz) { if (mobj->health > mobj->info->spawnhealth-1) @@ -8435,6 +8479,7 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type) switch (mobj->type) { case MT_PLAYER: + case MT_BIGMACE: case MT_SMALLMACE: //case MT_RANDOMITEM: case MT_BANANAITEM: case MT_BANANASHIELD: case MT_TRIPLEBANANASHIELD1: case MT_TRIPLEBANANASHIELD2: case MT_TRIPLEBANANASHIELD3: diff --git a/src/sounds.c b/src/sounds.c index 1881385d..07777514 100644 --- a/src/sounds.c +++ b/src/sounds.c @@ -467,27 +467,27 @@ sfxinfo_t S_sfx[NUMSFX] = {"s3kdbl", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // SRB2kart - {"lkt1", true, 127, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"lkt2", true, 127, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"lkt3", true, 127, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"lkt1", true, 192, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"lkt2", true, 192, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"lkt3", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"kart1", false, 48, 16, -1, NULL, 0, -1, -1, LUMPERROR}, {"kart2", false, 48, 16, -1, NULL, 0, -1, -1, LUMPERROR}, {"kart3", false, 48, 16, -1, NULL, 0, -1, -1, LUMPERROR}, - {"mlap", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"mush", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"star", true, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR}, - {"mega", true, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR}, - {"bomb", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"bomb2", true, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, - {"peel", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"slip", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"fake", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"grnshl", true, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR}, - {"redshl", true, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, - {"shbrk", true, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, - {"mkdrft", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"mkslid", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, - {"mkitem", true, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"mlap", true, 127, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"mush", false, 90, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"star", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR}, + {"mega", false, 140, 16, -1, NULL, 0, -1, -1, LUMPERROR}, + {"bomb", false, 110, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"bomb2", false, 110, 8, -1, NULL, 0, -1, -1, LUMPERROR}, + {"peel", false, 100, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"slip", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"fake", false, 100, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"grnshl", false, 120, 64, -1, NULL, 0, -1, -1, LUMPERROR}, + {"redshl", false, 130, 8, -1, NULL, 0, -1, -1, LUMPERROR}, + {"shbrk", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, + {"mkdrft", false, 52, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"mkslid", false, 48, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"mkitem", false, 80, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"mkitm1", true, 72, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"mkitm2", true, 72, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"mkitm3", true, 72, 0, -1, NULL, 0, -1, -1, LUMPERROR}, @@ -497,6 +497,9 @@ sfxinfo_t S_sfx[NUMSFX] = {"mkitm7", true, 72, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"mkitm8", true, 72, 0, -1, NULL, 0, -1, -1, LUMPERROR}, {"mkitmF", true, 72, 0, -1, NULL, 0, -1, -1, LUMPERROR}, + {"clash", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR}, + {"tossed", false,150, 8, -1, NULL, 0, -1, -1, LUMPERROR}, + {"shelit", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR}, // SRB2kart - Skin sounds {"kwin", false, 64, 0, -1, NULL, 0, SKSWIN, -1, LUMPERROR}, diff --git a/src/sounds.h b/src/sounds.h index 03888a2a..66a9b729 100644 --- a/src/sounds.h +++ b/src/sounds.h @@ -568,6 +568,10 @@ typedef enum sfx_mkitm7, sfx_mkitm8, sfx_mkitmF, + sfx_clash, + sfx_tossed, + sfx_shelit, + sfx_kwin, sfx_klose, sfx_slow,