diff options
| author | Josh Bodner <30329717+jbodner09@users.noreply.github.com> | 2022-08-04 21:15:49 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-05 00:15:49 -0400 |
| commit | c23457d666e3ced250e535e4c9a014d7cf63bbd0 (patch) | |
| tree | ce59e0b6c12ae737b8ca0eb92a7912323e88516b /soh/src/code/z_parameter.c | |
| parent | 2f5f089e7f1b88ac52d5a2c8715fbe64df07eb03 (diff) | |
Automatically save after every scene transition (#984)
* Automatically save after every scene transition
* Refactor and don't save in grottos
* Don't save in cutscenes
* Save after getting items as well
* Fix paren
Diffstat (limited to 'soh/src/code/z_parameter.c')
| -rw-r--r-- | soh/src/code/z_parameter.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/soh/src/code/z_parameter.c b/soh/src/code/z_parameter.c index 364e63956..24211c590 100644 --- a/soh/src/code/z_parameter.c +++ b/soh/src/code/z_parameter.c @@ -2188,6 +2188,52 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { osSyncPrintf("Item_Register(%d)=%d %d\n", slot, item, temp); INV_CONTENT(item) = item; + // Autosave after getting items by default (cvars are not shown in the UI) + if (CVar_GetS32("gAutosave", 0)) { + if (CVar_GetS32("gAutosaveAllItems", 1)) { + Gameplay_PerformSave(globalCtx); + } + else if (CVar_GetS32("gAutosaveMajorItems", 1)) { + switch (item) { + case ITEM_STICK: + case ITEM_NUT: + case ITEM_BOMB: + case ITEM_BOW: + case ITEM_SEEDS: + case ITEM_FISHING_POLE: + case ITEM_MAGIC_SMALL: + case ITEM_MAGIC_LARGE: + case ITEM_INVALID_4: + case ITEM_INVALID_5: + case ITEM_INVALID_6: + case ITEM_INVALID_7: + case ITEM_HEART: + case ITEM_RUPEE_GREEN: + case ITEM_RUPEE_BLUE: + case ITEM_RUPEE_RED: + case ITEM_RUPEE_PURPLE: + case ITEM_RUPEE_GOLD: + case ITEM_INVALID_8: + case ITEM_STICKS_5: + case ITEM_STICKS_10: + case ITEM_NUTS_5: + case ITEM_NUTS_10: + case ITEM_BOMBS_5: + case ITEM_BOMBS_10: + case ITEM_BOMBS_20: + case ITEM_BOMBS_30: + case ITEM_ARROWS_SMALL: + case ITEM_ARROWS_MEDIUM: + case ITEM_ARROWS_LARGE: + case ITEM_SEEDS_30: + break; + default: + Gameplay_PerformSave(globalCtx); + break; + } + } + } + return temp; } |
