Files
Yanis 90203403dd Decompile overlay 24 (Part 1) (#65)
* 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
2026-05-18 21:14:27 +02:00

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;