add gameinfo class / rename unk vars in d_save (#15)

This commit is contained in:
TakaRikka 2020-12-03 17:56:56 -08:00 committed by GitHub
parent 8703f1315e
commit e27ed1c55d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 12 deletions

View File

@ -0,0 +1,9 @@
#include "d/d_save/d_save/d_save.h"
class dComIfG_gameInfo{
public:
dSv_save_c save_file;
u8 padding[0x1dc25]; //temp padding
};
extern dComIfG_gameInfo lbl_804061C0;

View File

@ -154,7 +154,7 @@ class dSv_player_status_b_c {
u8 dark_clear_level_flag;
u8 unk10;
u8 unk11;
float unk12;
float time_of_day;
u16 unk16;
u8 unk18[3];
u8 padding61[3];
@ -296,7 +296,7 @@ class dSv_player_item_max_c {
u8 getBombNum(u8) const;
private:
u8 unk0[8];
u8 item_capacities[8];
};
class dSv_player_collect_c {
@ -337,7 +337,7 @@ class dSv_light_drop_c {
bool isLightDropGetFlag(u8) const;
private:
u8 unk0[4];
u8 light_drop_counts[4];
u8 light_drop_get_flag;
u8 unk5[3];
};

View File

@ -94,7 +94,7 @@ void dSv_player_status_b_c::init() {
this->transform_level_flag = 0;
this->dark_clear_level_flag = 0;
this->unk10 = 0;
this->unk12 = lbl_80451D58;
this->time_of_day = lbl_80451D58;
this->unk16 = 0;
for (int i = 0; i < 3; i++) {
@ -643,19 +643,19 @@ u8 dSv_player_item_record_c::getBottleNum(u8 i_bottleIdx) const {
void dSv_player_item_max_c::init(void) {
for (int i = 0; i < 7; i++) {
this->unk0[i] = 30;
this->item_capacities[i] = 30;
}
setBombNum(REGULAR_BOMBS,30);
setBombNum(WATER_BOMBS,15);
setBombNum(BOMBLINGS,10);
this->unk0[7] = 0;
this->item_capacities[7] = 0;
}
void dSv_player_item_max_c::setBombNum(u8 bomb_id,u8 bomb_max) {
switch (bomb_id) {
case REGULAR_BOMBS: this->unk0[1] = bomb_max; return;
case WATER_BOMBS: this->unk0[2] = bomb_max; return;
case BOMBLINGS: this->unk0[6] = bomb_max; return;
case REGULAR_BOMBS: this->item_capacities[1] = bomb_max; return;
case WATER_BOMBS: this->item_capacities[2] = bomb_max; return;
case BOMBLINGS: this->item_capacities[6] = bomb_max; return;
}
}
@ -730,7 +730,7 @@ void dSv_player_wolf_c::init(void) {
void dSv_light_drop_c::init(void) {
for (int i = 0; i < 4; i++) {
this->unk0[i] = 0;
this->light_drop_counts[i] = 0;
}
this->light_drop_get_flag = 0;
@ -742,7 +742,7 @@ void dSv_light_drop_c::init(void) {
void dSv_light_drop_c::setLightDropNum(u8 i_nowLevel,u8 param_2) {
if ((i_nowLevel < LIGHT_DROP_STAGE) || (i_nowLevel > 6)) {
this->unk0[i_nowLevel] = param_2;
this->light_drop_counts[i_nowLevel] = param_2;
}
}
@ -750,7 +750,7 @@ u8 dSv_light_drop_c::getLightDropNum(u8 i_nowLevel) const {
if ((i_nowLevel >= LIGHT_DROP_STAGE) && (i_nowLevel <= 6)) {
return 0;
}
return this->unk0[i_nowLevel];
return this->light_drop_counts[i_nowLevel];
}
void dSv_light_drop_c::onLightDropGetFlag(u8 i_nowLevel) {