mirror of
https://github.com/SAT-R/sa2.git
synced 2026-10-28 09:43:38 +00:00
remove game/types, fix sa2 compilation, clean up sa1 includes
This commit is contained in:
1 parent
546216e316
commit
a9122877c7
374 files changed
+1223
-1387
No files matched your search
+36
-34
@@ -1,40 +1,42 @@
|
||||
#ifndef GUARD_CONSTANTS_ENEMIES_H
|
||||
#define GUARD_CONSTANTS_ENEMIES_H
|
||||
|
||||
#if (GAME == GAME_SA1)
|
||||
#define ENEMY__KIKI 0
|
||||
#define ENEMY__BUZZER 1
|
||||
#define ENEMY__GAMIGAMI 2
|
||||
#define ENEMY__RHINOTANK 3
|
||||
#define ENEMY__KEROKERO 4
|
||||
#define ENEMY__SENBON 5
|
||||
#define ENEMY__TENTOU 6
|
||||
#define ENEMY__FIREBALL 7
|
||||
#define ENEMY__HANABII 8
|
||||
#define ENEMY__SLOT 9
|
||||
#define ENEMY__PIERROT 10
|
||||
#define ENEMY__LEON 11
|
||||
#define ENEMY__MIRROR 12
|
||||
#define ENEMY__WAMU 13
|
||||
#define ENEMY__OCT 14
|
||||
#define ENEMY__MOLE 15
|
||||
#define ENEMY__YUKIMARU 16
|
||||
#define ENEMY__YUKIMARU_SIDEWAYS 17
|
||||
#define ENEMY__DRISAME 18
|
||||
#define ENEMY__KURAA 19
|
||||
#define ENEMY__PEN 20
|
||||
#define ENEMY__BOSS_1_INTRO 21
|
||||
#define ENEMY__EGG_HAMMER_TANK 22
|
||||
#define ENEMY__EGG_PRESS 23
|
||||
#define ENEMY__EGG_BALL 24
|
||||
#define ENEMY__EGG_SPIDER 25
|
||||
#define ENEMY__MECHA_KNUCKLES 26
|
||||
#define ENEMY__EGG_SNAKE 27
|
||||
#define ENEMY__EGG_WRECKER 28
|
||||
#define ENEMY__EGG_DRILLSTER 29
|
||||
#define ENEMY__EGG_X 30
|
||||
#define ENEMY__SUPER_EGG_ROBOT 31
|
||||
#elif (GAME == GAME_SA2)
|
||||
// #if (GAME == GAME_SA1)
|
||||
// #define ENEMY__KIKI 0
|
||||
// #define ENEMY__BUZZER 1
|
||||
// #define ENEMY__GAMIGAMI 2
|
||||
// #define ENEMY__RHINOTANK 3
|
||||
// #define ENEMY__KEROKERO 4
|
||||
// #define ENEMY__SENBON 5
|
||||
// #define ENEMY__TENTOU 6
|
||||
// #define ENEMY__FIREBALL 7
|
||||
// #define ENEMY__HANABII 8
|
||||
// #define ENEMY__SLOT 9
|
||||
// #define ENEMY__PIERROT 10
|
||||
// #define ENEMY__LEON 11
|
||||
// #define ENEMY__MIRROR 12
|
||||
// #define ENEMY__WAMU 13
|
||||
// #define ENEMY__OCT 14
|
||||
// #define ENEMY__MOLE 15
|
||||
// #define ENEMY__YUKIMARU 16
|
||||
// #define ENEMY__YUKIMARU_SIDEWAYS 17
|
||||
// #define ENEMY__DRISAME 18
|
||||
// #define ENEMY__KURAA 19
|
||||
// #define ENEMY__PEN 20
|
||||
// #define ENEMY__BOSS_1_INTRO 21
|
||||
// #define ENEMY__EGG_HAMMER_TANK 22
|
||||
// #define ENEMY__EGG_PRESS 23
|
||||
// #define ENEMY__EGG_BALL 24
|
||||
// #define ENEMY__EGG_SPIDER 25
|
||||
// #define ENEMY__MECHA_KNUCKLES 26
|
||||
// #define ENEMY__EGG_SNAKE 27
|
||||
// #define ENEMY__EGG_WRECKER 28
|
||||
// #define ENEMY__EGG_DRILLSTER 29
|
||||
// #define ENEMY__EGG_X 30
|
||||
// #define ENEMY__SUPER_EGG_ROBOT 31
|
||||
// #endif
|
||||
|
||||
#if (GAME == GAME_SA2)
|
||||
#define ENEMY__MON 0 // Jumping monkey
|
||||
#define ENEMY__KIKI 1 // Monkey on tree
|
||||
#define ENEMY__BUZZER 2
|
||||
|
||||
+122
-120
@@ -1,128 +1,130 @@
|
||||
#ifndef GUARD_CONSTANTS_INTERACTABLES_H
|
||||
#define GUARD_CONSTANTS_INTERACTABLES_H
|
||||
|
||||
#if (GAME == GAME_SA1)
|
||||
#define IA__STAGE_GOAL 0
|
||||
#define IA__SPIKES__NORMAL_UP 1
|
||||
#define IA__SPIKES__NORMAL_DOWN 2
|
||||
#define IA__SPIKES__NORMAL_LEFT 3
|
||||
#define IA__SPIKES__NORMAL_RIGHT 4
|
||||
#define IA__SPIKES__HIDING_UP 5
|
||||
#define IA__SPIKES__HIDING_DOWN 6
|
||||
#define IA__CHECKPOINT 7
|
||||
#define IA__SPRING__UP 8
|
||||
#define IA__SPRING__DOWN 9
|
||||
#define IA__SPRING__LEFT 10
|
||||
#define IA__SPRING__RIGHT 11
|
||||
#define IA__SPRING__BIG_UPLEFT 12
|
||||
#define IA__SPRING__BIG_UPRIGHT 13
|
||||
#define IA__SPRING__SMALL_UPLEFT 14
|
||||
#define IA__SPRING__SMALL_UPRIGHT 15
|
||||
#define IA__DECORATION 16
|
||||
#define IA__TOGGLE_PLAYER_LAYER__FRONT 17
|
||||
#define IA__TOGGLE_PLAYER_LAYER__BACK 18
|
||||
#define IA__GRIND_RAIL__START 19
|
||||
#define IA__GRIND_RAIL__END 20
|
||||
#define IA__PLATFORM_THIN 21
|
||||
#define IA__PLATFORM_THIN__FALLING 22
|
||||
#define IA__TRAMPOLINE 23
|
||||
#define IA__PLATFORM_CRUMBLING 24
|
||||
#define IA__BOUNCE_BLOCK 25
|
||||
#define IA__INCLINE_RAMP 26
|
||||
#define IA__WATERFALL 27
|
||||
#define IA__HALFPIPE__START 28
|
||||
#define IA__HALFPIPE__END 29
|
||||
#define IA__SHRUBBERY 30
|
||||
#define IA__BOOSTER 31
|
||||
#define IA__BOOSTER__SLIGHT_LEFT 32
|
||||
#define IA__BOOSTER__SLIGHT_RIGHT 33
|
||||
#define IA__IA034 34
|
||||
#define IA__MINILOOP_BASE 35
|
||||
#define IA__MINILOOP_START_BOOST 36
|
||||
#define IA__MINILOOP_EXIT 37
|
||||
#define IA__MINILOOP_ENTRANCE 38
|
||||
#define IA__IA039 39
|
||||
#define IA__WATER_BRIDGE 40
|
||||
#define IA__TOGGLE__TO_BE_CONTINUED 41
|
||||
#define IA__RED_FLAG 42
|
||||
#define IA__IA043 43
|
||||
#define IA__WALL_POLE__LEFT 44
|
||||
#define IA__WALL_POLE__RIGHT 45
|
||||
#define IA__FORCED_ICE_SLIDE 46
|
||||
#define IA__BOOSTER__WALL 47
|
||||
#define IA__BUMPER__HEXAGON 48
|
||||
#define IA__BUMPER_ROUND__LINEAR 49
|
||||
#define IA__BUMPER_ROUND__CIRCULAR 50
|
||||
#define IA__BUMPER_TRI__HORIZONTAL 51
|
||||
#define IA__BUMPER_TRI__VERTICAL 52
|
||||
#define IA__BUMPER_TRI__BIG 53
|
||||
#define IA__FLIPPER 54
|
||||
#define IA__PLATFORM_SQUARE 55
|
||||
#define IA__FLIPPER__VERTICAL 56
|
||||
#define IA__BARREL_OF_DOOM_MINI 57
|
||||
#define IA__SEGA_SONIC_LETTER 58
|
||||
#define IA__PARTY_BALLOON 59
|
||||
#define IA__SHIP_SWING 60
|
||||
#define IA__PLATFORM_SPIKED 61
|
||||
#define IA__BOWL 62
|
||||
#define IA__PANEL_GATE__VERTICAL 63
|
||||
#define IA__PANEL_GATE__HORIZONTAL 64
|
||||
#define IA__MARBLE_TRACK__DIR 65
|
||||
#define IA__MARBLE_TRACK__UNK 66
|
||||
#define IA__MARBLE_TRACK__ENTRANCE 67
|
||||
#define IA__MARBLE_TRACK__EXIT 68
|
||||
#define IA__CONVEYOR_BELT 69
|
||||
#define IA__TOGGLE__PLAYER_VISIBILITY 70
|
||||
#define IA__WALL_BUMPER 71
|
||||
#define IA__TELEPORT_ORB 72
|
||||
#define IA__FLIPPER_SMALL_BLUE 73
|
||||
#define IA__CAROUSEL 74
|
||||
#define IA__HOOK_RAIL 75
|
||||
#define IA__SWINGING_HOOK 76
|
||||
#define IA__SECURITY_GATE 77
|
||||
#define IA__SWING_ROPE 78
|
||||
#define IA__STEAM_EXHAUST 79
|
||||
#define IA__CRANE_CLAW 80
|
||||
#define IA__MOVING_SPRING 81
|
||||
#define IA__IRON_BALL 82
|
||||
#define IA__HANG_BAR 83
|
||||
#define IA__SKATING_STONE 84
|
||||
#define IA__IA085 85
|
||||
#define IA__RUN_WHEEL 86
|
||||
#define IA__TORCH 87
|
||||
#define IA__LIFT 88
|
||||
#define IA__IA089 89
|
||||
#define IA__TOGGLE__PLAYER_FLOAT 90
|
||||
#define IA__FERRIS_WHEEL 91
|
||||
#define IA__BOULDER_SPAWNER 92
|
||||
#define IA__SPIKED_BARREL 93
|
||||
#define IA__AIR_BUBBLES 94
|
||||
#define IA__ICE_BLOCK 95
|
||||
#define IA__IA096 96
|
||||
#define IA__IA097 97
|
||||
#define IA__UNDERWATER_LAVA_PLATFORM 98
|
||||
#define IA__IA099 99
|
||||
#define IA__BOOSTER_STEEP 100
|
||||
#define IA__BOOSTER_STEEP_2 101
|
||||
#define IA__SPECIAL_SPRING 102
|
||||
#define IA__SPIKED_BARREL__CHAOHUNT 103
|
||||
#define IA__SMALL_FALL_BLOCK 104
|
||||
#define IA__LAVA 105
|
||||
#define IA__TRACK 106
|
||||
#define IA__IA107 107
|
||||
#define IA__SPRING__HIDING 108
|
||||
#define IA__TOGGLE_GRAVITY 109
|
||||
#define IA__PIPE_ENTRANCE 110
|
||||
#define IA__PIPE_EXIT 111
|
||||
#define IA__TRACK_AIR_CORNER 112
|
||||
#define IA__IA113 113
|
||||
#define IA__BREAKABLE_WALL 114
|
||||
#define IA__ITEMBOX_CHAOHUNT 115
|
||||
// #if (GAME == GAME_SA1)
|
||||
// #define IA__STAGE_GOAL 0
|
||||
// #define IA__SPIKES__NORMAL_UP 1
|
||||
// #define IA__SPIKES__NORMAL_DOWN 2
|
||||
// #define IA__SPIKES__NORMAL_LEFT 3
|
||||
// #define IA__SPIKES__NORMAL_RIGHT 4
|
||||
// #define IA__SPIKES__HIDING_UP 5
|
||||
// #define IA__SPIKES__HIDING_DOWN 6
|
||||
// #define IA__CHECKPOINT 7
|
||||
// #define IA__SPRING__UP 8
|
||||
// #define IA__SPRING__DOWN 9
|
||||
// #define IA__SPRING__LEFT 10
|
||||
// #define IA__SPRING__RIGHT 11
|
||||
// #define IA__SPRING__BIG_UPLEFT 12
|
||||
// #define IA__SPRING__BIG_UPRIGHT 13
|
||||
// #define IA__SPRING__SMALL_UPLEFT 14
|
||||
// #define IA__SPRING__SMALL_UPRIGHT 15
|
||||
// #define IA__DECORATION 16
|
||||
// #define IA__TOGGLE_PLAYER_LAYER__FRONT 17
|
||||
// #define IA__TOGGLE_PLAYER_LAYER__BACK 18
|
||||
// #define IA__GRIND_RAIL__START 19
|
||||
// #define IA__GRIND_RAIL__END 20
|
||||
// #define IA__PLATFORM_THIN 21
|
||||
// #define IA__PLATFORM_THIN__FALLING 22
|
||||
// #define IA__TRAMPOLINE 23
|
||||
// #define IA__PLATFORM_CRUMBLING 24
|
||||
// #define IA__BOUNCE_BLOCK 25
|
||||
// #define IA__INCLINE_RAMP 26
|
||||
// #define IA__WATERFALL 27
|
||||
// #define IA__HALFPIPE__START 28
|
||||
// #define IA__HALFPIPE__END 29
|
||||
// #define IA__SHRUBBERY 30
|
||||
// #define IA__BOOSTER 31
|
||||
// #define IA__BOOSTER__SLIGHT_LEFT 32
|
||||
// #define IA__BOOSTER__SLIGHT_RIGHT 33
|
||||
// #define IA__IA034 34
|
||||
// #define IA__MINILOOP_BASE 35
|
||||
// #define IA__MINILOOP_START_BOOST 36
|
||||
// #define IA__MINILOOP_EXIT 37
|
||||
// #define IA__MINILOOP_ENTRANCE 38
|
||||
// #define IA__IA039 39
|
||||
// #define IA__WATER_BRIDGE 40
|
||||
// #define IA__TOGGLE__TO_BE_CONTINUED 41
|
||||
// #define IA__RED_FLAG 42
|
||||
// #define IA__IA043 43
|
||||
// #define IA__WALL_POLE__LEFT 44
|
||||
// #define IA__WALL_POLE__RIGHT 45
|
||||
// #define IA__FORCED_ICE_SLIDE 46
|
||||
// #define IA__BOOSTER__WALL 47
|
||||
// #define IA__BUMPER__HEXAGON 48
|
||||
// #define IA__BUMPER_ROUND__LINEAR 49
|
||||
// #define IA__BUMPER_ROUND__CIRCULAR 50
|
||||
// #define IA__BUMPER_TRI__HORIZONTAL 51
|
||||
// #define IA__BUMPER_TRI__VERTICAL 52
|
||||
// #define IA__BUMPER_TRI__BIG 53
|
||||
// #define IA__FLIPPER 54
|
||||
// #define IA__PLATFORM_SQUARE 55
|
||||
// #define IA__FLIPPER__VERTICAL 56
|
||||
// #define IA__BARREL_OF_DOOM_MINI 57
|
||||
// #define IA__SEGA_SONIC_LETTER 58
|
||||
// #define IA__PARTY_BALLOON 59
|
||||
// #define IA__SHIP_SWING 60
|
||||
// #define IA__PLATFORM_SPIKED 61
|
||||
// #define IA__BOWL 62
|
||||
// #define IA__PANEL_GATE__VERTICAL 63
|
||||
// #define IA__PANEL_GATE__HORIZONTAL 64
|
||||
// #define IA__MARBLE_TRACK__DIR 65
|
||||
// #define IA__MARBLE_TRACK__UNK 66
|
||||
// #define IA__MARBLE_TRACK__ENTRANCE 67
|
||||
// #define IA__MARBLE_TRACK__EXIT 68
|
||||
// #define IA__CONVEYOR_BELT 69
|
||||
// #define IA__TOGGLE__PLAYER_VISIBILITY 70
|
||||
// #define IA__WALL_BUMPER 71
|
||||
// #define IA__TELEPORT_ORB 72
|
||||
// #define IA__FLIPPER_SMALL_BLUE 73
|
||||
// #define IA__CAROUSEL 74
|
||||
// #define IA__HOOK_RAIL 75
|
||||
// #define IA__SWINGING_HOOK 76
|
||||
// #define IA__SECURITY_GATE 77
|
||||
// #define IA__SWING_ROPE 78
|
||||
// #define IA__STEAM_EXHAUST 79
|
||||
// #define IA__CRANE_CLAW 80
|
||||
// #define IA__MOVING_SPRING 81
|
||||
// #define IA__IRON_BALL 82
|
||||
// #define IA__HANG_BAR 83
|
||||
// #define IA__SKATING_STONE 84
|
||||
// #define IA__IA085 85
|
||||
// #define IA__RUN_WHEEL 86
|
||||
// #define IA__TORCH 87
|
||||
// #define IA__LIFT 88
|
||||
// #define IA__IA089 89
|
||||
// #define IA__TOGGLE__PLAYER_FLOAT 90
|
||||
// #define IA__FERRIS_WHEEL 91
|
||||
// #define IA__BOULDER_SPAWNER 92
|
||||
// #define IA__SPIKED_BARREL 93
|
||||
// #define IA__AIR_BUBBLES 94
|
||||
// #define IA__ICE_BLOCK 95
|
||||
// #define IA__IA096 96
|
||||
// #define IA__IA097 97
|
||||
// #define IA__UNDERWATER_LAVA_PLATFORM 98
|
||||
// #define IA__IA099 99
|
||||
// #define IA__BOOSTER_STEEP 100
|
||||
// #define IA__BOOSTER_STEEP_2 101
|
||||
// #define IA__SPECIAL_SPRING 102
|
||||
// #define IA__SPIKED_BARREL__CHAOHUNT 103
|
||||
// #define IA__SMALL_FALL_BLOCK 104
|
||||
// #define IA__LAVA 105
|
||||
// #define IA__TRACK 106
|
||||
// #define IA__IA107 107
|
||||
// #define IA__SPRING__HIDING 108
|
||||
// #define IA__TOGGLE_GRAVITY 109
|
||||
// #define IA__PIPE_ENTRANCE 110
|
||||
// #define IA__PIPE_EXIT 111
|
||||
// #define IA__TRACK_AIR_CORNER 112
|
||||
// #define IA__IA113 113
|
||||
// #define IA__BREAKABLE_WALL 114
|
||||
// #define IA__ITEMBOX_CHAOHUNT 115
|
||||
|
||||
#define IA__MP_TOGGLE_PLAYER_LAYER__FRONT 12 // Used in GAME_MODE_MULTI_PLAYER_COLLECT_RINGS
|
||||
#define IA__MP_TOGGLE_PLAYER_LAYER__BACK 13 // Used in GAME_MODE_MULTI_PLAYER_COLLECT_RINGS
|
||||
// #define IA__MP_TOGGLE_PLAYER_LAYER__FRONT 12 // Used in GAME_MODE_MULTI_PLAYER_COLLECT_RINGS
|
||||
// #define IA__MP_TOGGLE_PLAYER_LAYER__BACK 13 // Used in GAME_MODE_MULTI_PLAYER_COLLECT_RINGS
|
||||
|
||||
#elif (GAME == GAME_SA2)
|
||||
// #endif
|
||||
|
||||
#if (GAME == GAME_SA2)
|
||||
// NOTE: Keep the format as: IA__<name>__<type> if you add Interactables to this list
|
||||
// (or create a new list) that have multiple entries, like the springs and spikes
|
||||
// do. This will ensure compatibility with our tools.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_BALLOON_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Balloon(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_BELL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Bell(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_BULLET_BUZZER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_BulletBuzzer(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_BUZZER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Buzzer(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_CIRCUS_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Circus(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_FLICKEY_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Flickey(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_GEJI_GEJI_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_GejiGeji(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_GOHLA_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Gohla(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_HAMMERHEAD_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Hammerhead(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_KIKI_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Kiki(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_KOURA_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Koura(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_KUBINAGA_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Kubinaga(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_KURA_KURA_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_KuraKura(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_KYURA_H
|
||||
|
||||
#include "gba/types.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Kyura(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_MADILLO_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Madillo(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_MON_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Mon(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_MOUSE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Mouse(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_PEN_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Pen(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_PIKO_PIKO_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_PikoPiko(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_SPINNER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Spinner(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_STAR_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Star(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_STRAW_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Straw(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ENEMY_YADO_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Yado(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_105
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Interactable105(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_CEILING_SLOPE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_CeilingSlope(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_COLLECT_RINGS_LAP_TRIGGER
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_CollectRingsLapTrigger(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_093_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Cannon(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_FLYING_HANDLE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_FlyingHandle(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_GRAVITY_TOGGLE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Toggle_Gravity__Down(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Toggle_Gravity__Up(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_IRON_BALL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_IronBall(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_LAUNCHER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Launcher_Left_GDown(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Launcher_Right_GDown(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_094_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Pole(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_097_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_SpeedingPlatform(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_GRIND_RAIL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_GrindRail_Start(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_GrindRail_StartAir(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_IA_CRANE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Crane(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
#include "sprite.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
#define DASH_RING__NUM_ORIENTATIONS 8
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_IA_FLOATING_SPRING_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_FloatingSpring_Up(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_HOOK_RAIL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_HookRail_Unused(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_HookRail_Start(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_052_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_TurnAroundBar(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_IA_WIND_UP_STICK_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_WindUpStick(MapEntity *, u16, u16, u8);
|
||||
#endif
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_069_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_BigSnowball(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_FUNNEL_SPHERE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_FunnelSphere(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_HALF_PIPE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_HalfPipe_End(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_HalfPipe_Start(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_SLOWING_SNOW_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_SlowingSnow(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_BOOSTER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Booster(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_BOUNCY_BAR_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_BouncyBar(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_CHECKPOINT_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Checkpoint(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Toggle_Checkpoint(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_CORKSCREW_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Corkscrew_Start(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Corkscrew_End(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_CORKSCREW_3D_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Corkscrew3D_Start(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Corkscrew3D_End(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_DECORATION_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Decoration(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_GAPPED_LOOP_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_GappedLoop_Start(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_GappedLoop_End(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_INCLINE_RAMP_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_InclineRamp(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_019_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_PlatformCrumbling(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_IA_ROTATING_HANDLE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_RotatingHandle(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_SPIKES_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Spikes_Up(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Spikes_Down(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_SPRING_BOUNCY_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_BouncySpring(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_STAGE_GOAL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_StageGoal(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Toggle_StageGoal(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_TOGGLE_PLAYER_LAYER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Toggle_PlayerLayer(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_IA_WINDMILL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Windmill(MapEntity *, u16, u16, u8);
|
||||
#endif
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Chord(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_FRENCH_HORN_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
#include "game/sa2/stage/interactables/music_plant/pipe_sequence.h"
|
||||
|
||||
void CreateEntity_FrenchHorn_Entry(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_070_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_GermanFlute(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_KEYBOARD_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Keyboard_Vertical(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Keyboard_Horizontal_PushLeft(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_NOTE_BLOCK_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_NoteBlock(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_NOTE_SPHERE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_NoteSphere(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_PIPE_HORN_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
#include "game/sa2/stage/interactables/music_plant/pipe_sequence.h"
|
||||
|
||||
void CreateEntity_PipeInstrument_Entry(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_PIPE_SEQUENCE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
#define NUM_PIPE_SEGMENT_TYPES 16
|
||||
#define PIPE_SEGMENT_TYPE_TRANSLATE 0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_CLEAR_PIPE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Pipe_Start(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Pipe_End(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_PLATFORM_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Platform(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_FallingPlatform(MapEntity *me, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_PLATFORM_SQUARE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Platform_Square(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_PLATFORM_THIN_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_PlatformThin(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_RAMP_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Ramp(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_SMALL_PROPELLER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Fan_Left(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Fan_Right(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_PROPELLER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Propeller(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_085_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_PropellerSpring(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_SMALL_WINDMILL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_SmallWindmill(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_WHIRLWIND_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Whirlwind_A(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Whirlwind_B(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_SLIDY_ICE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_SlidyIce(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_SPECIAL_RING_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_SpecialRing(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_SPRING_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_Spring_Normal_Up(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_Spring_Normal_Down(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_075_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_ArrowPlatform_Left(MapEntity *, u16, u16, u8);
|
||||
void CreateEntity_ArrowPlatform_Right(MapEntity *, u16, u16, u8);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_TEC_BASE_NOTE_BLOCK_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_BounceBlock(MapEntity *ia, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#define BRIDGE_TYPE_CURVED 1
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_LightBridge(MapEntity *ia, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_080_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_LightGlobe(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_INTERACTABLE_078_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_SpikePlatform(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#define GUARD_STAGE_ITEM_BOX_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_ItemBox(MapEntity *, u16, u16, u8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_MYSTERY_ITEM_BOX_H
|
||||
|
||||
#include "global.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
void CreateEntity_MysteryItemBox(MapEntity *ia, u16 spriteRegionX, u16 spriteRegionY, u8 spriteY);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_player_callbacks_H
|
||||
|
||||
#include "core.h"
|
||||
#include "game/types/player.h"
|
||||
#include "game/shared/stage/player.h"
|
||||
|
||||
struct Task *CreateSonicAmySkidAttackEffect(s32 x, s32 y, u16 p2);
|
||||
void Player_SonicAmy_InitSkidAttack(Player *);
|
||||
|
||||
@@ -3,8 +3,109 @@
|
||||
|
||||
#include "global.h"
|
||||
#include "core.h"
|
||||
#include "tilemap.h"
|
||||
|
||||
#include "game/types/camera.h"
|
||||
#if (GAME == GAME_SA1)
|
||||
typedef s16 CamCoord;
|
||||
#else
|
||||
typedef s32 CamCoord;
|
||||
#endif
|
||||
|
||||
#define TILE_WIDTH 8
|
||||
#define CAM_REGION_WIDTH 256
|
||||
#define TILES_PER_METATILE_AXIS 12
|
||||
|
||||
#define TO_WORLD_POS(pos, region) ((pos)*TILE_WIDTH + (region)*CAM_REGION_WIDTH)
|
||||
|
||||
#define CAM_BOUND_X ((DISPLAY_WIDTH) + (CAM_REGION_WIDTH))
|
||||
#define CAM_BOUND_Y ((DISPLAY_HEIGHT) + ((CAM_REGION_WIDTH) / 2))
|
||||
|
||||
typedef void (*BgUpdate)(s32, s32);
|
||||
|
||||
#define CAM_MODE_SPECTATOR 4
|
||||
|
||||
// NOTE: This was copy-pasted from SA2.
|
||||
// There are type differences for members
|
||||
typedef struct Camera {
|
||||
/* 0x00|0x04 */ CamCoord x;
|
||||
/* 0x02|0x04 */ CamCoord y;
|
||||
#if (GAME == GAME_SA1)
|
||||
u8 filler4[0x2C];
|
||||
/* 0x30 */ struct Task *movementTask;
|
||||
/* 0x34 */ s16 shakeOffsetX;
|
||||
/* 0x36 */ s16 shakeOffsetY;
|
||||
#elif (GAME == GAME_SA2)
|
||||
/* 0x08 */ s32 unk8;
|
||||
/* 0x0C */ s32 unkC;
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x14 */ s32 unk14;
|
||||
/* 0x18 */ s32 shiftX;
|
||||
/* 0x1C */ s32 shiftY;
|
||||
/* 0x20 */ s32 unk20;
|
||||
/* 0x24 */ s32 unk24;
|
||||
|
||||
// TODO: Why are X/Y swapped?
|
||||
// Did they make this a matrix or sth.?
|
||||
// (Used to calc min/max cam pos in UpdateCamera())
|
||||
/* 0x28 */ s32 minY;
|
||||
/* 0x2c */ s32 maxY;
|
||||
/* 0x30 */ s32 minX;
|
||||
/* 0x34 */ s32 maxX;
|
||||
|
||||
/* 0x38 */ s32 dx;
|
||||
/* 0x3c */ s32 dy;
|
||||
/* 0x40 */ s16 unk40;
|
||||
/* 0x44 */ s32 unk44;
|
||||
/* 0x48 */ s32 unk48;
|
||||
/* 0x4c */ s32 unk4C;
|
||||
|
||||
// 0x4 = spectator
|
||||
// mode
|
||||
/* 0x50 */ u16 unk50;
|
||||
|
||||
/* 0x52 */ u16 unk52;
|
||||
/* 0x54 */ u16 unk54;
|
||||
/* 0x56 */ s16 unk56;
|
||||
/* 0x58 */ BgUpdate fnBgUpdate;
|
||||
/* 0x5C */ struct Task *movementTask;
|
||||
/* 0x60 */ s16 shakeOffsetX;
|
||||
/* 0x62 */ s16 shakeOffsetY;
|
||||
/* 0x64 */ s16 unk64;
|
||||
/* 0x66 */ u8 spectatorTarget;
|
||||
#endif
|
||||
} Camera; /* size 0x80(in SA2) */
|
||||
|
||||
extern struct Camera gCamera;
|
||||
|
||||
// TODO: Merge all these into one!
|
||||
#define IS_OUT_OF_RANGE_2(x, y, radiusX, radiusY) \
|
||||
((x < -(radiusX)) || (x > DISPLAY_WIDTH + (radiusX)) || (y < -(radiusY)) || (y > DISPLAY_HEIGHT + (radiusY)))
|
||||
|
||||
// No idea on this one
|
||||
#define IS_OUT_OF_RANGE_3(x, y, radiusX, radiusY) \
|
||||
((x < -(radiusX)) || (x > DISPLAY_WIDTH + (radiusX)) || ((y) + (radiusY) < 0) || (y > DISPLAY_HEIGHT + (radiusY)))
|
||||
|
||||
// TODO: Merge all these into one!
|
||||
#define IS_OUT_OF_RANGE_(UNUSED, x, y, radius) IS_OUT_OF_RANGE_2(x, y, radius, radius)
|
||||
|
||||
#define IS_OUT_OF_RANGE_OLD(castType, x, y, dim) \
|
||||
(((castType)(x + (dim / 2)) > DISPLAY_WIDTH + dim) || (y + (dim / 2) < 0) || (y > DISPLAY_HEIGHT + (dim / 2)))
|
||||
|
||||
#define IS_OUT_OF_RANGE IS_OUT_OF_RANGE_OLD
|
||||
|
||||
// @NOTE/INVESTIGATE: Some places match with u16, some with u32,
|
||||
// but u16 is more common, so it's the default.
|
||||
#define IS_OUT_OF_CAM_RANGE(_x, _y) IS_OUT_OF_RANGE(u16, _x, _y, CAM_REGION_WIDTH)
|
||||
#define IS_OUT_OF_CAM_RANGE_TYPED(castType, _x, _y) IS_OUT_OF_RANGE(castType, _x, _y, CAM_REGION_WIDTH)
|
||||
|
||||
// TODO: Remove macro and replace calls of it with 'IS_OUT_OF_RANGE' once rewritten.
|
||||
#define IS_OUT_OF_CAM_RANGE_2(x, y) IS_OUT_OF_RANGE_(u16, x, y, (CAM_REGION_WIDTH / 2))
|
||||
|
||||
#define IS_OUT_OF_DISPLAY_RANGE(_x, _y) \
|
||||
((_x) > gCamera.x + (DISPLAY_WIDTH + (CAM_REGION_WIDTH / 2)) || (_x) < gCamera.x - (CAM_REGION_WIDTH / 2) \
|
||||
|| (_y) > gCamera.y + CAM_BOUND_Y || (_y) < gCamera.y - (CAM_REGION_WIDTH / 2))
|
||||
|
||||
#define IS_OUT_OF_LOOP_TRIGGER_RANGE(x, y) IS_OUT_OF_RANGE_3(x, y, (CAM_REGION_WIDTH / 2), (CAM_REGION_WIDTH / 2))
|
||||
|
||||
void InitCamera(u32);
|
||||
void DestroyCameraMovementTask(void);
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "core.h"
|
||||
#include "rect.h"
|
||||
#include "game/types/camera.h" // for CamCoord
|
||||
#include "game/types/player.h"
|
||||
#include "game/shared/stage/camera.h" // for CamCoord
|
||||
#include "game/shared/stage/player.h"
|
||||
|
||||
#define COLL_NONE 0
|
||||
#define COLL_FLAG_1 0x00000001
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "global.h"
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "game/types/entity.h"
|
||||
#include "game/shared/stage/entity.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ SpriteBase base;
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
#include "sprite.h"
|
||||
|
||||
#include "game/globals.h"
|
||||
#include "game/shared/stage/collision.h"
|
||||
|
||||
#include "game/shared/stage/collision.h"
|
||||
#include "game/shared/stage/terrain_collision.h"
|
||||
#include "game/sa2/stage/player_callbacks.h"
|
||||
#include "game/shared/stage/player.h"
|
||||
@@ -1,13 +1,222 @@
|
||||
#ifndef GUARD_STAGE_PLAYER_H
|
||||
#define GUARD_STAGE_PLAYER_H
|
||||
|
||||
// TODO: Merge this file with this one!!!
|
||||
#include "game/types/player.h"
|
||||
#include "core.h"
|
||||
#include "constants/move_states.h"
|
||||
|
||||
// TODO: merge these
|
||||
#include "constants/characters.h"
|
||||
#include "game/shared/parameters/characters.h"
|
||||
|
||||
#define PLAYER_IS_ALIVE (!(gPlayer.moveState & MOVESTATE_DEAD))
|
||||
#define IS_ALIVE(player) (!(player->moveState & MOVESTATE_DEAD))
|
||||
|
||||
typedef struct {
|
||||
/*0x00 */ SpriteTransform transform;
|
||||
/*0x0C */ Sprite s;
|
||||
/*0x3C */ Hitbox reserved; // TODO: Maybe 3 hitboxes (Player, Action, Shield)?
|
||||
} PlayerSpriteInfo; /* size: 0x44 */
|
||||
|
||||
extern PlayerSpriteInfo gPlayerLimbsPSI;
|
||||
extern PlayerSpriteInfo gPlayerBodyPSI;
|
||||
|
||||
// TODO: Better name.
|
||||
// This is used for an apparent around the value Cream uses for flying duration
|
||||
typedef struct {
|
||||
/* 0xAC */ u8 flags;
|
||||
/* 0xAD */ s8 unkAD;
|
||||
/* 0xAE */ u16 unkAE;
|
||||
/* 0xB0 */ u16 unkB0;
|
||||
} SonicFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0xAC */ s16 flyingDuration;
|
||||
/* 0xAE */ u16 unkAE;
|
||||
/* 0xB0 */ s8 unkB0;
|
||||
} CreamFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0xAC */ u8 flags;
|
||||
/* 0xAD */ s8 shift;
|
||||
/* 0xAE */ s8 unkAE;
|
||||
/* 0xAF */ s8 unkAF;
|
||||
|
||||
// NOTE: For some reason this is a 4-byte value, while Cream's is a 2-byte
|
||||
/* 0xB0 */ s32 flyingDuration;
|
||||
} TailsFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0xAC */ u8 flags;
|
||||
/* 0xAD */ s8 shift; // TODO: Name
|
||||
/* 0xAE */ s8 unkAE;
|
||||
} KnucklesFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0xAC */ u8 unkAC;
|
||||
} AmyFlags;
|
||||
|
||||
#define PLAYER_ITEM_EFFECT__NONE 0x00
|
||||
#define PLAYER_ITEM_EFFECT__SHIELD_NORMAL 0x01
|
||||
#define PLAYER_ITEM_EFFECT__INVINCIBILITY 0x02
|
||||
#define PLAYER_ITEM_EFFECT__SPEED_UP 0x04
|
||||
#define PLAYER_ITEM_EFFECT__SHIELD_MAGNETIC 0x08
|
||||
#define PLAYER_ITEM_EFFECT__MP_SLOW_DOWN 0x10
|
||||
#define PLAYER_ITEM_EFFECT__20 0x20
|
||||
#define PLAYER_ITEM_EFFECT__CONFUSION 0x40
|
||||
#define PLAYER_ITEM_EFFECT__TELEPORT 0x80
|
||||
|
||||
#define HAS_SHIELD(p) ((p)->itemEffect & (PLAYER_ITEM_EFFECT__SHIELD_MAGNETIC | PLAYER_ITEM_EFFECT__SHIELD_NORMAL))
|
||||
|
||||
#define PLAYER_LAYER__FRONT 0x00
|
||||
#define PLAYER_LAYER__BACK 0x01
|
||||
#define PLAYER_LAYER__MASK 0x01
|
||||
#define PLAYER_LAYER__80 0x80
|
||||
|
||||
#define PLAYER_1 0
|
||||
#define PLAYER_2 1
|
||||
#define PLAYER_3 2
|
||||
#define PLAYER_4 3
|
||||
|
||||
#if (GAME == GAME_SA1)
|
||||
#define GET_SP_PLAYER_V0(index) ((index == 0) ? &gPlayer : &gPartner)
|
||||
#define GET_SP_PLAYER_V1(index) ((index != 0) ? &gPartner : &gPlayer)
|
||||
#elif (GAME == GAME_SA2)
|
||||
// NOTE: Ignores index, in SA2 you only ever have 1 player char in single player mode
|
||||
#define GET_SP_PLAYER_V0(index) (&gPlayer)
|
||||
#define GET_SP_PLAYER_V1(index) (&gPlayer)
|
||||
#elif (GAME == GAME_SA3)
|
||||
#define GET_SP_PLAYER_V0(index) ((index == PLAYER_1) ? &gPlayers[gStageData.playerIndex] : &gPlayers[p->charFlags.partnerIndex])
|
||||
#define GET_SP_PLAYER_V1(index) ((index != PLAYER_1) ? &gPlayers[p->charFlags.partnerIndex] : &gPlayers[gStageData.playerIndex])
|
||||
#endif
|
||||
|
||||
// Declared beforehand because it's used inside Player struct
|
||||
struct Player_;
|
||||
typedef void (*PlayerCallback)(struct Player_ *);
|
||||
|
||||
typedef struct Player_ {
|
||||
/* 0x00 */ PlayerCallback callback;
|
||||
/* 0x04 */ u16 unk4;
|
||||
|
||||
/* 0x08 */ s32 qWorldX;
|
||||
/* 0x0C */ s32 qWorldY;
|
||||
|
||||
/* 0x10 */ s16 qSpeedAirX;
|
||||
/* 0x12 */ s16 qSpeedAirY;
|
||||
/* 0x14 */ s16 qSpeedGround;
|
||||
|
||||
// The player sprite's position is actually at the middle of its graphics,
|
||||
// this offset denotes the difference to the ground.
|
||||
/* 0x16 */ s8 spriteOffsetX;
|
||||
/* 0x17 */ s8 spriteOffsetY;
|
||||
/* 0x18 */ u8 filler18[8];
|
||||
|
||||
// set/compare to values in "include/constants/move_states.h"
|
||||
/* 0x20 */ u32 moveState;
|
||||
|
||||
/* 0x24 */ u8 rotation;
|
||||
/* 0x25 */ u8 unk25;
|
||||
/* 0x26 */ s16 spindashAccel;
|
||||
/* 0x28 */ u8 unk28;
|
||||
/* 0x29 */ u8 unk29;
|
||||
/* 0x2A */ s16 unk2A;
|
||||
/* 0x2C */ s16 timerInvulnerability;
|
||||
/* 0x2E */ s16 timerInvincibility;
|
||||
/* 0x30 */ u16 timerSpeedup;
|
||||
/* 0x32 */ u16 confusionTimer;
|
||||
/* 0x34 */ u16 itemEffect20Timer;
|
||||
/* 0x36 */ s8 disableTrickTimer;
|
||||
/* 0x37 */ u8 itemEffect; // bitfield
|
||||
/* 0x38 */ u8 layer; // bitfield(?), 0x1 determines layer
|
||||
/* 0x3C */ void *stoodObj; // the object player collides with this frame?
|
||||
/* 0x40 */ s32 maxSpeed; // top speed the player can go period
|
||||
/* 0x44 */ s32 topSpeed; // top speed the player can accelerate to
|
||||
/* 0x48 */ s32 acceleration;
|
||||
/* 0x4C */ s32 deceleration;
|
||||
/* 0x50 */ u16 rollingDeceleration;
|
||||
/* 0x52 */ u16 boostThreshold;
|
||||
/* 0x54 */ u16 walkAnim;
|
||||
/* 0x56 */ u16 unk56;
|
||||
/* 0x58 */ s16 boostSpeed;
|
||||
/* 0x5A */ bool8 isBoosting;
|
||||
/* 0x5B */ u8 trickDir;
|
||||
/* 0x5C */ u16 heldInput;
|
||||
/* 0x5E */ u16 frameInput;
|
||||
/* 0x60 */ s8 playerID;
|
||||
/* 0x61 */ s8 unk61;
|
||||
/* 0x62 */ u8 unk62;
|
||||
/* 0x63 */ u8 unk63;
|
||||
/* 0x64 */ s16 charState; // charState values appear to be a default behavior to transition into another animation
|
||||
/* 0x66 */ s16 prevCharState;
|
||||
/* 0x68 */ AnimId anim;
|
||||
/* 0x6A */ u16 variant;
|
||||
/* 0x6C */ bool8 unk6C;
|
||||
|
||||
// 0x6D Some player state, cleared after usage
|
||||
// 0x01 = Player_Sonic_HomingAttack
|
||||
// 0x05 = Set by IA ClearPipe_End if data[1] is set (also in GermanFlute IA), by
|
||||
// Player_Cream_Flying
|
||||
//
|
||||
// use constants/player_transitions.h
|
||||
/* 0x6D */ u8 transition;
|
||||
/* 0x6E */ u8 unk6E; // Parameter for transition(?)
|
||||
/* 0x6F */ u8 prevTransition;
|
||||
/* 0x70 */ bool8 unk70;
|
||||
/* 0x71 */ u8 unk71;
|
||||
// unk72 appears to be a duration timer for side-forward trick animations + Homing Attack
|
||||
/* 0x72 */ s16 unk72;
|
||||
/* 0x74 */ s16 checkPointX;
|
||||
/* 0x76 */ s16 checkPointY;
|
||||
/* 0x78 */ u32 checkpointTime;
|
||||
/* 0x7C */ u16 unk7C;
|
||||
/* 0x7E */ u16 unk7E;
|
||||
/* 0x80 */ s16 unk80;
|
||||
/* 0x82 */ s16 unk82;
|
||||
|
||||
// Denotes how many points the player should get after defeating an enemy.
|
||||
// (see stage/enemy_defeat_score.c and stage/entity_manager.c for usage)
|
||||
/* 0x84 */ s8 defeatScoreIndex;
|
||||
|
||||
/* 0x85 */ s8 character;
|
||||
/* 0x86 */ s8 secondsUntilDrown;
|
||||
/* 0x87 */ s8 framesUntilDrownCountDecrement;
|
||||
/* 0x88 */ s8 framesUntilWaterSurfaceEffect;
|
||||
/* 0x88 */ u8 filler88[3];
|
||||
/* 0x8C */ struct Task *spriteTask;
|
||||
/* 0x90 */ PlayerSpriteInfo *spriteInfoBody; // for character sprites
|
||||
/* 0x94 */ PlayerSpriteInfo *spriteInfoLimbs; // SpriteInfo for Tails' tails / Cream's ears, when rolling
|
||||
#if PORTABLE
|
||||
// NOTE: There's a copy in player.c's 'InitializePlayer' that
|
||||
// copies via a (u32 *) to unk99.
|
||||
//
|
||||
// Since it is offset originally, platforms only writing words
|
||||
// aligned (or crash when trying to write to an odd pointer) will
|
||||
// not have the memory initialized properly.
|
||||
//
|
||||
// Ironically this is a non-crashing bug on GBA as well.
|
||||
/* 0x99 */ s8 unk99[16];
|
||||
/* 0x98 */ u8 unk98; // Multiplayer var. TODO: check sign!
|
||||
#else
|
||||
/* 0x98 */ u8 unk98; // Multiplayer var. TODO: check sign!
|
||||
/* 0x99 */ s8 unk99[16];
|
||||
#endif
|
||||
/* 0x9A */ u8 fillerA9[0x3];
|
||||
|
||||
// Cream's framecounter for flying
|
||||
// TODO/HACK: I guess this is actually part of a union per character?
|
||||
// When the player selected Tails, player->unk6D is actually some x-offset
|
||||
// when jumping.
|
||||
/* 0xAC */
|
||||
union {
|
||||
SonicFlags sf;
|
||||
CreamFlags cf;
|
||||
TailsFlags tf;
|
||||
KnucklesFlags kf;
|
||||
AmyFlags af;
|
||||
} w;
|
||||
} Player;
|
||||
|
||||
extern Player gPlayer;
|
||||
|
||||
// In SA2 tricks stop all characters when the buttons are pressed.
|
||||
// Set this to TRUE to behave more like SA3.
|
||||
#define DISABLE_TRICK_AIR_WAIT !TRUE
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_UNDERWATER_EFFECTS_H
|
||||
|
||||
#include "core.h"
|
||||
#include "game/types/player.h"
|
||||
#include "game/shared/stage/player.h"
|
||||
|
||||
struct Task *SpawnDrowningCountdownNum(Player *p, s32 countdown);
|
||||
struct Task *SpawnAirBubbles(s32 p0, s32 p1, s32 p2, s32 p3);
|
||||
|
||||
@@ -1,109 +0,0 @@
|
||||
#ifndef GUARD_SAKIT_CAMERA_H
|
||||
#define GUARD_SAKIT_CAMERA_H
|
||||
|
||||
#include "core.h"
|
||||
#include "tilemap.h"
|
||||
|
||||
#if (GAME == GAME_SA1)
|
||||
typedef s16 CamCoord;
|
||||
#else
|
||||
typedef s32 CamCoord;
|
||||
#endif
|
||||
|
||||
#define TILE_WIDTH 8
|
||||
#define CAM_REGION_WIDTH 256
|
||||
#define TILES_PER_METATILE_AXIS 12
|
||||
|
||||
#define TO_WORLD_POS(pos, region) ((pos)*TILE_WIDTH + (region)*CAM_REGION_WIDTH)
|
||||
|
||||
#define CAM_BOUND_X ((DISPLAY_WIDTH) + (CAM_REGION_WIDTH))
|
||||
#define CAM_BOUND_Y ((DISPLAY_HEIGHT) + ((CAM_REGION_WIDTH) / 2))
|
||||
|
||||
typedef void (*BgUpdate)(s32, s32);
|
||||
|
||||
#define CAM_MODE_SPECTATOR 4
|
||||
|
||||
// NOTE: This was copy-pasted from SA2.
|
||||
// There are type differences for members
|
||||
typedef struct Camera {
|
||||
/* 0x00|0x04 */ CamCoord x;
|
||||
/* 0x02|0x04 */ CamCoord y;
|
||||
#if (GAME == GAME_SA1)
|
||||
u8 filler4[0x2C];
|
||||
/* 0x30 */ struct Task *movementTask;
|
||||
/* 0x34 */ s16 shakeOffsetX;
|
||||
/* 0x36 */ s16 shakeOffsetY;
|
||||
#elif (GAME == GAME_SA2)
|
||||
/* 0x08 */ s32 unk8;
|
||||
/* 0x0C */ s32 unkC;
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x14 */ s32 unk14;
|
||||
/* 0x18 */ s32 shiftX;
|
||||
/* 0x1C */ s32 shiftY;
|
||||
/* 0x20 */ s32 unk20;
|
||||
/* 0x24 */ s32 unk24;
|
||||
|
||||
// TODO: Why are X/Y swapped?
|
||||
// Did they make this a matrix or sth.?
|
||||
// (Used to calc min/max cam pos in UpdateCamera())
|
||||
/* 0x28 */ s32 minY;
|
||||
/* 0x2c */ s32 maxY;
|
||||
/* 0x30 */ s32 minX;
|
||||
/* 0x34 */ s32 maxX;
|
||||
|
||||
/* 0x38 */ s32 dx;
|
||||
/* 0x3c */ s32 dy;
|
||||
/* 0x40 */ s16 unk40;
|
||||
/* 0x44 */ s32 unk44;
|
||||
/* 0x48 */ s32 unk48;
|
||||
/* 0x4c */ s32 unk4C;
|
||||
|
||||
// 0x4 = spectator
|
||||
// mode
|
||||
/* 0x50 */ u16 unk50;
|
||||
|
||||
/* 0x52 */ u16 unk52;
|
||||
/* 0x54 */ u16 unk54;
|
||||
/* 0x56 */ s16 unk56;
|
||||
/* 0x58 */ BgUpdate fnBgUpdate;
|
||||
/* 0x5C */ struct Task *movementTask;
|
||||
/* 0x60 */ s16 shakeOffsetX;
|
||||
/* 0x62 */ s16 shakeOffsetY;
|
||||
/* 0x64 */ s16 unk64;
|
||||
/* 0x66 */ u8 spectatorTarget;
|
||||
#endif
|
||||
} Camera; /* size 0x80(in SA2) */
|
||||
|
||||
extern struct Camera gCamera;
|
||||
|
||||
// TODO: Merge all these into one!
|
||||
#define IS_OUT_OF_RANGE_2(x, y, radiusX, radiusY) \
|
||||
((x < -(radiusX)) || (x > DISPLAY_WIDTH + (radiusX)) || (y < -(radiusY)) || (y > DISPLAY_HEIGHT + (radiusY)))
|
||||
|
||||
// No idea on this one
|
||||
#define IS_OUT_OF_RANGE_3(x, y, radiusX, radiusY) \
|
||||
((x < -(radiusX)) || (x > DISPLAY_WIDTH + (radiusX)) || ((y) + (radiusY) < 0) || (y > DISPLAY_HEIGHT + (radiusY)))
|
||||
|
||||
// TODO: Merge all these into one!
|
||||
#define IS_OUT_OF_RANGE_(UNUSED, x, y, radius) IS_OUT_OF_RANGE_2(x, y, radius, radius)
|
||||
|
||||
#define IS_OUT_OF_RANGE_OLD(castType, x, y, dim) \
|
||||
(((castType)(x + (dim / 2)) > DISPLAY_WIDTH + dim) || (y + (dim / 2) < 0) || (y > DISPLAY_HEIGHT + (dim / 2)))
|
||||
|
||||
#define IS_OUT_OF_RANGE IS_OUT_OF_RANGE_OLD
|
||||
|
||||
// @NOTE/INVESTIGATE: Some places match with u16, some with u32,
|
||||
// but u16 is more common, so it's the default.
|
||||
#define IS_OUT_OF_CAM_RANGE(_x, _y) IS_OUT_OF_RANGE(u16, _x, _y, CAM_REGION_WIDTH)
|
||||
#define IS_OUT_OF_CAM_RANGE_TYPED(castType, _x, _y) IS_OUT_OF_RANGE(castType, _x, _y, CAM_REGION_WIDTH)
|
||||
|
||||
// TODO: Remove macro and replace calls of it with 'IS_OUT_OF_RANGE' once rewritten.
|
||||
#define IS_OUT_OF_CAM_RANGE_2(x, y) IS_OUT_OF_RANGE_(u16, x, y, (CAM_REGION_WIDTH / 2))
|
||||
|
||||
#define IS_OUT_OF_DISPLAY_RANGE(_x, _y) \
|
||||
((_x) > gCamera.x + (DISPLAY_WIDTH + (CAM_REGION_WIDTH / 2)) || (_x) < gCamera.x - (CAM_REGION_WIDTH / 2) \
|
||||
|| (_y) > gCamera.y + CAM_BOUND_Y || (_y) < gCamera.y - (CAM_REGION_WIDTH / 2))
|
||||
|
||||
#define IS_OUT_OF_LOOP_TRIGGER_RANGE(x, y) IS_OUT_OF_RANGE_3(x, y, (CAM_REGION_WIDTH / 2), (CAM_REGION_WIDTH / 2))
|
||||
|
||||
#endif // GUARD_SAKIT_CAMERA_H
|
||||
@@ -1,218 +0,0 @@
|
||||
#ifndef GUARD_SAKIT_PLAYER_H
|
||||
#define GUARD_SAKIT_PLAYER_H
|
||||
|
||||
#include "core.h"
|
||||
#include "constants/move_states.h"
|
||||
|
||||
#define PLAYER_IS_ALIVE (!(gPlayer.moveState & MOVESTATE_DEAD))
|
||||
#define IS_ALIVE(player) (!(player->moveState & MOVESTATE_DEAD))
|
||||
|
||||
typedef struct {
|
||||
/*0x00 */ SpriteTransform transform;
|
||||
/*0x0C */ Sprite s;
|
||||
/*0x3C */ Hitbox reserved; // TODO: Maybe 3 hitboxes (Player, Action, Shield)?
|
||||
} PlayerSpriteInfo; /* size: 0x44 */
|
||||
|
||||
extern PlayerSpriteInfo gPlayerLimbsPSI;
|
||||
extern PlayerSpriteInfo gPlayerBodyPSI;
|
||||
|
||||
// TODO: Better name.
|
||||
// This is used for an apparent around the value Cream uses for flying duration
|
||||
typedef struct {
|
||||
/* 0xAC */ u8 flags;
|
||||
/* 0xAD */ s8 unkAD;
|
||||
/* 0xAE */ u16 unkAE;
|
||||
/* 0xB0 */ u16 unkB0;
|
||||
} SonicFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0xAC */ s16 flyingDuration;
|
||||
/* 0xAE */ u16 unkAE;
|
||||
/* 0xB0 */ s8 unkB0;
|
||||
} CreamFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0xAC */ u8 flags;
|
||||
/* 0xAD */ s8 shift;
|
||||
/* 0xAE */ s8 unkAE;
|
||||
/* 0xAF */ s8 unkAF;
|
||||
|
||||
// NOTE: For some reason this is a 4-byte value, while Cream's is a 2-byte
|
||||
/* 0xB0 */ s32 flyingDuration;
|
||||
} TailsFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0xAC */ u8 flags;
|
||||
/* 0xAD */ s8 shift; // TODO: Name
|
||||
/* 0xAE */ s8 unkAE;
|
||||
} KnucklesFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0xAC */ u8 unkAC;
|
||||
} AmyFlags;
|
||||
|
||||
#define PLAYER_ITEM_EFFECT__NONE 0x00
|
||||
#define PLAYER_ITEM_EFFECT__SHIELD_NORMAL 0x01
|
||||
#define PLAYER_ITEM_EFFECT__INVINCIBILITY 0x02
|
||||
#define PLAYER_ITEM_EFFECT__SPEED_UP 0x04
|
||||
#define PLAYER_ITEM_EFFECT__SHIELD_MAGNETIC 0x08
|
||||
#define PLAYER_ITEM_EFFECT__MP_SLOW_DOWN 0x10
|
||||
#define PLAYER_ITEM_EFFECT__20 0x20
|
||||
#define PLAYER_ITEM_EFFECT__CONFUSION 0x40
|
||||
#define PLAYER_ITEM_EFFECT__TELEPORT 0x80
|
||||
|
||||
#define HAS_SHIELD(p) ((p)->itemEffect & (PLAYER_ITEM_EFFECT__SHIELD_MAGNETIC | PLAYER_ITEM_EFFECT__SHIELD_NORMAL))
|
||||
|
||||
#define PLAYER_LAYER__FRONT 0x00
|
||||
#define PLAYER_LAYER__BACK 0x01
|
||||
#define PLAYER_LAYER__MASK 0x01
|
||||
#define PLAYER_LAYER__80 0x80
|
||||
|
||||
#define PLAYER_1 0
|
||||
#define PLAYER_2 1
|
||||
#define PLAYER_3 2
|
||||
#define PLAYER_4 3
|
||||
|
||||
#if (GAME == GAME_SA1)
|
||||
#define GET_SP_PLAYER_V0(index) ((index == 0) ? &gPlayer : &gPartner)
|
||||
#define GET_SP_PLAYER_V1(index) ((index != 0) ? &gPartner : &gPlayer)
|
||||
#elif (GAME == GAME_SA2)
|
||||
// NOTE: Ignores index, in SA2 you only ever have 1 player char in single player mode
|
||||
#define GET_SP_PLAYER_V0(index) (&gPlayer)
|
||||
#define GET_SP_PLAYER_V1(index) (&gPlayer)
|
||||
#elif (GAME == GAME_SA3)
|
||||
#define GET_SP_PLAYER_V0(index) ((index == PLAYER_1) ? &gPlayers[gStageData.playerIndex] : &gPlayers[p->charFlags.partnerIndex])
|
||||
#define GET_SP_PLAYER_V1(index) ((index != PLAYER_1) ? &gPlayers[p->charFlags.partnerIndex] : &gPlayers[gStageData.playerIndex])
|
||||
#endif
|
||||
|
||||
// Declared beforehand because it's used inside Player struct
|
||||
struct Player_;
|
||||
typedef void (*PlayerCallback)(struct Player_ *);
|
||||
|
||||
typedef struct Player_ {
|
||||
/* 0x00 */ PlayerCallback callback;
|
||||
/* 0x04 */ u16 unk4;
|
||||
|
||||
/* 0x08 */ s32 qWorldX;
|
||||
/* 0x0C */ s32 qWorldY;
|
||||
|
||||
/* 0x10 */ s16 qSpeedAirX;
|
||||
/* 0x12 */ s16 qSpeedAirY;
|
||||
/* 0x14 */ s16 qSpeedGround;
|
||||
|
||||
// The player sprite's position is actually at the middle of its graphics,
|
||||
// this offset denotes the difference to the ground.
|
||||
/* 0x16 */ s8 spriteOffsetX;
|
||||
/* 0x17 */ s8 spriteOffsetY;
|
||||
/* 0x18 */ u8 filler18[8];
|
||||
|
||||
// set/compare to values in "include/constants/move_states.h"
|
||||
/* 0x20 */ u32 moveState;
|
||||
|
||||
/* 0x24 */ u8 rotation;
|
||||
/* 0x25 */ u8 unk25;
|
||||
/* 0x26 */ s16 spindashAccel;
|
||||
/* 0x28 */ u8 unk28;
|
||||
/* 0x29 */ u8 unk29;
|
||||
/* 0x2A */ s16 unk2A;
|
||||
/* 0x2C */ s16 timerInvulnerability;
|
||||
/* 0x2E */ s16 timerInvincibility;
|
||||
/* 0x30 */ u16 timerSpeedup;
|
||||
/* 0x32 */ u16 confusionTimer;
|
||||
/* 0x34 */ u16 itemEffect20Timer;
|
||||
/* 0x36 */ s8 disableTrickTimer;
|
||||
/* 0x37 */ u8 itemEffect; // bitfield
|
||||
/* 0x38 */ u8 layer; // bitfield(?), 0x1 determines layer
|
||||
/* 0x3C */ void *stoodObj; // the object player collides with this frame?
|
||||
/* 0x40 */ s32 maxSpeed; // top speed the player can go period
|
||||
/* 0x44 */ s32 topSpeed; // top speed the player can accelerate to
|
||||
/* 0x48 */ s32 acceleration;
|
||||
/* 0x4C */ s32 deceleration;
|
||||
/* 0x50 */ u16 rollingDeceleration;
|
||||
/* 0x52 */ u16 boostThreshold;
|
||||
/* 0x54 */ u16 walkAnim;
|
||||
/* 0x56 */ u16 unk56;
|
||||
/* 0x58 */ s16 boostSpeed;
|
||||
/* 0x5A */ bool8 isBoosting;
|
||||
/* 0x5B */ u8 trickDir;
|
||||
/* 0x5C */ u16 heldInput;
|
||||
/* 0x5E */ u16 frameInput;
|
||||
/* 0x60 */ s8 playerID;
|
||||
/* 0x61 */ s8 unk61;
|
||||
/* 0x62 */ u8 unk62;
|
||||
/* 0x63 */ u8 unk63;
|
||||
/* 0x64 */ s16 charState; // charState values appear to be a default behavior to transition into another animation
|
||||
/* 0x66 */ s16 prevCharState;
|
||||
/* 0x68 */ AnimId anim;
|
||||
/* 0x6A */ u16 variant;
|
||||
/* 0x6C */ bool8 unk6C;
|
||||
|
||||
// 0x6D Some player state, cleared after usage
|
||||
// 0x01 = Player_Sonic_HomingAttack
|
||||
// 0x05 = Set by IA ClearPipe_End if data[1] is set (also in GermanFlute IA), by
|
||||
// Player_Cream_Flying
|
||||
//
|
||||
// use constants/player_transitions.h
|
||||
/* 0x6D */ u8 transition;
|
||||
/* 0x6E */ u8 unk6E; // Parameter for transition(?)
|
||||
/* 0x6F */ u8 prevTransition;
|
||||
/* 0x70 */ bool8 unk70;
|
||||
/* 0x71 */ u8 unk71;
|
||||
// unk72 appears to be a duration timer for side-forward trick animations + Homing Attack
|
||||
/* 0x72 */ s16 unk72;
|
||||
/* 0x74 */ s16 checkPointX;
|
||||
/* 0x76 */ s16 checkPointY;
|
||||
/* 0x78 */ u32 checkpointTime;
|
||||
/* 0x7C */ u16 unk7C;
|
||||
/* 0x7E */ u16 unk7E;
|
||||
/* 0x80 */ s16 unk80;
|
||||
/* 0x82 */ s16 unk82;
|
||||
|
||||
// Denotes how many points the player should get after defeating an enemy.
|
||||
// (see stage/enemy_defeat_score.c and stage/entity_manager.c for usage)
|
||||
/* 0x84 */ s8 defeatScoreIndex;
|
||||
|
||||
/* 0x85 */ s8 character;
|
||||
/* 0x86 */ s8 secondsUntilDrown;
|
||||
/* 0x87 */ s8 framesUntilDrownCountDecrement;
|
||||
/* 0x88 */ s8 framesUntilWaterSurfaceEffect;
|
||||
/* 0x88 */ u8 filler88[3];
|
||||
/* 0x8C */ struct Task *spriteTask;
|
||||
/* 0x90 */ PlayerSpriteInfo *spriteInfoBody; // for character sprites
|
||||
/* 0x94 */ PlayerSpriteInfo *spriteInfoLimbs; // SpriteInfo for Tails' tails / Cream's ears, when rolling
|
||||
#if PORTABLE
|
||||
// NOTE: There's a copy in player.c's 'InitializePlayer' that
|
||||
// copies via a (u32 *) to unk99.
|
||||
//
|
||||
// Since it is offset originally, platforms only writing words
|
||||
// aligned (or crash when trying to write to an odd pointer) will
|
||||
// not have the memory initialized properly.
|
||||
//
|
||||
// Ironically this is a non-crashing bug on GBA as well.
|
||||
/* 0x99 */ s8 unk99[16];
|
||||
/* 0x98 */ u8 unk98; // Multiplayer var. TODO: check sign!
|
||||
#else
|
||||
/* 0x98 */ u8 unk98; // Multiplayer var. TODO: check sign!
|
||||
/* 0x99 */ s8 unk99[16];
|
||||
#endif
|
||||
/* 0x9A */ u8 fillerA9[0x3];
|
||||
|
||||
// Cream's framecounter for flying
|
||||
// TODO/HACK: I guess this is actually part of a union per character?
|
||||
// When the player selected Tails, player->unk6D is actually some x-offset
|
||||
// when jumping.
|
||||
/* 0xAC */
|
||||
union {
|
||||
SonicFlags sf;
|
||||
CreamFlags cf;
|
||||
TailsFlags tf;
|
||||
KnucklesFlags kf;
|
||||
AmyFlags af;
|
||||
} w;
|
||||
} Player;
|
||||
|
||||
extern Player gPlayer;
|
||||
|
||||
// TODO: fill
|
||||
|
||||
#endif // GUARD_SAKIT_PLAYER_H
|
||||
@@ -1,135 +0,0 @@
|
||||
#ifndef GUARD_SA2_CHAR_STATES_H
|
||||
#define GUARD_SA2_CHAR_STATES_H
|
||||
|
||||
/* The values in here are used for Player.charState!
|
||||
They are used to determine the next behavior (and Player.anim/Player.variant in most instances).
|
||||
Some are shared between characters (CHARSTATE_xyz)
|
||||
*/
|
||||
|
||||
#if (GAME == GAME_SA2)
|
||||
#define CHARSTATE_INVALID -1
|
||||
#define CHARSTATE_IDLE 0
|
||||
#define CHARSTATE_TAUNT 1
|
||||
#define CHARSTATE_CROUCH 2
|
||||
#define CHARSTATE_SPIN_DASH 3
|
||||
#define CHARSTATE_SPIN_ATTACK 4
|
||||
#define CHARSTATE_TURN_SLOW 5
|
||||
#define CHARSTATE_TURN_AFTER_BRAKE 6
|
||||
#define CHARSTATE_BRAKE 7
|
||||
#define CHARSTATE_BRAKE_GOAL 8
|
||||
#define CHARSTATE_WALK_A 9
|
||||
#define CHARSTATE_JUMP_1 10
|
||||
#define CHARSTATE_JUMP_2 11
|
||||
#define CHARSTATE_HIT_GROUND 12
|
||||
#define CHARSTATE_FALLING_VULNERABLE_A 13
|
||||
#define CHARSTATE_FALLING_VULNERABLE_B 14
|
||||
#define CHARSTATE_BOOSTLESS_ATTACK 15
|
||||
#define CHARSTATE_AIR_ATTACK 16
|
||||
#define CHARSTATE_BOOST_ATTACK 17
|
||||
#define CHARSTATE_SOME_ATTACK 18
|
||||
#define CHARSTATE_SOME_OTHER_ATTACK 19
|
||||
#if (GAME == GAME_SA1)
|
||||
#define CHARSTATE_HIT_AIR 15
|
||||
#else
|
||||
#define CHARSTATE_HIT_AIR 20
|
||||
#endif
|
||||
#define CHARSTATE_HIT_STUNNED 21
|
||||
#define CHARSTATE_DEAD 22
|
||||
#define CHARSTATE_UNUSED_A 23
|
||||
#define CHARSTATE_UNUSED_B 24
|
||||
#define CHARSTATE_GOAL_BRAKE_A 25
|
||||
#define CHARSTATE_GOAL_BRAKE_B 26
|
||||
#define CHARSTATE_GOAL_BRAKE_C 27
|
||||
#define CHARSTATE_ACT_CLEAR_A 28
|
||||
#define CHARSTATE_ACT_CLEAR_B 29
|
||||
#define CHARSTATE_ACT_CLEAR_C 30
|
||||
#define CHARSTATE_UNUSED_C 31
|
||||
#define CHARSTATE_ACT_CLEAR_TIME_ATTACK_OR_BOSS 32
|
||||
#define CHARSTATE_TRICK_UP 33
|
||||
#define CHARSTATE_TRICK_FORWARD 34
|
||||
#define CHARSTATE_TRICK_BACKWARD 35
|
||||
#define CHARSTATE_TRICK_DOWN 36
|
||||
#define CHARSTATE_SPRING_MUSIC_PLANT 37
|
||||
#define CHARSTATE_SPRING_B 38
|
||||
#define CHARSTATE_SPRING_C 39
|
||||
#define CHARSTATE_RAMP_AND_DASHRING 40
|
||||
#define CHARSTATE_GRINDING 41
|
||||
#define CHARSTATE_GRINDING_SONIC_AMY_JUMP_OFF 42
|
||||
#define CHARSTATE_GRAVITY_FLIP_UNUSED 43
|
||||
#define CHARSTATE_IN_WHIRLWIND 44
|
||||
#define CHARSTATE_GRABBING_HANDLE_A 45
|
||||
#define CHARSTATE_GRABBING_HANDLE_B 46
|
||||
#define CHARSTATE_IN_CORKSCREW 47
|
||||
#define CHARSTATE_IN_CORKSCREW_3D_RUNNING_DOWN 48
|
||||
#define CHARSTATE_IN_CORKSCREW_3D_RUNNING_UP 49
|
||||
#define CHARSTATE_CURLED_IN_AIR 50
|
||||
#define CHARSTATE_WINDUP_STICK_UPWARDS 51
|
||||
#define CHARSTATE_WINDUP_STICK_DOWNWARDS 52
|
||||
#define CHARSTATE_WINDUP_STICK_SINGLE_TURN_UP 53
|
||||
#define CHARSTATE_WINDUP_STICK_SINGLE_TURN_DOWN 54
|
||||
#define CHARSTATE_HANGING 55 // both for HookRail and Crane
|
||||
#define CHARSTATE_TURNAROUND_BAR 56
|
||||
#define CHARSTATE_NOTE_BLOCK 57
|
||||
#define CHARSTATE_FLUTE_EXHAUST 58
|
||||
#define CHARSTATE_WALLRUN_INIT 59
|
||||
#define CHARSTATE_WALLRUN_TO_WALL 60
|
||||
#define CHARSTATE_WALLRUN_ON_WALL 61
|
||||
#define CHARSTATE_ICE_SLIDE 62
|
||||
#define CHARSTATE_WALK_B 63
|
||||
#define CHARSTATE_LAUNCHER_IN_CART 64
|
||||
#define CHARSTATE_LAUNCHER_IN_AIR 65
|
||||
#define CHARSTATE_POLE 66
|
||||
#define CHARSTATE_CUTSCENE_LOOK_UP_FRAME_0 67
|
||||
#define CHARSTATE_CUTSCENE_LOOK_UP_FRAME_1 68
|
||||
#define CHARSTATE_CUTSCENE_LOOK_UP_FRAME_2 69
|
||||
#define CHARSTATE_CUTSCENE_LOOK_UP_FRAME_3 70
|
||||
#define CHARSTATE_UNUSED_D 71
|
||||
#define CHARSTATE_UNUSED_E 72
|
||||
#define CHARSTATE_UNUSED_F 73
|
||||
#define CHARSTATE_UNUSED_G 74
|
||||
#define CHARSTATE_UNUSED_H 75
|
||||
#define CHARSTATE_UNUSED_I 76
|
||||
#define CHARSTATE_UNUSED_J 77
|
||||
#define CHARSTATE_UNUSED_K 78
|
||||
#define CHARSTATE_UNUSED_L 79
|
||||
#define CHARSTATE_SHARED_COUNT 80
|
||||
|
||||
#define CHARSTATE_SONIC_FORWARD_THRUST CHARSTATE_SHARED_COUNT
|
||||
#define CHARSTATE_SONIC_CATCHING_CREAM 81
|
||||
#define CHARSTATE_SONIC_CAUGHT_CREAM 82
|
||||
#define CHARSTATE_CREAM_FLYING 83
|
||||
#define CHARSTATE_CREAM_FLYING_TURNING 84
|
||||
#define CHARSTATE_CREAM_FLYING_TIRED 85
|
||||
#define CHARSTATE_CREAM_ANIM_20 86
|
||||
#define CHARSTATE_CREAM_CHAO_ATTACK 87
|
||||
#define CHARSTATE_TAILS_FLYING 88
|
||||
#define CHARSTATE_TAILS_FLYING_TURNING 89
|
||||
#define CHARSTATE_TAILS_FLYING_TIRED 90
|
||||
#define CHARSTATE_TAILS_ANIM_19 91
|
||||
#define CHARSTATE_KNUCKLES_GLIDE 92
|
||||
#define CHARSTATE_KNUCKLES_GLIDE_FALL 93
|
||||
#define CHARSTATE_KNUCKLES_GLIDE_FALL_HIT 94
|
||||
#define CHARSTATE_KNUCKLES_GLIDE_IMPACT 95
|
||||
#define CHARSTATE_KNUCKLES_GLIDE_TURN_FRAME_A 96
|
||||
#define CHARSTATE_KNUCKLES_GLIDE_TURN_FRAME_B 97
|
||||
#define CHARSTATE_KNUCKLES_GLIDE_TURN_FRAME_C 98
|
||||
#define CHARSTATE_KNUCKLES_GLIDE_TURN_FRAME_D 99
|
||||
#define CHARSTATE_KNUCKLES_GLIDE_GRAB_WALL 100
|
||||
#define CHARSTATE_KNUCKLES_CLIMB_A 101
|
||||
#define CHARSTATE_KNUCKLES_CLIMB_B 102
|
||||
#define CHARSTATE_KNUCKLES_CLIMB_C 103
|
||||
#define CHARSTATE_KNUCKLES_CLIMB_D 104
|
||||
#define CHARSTATE_KNUCKLES_CLIMB_E 105
|
||||
#define CHARSTATE_KNUCKLES_DRILL_CLAW_INIT 106
|
||||
#define CHARSTATE_KNUCKLES_DRILL_CLAW_MAIN 107
|
||||
#define CHARSTATE_KNUCKLES_DRILL_CLAW_GROUND 108
|
||||
#define CHARSTATE_AMY_SA1_JUMP 109
|
||||
#define CHARSTATE_UNUSED_M 110
|
||||
#define CHARSTATE_AMY_HAMMER_ATTACK 111
|
||||
#define CHARSTATE_AMY_SA1_HAMMER_ATTACK 112
|
||||
#define CHARSTATE_UNUSED_N 113
|
||||
#define CHARSTATE_AMY_MID_AIR_HAMMER_SWIRL 114 // might be SA1 version?
|
||||
#define CHARSTATE_COUNT 115
|
||||
#endif
|
||||
|
||||
#endif // GUARD_SA2_CHAR_STATES_H
|
||||
@@ -9,6 +9,7 @@ typedef struct CreditsString {
|
||||
char padding[3];
|
||||
} CreditsString;
|
||||
|
||||
// TODO: move to staff_credits.h
|
||||
extern void CreateStaffCredits();
|
||||
extern void CreateCongratulationsAnimation();
|
||||
|
||||
Loaded 100 of 374 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user