mirror of https://github.com/zeldaret/botw.git
Update sead and fix sead::Buffer::tryAllocBuffer issues
This commit is contained in:
parent
5adfee548a
commit
2364c80231
|
@ -91545,8 +91545,8 @@
|
||||||
0x00000071011af57c,sub_71011AF57C,2488,_ZN4ksys3res9ModelList14parseModelDataERKN3agl3utl16ResParameterListEPN4sead4HeapE
|
0x00000071011af57c,sub_71011AF57C,2488,_ZN4ksys3res9ModelList14parseModelDataERKN3agl3utl16ResParameterListEPN4sead4HeapE
|
||||||
0x00000071011aff34,sub_71011AFF34,2636,_ZN4ksys3res9ModelList14parseAnmTargetERKN3agl3utl16ResParameterListEPN4sead4HeapE
|
0x00000071011aff34,sub_71011AFF34,2636,_ZN4ksys3res9ModelList14parseAnmTargetERKN3agl3utl16ResParameterListEPN4sead4HeapE
|
||||||
0x00000071011b0980,ResourceBmodellist::parse,8,_ZThn632_N4ksys3res9ModelList6parse_EPhmPN4sead4HeapE
|
0x00000071011b0980,ResourceBmodellist::parse,8,_ZThn632_N4ksys3res9ModelList6parse_EPhmPN4sead4HeapE
|
||||||
0x00000071011b0988,sub_71011B0988,312,_ZN4ksys3res20allocModelDataBufferERN4sead6BufferINS0_9ModelList9ModelDataEEEiPNS1_4HeapEi
|
0x00000071011b0988,sub_71011B0988,312,_ZN4sead6BufferIN4ksys3res9ModelList9ModelDataEE14tryAllocBufferEiPNS_4HeapEi
|
||||||
0x00000071011b0ac0,sub_71011B0AC0,332,_ZN4ksys3res27allocAnmTargetPartialBufferERN4sead6BufferINS0_9ModelList7PartialEEEiPNS1_4HeapEi
|
0x00000071011b0ac0,sub_71011B0AC0,332,_ZN4sead6BufferIN4ksys3res9ModelList7PartialEE14tryAllocBufferEiPNS_4HeapEi
|
||||||
0x00000071011b0c0c,Bmodellist::x,8,_ZNK4ksys3res9ModelList16getNumAnmTargetsEv
|
0x00000071011b0c0c,Bmodellist::x,8,_ZNK4ksys3res9ModelList16getNumAnmTargetsEv
|
||||||
0x00000071011b0c14,modellist::x,376,_ZNK4ksys3res9ModelList16getModelDataInfoEPNS1_13ModelDataInfoE
|
0x00000071011b0c14,modellist::x,376,_ZNK4ksys3res9ModelList16getModelDataInfoEPNS1_13ModelDataInfoE
|
||||||
0x00000071011b0d8c,sub_71011B0D8C,688,_ZNK4ksys3res9ModelList16getAttentionInfoEPNS1_13AttentionInfoE
|
0x00000071011b0d8c,sub_71011B0D8C,688,_ZNK4ksys3res9ModelList16getAttentionInfoEPNS1_13AttentionInfoE
|
||||||
|
@ -96703,7 +96703,7 @@
|
||||||
0x00000071012f7a70,nullsub_4835,4,_ZN4ksys3res11BoneControl9doCreate_EPhjPN4sead4HeapE
|
0x00000071012f7a70,nullsub_4835,4,_ZN4ksys3res11BoneControl9doCreate_EPhjPN4sead4HeapE
|
||||||
0x00000071012f7a74,nullsub_4836,4,_ZThn632_N4ksys3res11BoneControl9doCreate_EPhjPN4sead4HeapE
|
0x00000071012f7a74,nullsub_4836,4,_ZThn632_N4ksys3res11BoneControl9doCreate_EPhjPN4sead4HeapE
|
||||||
0x00000071012f7a78,sub_71012F7A78,7664,_ZN4ksys3res11BoneControl6parse_EPhmPN4sead4HeapE?
|
0x00000071012f7a78,sub_71012F7A78,7664,_ZN4ksys3res11BoneControl6parse_EPhmPN4sead4HeapE?
|
||||||
0x00000071012f9868,sub_71012F9868,312,_ZN4ksys3res15allocBoneGroupsERN4sead6BufferINS0_11BoneControl9BoneGroupEEEiPNS1_4HeapEi
|
0x00000071012f9868,sub_71012F9868,312,_ZN4sead6BufferIN4ksys3res11BoneControl9BoneGroupEE14tryAllocBufferEiPNS_4HeapEi
|
||||||
0x00000071012f99a0,sub_71012F99A0,8,_ZThn632_N4ksys3res11BoneControl6parse_EPhmPN4sead4HeapE
|
0x00000071012f99a0,sub_71012F99A0,8,_ZThn632_N4ksys3res11BoneControl6parse_EPhmPN4sead4HeapE
|
||||||
0x00000071012f99a8,sub_71012F99A8,452,_ZNK4ksys3res11BoneControl12getBoneGroupERKN4sead14SafeStringBaseIcEE
|
0x00000071012f99a8,sub_71012F99A8,452,_ZNK4ksys3res11BoneControl12getBoneGroupERKN4sead14SafeStringBaseIcEE
|
||||||
0x00000071012f9b6c,sub_71012F9B6C,8,_ZN4ksys3res11BoneControl10ParamIO_m0Ev
|
0x00000071012f9b6c,sub_71012F9B6C,8,_ZN4ksys3res11BoneControl10ParamIO_m0Ev
|
||||||
|
|
Can't render this file because it is too large.
|
2
lib/sead
2
lib/sead
|
@ -1 +1 @@
|
||||||
Subproject commit ffa3cd1219c6d828afbb29222ae8644efdc4a751
|
Subproject commit 207bf6c8cf91148a629d666637ca84ac311e9ff6
|
|
@ -16,11 +16,6 @@ BoneControl::~BoneControl() {
|
||||||
|
|
||||||
void BoneControl::doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) {}
|
void BoneControl::doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) {}
|
||||||
|
|
||||||
bool allocBoneGroups(sead::Buffer<BoneControl::BoneGroup>& buffer, int size, sead::Heap* heap,
|
|
||||||
int align = sizeof(void*)) {
|
|
||||||
return buffer.tryAllocBuffer(size, heap, align);
|
|
||||||
}
|
|
||||||
|
|
||||||
// NON_MATCHING: mFootIkController.isInvalidFt (???)
|
// NON_MATCHING: mFootIkController.isInvalidFt (???)
|
||||||
bool BoneControl::parse_(u8* data, size_t size, sead::Heap* heap) {
|
bool BoneControl::parse_(u8* data, size_t size, sead::Heap* heap) {
|
||||||
if (!data)
|
if (!data)
|
||||||
|
@ -185,7 +180,7 @@ bool BoneControl::parse_(u8* data, size_t size, sead::Heap* heap) {
|
||||||
|
|
||||||
const auto bone_groups = agl::utl::getResParameterList(root, "BoneGroups");
|
const auto bone_groups = agl::utl::getResParameterList(root, "BoneGroups");
|
||||||
if (bone_groups.ptr() && bone_groups.getResParameterListNum() != 0) {
|
if (bone_groups.ptr() && bone_groups.getResParameterListNum() != 0) {
|
||||||
if (!allocBoneGroups(mBoneGroups, bone_groups.getResParameterListNum(), heap))
|
if (!mBoneGroups.tryAllocBuffer(bone_groups.getResParameterListNum(), heap))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
sead::FixedSafeString<32> bone_group_name{"BoneGroup_"};
|
sead::FixedSafeString<32> bone_group_name{"BoneGroup_"};
|
||||||
|
|
|
@ -104,13 +104,8 @@ bool ModelList::parse_(u8* data, size_t size, sead::Heap* heap) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool allocModelDataBuffer(sead::Buffer<ModelList::ModelData>& buffer, int size, sead::Heap* heap,
|
|
||||||
int alignment = sizeof(void*)) {
|
|
||||||
return buffer.tryAllocBuffer(size, heap, alignment);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ModelList::parseModelData(const agl::utl::ResParameterList& res, sead::Heap* heap) {
|
bool ModelList::parseModelData(const agl::utl::ResParameterList& res, sead::Heap* heap) {
|
||||||
if (!allocModelDataBuffer(mModelData, res.getResParameterListNum() != 0, heap))
|
if (!mModelData.tryAllocBuffer(res.getResParameterListNum() != 0, heap))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
sead::FixedSafeString<32> list_name{str_ModelData};
|
sead::FixedSafeString<32> list_name{str_ModelData};
|
||||||
|
@ -154,11 +149,6 @@ bool ModelList::parseModelData(const agl::utl::ResParameterList& res, sead::Heap
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool allocAnmTargetPartialBuffer(sead::Buffer<ModelList::Partial>& buffer, int size,
|
|
||||||
sead::Heap* heap, int alignment = sizeof(void*)) {
|
|
||||||
return buffer.tryAllocBuffer(size, heap, alignment);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ModelList::parseAnmTarget(const agl::utl::ResParameterList& res, sead::Heap* heap) {
|
bool ModelList::parseAnmTarget(const agl::utl::ResParameterList& res, sead::Heap* heap) {
|
||||||
if (!mAnmTargets.tryAllocBuffer(std::min<u32>(res.getResParameterListNum(), NumUnitMax), heap))
|
if (!mAnmTargets.tryAllocBuffer(std::min<u32>(res.getResParameterListNum(), NumUnitMax), heap))
|
||||||
return false;
|
return false;
|
||||||
|
@ -180,7 +170,7 @@ bool ModelList::parseAnmTarget(const agl::utl::ResParameterList& res, sead::Heap
|
||||||
const auto partials =
|
const auto partials =
|
||||||
agl::utl::getResParameterList(res.getResParameterList(it.getIndex()), str_Partial);
|
agl::utl::getResParameterList(res.getResParameterList(it.getIndex()), str_Partial);
|
||||||
if (partials.ptr() && partials.getResParameterObjNum() != 0) {
|
if (partials.ptr() && partials.getResParameterObjNum() != 0) {
|
||||||
if (!allocAnmTargetPartialBuffer(it->partials, partials.getResParameterObjNum(), heap))
|
if (!it->partials.tryAllocBuffer(partials.getResParameterObjNum(), heap))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
sead::FixedSafeString<32> partial_name{str_Partial};
|
sead::FixedSafeString<32> partial_name{str_Partial};
|
||||||
|
|
Loading…
Reference in New Issue