move save into game specific folders

This commit is contained in:
Oliver Bell committed 2026-03-30 23:19:46 +01:00
1 parent 9b09c4d46c
commit de60d0cb32
108 files changed
+149 -244

No files matched your search

+13 -1
View File
@@ -1,7 +1,7 @@
{
"configurations": [
{
"name": "Linux GBA",
"name": "SA2 Linux GBA",
"includePath": [
"${workspaceFolder}/include/**"
],
@@ -12,6 +12,18 @@
"intelliSenseMode": "linux-gcc-x64",
"configurationProvider": "ms-vscode.makefile-tools"
},
{
"name": "SA1 Linux GBA",
"includePath": [
"${workspaceFolder}/sa1/include/**"
],
"defines": ["PLATFORM_GBA=1", "GAME=1"],
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64",
"configurationProvider": "ms-vscode.makefile-tools"
},
{
"name": "Linux portable",
"includePath": [
+1 -1
View File
@@ -2,7 +2,7 @@
#define GUARD_OPTION_SCREEN_H
#include "global.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "sprite.h"
#include "game/stage/screen_fade.h"
#include "constants/text.h"
File renamed without changes.
+2 -2
View File
@@ -62,7 +62,7 @@ SECTIONS
src/game/bosses/common.o(.data);
src/game/options_screen.o(.data);
src/game/special_stage/utils.o(.data);
src/game/save.o(.data);
src/game/sa2/save.o(.data);
src/game/multiboot/collect_rings/time_display.o(.data);
src/game/math.o(.data);
src/game/multiplayer/mp_attack_1_effect.o(.data);
@@ -245,7 +245,7 @@ SECTIONS
src/game/special_stage/ui.o(.text);
src/game/special_stage/guard_robo.o(.text);
src/game/save.o(.text);
src/game/sa2/save.o(.text);
src/game/interactables_2/hot_crater/windup_stick.o(.text);
src/game/interactables_2/hot_crater/hook_rail.o(.text);
+1 -1
View File
@@ -4,7 +4,7 @@
#include "global.h"
#include "config.h"
#include "game/game_over.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "sprite.h"
#include "constants/text.h"
@@ -2,10 +2,8 @@
#define GUARD_SAVE_H
#include "global.h"
#include "game/sa1_sa2_shared/globals.h"
//#include "game/stage/player_controls.h"
#include "constants/zones.h"
#include "constants/characters.h"
@@ -16,15 +14,9 @@
#define TIME_RECORDS_PER_COURSE 3
#if (GAME == GAME_SA1)
typedef u8 PlayerNameChar;
typedef u32 TimeRecord;
#elif (GAME == GAME_SA2)
typedef u16 PlayerNameChar;
typedef u16 TimeRecord;
#endif
#if (GAME == GAME_SA1)
struct TimeRecords {
TimeRecord table[NUM_CHARACTERS][NUM_LEVEL_IDS][TIME_RECORDS_PER_COURSE];
};
@@ -79,65 +71,8 @@ typedef struct SaveGame {
// NOTE: Not a pointer in SA1!
extern struct SaveGame gLoadedSaveGame;
#elif (GAME == GAME_SA2)
struct TimeRecords {
TimeRecord table[NUM_CHARACTERS][NUM_TIME_ATTACK_ZONES][ACTS_PER_ZONE][TIME_RECORDS_PER_COURSE];
};
#define NUM_TIME_RECORD_ROWS (NUM_TIME_ATTACK_ZONES * ACTS_PER_ZONE * NUM_CHARACTERS * TIME_RECORDS_PER_COURSE)
struct MultiplayerScore {
u32 playerId;
PlayerNameChar playerName[MAX_PLAYER_NAME_LENGTH];
bool8 slotFilled;
u8 wins;
u8 losses;
u8 draws;
};
typedef struct SaveGame {
/* 0x000 */ u32 id;
/* 0x004 */ u8 difficultyLevel;
/* 0x005 */ bool8 timeLimitDisabled;
/* 0x006 */ u8 language;
/* 0x007 */ u8 unlockedLevels[NUM_CHARACTERS];
/* 0x00C */ u8 chaosEmeralds[NUM_CHARACTERS];
/* 0x011 */ bool8 soundTestUnlocked;
/* 0x012 */ bool8 bossTimeAttackUnlocked;
/* 0x013 */ u8 unlockedCharacters;
/* 0x014 */ bool8 chaoGardenUnlocked;
/* 0x015 */ bool8 completedCharacters[NUM_CHARACTERS];
/* 0x01A */ u8 extraZoneStatus;
/* 0x01B */ bool8 extraEndingCreditsPlayed;
/* 0x01C */ u8 multiplayerWins;
/* 0x01D */ u8 multiplayerLoses;
/* 0x01E */ u8 multiplayerDraws;
/* 0x020 */ PlayerNameChar playerName[MAX_PLAYER_NAME_LENGTH];
/* 0x02C */ struct ButtonConfig buttonConfig;
/* 0x034 */ struct TimeRecords timeRecords;
/* 0x2AC */ struct MultiplayerScore multiplayerScores[NUM_MULTIPLAYER_SCORES];
/* 0x374 */ u32 score;
} SaveGame;
extern struct SaveGame *gLoadedSaveGame;
#endif
#if (GAME == GAME_SA1)
#define LOADED_SAVE (&gLoadedSaveGame)
#elif (GAME == GAME_SA2)
#define LOADED_SAVE (gLoadedSaveGame)
#endif
#define MULTIPLAYER_RESULT_WIN 0
#define MULTIPLAYER_RESULT_LOSS 1
@@ -150,13 +85,8 @@ void RecordMultiplayerResult(u32 id, u16 *name, s16 result);
bool32 RegisterTimeRecord(TimeRecord newRecord);
void SaveInit(void);
#if (GAME == GAME_SA1)
bool32 SaveGameExists(void);
u16 WriteSaveGame(void);
#else
bool16 SaveGameExists(void);
bool32 WriteSaveGame(void);
#endif
s16 NewSaveGame(void);
s16 LoadSaveGame(void);
void LoadCompletedSaveGame(void);
+5 -3
View File
@@ -6,9 +6,11 @@ SECTIONS {
. = 0x8000000;
ROM :
ALIGN(4) {
/* Engine */
/* bootstrap */
sa2/src/rom_header.o(.text);
sa2/src/crt0.o(.text);
/* Engine */
sa2/src/multi_sio_asm.o(.text);
data/rom_header_old.o(.text);
sa2/src/core.o(.text);
@@ -40,7 +42,7 @@ SECTIONS {
src/game/to_be_continued_screen.o(.text);
src/game/sa1_sa2_shared/enemy_defeat_score.o(.text);
src/game/sa1_sa2_shared/demo_manager.o(.text);
src/game/save.o(.text);
src/game/sa1/save.o(.text);
src/game/sa1_sa2_shared/unused_flash_task.o(.text);
src/game/multiplayer/mp_player.o(.text);
src/game/multiplayer/indicators.o(.text);
@@ -291,7 +293,7 @@ SECTIONS {
sa2/src/multi_sio.o(.rodata);
sa2/src/sio32_multi_load.o(.rodata);
src/data/tileset_debug_ascii.o(.rodata);
src/game/save.o(.rodata);
src/game/sa1/save.o(.rodata);
data/chao_garden.o(.rodata);
src/data/entity_tables.o(.rodata);
src/game/sa1_sa2_shared/entities_manager.o(.rodata);
+1 -1
View File
@@ -9,7 +9,7 @@
#include "game/sa1_sa2_shared/globals.h"
#include "game/stage/stage.h"
#include "game/stage/ui.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/time_attack/menu.h"
#include "game/title_screen.h"
+1 -1
View File
@@ -3,7 +3,7 @@
#include "game/entity.h"
#include "game/game_over.h"
#include "game/title_screen.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "data/ui_graphics.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/gTask_03006240.h"
#include "game/multiplayer/multipak_connection.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/stage.h"
#include "game/stage/ui.h"
#include "game/time_attack/menu.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "lib/m4a/m4a.h"
#include "game/game_over.h"
#include "game/options_screen.h" // contains EditLanguageScreen
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "constants/animations.h"
@@ -7,7 +7,7 @@
#include "game/entity.h"
#include "game/enemies/bosses_shared.h"
#include "game/nuts_and_bolts_task.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/player_controls.h"
#include "game/stage/screen_shake.h"
#include "game/stage/terrain_collision.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/entity.h"
#include "game/enemies/bosses_shared.h"
#include "game/nuts_and_bolts_task.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/player_controls.h"
#include "game/stage/screen_shake.h"
#include "game/stage/terrain_collision.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/entity.h"
#include "game/enemies/bosses_shared.h"
#include "game/nuts_and_bolts_task.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/player_controls.h"
#include "game/stage/screen_shake.h"
#include "game/stage/terrain_collision.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/entity.h"
#include "game/enemies/bosses_shared.h"
#include "game/nuts_and_bolts_task.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/player_controls.h"
#include "game/stage/rings_scatter.h"
#include "game/stage/screen_shake.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/entity.h"
#include "game/enemies/bosses_shared.h"
#include "game/nuts_and_bolts_task.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/dust_effect_braking.h"
#include "game/stage/player_controls.h"
#include "game/stage/rings_scatter.h"
+1 -1
View File
@@ -9,7 +9,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/stage/terrain_collision.h"
#include "game/stage/results.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/anim_sizes.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "malloc_vram.h"
#include "lib/m4a/m4a.h"
#include "game/entity.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/enemies/bosses_shared.h" // CreatePreBossCameraPan
#include "game/nuts_and_bolts_task.h"
#include "game/sa1_sa2_shared/collision.h"
@@ -8,7 +8,7 @@
#include "game/enemies/bosses_shared.h" // CreatePreBossCameraPan
#include "game/nuts_and_bolts_task.h"
#include "game/sa1_sa2_shared/collision.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/dust_effect_braking.h"
#include "game/stage/extra_stage.h"
#include "game/stage/player.h" // sub_804A8A8
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/stage/terrain_collision.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/vram_hardcoded.h"
+1 -1
View File
@@ -2,7 +2,7 @@
#include "core.h"
#include "malloc_vram.h"
#include "game/entity.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/stage/terrain_collision.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "game/entity.h"
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/vram_hardcoded.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/stage/terrain_collision.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/vram_hardcoded.h"
+1 -1
View File
@@ -2,7 +2,7 @@
#include "core.h"
#include "malloc_vram.h"
#include "game/sa1_sa2_shared/collision.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "constants/animations.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/stage/terrain_collision.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/vram_hardcoded.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/stage/terrain_collision.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/vram_hardcoded.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/stage/terrain_collision.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/vram_hardcoded.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/stage/terrain_collision.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/vram_hardcoded.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/credits.h"
#include "game/gTask_03006240.h"
#include "game/game_over.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/results.h"
#include "game/stage/ui.h"
#include "data/ui_graphics.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "task.h"
#include "game/game.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/title_screen.h"
#include "game/options_screen.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/gTask_03006240.h"
#include "game/entity.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/special_stage/main.h"
#include "game/stage/stage.h"
+1 -1
View File
@@ -11,7 +11,7 @@
#if DEBUG
#include "game/sa1_sa2_shared/unused_level_select.h"
#endif
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/stage.h"
#include "game/stage/ui.h"
#include "game/title_screen.h"
+1 -1
View File
@@ -8,7 +8,7 @@
#include "game/gTask_03006240.h"
#include "game/multiplayer/multipak_connection.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/title_screen.h"
#include "constants/animations.h"
@@ -8,7 +8,7 @@
#include "lib/m4a/m4a.h"
#include "game/character_select.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/title_screen.h"
#include "game/multiplayer/communication_outcome.h"
#include "game/multiplayer/multipak_connection.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/sa1_sa2_shared/globals.h"
#include "game/multiplayer/multipak_connection.h"
#include "game/multiplayer/results.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "constants/text.h"
+1 -1
View File
@@ -2,7 +2,7 @@
#include "core.h"
#include "malloc_vram.h"
#include "task.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/player.h"
#include "game/stage/camera.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/multiplayer/communication_outcome.h"
#include "game/multiplayer/mode_select.h"
#include "game/multiplayer/multipak_connection.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/title_screen.h"
#include "constants/animations.h"
+1 -1
View File
@@ -12,7 +12,7 @@
#include "game/sa1_sa2_shared/globals.h"
#include "game/sa1_sa2_shared/camera.h"
#include "game/sa1_sa2_shared/player.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/player_controls.h"
#include "game/stage/rings_scatter.h"
#include "game/stage/stage.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "game/character_select.h"
#include "game/multiplayer/multipak_connection.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/songs.h"
+1 -1
View File
@@ -11,7 +11,7 @@
#include "game/multiplayer/multipak_connection.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/sa1_sa2_shared/player.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/tilemap_table.h"
#include "constants/animations.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/course_select.h"
#include "game/multiplayer/multipak_connection.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/animations.h"
#include "constants/songs.h"
+1 -1
View File
@@ -13,7 +13,7 @@
#include "game/sa1_sa2_shared/globals.h"
#include "game/stage/player.h"
#include "game/stage/stage.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "constants/songs.h"
#include "constants/tilemaps.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/game_over.h"
#include "game/gTask_03006240.h"
#include "game/options_screen.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "game/title_screen.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "data/ui_graphics.h"
#include "game/game_over.h"
#include "game/gTask_03006240.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "constants/animations.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "lib/m4a/m4a.h"
#include "game/game_over.h"
#include "game/gTask_03006240.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "data/ui_graphics.h"
#include "game/multiplayer/mode_select.h"
#include "game/stage/ui.h"
@@ -2,7 +2,7 @@
#include "flags.h"
#include "malloc_ewram.h"
#include "lib/agb_flash/agb_flash.h"
#include "game/save.h"
#include "game/sa1/save.h"
struct SaveSectorHeader {
u32 security, version;
@@ -32,13 +32,7 @@ struct SaveGame gLoadedSaveGame = {};
// If the sector's security field is not this value then the sector is either invalid or
// empty.
#if (GAME == GAME_SA1)
#define SECTOR_SECURITY_NUM 0x4F524950
#elif (GAME == GAME_SA2)
#define SECTOR_SECURITY_NUM 0x4547474D
#elif (GAME == GAME_SA3)
#define SECTOR_SECURITY_NUM 0x47544E4C
#endif
extern s8 ALIGNED(4) gUsedSaveSectorID;
@@ -202,36 +196,3 @@ s32 sub_8012F6C(void)
}
u32 CalculateChecksum(void *data) { return CalcChecksum(data); }
#if (GAME == GAME_SA2)
// Read flash data at given sector into data
// and verify integrity
static bool16 ReadSaveSectorAndVerifyChecksum(struct SaveSectorData *save, s16 sectorNum)
{
u32 i;
u32 sum;
u32 *expected;
ReadFlash(sectorNum, 0, save, sizeof(struct SaveSectorData));
expected = &save->checksum;
sum = CalcChecksum(save);
if (*expected != sum) {
return 0;
}
return 1;
}
static bool16 StringEquals(u16 *string1Char, u16 *string2Char, s16 length)
{
s16 i;
for (i = 0; i < length; i++, string1Char++, string2Char++) {
if (*string1Char != *string2Char) {
return FALSE;
}
}
return TRUE;
}
#endif
+1 -1
View File
@@ -13,7 +13,7 @@
// TODO: add headers for these into sa1_sa2_shared
// instead of including from the main game
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/title_screen.h"
#include "constants/animations.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "malloc_vram.h"
#include "lib/m4a/m4a.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/time_attack/lobby.h"
#include "constants/animations.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "data/ui_graphics.h"
#include "game/gTask_03006240.h"
#include "game/options_screen.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "constants/animations.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/entity.h"
#include "game/game_over.h"
#include "game/title_screen.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/special_stage/main.h"
#include "game/stage/player_controls.h"
#include "game/stage/stage.h"
+1 -1
View File
@@ -8,7 +8,7 @@
#include "game/sa1_sa2_shared/palette_loader.h"
#include "game/sa1_sa2_shared/pause_menu.h"
#include "game/sa1_sa2_shared/player.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/special_stage/main.h"
#include "game/stage/player_controls.h"
#include "game/stage/terrain_collision.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/credits.h"
#include "game/gTask_03006240.h"
#include "game/stage/ui.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/title_screen.h"
#include "constants/animations.h"
+1 -1
View File
@@ -12,7 +12,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/music_manager.h"
#include "game/sa1_sa2_shared/player.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/some_task_manager.h"
#include "game/stage/camera.h"
#include "game/stage/terrain_collision.h"
+1 -1
View File
@@ -1,6 +1,6 @@
#include "global.h"
#include "game/stage/player_controls.h"
#include "game/save.h"
#include "game/sa1/save.h"
struct ButtonConfig gPlayerControls = {};
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/gTask_03006240.h"
#include "game/collect_chaos_emeralds_msg.h"
#include "game/credits.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/stage/camera.h"
#include "game/stage/player.h"
+1 -1
View File
@@ -17,7 +17,7 @@
#include "game/sa1_sa2_shared/rings_manager.h"
#include "game/sa1_sa2_shared/spot_light_beam_task.h"
#include "game/parameters/stage.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/camera.h"
#include "game/stage/player.h"
#include "game/stage/screen_shake.h"
+1 -1
View File
@@ -8,7 +8,7 @@
#include "game/special_stage/main.h"
#include "game/gTask_03006240.h"
#include "game/multiplayer/mp_player.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "game/water_effects.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/character_select.h"
#include "game/game_over.h"
#include "game/gTask_03006240.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "game/title_screen.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "game/character_select.h"
#include "game/game_over.h"
#include "game/gTask_03006240.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/title_screen.h" // CreateMainMenu
#include "game/stage/ui.h" // sub_805423C
+1 -1
View File
@@ -5,7 +5,7 @@
#include "data/ui_graphics.h"
#include "game/gTask_03006240.h"
#include "game/sa1_sa2_shared/globals.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/stage.h"
#include "game/stage/ui.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/entity.h"
#include "game/game_over.h"
#include "game/title_screen.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/stage.h"
#include "game/stage/ui.h"
#include "data/ui_graphics.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "data/ui_graphics.h"
#include "game/course_select.h"
#include "game/gTask_03006240.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
#include "constants/animations.h"
+1 -1
View File
@@ -11,7 +11,7 @@
#include "game/options_screen.h"
#include "game/sa1_sa2_shared/collision.h"
#include "game/sa1_sa2_shared/demo_manager.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/terrain_collision.h"
#include "game/stage/player.h"
#include "game/stage/stage.h"
+1 -1
View File
@@ -3,7 +3,7 @@
#include "lib/m4a/m4a.h"
#include "data/ui_graphics.h"
#include "game/gTask_03006240.h"
#include "game/save.h"
#include "game/sa1/save.h"
#include "game/stage/ui.h"
typedef struct VsRecord_10 {
+1 -1
View File
@@ -9,7 +9,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/player_callbacks.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/cheese.h"
#include "game/bosses/boss_1.h"
#include "game/bosses/common.h"
+1 -1
View File
@@ -14,7 +14,7 @@
#include "game/stage/terrain_collision.h"
#include "game/stage/player.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/screen_shake.h"
#include "constants/animations.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/sa1_sa2_shared/collision.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/bosses/common.h"
#include "game/bosses/eggmobile_escape_sequence.h"
#include "game/stage/boss_results_transition.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "game/stage/stage.h"
#include "sprite.h"
#include "game/character_select.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "lib/m4a/m4a.h"
#include "task.h"
#include "malloc_vram.h"
+1 -1
View File
@@ -3,7 +3,7 @@
#include "sprite.h"
#include "game/stage/screen_fade.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/stage.h"
#include "lib/m4a/m4a.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/stage/screen_fade.h"
#include "task.h"
#include "lib/m4a/m4a.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "constants/tilemaps.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/cutscenes/credits.h"
#include "game/cutscenes/credits_end.h"
#include "game/cutscenes/missing_emeralds.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/screen_fade.h"
#include "game/title_screen.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/stage/screen_fade.h"
#include "task.h"
#include "lib/m4a/m4a.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "constants/animations.h"
#include "constants/tilemaps.h"
+1 -1
View File
@@ -9,7 +9,7 @@
#include "malloc_vram.h"
#include "lib/m4a/m4a.h"
#include "trig.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "constants/songs.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "task.h"
#include "lib/m4a/m4a.h"
#include "trig.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/math.h"
#include "constants/animations.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "game/stage/screen_fade.h"
#include "task.h"
#include "lib/m4a/m4a.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "constants/animations.h"
#include "constants/songs.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/stage/screen_fade.h"
#include "task.h"
#include "lib/m4a/m4a.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/math.h"
#include "constants/animations.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/cutscenes/missing_emeralds.h"
#include "lib/m4a/m4a.h"
#include "trig.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/title_screen.h"
#include "game/math.h"
+1 -1
View File
@@ -8,7 +8,7 @@
#include "lib/m4a/m4a.h"
#include "trig.h"
#include "game/course_select.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/terrain_collision.h"
#include "game/stage/player.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "sprite.h"
#include "task.h"
#include "lib/m4a/m4a.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/title_screen.h"
#include "constants/animations.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "core.h"
#include "lib/m4a/m4a.h"
#include "game/game.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/options_screen.h"
#include "game/title_screen.h"
#include "game/stage/debug_text_printer.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "task.h"
#include "game/game.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/title_screen.h"
#include "game/options_screen.h"
+1 -1
View File
@@ -12,7 +12,7 @@
#include "sprite.h"
#include "data/sprite_data.h"
#include "bg_triangles.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/title_screen.h"
#include "game/stage/screen_fade.h"
#include "lib/m4a/m4a.h"
+1 -1
View File
@@ -17,7 +17,7 @@
#include "game/stage/rings_scatter.h"
#include "game/stage/player_controls.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/screen_fade.h"
#include "game/sa1_sa2_shared/entities_manager.h"
#include "game/title_screen.h"
+1 -1
View File
@@ -8,7 +8,7 @@
#include "lib/m4a/m4a.h"
#include "game/character_select.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/title_screen.h"
#include "game/multiplayer/communication_outcome.h"
#include "game/multiplayer/multipak_connection.h"
+1 -1
View File
@@ -2,7 +2,7 @@
#include "core.h"
#include "malloc_vram.h"
#include "task.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/player.h"
#include "game/stage/camera.h"
+1 -1
View File
@@ -10,7 +10,7 @@
#include "game/multiplayer/mode_select.h"
#include "game/multiplayer/multipak_connection.h"
#include "game/multiboot/connection.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/screen_fade.h"
#include "game/stage/boss_results_transition.h"
#include "game/title_screen.h"
+1 -1
View File
@@ -9,7 +9,7 @@
#include "game/multiplayer/mode_select.h"
#include "data/sprite_data.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/title_screen.h"
#include "game/stage/screen_fade.h"
+1 -1
View File
@@ -9,7 +9,7 @@
#include "game/multiplayer/results.h"
#include "game/multiplayer/multipak_connection.h"
#include "game/multiplayer_lobby.h"
#include "game/save.h"
#include "game/sa2/save.h"
#ifdef TEAMPLAY_AVAILABLE
#include "game/multiplayer/team_play.h"
+1 -1
View File
@@ -1,6 +1,6 @@
#include "global.h"
#include "game/multiplayer/team_play.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "core.h"
#include "task.h"
#include "sprite.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#include "game/stage/screen_fade.h"
#include "lib/m4a/m4a.h"
#include "constants/songs.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "malloc_vram.h"
#include "game/multiboot/connection.h"
#include "game/title_screen.h"
+1 -1
View File
@@ -3,7 +3,7 @@
#include "game/options_screen.h"
#include "lib/m4a/m4a.h"
#include "task.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "malloc_ewram.h"
#include "game/math.h"
#include "sprite.h"
+1 -1
View File
@@ -13,7 +13,7 @@
// TODO: add headers for these into sa1_sa2_shared
// instead of including from the main game
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/title_screen.h"
#include "constants/animations.h"
+2 -2
View File
@@ -6,7 +6,7 @@
#include "game/sa1_sa2_shared/globals.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/time_attack/lobby.h"
#include "game/title_screen.h"
#include "game/water_effects.h"
@@ -174,7 +174,7 @@ void Task_PauseMenuInit(void)
u32 i;
for (i = 0; i < 4; i++) {
if (i != gSongTable[142].ms) {
if (i != gSongTable[SE_PAUSE_SCREEN].ms) {
MPlayStop(gMPlayTable[i].info);
}
}
+26 -26
View File
@@ -2,7 +2,7 @@
#include "lib/agb_flash/agb_flash.h"
#include "malloc_ewram.h"
#include "flags.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "lib/m4a/m4a.h"
#include "game/math.h"
#include "constants/text.h"
@@ -105,50 +105,50 @@ void InsertMultiplayerProfile(u32 playerId, u16 *name)
s16 i, j;
for (i = 0; i < 10; i++) {
struct MultiplayerScore *score = &LOADED_SAVE->multiplayerScores[i];
struct MultiplayerScore *score = &gLoadedSaveGame->multiplayerScores[i];
if (playerId == score->playerId && StringEquals(name, score->playerName, MAX_PLAYER_NAME_LENGTH)) {
struct MultiplayerScore scoreCopy;
memcpy(&scoreCopy, score, sizeof(struct MultiplayerScore));
for (j = i; j > 0; j--) {
LOADED_SAVE->multiplayerScores[j] = LOADED_SAVE->multiplayerScores[j - 1];
gLoadedSaveGame->multiplayerScores[j] = gLoadedSaveGame->multiplayerScores[j - 1];
}
memcpy(&LOADED_SAVE->multiplayerScores[0], &scoreCopy, sizeof(struct MultiplayerScore));
memcpy(&gLoadedSaveGame->multiplayerScores[0], &scoreCopy, sizeof(struct MultiplayerScore));
return;
}
}
// otherwise, insert the score at the beginning
for (i = 9; i > 0; i--) {
LOADED_SAVE->multiplayerScores[i] = LOADED_SAVE->multiplayerScores[i - 1];
gLoadedSaveGame->multiplayerScores[i] = gLoadedSaveGame->multiplayerScores[i - 1];
}
LOADED_SAVE->multiplayerScores[0].playerId = playerId;
gLoadedSaveGame->multiplayerScores[0].playerId = playerId;
for (i = 0; i < MAX_PLAYER_NAME_LENGTH; i++) {
LOADED_SAVE->multiplayerScores[0].playerName[i] = name[i];
gLoadedSaveGame->multiplayerScores[0].playerName[i] = name[i];
}
LOADED_SAVE->multiplayerScores[0].slotFilled = TRUE;
LOADED_SAVE->multiplayerScores[0].wins = 0;
LOADED_SAVE->multiplayerScores[0].losses = 0;
LOADED_SAVE->multiplayerScores[0].draws = 0;
gLoadedSaveGame->multiplayerScores[0].slotFilled = TRUE;
gLoadedSaveGame->multiplayerScores[0].wins = 0;
gLoadedSaveGame->multiplayerScores[0].losses = 0;
gLoadedSaveGame->multiplayerScores[0].draws = 0;
}
void RecordOwnMultiplayerResult(s16 result)
{
switch (result) {
case MULTIPLAYER_RESULT_WIN:
if (LOADED_SAVE->multiplayerWins < MAX_MULTIPLAYER_SCORE) {
LOADED_SAVE->multiplayerWins++;
if (gLoadedSaveGame->multiplayerWins < MAX_MULTIPLAYER_SCORE) {
gLoadedSaveGame->multiplayerWins++;
}
break;
case MULTIPLAYER_RESULT_LOSS:
if (LOADED_SAVE->multiplayerLoses < MAX_MULTIPLAYER_SCORE) {
LOADED_SAVE->multiplayerLoses++;
if (gLoadedSaveGame->multiplayerLoses < MAX_MULTIPLAYER_SCORE) {
gLoadedSaveGame->multiplayerLoses++;
}
break;
case MULTIPLAYER_RESULT_DRAW:
if (LOADED_SAVE->multiplayerDraws < MAX_MULTIPLAYER_SCORE) {
LOADED_SAVE->multiplayerDraws++;
if (gLoadedSaveGame->multiplayerDraws < MAX_MULTIPLAYER_SCORE) {
gLoadedSaveGame->multiplayerDraws++;
}
break;
}
@@ -159,7 +159,7 @@ void RecordMultiplayerResult(u32 id, u16 *name, s16 result)
s16 i;
for (i = 0; i < NUM_MULTIPLAYER_SCORES; i++) {
struct MultiplayerScore *score = &LOADED_SAVE->multiplayerScores[i];
struct MultiplayerScore *score = &gLoadedSaveGame->multiplayerScores[i];
if (id == score->playerId && StringEquals(name, score->playerName, MAX_PLAYER_NAME_LENGTH)) {
switch (result) {
case MULTIPLAYER_RESULT_WIN:
@@ -287,7 +287,7 @@ static s16 TryWriteSaveGame(void)
struct SaveGame *lastWrittenGameState, *gameState;
struct SaveSectorData *save;
gameState = LOADED_SAVE;
gameState = gLoadedSaveGame;
lastWrittenGameState = gLastWrittenSaveGame;
save = gSaveSectorDataBuffer;
@@ -541,7 +541,7 @@ static bool16 TryLoadLatestSaveGame(void)
struct SaveGame *lastSavedData, *gameState;
struct SaveSectorData *save;
gameState = LOADED_SAVE;
gameState = gLoadedSaveGame;
lastSavedData = gLastWrittenSaveGame;
save = gSaveSectorDataBuffer;
@@ -760,7 +760,7 @@ static s16 CreateAndTryWriteNewSaveGame(void)
s16 i;
u16 flashError;
struct SaveGame *gameState = LOADED_SAVE;
struct SaveGame *gameState = gLoadedSaveGame;
struct SaveGame *lastWrittenGameState = gLastWrittenSaveGame;
struct SaveSectorData *save = gSaveSectorDataBuffer;
@@ -871,12 +871,12 @@ static void GenerateCompletedSaveGame(struct SaveGame *gameState)
void SaveInit(void)
{
LOADED_SAVE = EwramMalloc(sizeof(struct SaveGame));
gLoadedSaveGame = EwramMalloc(sizeof(struct SaveGame));
gLastWrittenSaveGame = EwramMalloc(sizeof(struct SaveGame));
gSaveSectorDataBuffer = EwramMalloc(sizeof(struct SaveSectorData));
// Why not just generate for 1 and copy...
GenerateNewSaveGame(LOADED_SAVE);
GenerateNewSaveGame(gLoadedSaveGame);
GenerateNewSaveGame(gLastWrittenSaveGame);
InitSaveGameSectorData(gSaveSectorDataBuffer);
}
@@ -908,7 +908,7 @@ s16 LoadSaveGame(void) { return TryLoadLatestSaveGame(); }
bool32 WriteSaveGame(void)
{
if (!HasChangesToSave() && LOADED_SAVE->id) {
if (!HasChangesToSave() && gLoadedSaveGame->id) {
return TRUE;
} else {
return TryWriteSaveGame();
@@ -918,14 +918,14 @@ bool32 WriteSaveGame(void)
s16 NewSaveGame(void) { return CreateAndTryWriteNewSaveGame(); }
// Initialise a completed game state
void LoadCompletedSaveGame(void) { GenerateCompletedSaveGame(LOADED_SAVE); }
void LoadCompletedSaveGame(void) { GenerateCompletedSaveGame(gLoadedSaveGame); }
// End of exported functions
// Check if we need to save any changes
static bool16 HasChangesToSave(void)
{
u16 *pCurrent = (u16 *)LOADED_SAVE;
u16 *pCurrent = (u16 *)gLoadedSaveGame;
u16 *pSaved = (u16 *)gLastWrittenSaveGame;
s16 i = 0;
+1 -1
View File
@@ -9,7 +9,7 @@
#include "game/special_stage/physics.h"
#include "game/special_stage/tables.h"
#include "game/stage/stage.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "sprite.h"
#include "game/stage/screen_fade.h"
#include "lib/m4a/m4a.h"
+1 -1
View File
@@ -1,6 +1,6 @@
#include "core.h"
#include "lib/m4a/m4a.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/special_stage/main.h"
#include "game/special_stage/player.h"
#include "game/special_stage/ui.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "game/special_stage/data.h"
#include "task.h"
#include "lib/m4a/m4a.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "trig.h"
#include "flags.h"
#include "malloc_ewram.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "task.h"
#include "lib/m4a/m4a.h"
#include "game/cheese.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/player.h"
#include "game/stage/camera.h"
#include "game/cutscenes/level_endings.h"
+1 -1
View File
@@ -16,7 +16,7 @@
#include "game/player_callbacks.h"
#include "game/sa1_sa2_shared/input_buffer.h"
#include "game/sa1_sa2_shared/music_manager.h"
#include "game/save.h"
#include "game/sa2/save.h"
#include "game/stage/camera.h"
#include "game/stage/terrain_collision.h"
#include "game/stage/dust_effect_braking.h" // CreateSpindashDustEffect
+1 -1
View File
@@ -1,6 +1,6 @@
#include "global.h"
#include "game/stage/player_controls.h"
#include "game/save.h"
#include "game/sa2/save.h"
struct ButtonConfig gPlayerControls = {};
Loaded 100 of 108 files, more files were not shown because too many files have changed in this diff. Show more