mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-01-25 07:56:15 +00:00
Merge branch 'ark-arrow' into 'master'
Ark Arrows See merge request KartKrew/Kart!1402
This commit is contained in:
commit
a3ced9240f
9 changed files with 222 additions and 160 deletions
|
|
@ -4000,39 +4000,49 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
|
|||
"S_LAMPPOST",
|
||||
"S_MOSSYTREE",
|
||||
|
||||
// Lost Colony symbol signs
|
||||
"S_SYMBOL_0",
|
||||
"S_SYMBOL_1",
|
||||
"S_SYMBOL_2",
|
||||
"S_SYMBOL_3",
|
||||
"S_SYMBOL_4",
|
||||
"S_SYMBOL_5",
|
||||
"S_SYMBOL_6",
|
||||
"S_SYMBOL_7",
|
||||
"S_SYMBOL_8",
|
||||
"S_SYMBOL_9",
|
||||
"S_SYMBOL_A",
|
||||
"S_SYMBOL_B",
|
||||
"S_SYMBOL_C",
|
||||
"S_SYMBOL_D",
|
||||
"S_SYMBOL_E",
|
||||
"S_SYMBOL_F",
|
||||
"S_SYMBOL_G",
|
||||
"S_SYMBOL_H",
|
||||
"S_SYMBOL_I",
|
||||
"S_SYMBOL_J",
|
||||
"S_SYMBOL_K",
|
||||
"S_SYMBOL_L",
|
||||
"S_SYMBOL_M",
|
||||
"S_SYMBOL_N",
|
||||
"S_SYMBOL_O",
|
||||
"S_SYMBOL_P",
|
||||
"S_SYMBOL_Q",
|
||||
"S_SYMBOL_R",
|
||||
"S_SYMBOL_S",
|
||||
"S_SYMBOL_T",
|
||||
"S_SYMBOL_U",
|
||||
"S_SYMBOL_V",
|
||||
// Ark Arrows
|
||||
"S_ARKARROW_0",
|
||||
"S_ARKARROW_1",
|
||||
"S_ARKARROW_2",
|
||||
"S_ARKARROW_3",
|
||||
"S_ARKARROW_4",
|
||||
"S_ARKARROW_5",
|
||||
"S_ARKARROW_6",
|
||||
"S_ARKARROW_7",
|
||||
"S_ARKARROW_8",
|
||||
"S_ARKARROW_9",
|
||||
"S_ARKARROW_10",
|
||||
"S_ARKARROW_11",
|
||||
"S_ARKARROW_12",
|
||||
"S_ARKARROW_13",
|
||||
"S_ARKARROW_14",
|
||||
"S_ARKARROW_15",
|
||||
"S_ARKARROW_16",
|
||||
"S_ARKARROW_17",
|
||||
"S_ARKARROW_18",
|
||||
"S_ARKARROW_19",
|
||||
"S_ARKARROW_20",
|
||||
"S_ARKARROW_21",
|
||||
"S_ARKARROW_22",
|
||||
"S_ARKARROW_23",
|
||||
"S_ARKARROW_24",
|
||||
"S_ARKARROW_25",
|
||||
"S_ARKARROW_26",
|
||||
"S_ARKARROW_27",
|
||||
"S_ARKARROW_28",
|
||||
"S_ARKARROW_29",
|
||||
"S_ARKARROW_30",
|
||||
"S_ARKARROW_31",
|
||||
"S_ARKARROW_32",
|
||||
"S_ARKARROW_33",
|
||||
"S_ARKARROW_34",
|
||||
"S_ARKARROW_35",
|
||||
"S_ARKARROW_36",
|
||||
"S_ARKARROW_37",
|
||||
"S_ARKARROW_38",
|
||||
"S_ARKARROW_39",
|
||||
"S_ARKARROW_40",
|
||||
"S_ARKARROW_41",
|
||||
|
||||
"S_BUMP1",
|
||||
"S_BUMP2",
|
||||
|
|
@ -5601,7 +5611,7 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
|
|||
"MT_LAMPPOST",
|
||||
"MT_MOSSYTREE",
|
||||
|
||||
"MT_SYMBOL",
|
||||
"MT_ARKARROW", // Ark Arrows
|
||||
|
||||
"MT_BUMP",
|
||||
|
||||
|
|
|
|||
92
src/info.c
92
src/info.c
|
|
@ -646,7 +646,7 @@ char sprnames[NUMSPRITES + 1][5] =
|
|||
"CRAB", // Crystal Abyss mobs
|
||||
"BRNG", // Chaotix Big Ring
|
||||
|
||||
// Lost Colony symbol signs
|
||||
// Ark Arrows
|
||||
"SYM0",
|
||||
"SYM1",
|
||||
"SYM2",
|
||||
|
|
@ -679,6 +679,16 @@ char sprnames[NUMSPRITES + 1][5] =
|
|||
"SYMT",
|
||||
"SYMU",
|
||||
"SYMV",
|
||||
"SYMW",
|
||||
"SYMX",
|
||||
"SYMY",
|
||||
"SYMZ",
|
||||
"ARK0",
|
||||
"ARK1",
|
||||
"ARK2",
|
||||
"ARK3",
|
||||
"ARK4",
|
||||
"ARK5",
|
||||
|
||||
"BUMP", // Player/shell bump
|
||||
"FLEN", // Shell hit graphics stuff
|
||||
|
|
@ -4687,39 +4697,49 @@ state_t states[NUMSTATES] =
|
|||
{SPR_CRAB, 10, -1, {NULL}, 0, 0, S_NULL}, // S_LAMPPOST
|
||||
{SPR_CRAB, 11, -1, {NULL}, 0, 0, S_NULL}, // S_MOSSYTREE
|
||||
|
||||
// Lost Colony symbol signs
|
||||
{SPR_SYM0, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_0
|
||||
{SPR_SYM1, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_1
|
||||
{SPR_SYM2, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_2
|
||||
{SPR_SYM3, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_3
|
||||
{SPR_SYM4, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_4
|
||||
{SPR_SYM5, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_5
|
||||
{SPR_SYM6, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_6
|
||||
{SPR_SYM7, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_7
|
||||
{SPR_SYM8, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_8
|
||||
{SPR_SYM9, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_9
|
||||
{SPR_SYMA, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_A
|
||||
{SPR_SYMB, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_B
|
||||
{SPR_SYMC, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_C
|
||||
{SPR_SYMD, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_D
|
||||
{SPR_SYME, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_E
|
||||
{SPR_SYMF, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_F
|
||||
{SPR_SYMG, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_G
|
||||
{SPR_SYMH, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_H
|
||||
{SPR_SYMI, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_I
|
||||
{SPR_SYMJ, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_J
|
||||
{SPR_SYMK, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_K
|
||||
{SPR_SYML, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_L
|
||||
{SPR_SYMM, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_M
|
||||
{SPR_SYMN, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_N
|
||||
{SPR_SYMO, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_O
|
||||
{SPR_SYMP, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_P
|
||||
{SPR_SYMQ, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_Q
|
||||
{SPR_SYMR, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_R
|
||||
{SPR_SYMS, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_S
|
||||
{SPR_SYMT, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_T
|
||||
{SPR_SYMU, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_U
|
||||
{SPR_SYMV, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_SYMBOL_V
|
||||
// Ark Arrows
|
||||
{SPR_SYM0, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_0
|
||||
{SPR_SYM1, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_1
|
||||
{SPR_SYM2, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_2
|
||||
{SPR_SYM3, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_3
|
||||
{SPR_SYM4, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_4
|
||||
{SPR_SYM5, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_5
|
||||
{SPR_SYM6, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_6
|
||||
{SPR_SYM7, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_7
|
||||
{SPR_SYM8, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_8
|
||||
{SPR_SYM9, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_9
|
||||
{SPR_SYMA, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_10
|
||||
{SPR_SYMB, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_11
|
||||
{SPR_SYMC, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_12
|
||||
{SPR_SYMD, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_13
|
||||
{SPR_SYME, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_14
|
||||
{SPR_SYMF, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_15
|
||||
{SPR_SYMG, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_16
|
||||
{SPR_SYMH, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_17
|
||||
{SPR_SYMI, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_18
|
||||
{SPR_SYMJ, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_19
|
||||
{SPR_SYMK, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_20
|
||||
{SPR_SYML, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_21
|
||||
{SPR_SYMM, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_22
|
||||
{SPR_SYMN, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_23
|
||||
{SPR_SYMO, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_24
|
||||
{SPR_SYMP, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_25
|
||||
{SPR_SYMQ, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_26
|
||||
{SPR_SYMR, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_27
|
||||
{SPR_SYMS, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_28
|
||||
{SPR_SYMT, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_29
|
||||
{SPR_SYMU, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_30
|
||||
{SPR_SYMV, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_31
|
||||
{SPR_SYMW, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_32
|
||||
{SPR_SYMX, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_33
|
||||
{SPR_SYMY, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_34
|
||||
{SPR_SYMZ, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_35
|
||||
{SPR_ARK0, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_36
|
||||
{SPR_ARK1, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_37
|
||||
{SPR_ARK2, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_38
|
||||
{SPR_ARK3, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_39
|
||||
{SPR_ARK4, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_40
|
||||
{SPR_ARK5, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_41
|
||||
|
||||
{SPR_BUMP, FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_BUMP2}, // S_BUMP1
|
||||
{SPR_BUMP, FF_FULLBRIGHT|1, 3, {NULL}, 0, 0, S_BUMP3}, // S_BUMP2
|
||||
|
|
@ -26355,9 +26375,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SYMBOL
|
||||
{ // MT_ARKARROW
|
||||
4094, // doomednum
|
||||
S_SYMBOL_0, // spawnstate
|
||||
S_ARKARROW_0, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
|
|
|||
91
src/info.h
91
src/info.h
|
|
@ -1199,7 +1199,7 @@ typedef enum sprite
|
|||
SPR_CRAB, // Crystal Abyss mobs
|
||||
SPR_BRNG, // Chaotix Big Ring
|
||||
|
||||
// Lost Colony symbol signs
|
||||
// Ark Arrows
|
||||
SPR_SYM0,
|
||||
SPR_SYM1,
|
||||
SPR_SYM2,
|
||||
|
|
@ -1232,6 +1232,17 @@ typedef enum sprite
|
|||
SPR_SYMT,
|
||||
SPR_SYMU,
|
||||
SPR_SYMV,
|
||||
SPR_SYMW,
|
||||
SPR_SYMX,
|
||||
SPR_SYMY,
|
||||
SPR_SYMZ,
|
||||
SPR_ARK0,
|
||||
SPR_ARK1,
|
||||
SPR_ARK2,
|
||||
SPR_ARK3,
|
||||
SPR_ARK4,
|
||||
SPR_ARK5,
|
||||
|
||||
|
||||
SPR_BUMP, // Player/shell bump
|
||||
SPR_FLEN, // Shell hit graphics stuff
|
||||
|
|
@ -5142,39 +5153,49 @@ typedef enum state
|
|||
S_LAMPPOST,
|
||||
S_MOSSYTREE,
|
||||
|
||||
// Lost Colony symbol signs
|
||||
S_SYMBOL_0,
|
||||
S_SYMBOL_1,
|
||||
S_SYMBOL_2,
|
||||
S_SYMBOL_3,
|
||||
S_SYMBOL_4,
|
||||
S_SYMBOL_5,
|
||||
S_SYMBOL_6,
|
||||
S_SYMBOL_7,
|
||||
S_SYMBOL_8,
|
||||
S_SYMBOL_9,
|
||||
S_SYMBOL_A,
|
||||
S_SYMBOL_B,
|
||||
S_SYMBOL_C,
|
||||
S_SYMBOL_D,
|
||||
S_SYMBOL_E,
|
||||
S_SYMBOL_F,
|
||||
S_SYMBOL_G,
|
||||
S_SYMBOL_H,
|
||||
S_SYMBOL_I,
|
||||
S_SYMBOL_J,
|
||||
S_SYMBOL_K,
|
||||
S_SYMBOL_L,
|
||||
S_SYMBOL_M,
|
||||
S_SYMBOL_N,
|
||||
S_SYMBOL_O,
|
||||
S_SYMBOL_P,
|
||||
S_SYMBOL_Q,
|
||||
S_SYMBOL_R,
|
||||
S_SYMBOL_S,
|
||||
S_SYMBOL_T,
|
||||
S_SYMBOL_U,
|
||||
S_SYMBOL_V,
|
||||
// Ark Arrows
|
||||
S_ARKARROW_0,
|
||||
S_ARKARROW_1,
|
||||
S_ARKARROW_2,
|
||||
S_ARKARROW_3,
|
||||
S_ARKARROW_4,
|
||||
S_ARKARROW_5,
|
||||
S_ARKARROW_6,
|
||||
S_ARKARROW_7,
|
||||
S_ARKARROW_8,
|
||||
S_ARKARROW_9,
|
||||
S_ARKARROW_10,
|
||||
S_ARKARROW_11,
|
||||
S_ARKARROW_12,
|
||||
S_ARKARROW_13,
|
||||
S_ARKARROW_14,
|
||||
S_ARKARROW_15,
|
||||
S_ARKARROW_16,
|
||||
S_ARKARROW_17,
|
||||
S_ARKARROW_18,
|
||||
S_ARKARROW_19,
|
||||
S_ARKARROW_20,
|
||||
S_ARKARROW_21,
|
||||
S_ARKARROW_22,
|
||||
S_ARKARROW_23,
|
||||
S_ARKARROW_24,
|
||||
S_ARKARROW_25,
|
||||
S_ARKARROW_26,
|
||||
S_ARKARROW_27,
|
||||
S_ARKARROW_28,
|
||||
S_ARKARROW_29,
|
||||
S_ARKARROW_30,
|
||||
S_ARKARROW_31,
|
||||
S_ARKARROW_32,
|
||||
S_ARKARROW_33,
|
||||
S_ARKARROW_34,
|
||||
S_ARKARROW_35,
|
||||
S_ARKARROW_36,
|
||||
S_ARKARROW_37,
|
||||
S_ARKARROW_38,
|
||||
S_ARKARROW_39,
|
||||
S_ARKARROW_40,
|
||||
S_ARKARROW_41,
|
||||
|
||||
S_BUMP1,
|
||||
S_BUMP2,
|
||||
|
|
@ -6778,7 +6799,7 @@ typedef enum mobj_type
|
|||
MT_LAMPPOST,
|
||||
MT_MOSSYTREE,
|
||||
|
||||
MT_SYMBOL, // Lost Colony symbol signs
|
||||
MT_ARKARROW, // Ark Arrows
|
||||
|
||||
MT_BUMP,
|
||||
|
||||
|
|
|
|||
|
|
@ -183,10 +183,10 @@ void Obj_BattleUFOBeamThink(mobj_t *beam);
|
|||
void Obj_SpawnPowerUpAura(player_t* player);
|
||||
void Obj_PowerUpAuraThink(mobj_t* mobj);
|
||||
|
||||
/* Lost Colony symbol signs */
|
||||
void Obj_SymbolSpawn(mobj_t *mobj);
|
||||
void Obj_SymbolSetup(mobj_t *mobj, mapthing_t *mthing);
|
||||
void Obj_SymbolThink(mobj_t *mobj);
|
||||
/* Ark Arrows */
|
||||
void Obj_ArkArrowSpawn(mobj_t *mobj);
|
||||
void Obj_ArkArrowSetup(mobj_t *mobj, mapthing_t *mthing);
|
||||
void Obj_ArkArrowThink(mobj_t *mobj);
|
||||
|
||||
/* Dash Rings */
|
||||
void Obj_RegularDashRingSpawn(mobj_t *mobj);
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ target_sources(SRB2SDL2 PRIVATE
|
|||
super-flicky.cpp
|
||||
battle-ufo.cpp
|
||||
powerup-aura.cpp
|
||||
symbol.c
|
||||
ark-arrow.c
|
||||
dash-rings.c
|
||||
sneaker-panel.c
|
||||
emerald.c
|
||||
|
|
|
|||
49
src/objects/ark-arrow.c
Normal file
49
src/objects/ark-arrow.c
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#include "../p_local.h"
|
||||
#include "../k_objects.h"
|
||||
|
||||
#define ARKARROW_SCALE (2<<FRACBITS)
|
||||
#define ARKARROW_ZOFFSET (19<<FRACBITS)
|
||||
#define ARKARROW_BOBRANGE (64<<FRACBITS)
|
||||
#define ARKARROW_BOBSPEED (5<<FRACBITS)
|
||||
#define ARKARROW_OPTIONS 42
|
||||
|
||||
void Obj_ArkArrowSpawn(mobj_t *mobj)
|
||||
{
|
||||
mobj->extravalue1 = mobj->z;
|
||||
mobj->extravalue2 = FixedMul(mobj->x + mobj->y, mapobjectscale);
|
||||
}
|
||||
|
||||
void Obj_ArkArrowSetup(mobj_t *mobj, mapthing_t *mthing)
|
||||
{
|
||||
const fixed_t oldHeight = mobj->height;
|
||||
statenum_t stateNum = mobj->info->spawnstate + mthing->args[0];
|
||||
|
||||
if (stateNum - mobj->info->spawnstate >= ARKARROW_OPTIONS)
|
||||
{
|
||||
CONS_Alert(CONS_WARNING, "Ark Arrow with symbol ID %d is larger than maximum symbol ID (%d)!\n", stateNum, ARKARROW_OPTIONS - 1);
|
||||
stateNum = mobj->info->spawnstate;
|
||||
}
|
||||
|
||||
mobj->angle += ANGLE_90;
|
||||
P_SetScale(mobj, mobj->destscale = 4 * FixedMul(mobj->scale, ARKARROW_SCALE));
|
||||
mobj->z += 4 * FixedMul(mapobjectscale, ARKARROW_ZOFFSET) * P_MobjFlip(mobj);
|
||||
|
||||
if (mthing->options & MTF_OBJECTFLIP)
|
||||
{
|
||||
mobj->z += oldHeight - mobj->height;
|
||||
}
|
||||
|
||||
mobj->extravalue1 = mobj->old_z = mobj->z;
|
||||
P_SetMobjState(mobj, stateNum);
|
||||
}
|
||||
|
||||
void Obj_ArkArrowThink(mobj_t *mobj)
|
||||
{
|
||||
fixed_t offset = FixedMul(mapobjectscale,
|
||||
FixedMul(ARKARROW_BOBRANGE,
|
||||
FixedMul(FINESINE(FixedAngle(leveltime * ARKARROW_BOBSPEED + mobj->extravalue2) >> ANGLETOFINESHIFT) + FRACUNIT, FRACUNIT >> 1)
|
||||
)
|
||||
);
|
||||
|
||||
mobj->z = mobj->extravalue1 + P_MobjFlip(mobj) * offset;
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
#include "../p_local.h"
|
||||
#include "../k_objects.h"
|
||||
|
||||
#define SYMBOL_SCALE (2<<FRACBITS)
|
||||
#define SYMBOL_ZOFFSET (19<<FRACBITS)
|
||||
#define SYMBOL_BOBRANGE (64<<FRACBITS)
|
||||
#define SYMBOL_BOBSPEED (5<<FRACBITS)
|
||||
#define SYMBOL_OPTIONS 32
|
||||
|
||||
void Obj_SymbolSpawn(mobj_t *mobj)
|
||||
{
|
||||
mobj->extravalue1 = mobj->z;
|
||||
mobj->extravalue2 = FixedMul(mobj->x + mobj->y, mapobjectscale);
|
||||
}
|
||||
|
||||
void Obj_SymbolSetup(mobj_t *mobj, mapthing_t *mthing)
|
||||
{
|
||||
fixed_t oldHeight = mobj->height;
|
||||
statenum_t stateNum = mobj->info->spawnstate + (mthing->args[0] % SYMBOL_OPTIONS);
|
||||
|
||||
mobj->angle += ANGLE_90;
|
||||
P_SetScale(mobj, mobj->destscale = 4 * FixedMul(mobj->scale, SYMBOL_SCALE));
|
||||
mobj->z += 4 * FixedMul(mapobjectscale, SYMBOL_ZOFFSET) * P_MobjFlip(mobj);
|
||||
|
||||
if (mthing->options & MTF_OBJECTFLIP)
|
||||
{
|
||||
mobj->z += oldHeight - mobj->height;
|
||||
}
|
||||
|
||||
mobj->extravalue1 = mobj->old_z = mobj->z;
|
||||
P_SetMobjState(mobj, stateNum);
|
||||
}
|
||||
|
||||
void Obj_SymbolThink(mobj_t *mobj)
|
||||
{
|
||||
fixed_t offset = FixedMul(mapobjectscale,
|
||||
FixedMul(SYMBOL_BOBRANGE,
|
||||
FixedMul(FINESINE(FixedAngle(leveltime * SYMBOL_BOBSPEED + mobj->extravalue2) >> ANGLETOFINESHIFT) + FRACUNIT, FRACUNIT >> 1)
|
||||
)
|
||||
);
|
||||
|
||||
mobj->z = mobj->extravalue1 + P_MobjFlip(mobj) * offset;
|
||||
}
|
||||
12
src/p_mobj.c
12
src/p_mobj.c
|
|
@ -6716,8 +6716,8 @@ static void P_MobjSceneryThink(mobj_t *mobj)
|
|||
return;
|
||||
}
|
||||
break;
|
||||
case MT_SYMBOL:
|
||||
Obj_SymbolThink(mobj);
|
||||
case MT_ARKARROW:
|
||||
Obj_ArkArrowThink(mobj);
|
||||
break;
|
||||
case MT_VWREF:
|
||||
case MT_VWREB:
|
||||
|
|
@ -10960,8 +10960,8 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
|||
case MT_BATTLEUFO:
|
||||
Obj_SpawnBattleUFOLegs(mobj);
|
||||
break;
|
||||
case MT_SYMBOL:
|
||||
Obj_SymbolSpawn(mobj);
|
||||
case MT_ARKARROW:
|
||||
Obj_ArkArrowSpawn(mobj);
|
||||
break;
|
||||
case MT_DASHRING:
|
||||
Obj_RegularDashRingSpawn(mobj);
|
||||
|
|
@ -13543,9 +13543,9 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj)
|
|||
Obj_LinkBattleUFOSpawner(mobj);
|
||||
break;
|
||||
}
|
||||
case MT_SYMBOL:
|
||||
case MT_ARKARROW:
|
||||
{
|
||||
Obj_SymbolSetup(mobj, mthing);
|
||||
Obj_ArkArrowSetup(mobj, mthing);
|
||||
break;
|
||||
}
|
||||
case MT_DASHRING:
|
||||
|
|
|
|||
|
|
@ -7250,13 +7250,18 @@ static void P_ConvertBinaryThingTypes(void)
|
|||
case CEILING_SLOPE_THING:
|
||||
mapthings[i].args[0] = mapthings[i].extrainfo;
|
||||
break;
|
||||
case 4094: // MT_SYMBOL
|
||||
case 4094: // MT_ARKARROW
|
||||
mapthings[i].args[0] = mapthings[i].extrainfo;
|
||||
if (mapthings[i].options & MTF_OBJECTSPECIAL)
|
||||
{
|
||||
// Special = add 16 to the symbol type
|
||||
mapthings[i].args[0] += 16;
|
||||
}
|
||||
if (mapthings[i].options & MTF_AMBUSH)
|
||||
{
|
||||
// Ambush = add 32 to the symbol type
|
||||
mapthings[i].args[0] += 32;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue