diff --git a/src/deh_tables.c b/src/deh_tables.c index 710f20aa7..c9c879592 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -2054,10 +2054,8 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi "S_BSZVINE_ORANGE", "S_BSZSHRUB", "S_BSZCLOVER", - "S_BIG_PALMTREE_TRUNK", - "S_BIG_PALMTREE_TOP", - "S_PALMTREE_TRUNK", - "S_PALMTREE_TOP", + "S_BSZSUNFLOWER", + "S_BSZFISH", "S_DBALL1", "S_DBALL2", @@ -3029,6 +3027,9 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi "S_NIGHTSCORE80_2", "S_NIGHTSCORE90_2", "S_NIGHTSCORE100_2", + + "S_NIGHTSWING", + "S_NIGHTSWING_XMAS", // NiGHTS Paraloop Powerups "S_NIGHTSSUPERLOOP", @@ -4900,10 +4901,8 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t "MT_BSZVINE_ORANGE", "MT_BSZSHRUB", "MT_BSZCLOVER", - "MT_BIG_PALMTREE_TRUNK", - "MT_BIG_PALMTREE_TOP", - "MT_PALMTREE_TRUNK", - "MT_PALMTREE_TOP", + "MT_BSZFISH", + "MT_BSZSUNFLOWER", // Misc scenery "MT_DBALL", @@ -5057,6 +5056,7 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t "MT_NIGHTSSTAR", // NiGHTS Star "MT_FLINGNIGHTSSTAR", // Lost NiGHTS Star "MT_NIGHTSSUPERLOOP", + "MT_NIGHTSWING", "MT_NIGHTSDRILLREFILL", "MT_NIGHTSHELPER", "MT_NIGHTSEXTRATIME", diff --git a/src/hardware/hw_light.c b/src/hardware/hw_light.c index 53a504116..0e278674a 100644 --- a/src/hardware/hw_light.c +++ b/src/hardware/hw_light.c @@ -415,13 +415,7 @@ light_t *t_lspr[NUMSPRITES] = &lspr[NOLIGHT], // SPR_BSZ1 &lspr[NOLIGHT], // SPR_BSZ2 &lspr[NOLIGHT], // SPR_BSZ3 - //&lspr[NOLIGHT], -- SPR_BSZ4 - &lspr[NOLIGHT], // SPR_BST1 - &lspr[NOLIGHT], // SPR_BST2 - &lspr[NOLIGHT], // SPR_BST3 - &lspr[NOLIGHT], // SPR_BST4 - &lspr[NOLIGHT], // SPR_BST5 - &lspr[NOLIGHT], // SPR_BST6 + &lspr[NOLIGHT], // SPR_BSZ4 &lspr[NOLIGHT], // SPR_BSZ5 &lspr[NOLIGHT], // SPR_BSZ6 &lspr[NOLIGHT], // SPR_BSZ7 diff --git a/src/info.c b/src/info.c index c55fe1dbb..bc73e1232 100644 --- a/src/info.c +++ b/src/info.c @@ -319,13 +319,7 @@ char sprnames[NUMSPRITES + 1][5] = "BSZ1", // Tall flowers "BSZ2", // Medium flowers "BSZ3", // Small flowers - //"BSZ4", -- Tulips - "BST1", // Red tulip - "BST2", // Purple tulip - "BST3", // Blue tulip - "BST4", // Cyan tulip - "BST5", // Yellow tulip - "BST6", // Orange tulip + "BSZ4", // Tulips "BSZ5", // Cluster of Tulips "BSZ6", // Bush "BSZ7", // Vine @@ -466,6 +460,7 @@ char sprnames[NUMSPRITES + 1][5] = "NBMP", // NiGHTS Bumper "HOOP", // NiGHTS hoop sprite "NSCR", // NiGHTS score sprite + "NWNG", // NiGHTS score sprite "NPRU", // Nights Powerups "CAPS", // Capsule thingy for NiGHTS "IDYA", // Ideya @@ -2536,12 +2531,12 @@ state_t states[NUMSTATES] = {SPR_BSZ3, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_CYAN {SPR_BSZ3, 4, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_YELLOW {SPR_BSZ3, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_ORANGE - {SPR_BST1, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_RED - {SPR_BST2, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_PURPLE - {SPR_BST3, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_BLUE - {SPR_BST4, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_CYAN - {SPR_BST5, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_YELLOW - {SPR_BST6, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_ORANGE + {SPR_BSZ4, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTULIP_RED + {SPR_BSZ4, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTULIP_PURPLE + {SPR_BSZ4, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTULIP_BLUE + {SPR_BSZ4, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTULIP_CYAN + {SPR_BSZ4, 4, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTULIP_YELLOW + {SPR_BSZ4, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTULIP_ORANGE {SPR_BSZ5, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_RED {SPR_BSZ5, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_PURPLE {SPR_BSZ5, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_BLUE @@ -2562,10 +2557,8 @@ state_t states[NUMSTATES] = {SPR_BSZ7, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZVINE_ORANGE {SPR_BSZ8, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHRUB {SPR_BSZ8, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLOVER - {SPR_BSZ8, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BIG_PALMTREE_TRUNK - {SPR_BSZ8, 3, -1, {A_ConnectToGround}, MT_BIG_PALMTREE_TRUNK, 0, S_NULL}, // S_BIG_PALMTREE_TOP - {SPR_BSZ8, 4, -1, {NULL}, 0, 0, S_NULL}, // S_PALMTREE_TRUNK - {SPR_BSZ8, 5, -1, {A_ConnectToGround}, MT_PALMTREE_TRUNK, 0, S_NULL}, // S_PALMTREE_TOP + {SPR_BSZ8, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZFISH + {SPR_BSZ8, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSUNFLOWER // Disco ball {SPR_DBAL, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_DBALL2}, // S_DBALL1 @@ -3595,6 +3588,9 @@ state_t states[NUMSTATES] = {SPR_NSCR, FF_FULLBRIGHT|17, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE80_2 {SPR_NSCR, FF_FULLBRIGHT|18, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE90_2 {SPR_NSCR, FF_FULLBRIGHT|19, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE100_2 + + {SPR_NWNG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSWING + {SPR_NWNG, 1, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSWING_XMAS // NiGHTS Paraloop Powerups {SPR_NPRU, 0, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSSUPERLOOP @@ -9139,7 +9135,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_MYSTERY_BOX - -1, //412, // doomednum + 412, // doomednum S_MYSTERY_BOX, // spawnstate 1, // spawnhealth S_NULL, // seestate @@ -10516,7 +10512,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_CANNONBALLDECOR - 1124, // doomednum + 526, // doomednum S_CANNONBALL1, // spawnstate 1, // spawnhealth S_NULL, // seestate @@ -13918,7 +13914,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FJSPINAXISA - 1302, // doomednum + 3575, // doomednum S_FJSPINAXISA1, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -13945,7 +13941,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FJSPINAXISB - 1303, // doomednum + 3576, // doomednum S_FJSPINAXISB1, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -16646,10 +16642,10 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags S_NULL // raisestate }, - - { // MT_BIG_PALMTREE_TRUNK - -1, // doomednum - S_BIG_PALMTREE_TRUNK, // spawnstate + + { // MT_BSZFISH + 1472, // doomednum + S_BSZFISH, // spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound @@ -16665,7 +16661,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = sfx_None, // deathsound 0, // speed 16*FRACUNIT, // radius - 160*FRACUNIT, // height + 32*FRACUNIT, // height 0, // display offset 100, // mass 0, // damage @@ -16674,9 +16670,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_BIG_PALMTREE_TOP + { // MT_BSZSUNFLOWER 1473, // doomednum - S_BIG_PALMTREE_TOP, // spawnstate + S_BSZSUNFLOWER, // spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound @@ -16692,34 +16688,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = sfx_None, // deathsound 0, // speed 16*FRACUNIT, // radius - 160*FRACUNIT, // height - 0, // display offset - 100, // mass - 0, // damage - sfx_None, // activesound - MF_RUNSPAWNFUNC|MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags - S_NULL // raisestate - }, - - { // MT_PALMTREE_TRUNK - -1, // doomednum - S_PALMTREE_TRUNK, // 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 - 16*FRACUNIT, // radius - 80*FRACUNIT, // height + 32*FRACUNIT, // height 0, // display offset 100, // mass 0, // damage @@ -16728,33 +16697,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_PALMTREE_TOP - 1475, // doomednum - S_PALMTREE_TOP, // 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 - 16*FRACUNIT, // radius - 80*FRACUNIT, // height - 0, // display offset - 100, // mass - 0, // damage - sfx_None, // activesound - MF_RUNSPAWNFUNC|MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags - S_NULL // raisestate - }, - { // MT_DBALL 1875, // doomednum S_DBALL1, // spawnstate @@ -20294,6 +20236,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = MF_SLIDEME|MF_SPECIAL, // flags S_NULL // raisestate }, + + { // MT_NIGHTSWING + 1706, // doomednum + S_NIGHTSWING, // spawnstate + 1000, // spawnhealth + S_NIGHTSWING_XMAS, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_itemup, // painsound + S_RING, // meleestate + S_NULL, // missilestate + S_SPRK1, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 1, // speed + 12*FRACUNIT, // radius + 24*FRACUNIT, // height + 0, // display offset + 4, // mass + 0, // damage + sfx_ncitem, // activesound + MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags + S_NULL // raisestate + }, { // MT_NIGHTSSUPERLOOP 1707, // doomednum diff --git a/src/info.h b/src/info.h index f61891c06..079f5427e 100644 --- a/src/info.h +++ b/src/info.h @@ -870,13 +870,7 @@ typedef enum sprite SPR_BSZ1, // Tall flowers SPR_BSZ2, // Medium flowers SPR_BSZ3, // Small flowers - //SPR_BSZ4, -- Tulips - SPR_BST1, // Red tulip - SPR_BST2, // Purple tulip - SPR_BST3, // Blue tulip - SPR_BST4, // Cyan tulip - SPR_BST5, // Yellow tulip - SPR_BST6, // Orange tulip + SPR_BSZ4, // Tulip SPR_BSZ5, // Cluster of Tulips SPR_BSZ6, // Bush SPR_BSZ7, // Vine @@ -1017,6 +1011,7 @@ typedef enum sprite SPR_NBMP, // NiGHTS Bumper SPR_HOOP, // NiGHTS hoop sprite SPR_NSCR, // NiGHTS score sprite + SPR_NWNG, // NIGHTS Wing SPR_NPRU, // Nights Powerups SPR_CAPS, // Capsule thingy for NiGHTS SPR_IDYA, // Ideya @@ -3029,10 +3024,8 @@ typedef enum state S_BSZVINE_ORANGE, S_BSZSHRUB, S_BSZCLOVER, - S_BIG_PALMTREE_TRUNK, - S_BIG_PALMTREE_TOP, - S_PALMTREE_TRUNK, - S_PALMTREE_TOP, + S_BSZFISH, + S_BSZSUNFLOWER, S_DBALL1, S_DBALL2, @@ -4003,6 +3996,9 @@ typedef enum state S_NIGHTSCORE80_2, S_NIGHTSCORE90_2, S_NIGHTSCORE100_2, + + S_NIGHTSWING, + S_NIGHTSWING_XMAS, // NiGHTS Paraloop Powerups S_NIGHTSSUPERLOOP, @@ -5915,10 +5911,8 @@ typedef enum mobj_type MT_BSZVINE_ORANGE, MT_BSZSHRUB, MT_BSZCLOVER, - MT_BIG_PALMTREE_TRUNK, - MT_BIG_PALMTREE_TOP, - MT_PALMTREE_TRUNK, - MT_PALMTREE_TOP, + MT_BSZFISH, + MT_BSZSUNFLOWER, // Misc scenery MT_DBALL, @@ -6072,6 +6066,7 @@ typedef enum mobj_type MT_NIGHTSSTAR, // NiGHTS Star MT_FLINGNIGHTSSTAR, // Lost NiGHTS Star MT_NIGHTSSUPERLOOP, + MT_NIGHTSWING, MT_NIGHTSDRILLREFILL, MT_NIGHTSHELPER, MT_NIGHTSEXTRATIME, diff --git a/src/k_kart.c b/src/k_kart.c index 01552eb55..c20ddc03c 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -635,8 +635,16 @@ INT32 K_KartGetItemOdds( { case KITEM_BANANA: case KITEM_EGGMAN: + notNearEnd = true; + break; case KITEM_SUPERRING: notNearEnd = true; + + if (ringsdisabled) // No rings rolled if rings are turned off. + { + newodds = 0; + } + break; case KITEM_ROCKETSNEAKER: case KITEM_JAWZ: @@ -989,7 +997,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) { if (gametype == GT_RACE) { - if (mashed && (modeattacking || cv_superring.value)) // ANY mashed value? You get rings. + if (mashed && (modeattacking || (cv_superring.value && !ringsdisabled))) // ANY mashed value? You get rings. { K_KartGetItemResult(player, KITEM_SUPERRING); player->karthud[khud_itemblinkmode] = 1; @@ -1043,7 +1051,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) // SPECIAL CASE No. 4: // Being in ring debt occasionally forces Super Ring on you if you mashed - if (!(gametyperules & GTR_SPHERES) && mashed && player->rings < 0 && cv_superring.value) + if (!(gametyperules & GTR_SPHERES || ringsdisabled) && mashed && player->rings < 0 && cv_superring.value) { INT32 debtamount = min(20, abs(player->rings)); if (P_RandomChance((debtamount*FRACUNIT)/20)) @@ -8260,7 +8268,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) if (!(cmd->buttons & BT_ATTACK)) { if (player->itemtype == KITEM_NONE - && NO_HYUDORO && !(HOLDING_ITEM + && NO_HYUDORO && !ringsdisabled && !(HOLDING_ITEM || player->itemamount || player->itemroulette || player->rocketsneakertimer diff --git a/src/m_cheat.c b/src/m_cheat.c index b802e89e6..d2f351596 100644 --- a/src/m_cheat.c +++ b/src/m_cheat.c @@ -1026,7 +1026,7 @@ void OP_ObjectplaceMovement(player_t *player) if (cmd->forwardmove != 0) { - P_Thrust(player->mo, player->mo->angle, (cmd->forwardmove*player->mo->scale/MAXPLMOVE)*cv_speed.value); + P_Thrust(player->mo, player->cmd.angle<<16, (cmd->forwardmove*player->mo->scale/MAXPLMOVE)*cv_speed.value); P_MoveOrigin(player->mo, player->mo->x+player->mo->momx, player->mo->y+player->mo->momy, player->mo->z); player->mo->momx = player->mo->momy = 0; }