mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-01-23 13:35:11 +03:00
0251769d16
* fox_display.c DOCS * PRINTF * actor->destroy boolean * corneria docs * Boss->unk_04C to Boss->animFrame * aCoGrangaWalkingAnim * more corneria docs * Spawner * Spawner code refined * Spawner description * Actor Spawn guard * Molar Rock (name by @inspectredc) * more docs * actor docs * initial disassembly config for lodgenet * correct vram addresses for lodgenet * Actor Docs * More actor docs * more actor docs * correction * correction * more actor docs * Preliminary work for Effect documentation * Change Init for Setup * fox_play cleanup and defake * fox_zo function names * fox_so function renaming * more object docs * venom 1 actors * actor docs * some fox_bo docs * some fox_fo corrections * fox_ma obj->this * fox_ma renamings * fox_ma docs * fox_ti Actors * revert permuter settings to ido * some renames on fox_andross.c * fox_sy actors * object names * corrections * some effect comments * fix AudioTable struct and data to avoid UB * uintptr_t in audio * audio load changes * event id enum usage in fox_sy * clear padding in sPlaylists * HUD_FoBase_ExplodeCs * HUD
179 lines
5.8 KiB
C
179 lines
5.8 KiB
C
#ifndef FOX_CO_H
|
|
#define FOX_CO_H
|
|
|
|
#define TEAM_HEAD_XROT (19)
|
|
#define TEAM_HEAD_YROT (20)
|
|
|
|
// Granga Boss:
|
|
|
|
#define DMG_FLICKER_5 (5) // Damage indicator flickers for 5 frames
|
|
#define DMG_FLICKER_15 (15) // Damage indicator flickers for 15 frames
|
|
#define DMG_DESTROYED (1000) // Damage part is destroyed
|
|
|
|
typedef enum GrangaStates {
|
|
/* 0 */ GRANGA_STATIONARY,
|
|
/* 1 */ GRANGA_FORWARD_MISSILE, // walk forward + missile
|
|
/* 2 */ GRANGA_BACKWARDS_LASER_PLASMA, // Walk backwards + lasers + plasma
|
|
/* 3 */ GRANGA_FORWARD_LASER_PLASMA, // Walk towards player + lasers + plasma
|
|
/* 4 */ GRANGA_FORWARD, // Walk forward
|
|
/* 5 */ GRANGA_FALL_TO_LEFT, // Falling from missing left leg
|
|
/* 6 */ GRANGA_FALL_TO_RIGHT, // Falling from missing right leg
|
|
/* 7 */ GRANGA_EXPLODE, // BOOM!
|
|
} GrangaStates;
|
|
|
|
typedef enum GrangaWork {
|
|
/* 00 */ GRANGA_WORK_00, // x of missiles launched from it's right arm ?
|
|
/* 01 */ GRANGA_WORK_01, // y of missiles launched from it's right arm ?
|
|
/* 02 */ GRANGA_WORK_02, // z of missiles launched from it's right arm ?
|
|
/* 03 */ GRANGA_WORK_03, // x of something // destroy effect related?
|
|
/* 04 */ GRANGA_WORK_04, // y of something // destroy effect related?
|
|
/* 05 */ GRANGA_WORK_05, // z of something // destroy effect related?
|
|
/* 06 */ GRANGA_WORK_06, // x of missiles launched from it's left arm ?
|
|
/* 07 */ GRANGA_WORK_07, // y of missiles launched from it's left arm ?
|
|
/* 08 */ GRANGA_WORK_08, // z of missiles launched from it's left arm ?
|
|
/* 09 */ GRANGA_WORK_09,
|
|
/* 10 */ GRANGA_WORK_10,
|
|
/* 11 */ GRANGA_WORK_11,
|
|
/* 12 */ GRANGA_WORK_12,
|
|
/* 13 */ GRANGA_WORK_13,
|
|
/* 14 */ GRANGA_WORK_14,
|
|
/* 15 */ GRANGA_WORK_15,
|
|
/* 16 */ GRANGA_WORK_16, // yRot of missiles launched from both arms ?
|
|
/* 17 */ GRANGA_TARGET_X, // player.pos.x target position
|
|
/* 18 */ GRANGA_TARGET_Y, // player.pos.y target position
|
|
/* 19 */ GRANGA_TARGET_Z, // player.pos.trueZpos target position
|
|
/* 20 */ GRANGA_WORK_20,
|
|
/* 21 */ GRANGA_WORK_21,
|
|
/* 22 */ GRANGA_WORK_22,
|
|
/* 23 */ GRANGA_WORK_23,
|
|
/* 24 */ GRANGA_WORK_24,
|
|
/* 25 */ GRANGA_WORK_25,
|
|
/* 26 */ GRANGA_WORK_26,
|
|
/* 27 */ GRANGA_WORK_27,
|
|
/* 28 */ GRANGA_WORK_28,
|
|
/* 29 */ GRANGA_WORK_29,
|
|
/* 30 */ GRANGA_WORK_30,
|
|
/* 31 */ GRANGA_WORK_31,
|
|
/* 32 */ GRANGA_WORK_32,
|
|
/* 33 */ GRANGA_WORK_33,
|
|
/* 34 */ GRANGA_WORK_34,
|
|
/* 35 */ GRANGA_WORK_35,
|
|
/* 36 */ GRANGA_WORK_36,
|
|
/* 37 */ GRANGA_WORK_37,
|
|
/* 38 */ GRANGA_WORK_38,
|
|
/* 39 */ GRANGA_WORK_39,
|
|
/* 40 */ GRANGA_WORK_40,
|
|
/* 41 */ GRANGA_WORK_41,
|
|
/* 42 */ GRANGA_WORK_42,
|
|
/* 43 */ GRANGA_WORK_43,
|
|
/* 44 */ GRANGA_WORK_44,
|
|
/* 45 */ GRANGA_WORK_45,
|
|
/* 46 */ GRANGA_WORK_46,
|
|
/* 47 */ GRANGA_WORK_47,
|
|
/* 48 */ GRANGA_WORK_48,
|
|
/* 49 */ GRANGA_WORK_49,
|
|
/* 50 */ GRANGA_WORK_50,
|
|
/* 51 */ GRANGA_WORK_51,
|
|
/* 52 */ GRANGA_WORK_52,
|
|
/* 53 */ GRANGA_WORK_53,
|
|
/* 54 */ GRANGA_WORK_54,
|
|
/* 55 */ GRANGA_WORK_55,
|
|
/* 56 */ GRANGA_WORK_56,
|
|
/* 57 */ GRANGA_WORK_57,
|
|
/* 58 */ GRANGA_WORK_58,
|
|
/* 59 */ GRANGA_WORK_59,
|
|
/* 60 */ GRANGA_WORK_60,
|
|
/* 61 */ GRANGA_WORK_61,
|
|
/* 62 */ GRANGA_WORK_62, // x
|
|
/* 63 */ GRANGA_WORK_63, // y
|
|
/* 64 */ GRANGA_WORK_64, // z
|
|
/* 65 */ GRANGA_WORK_65,
|
|
/* 66 */ GRANGA_WORK_66, // xTargetPos ?
|
|
/* 67 */ GRANGA_WORK_67 // zTargetPos ?
|
|
} GrangaWork;
|
|
|
|
typedef enum GrangaSwork {
|
|
/* 00 */ GRANGA_SWK_0,
|
|
|
|
// Damage indicators, one per limb
|
|
/* 01 */ GRANGA_RIGHT_ARM_DMG_IND,
|
|
/* 02 */ GRANGA_LEFT_ARM_DMG_IND,
|
|
/* 03 */ GRANGA_GUN_DMG_IND,
|
|
/* 04 */ GRANGA_RIGHT_LEG_DMG_IND,
|
|
/* 07 */ GRANGA_LEFT_LEG_DMG_IND = 7,
|
|
/* 10 */ GRANGA_BACKPACK_DMG_IND = 10,
|
|
|
|
/* 18 */ GRANGA_SWK_18 = 18,
|
|
/* 19 */ GRANGA_SWK_19,
|
|
/* 20 */ GRANGA_SWK_20,
|
|
/* 21 */ GRANGA_SWK_21,
|
|
/* 22 */ GRANGA_SWK_22,
|
|
/* 23 */ GRANGA_SWK_23,
|
|
|
|
/* 24 */ GRANGA_LEFT_LEG_HP,
|
|
/* 25 */ GRANGA_RIGHT_LEG_HP,
|
|
/* 26 */ GRANGA_LEFT_ARM_HP,
|
|
/* 27 */ GRANGA_RIGHT_ARM_HP,
|
|
/* 28 */ GRANGA_PLASMA_GUN_HP,
|
|
/* 29 */ GRANGA_BACKPACK_HP,
|
|
|
|
/* 30 */ GRANGA_ATTACK_STATE,
|
|
/* 31 */ GRANGA_NEXT_STATE,
|
|
/* 32 */ GRANGA_SWK_32,
|
|
/* 33 */ GRANGA_INIT,
|
|
/* 35 */ GRANGA_MISSILE_COUNT = 35,
|
|
/* 36 */ GRANGA_1UP_CHECK
|
|
} GrangaSwork;
|
|
|
|
typedef enum GrangaFwork {
|
|
/* 00 */ GRANGA_FWK_00, // left leg rock angle?
|
|
/* 01 */ GRANGA_FWK_01,
|
|
/* 02 */ GRANGA_FWK_02,
|
|
/* 03 */ GRANGA_FWK_03,
|
|
/* 04 */ GRANGA_FWK_04,
|
|
/* 12 */ GRANGA_FWK_12 = 12,
|
|
/* 13 */ GRANGA_FWK_13,
|
|
/* 14 */ GRANGA_FWK_14,
|
|
} GrangaFwork;
|
|
|
|
typedef enum GrangaDmgParts {
|
|
/* 0 */ GRANGA_DMG_BACKPACK,
|
|
/* 1 */ GRANGA_DMG_LEFT_ARM,
|
|
/* 2 */ GRANGA_DMG_RIGHT_ARM,
|
|
/* 3 */ GRANGA_DMG_GUN,
|
|
/* 4 */ GRANGA_DMG_LEFT_LEG,
|
|
/* 5 */ GRANGA_DMG_RIGHT_LEG,
|
|
} GrangaDmgParts;
|
|
|
|
typedef enum GrangaAttackState {
|
|
/* 0 */ GRANGA_ATTACK_IDLE,
|
|
/* 1 */ GRANGA_ATTACK_MISSILES,
|
|
/* 2 */ GRANGA_ATTACK_LASERS,
|
|
/* 3 */ GRANGA_ATTACK_PLASMA,
|
|
} GrangaAttackState;
|
|
|
|
// Carrier Boss:
|
|
|
|
typedef enum CoCarrierParts {
|
|
/* 0 */ CARRIER, // Boss
|
|
/* 1 */ CARRIER_LEFT, // Left launch bay
|
|
/* 2 */ CARRIER_UPPER, // Right upper launch bay
|
|
/* 3 */ CARRIER_BOTTOM // Right lower launch bay
|
|
} CarrierParts;
|
|
|
|
typedef enum CoCarrierStates {
|
|
/* 0 */ CARRIER_STATE_0,
|
|
/* 1 */ CARRIER_STATE_1,
|
|
/* 2 */ CARRIER_STATE_2, // positioning
|
|
/* 3 */ CARRIER_STATE_3, // Close launch bays
|
|
/* 4 */ CARRIER_STATE_4, // Open left launch bay
|
|
/* 5 */ CARRIER_STATE_5, // open right launch bays
|
|
/* 6 */ CARRIER_STATE_6,
|
|
/* 7 */ CARRIER_STATE_7, // go around beam attack
|
|
/* 8 */ CARRIER_STATE_8, // Dying
|
|
/* 9 */ CARRIER_STATE_9, // Dying cutscene
|
|
/* 10 */ CARRIER_EXPLODE // BOOM!
|
|
} CoCarrierStates;
|
|
|
|
#endif
|