mirror of
https://github.com/zeldaret/botw
synced 2026-05-28 08:25:01 -04:00
56f9c3ac0c
4 Functions are still not fully matching with their inlined functions, and at least one function is still missing.
50 lines
1.9 KiB
C++
50 lines
1.9 KiB
C++
#pragma once
|
|
|
|
#include <prim/seadSafeString.h>
|
|
#include "KingSystem/Map/mapTypes.h"
|
|
#include "KingSystem/Utils/Byaml/Byaml.h"
|
|
|
|
namespace ksys::map {
|
|
|
|
struct SRT;
|
|
|
|
class MubinIter : public al::ByamlIter {
|
|
public:
|
|
MubinIter();
|
|
explicit MubinIter(const u8* data);
|
|
|
|
bool tryGetParamUInt8ByKey(u8* value, const sead::SafeString& key) const;
|
|
bool tryGetParamIntByKey(s32* value, const sead::SafeString& key) const;
|
|
bool tryGetParamUIntByKey(u32* value, const sead::SafeString& key) const;
|
|
bool tryGetParamFloatByKey(f32* value, const sead::SafeString& key) const;
|
|
bool tryGetParamBoolByKey(bool* value, const sead::SafeString& key) const;
|
|
bool tryGetParamStringByKey(const char** value, const sead::SafeString& key) const;
|
|
bool tryGetIterByIndex(MubinIter* iter, s32 index) const;
|
|
using al::ByamlIter::tryGetIterByIndex;
|
|
bool tryGetParamIterByKey(MubinIter* value, const sead::SafeString& key) const;
|
|
using al::ByamlIter::tryGetIterByKey;
|
|
|
|
s32 getSize() const;
|
|
bool isValid() const;
|
|
|
|
/// @warning UNSAFE. Will happily write as many floats as there are items in the BYML data.
|
|
bool tryGetFloatArrayByKey(f32* array, const sead::SafeString& key) const;
|
|
|
|
/// @warning UNSAFE. Will happily write as many floats as there are items in the BYML data.
|
|
bool tryGetControlPoints(ControlPoints* points) const;
|
|
|
|
/// @warning UNSAFE. Will happily write as many floats as there are items in the BYML data.
|
|
void getSRT(SRT* srt) const;
|
|
|
|
/// @warning UNSAFE. Will happily write as many floats as there are items in the BYML data.
|
|
void getScale(sead::Vector3f* scale) const;
|
|
|
|
/// @warning UNSAFE. Will happily write as many floats as there are items in the BYML data.
|
|
void getRotate(sead::Vector3f* rotate) const;
|
|
|
|
/// @warning UNSAFE. Will happily write as many floats as there are items in the BYML data.
|
|
void getTranslate(sead::Vector3f* translate) const;
|
|
};
|
|
|
|
} // namespace ksys::map
|