Skip to content

Commit b20b71b

Browse files
committed
Fix Knuckles
1 parent cb233bd commit b20b71b

File tree

4 files changed

+53
-47
lines changed

4 files changed

+53
-47
lines changed

src/hardware/hw_light.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,6 @@ light_t *t_lspr[NUMSPRITES] =
575575
&lspr[BLUEBALL_L], // SPR_SBFL,
576576
&lspr[BLUEBALL_L], // SPR_SBSK,
577577
&lspr[NOLIGHT], // SPR_BATT,
578-
&lspr[NOLIGHT], // SPR_OLDK,
579578

580579
// Debris
581580
&lspr[RINGSPARK_L], // SPR_SPRK
@@ -615,6 +614,9 @@ light_t *t_lspr[NUMSPRITES] =
615614
&lspr[NOLIGHT], // SPR_GWLG
616615
&lspr[NOLIGHT], // SPR_GWLR
617616

617+
// LJ Knuckles
618+
&lspr[NOLIGHT], // SPR_OLDK,
619+
618620
// Free slots
619621
&lspr[NOLIGHT],
620622
&lspr[NOLIGHT],

src/info.c

+35-34
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,6 @@ char sprnames[NUMSPRITES + 1][MAXSPRITENAME + 1] =
486486
"SBFL",
487487
"SBSK",
488488
"HBAT",
489-
"OLDK",
490489

491490
// Debris
492491
"SPRK", // Sparkle
@@ -525,6 +524,9 @@ char sprnames[NUMSPRITES + 1][MAXSPRITENAME + 1] =
525524
// Gravity Well Objects
526525
"GWLG",
527526
"GWLR",
527+
528+
// LJ Knuckles
529+
"OLDK",
528530
};
529531

530532
char spr2names[NUMPLAYERSPRITES][MAXSPRITENAME + 1] =
@@ -3937,11 +3939,6 @@ state_t states[NUMSTATES] =
39373939
{SPR_HBAT, 3, 1, {NULL}, 0, 0, S_HANGSTER_RETURN1, 0}, // S_HANGSTER_RETURN2
39383940
{SPR_HBAT, 0, 15, {NULL}, 0, 0, S_HANGSTER_LOOK, 0}, // S_HANGSTER_RETURN3
39393941

3940-
{SPR_OLDK, FF_ANIMATE, -1, {NULL}, 1, 16, S_NULL, 0}, // S_OLDK_STND
3941-
{SPR_OLDK, 2, 0, {A_ForceWin}, 0, 0, S_OLDK_DIE1, 0}, // S_OLDK_DIE0
3942-
{SPR_OLDK, 2, 0, {A_Scream}, 0, 0, S_OLDK_DIE2, 0}, // S_OLDK_DIE1
3943-
{SPR_OLDK, 2, -1, {A_ZThrust}, 14, 1|(1<<16), S_NULL, 0}, // S_OLDK_DIE2
3944-
39453942
{SPR_NULL, 0, 35, {NULL}, 0, 0, S_CRUMBLE2, 0}, // S_CRUMBLE1
39463943
{SPR_NULL, 0, 105, {A_Scream}, 0, 0, S_NULL, 0}, // S_CRUMBLE2
39473944

@@ -4001,6 +3998,11 @@ state_t states[NUMSTATES] =
40013998
{SPR_BRIY, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL, 0}, // S_YELLOWBRICKDEBRIS
40023999

40034000
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL, 0}, // S_NAMECHECK
4001+
4002+
{SPR_OLDK, FF_ANIMATE, -1, {NULL}, 1, 16, S_NULL, 0}, // S_OLDK_STND
4003+
{SPR_OLDK, 2, 0, {A_ForceWin}, 0, 0, S_OLDK_DIE1, 0}, // S_OLDK_DIE0
4004+
{SPR_OLDK, 2, 0, {A_Scream}, 0, 0, S_OLDK_DIE2, 0}, // S_OLDK_DIE1
4005+
{SPR_OLDK, 2, -1, {A_ZThrust}, 14, 1|(1<<16), S_NULL, 0}, // S_OLDK_DIE2
40044006
};
40054007

40064008
mobjinfo_t mobjinfo[NUMMOBJTYPES] =
@@ -20502,34 +20504,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
2050220504
S_NULL // raisestate
2050320505
},
2050420506

20505-
// MT_OLDK
20506-
{
20507-
666, // doomednum
20508-
S_OLDK_STND, // spawnstate
20509-
2, // spawnhealth
20510-
S_NULL, // seestate
20511-
sfx_None, // seesound
20512-
32, // reactiontime
20513-
sfx_None, // attacksound
20514-
S_OLDK_DIE0, // painstate
20515-
128, // painchance
20516-
sfx_s3k35, // painsound
20517-
S_NULL, // meleestate
20518-
S_NULL, // missilestate
20519-
S_OLDK_DIE0, // deathstate
20520-
S_NULL, // xdeathstate
20521-
sfx_s3k35, // deathsound
20522-
2*FRACUNIT, // speed
20523-
32*FRACUNIT, // radius
20524-
64*FRACUNIT, // height
20525-
0, // display offset
20526-
1000, // mass
20527-
0, // damage
20528-
sfx_None, // activesound
20529-
MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY|MF_BOSS, // flags
20530-
S_NULL // raisestate
20531-
},
20532-
2053320507
{ // MT_TELEPORTMAN
2053420508
751, // doomednum
2053520509
S_INVISIBLE, // spawnstate
@@ -21638,6 +21612,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
2163821612
MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags
2163921613
S_NULL // raisestate
2164021614
},
21615+
21616+
{ // MT_OLDK
21617+
666, // doomednum
21618+
S_OLDK_STND, // spawnstate
21619+
1, // spawnhealth
21620+
S_NULL, // seestate
21621+
sfx_None, // seesound
21622+
32, // reactiontime
21623+
sfx_None, // attacksound
21624+
S_OLDK_DIE0, // painstate
21625+
128, // painchance
21626+
sfx_s3k35, // painsound
21627+
S_NULL, // meleestate
21628+
S_NULL, // missilestate
21629+
S_OLDK_DIE0, // deathstate
21630+
S_NULL, // xdeathstate
21631+
sfx_s3k35, // deathsound
21632+
2*FRACUNIT, // speed
21633+
32*FRACUNIT, // radius
21634+
64*FRACUNIT, // height
21635+
0, // display offset
21636+
1000, // mass
21637+
0, // damage
21638+
sfx_None, // activesound
21639+
MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY|MF_BOSS, // flags
21640+
S_NULL // raisestate
21641+
},
2164121642
};
2164221643

2164321644
skincolor_t skincolors[MAXSKINCOLORS] = {

src/info.h

+11-8
Original file line numberDiff line numberDiff line change
@@ -1037,7 +1037,6 @@ typedef enum sprite
10371037
SPR_SBFL,
10381038
SPR_SBSK,
10391039
SPR_HBAT,
1040-
SPR_OLDK,
10411040

10421041
// Debris
10431042
SPR_SPRK, // Sparkle
@@ -1077,6 +1076,9 @@ typedef enum sprite
10771076
SPR_GWLG,
10781077
SPR_GWLR,
10791078

1079+
// LJ Knuckles
1080+
SPR_OLDK,
1081+
10801082
SPR_FIRSTFREESLOT,
10811083
SPR_LASTFREESLOT = SPR_FIRSTFREESLOT + NUMSPRITEFREESLOTS - 1,
10821084
NUMSPRITES
@@ -4309,11 +4311,6 @@ typedef enum state
43094311
S_HANGSTER_RETURN2,
43104312
S_HANGSTER_RETURN3,
43114313

4312-
S_OLDK_STND,
4313-
S_OLDK_DIE0,
4314-
S_OLDK_DIE1,
4315-
S_OLDK_DIE2,
4316-
43174314
S_CRUMBLE1,
43184315
S_CRUMBLE2,
43194316

@@ -4374,6 +4371,12 @@ typedef enum state
43744371

43754372
S_NAMECHECK,
43764373

4374+
// LJ Knuckles
4375+
S_OLDK_STND,
4376+
S_OLDK_DIE0,
4377+
S_OLDK_DIE1,
4378+
S_OLDK_DIE2,
4379+
43774380
S_FIRSTFREESLOT,
43784381
S_LASTFREESLOT = S_FIRSTFREESLOT + NUMSTATEFREESLOTS - 1,
43794382
NUMSTATES
@@ -5122,8 +5125,6 @@ typedef enum mobj_type
51225125
MT_SPINBOBERT_FIRE2,
51235126
MT_HANGSTER,
51245127

5125-
MT_OLDK,
5126-
51275128
// Utility Objects
51285129
MT_TELEPORTMAN,
51295130
MT_ALTVIEWMAN,
@@ -5174,6 +5175,8 @@ typedef enum mobj_type
51745175
MT_NAMECHECK,
51755176
MT_RAY, // General purpose mobj
51765177

5178+
MT_OLDK,
5179+
51775180
MT_FIRSTFREESLOT,
51785181
MT_LASTFREESLOT = MT_FIRSTFREESLOT + NUMMOBJFREESLOTS - 1,
51795182
NUMMOBJTYPES

src/p_mobj.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -8061,6 +8061,10 @@ static boolean P_MobjBossThink(mobj_t *mobj)
80618061
case MT_METALSONIC_BATTLE:
80628062
P_Boss9Thinker(mobj);
80638063
break;
8064+
case MT_OLDK:
8065+
if (mobj->health <= 0)
8066+
mobj->momz -= (2*FRACUNIT)/3;
8067+
break;
80648068
default: // Generic SOC-made boss
80658069
if (mobj->flags2 & MF2_SKULLFLY)
80668070
P_SpawnGhostMobj(mobj);
@@ -9529,10 +9533,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
95299533
if (!P_HangsterThink(mobj))
95309534
return false;
95319535
break;
9532-
case MT_OLDK:
9533-
if (mobj->health <= 0)
9534-
mobj->momz -= ((2*FRACUNIT)/3);
9535-
break;
95369536
case MT_LHRT:
95379537
mobj->momx = FixedMul(mobj->momx, mobj->extravalue2);
95389538
mobj->momy = FixedMul(mobj->momy, mobj->extravalue2);

0 commit comments

Comments
 (0)