Files
Aetias fc691f4c8f LinkStateInteract (#135)
* Map symbol in Game

* LinkStateInteract 19%

* DebugHierarchy -> Bhio

* LinkStateInteract 89%

* LinkStateInteract 93%

* Japanese strings

* Fix build

* Fix regression

* Fix regressions

* Rename BhioBase.cpp
2025-11-16 17:14:48 +01:00

71 lines
1.9 KiB
C++

#pragma once
#include "global.h"
#include "types.h"
#include "System/SysNew.hpp"
#define BHIO_GROUP_MAGIC 'HFND'
struct BhioField {
/* 00 */ char mName[0xc];
/* 0c */ s32 mValue;
/* 10 */
};
struct BhioGroup {
/* 00 */ u32 mMagic;
/* 04 */ u32 mUnk_04;
/* 08 */ u32 mUnk_08;
/* 0c */ u32 mUnk_0c;
/* 10 */ u32 mGroupId;
/* 14 */ u32 mNumFields;
/* 18 */ unk8 mUnk_18[0x8];
/* 20 */ BhioField mFields[];
};
class BhioBase : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ void *mNodes;
/* 08 */
/* 00 */ virtual ~BhioBase();
/* 08 */ virtual void vfunc_08();
/* 0c */ virtual void vfunc_0c();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1c */ virtual void vfunc_1c();
/* 20 */ virtual void vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28();
/* 2c */ virtual void vfunc_2c();
/* 30 */ virtual void vfunc_30();
/* 34 */ virtual bool GetField(bool param1, const char *fieldName, u32 groupId, s32 *pValue, unk32 param5, unk32 param6,
unk32 param7, unk32 param8);
/* 38 */ virtual void vfunc_38();
/* 3c */ virtual void vfunc_3c(u32 groupId, s32 *pValue);
/* 40 */
BhioBase();
BhioGroup *FindGroup(u32 id);
inline bool GetField2(bool param1, u32 groupId, const char *fieldName, s32 *pValue, unk32 param5, unk32 param6,
unk32 param7) {
if (param1) {
this->vfunc_3c(groupId, pValue);
}
return this->GetField(param1, fieldName, groupId, pValue, param5, param6, param7, 0);
}
};
class Bhio : public BhioBase {
public:
/* 00 (base) */
/* 08 */
/* 00 */ virtual ~Bhio() override;
/* 40 */
};