Merge master

This commit is contained in:
TehRealSalt 2017-10-24 19:31:37 -04:00
commit 0af023d8ca
9 changed files with 386 additions and 163 deletions

View file

@ -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

View file

@ -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
},

View file

@ -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

View file

@ -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
{

View file

@ -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<<FRACBITS, 10*TICRATE<<FRACBITS)), mo->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<<FRACBITS, 10*TICRATE<<FRACBITS));
ns = momz;
P_SetObjectMomZ(mo, ns, false);
if (i & 1)

View file

@ -678,6 +678,8 @@ static boolean PIT_CheckThing(mobj_t *thing)
// Player Damage
P_DamageMobj(thing, tmthing, tmthing->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;

View file

@ -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:

View file

@ -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},

View file

@ -568,6 +568,10 @@ typedef enum
sfx_mkitm7,
sfx_mkitm8,
sfx_mkitmF,
sfx_clash,
sfx_tossed,
sfx_shelit,
sfx_kwin,
sfx_klose,
sfx_slow,