mirror of
https://github.com/zeldaret/st
synced 2026-05-24 07:10:56 -04:00
90203403dd
* GameModeAdventure_001 OK * GameModeAdventure_024 17% * GameModeAdventure_024 73% * GameModeAdventure_024 99% * jp region differences * rename GameModeAdventure_024 and GameModeAdventure + UnkStruct_ov000_020d8660_024 OK * UnkActorSystem1OK * UnkActorSystem2 OK * delink more of ov024 & UnkStruct_027e0998_024 OK * improve instance stuff & UnkStruct_027e0cf8_024 OK * AdventureModeManager_160_024 OK & GameModeStartUp OK * fix regressions * fix regressions 2 * AdventureModeManager_170 OK * AdventureModeManager_174_Base OK * AdventureModeManager_174 OK * mark GameModeAdventure_024 as complete * AdventureModeManager_178 OK * AdventureModeManager_180 OK * AdventureModeManager_184_024 OK * AdventureModeManager_18C_024 OK & AdventureModeManager_190_024 OK * AdventureModeManager_15C_20_00 61% * AdventureModeManager_15C_20_00 OK * jp version differences * delink what's left in the overlay * fix regressions * AdventureModeManager_1B8_Base_024 98% * AdventureModeManager_1B8 48% and link AdventureModeManager_024 * AdventureModeManager_1B8_Base and AdventureModeManager_1B8 OK * oops * mark statics as local
79 lines
1.6 KiB
C++
79 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include "types.h"
|
|
|
|
enum CargoType_ {
|
|
CargoType_None = -1,
|
|
CargoType_MegaIce,
|
|
CargoType_Wood,
|
|
CargoType_Iron,
|
|
CargoType_Fish,
|
|
CargoType_Cuccos,
|
|
CargoType_Vessel,
|
|
CargoType_DarkOre,
|
|
CargoType_Max,
|
|
};
|
|
|
|
class Cargo {
|
|
public:
|
|
/* 00 */ unk32 mType;
|
|
/* 04 */ unk32 mAmount;
|
|
/* 08 */ u32 mDecayTimer;
|
|
/* 0C */
|
|
|
|
Cargo() {
|
|
this->Clear();
|
|
}
|
|
|
|
void Set(unk32 type, unk32 amount) {
|
|
this->mType = type;
|
|
this->mAmount = amount;
|
|
this->mDecayTimer = 0;
|
|
}
|
|
|
|
void Clear() {
|
|
this->mType = CargoType_None;
|
|
this->mAmount = 0;
|
|
this->mDecayTimer = 0;
|
|
}
|
|
};
|
|
|
|
class CargoManager : public AutoInstance<CargoManager> {
|
|
public:
|
|
/* 00 */ Cargo mCargo;
|
|
/* 0C */ Cargo mCargo2;
|
|
/* 18 */ unk32 mUnk_18; // invicibility timer?
|
|
/* 1C */ bool mUnk_1C;
|
|
/* 20 */
|
|
|
|
// overlay 1
|
|
CargoManager();
|
|
~CargoManager();
|
|
|
|
void func_ov001_020bf830();
|
|
|
|
static void Destroy(); // func_ov001_020bf428
|
|
|
|
// overlay 17
|
|
void Update();
|
|
void Reset();
|
|
void Init(unk32 type, unk32 amount);
|
|
void func_ov017_020bebdc();
|
|
void func_ov017_020bec20();
|
|
void RemoveAmount(unk32 decr);
|
|
bool func_ov017_020bec9c();
|
|
|
|
static void DoUpdate();
|
|
static bool IsNotUsingTimer(unk32 type);
|
|
|
|
// overlay 24
|
|
void SetCargo(unk32 type, unk32 amount);
|
|
void GetTypeAndAmount(unk32 *pType, unk32 *pAmount);
|
|
void func_ov024_020d5900();
|
|
void func_ov024_020d591c();
|
|
|
|
static CargoManager *Create();
|
|
};
|
|
|
|
extern CargoManager *gpCargoManager;
|