resPlacement (#120)

This commit is contained in:
Esras 2023-06-11 15:17:14 -07:00 committed by GitHub
parent dc4e48523b
commit bdd6e57d63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 63 additions and 14 deletions

View File

@ -81914,20 +81914,20 @@ Address,Quality,Size,Name
0x0000007100f42464,U,000152,
0x0000007100f424fc,U,000008,
0x0000007100f42504,U,000008,
0x0000007100f4250c,U,000068,
0x0000007100f42550,U,000076,
0x0000007100f4259c,U,000132,
0x0000007100f42620,U,000092,
0x0000007100f4267c,U,000180,res::EntryFactory_Placement::newResource_
0x0000007100f42730,U,000008,
0x0000007100f42738,U,000008,
0x0000007100f42740,U,000008,
0x0000007100f42748,U,000092,
0x0000007100f427a4,U,000036,
0x0000007100f427c8,U,000012,
0x0000007100f427d4,U,000008,
0x0000007100f427dc,U,000040,
0x0000007100f42804,U,000372,
0x0000007100f4250c,O,000068,_ZN4ksys3res12EntryFactoryINS0_9PlacementEED2Ev
0x0000007100f42550,O,000076,_ZN4ksys3res12EntryFactoryINS0_9PlacementEED0Ev
0x0000007100f4259c,m,000132,_ZNK4ksys3res12EntryFactoryINS0_9PlacementEE27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x0000007100f42620,O,000092,_ZNK4ksys3res12EntryFactoryINS0_9PlacementEE18getRuntimeTypeInfoEv
0x0000007100f4267c,O,000180,_ZN4ksys3res12EntryFactoryINS0_9PlacementEE12newResource_EPN4sead4HeapEi
0x0000007100f42730,O,000008,_ZNK4ksys3res12EntryFactoryINS0_9PlacementEE15getResourceSizeEv
0x0000007100f42738,O,000008,_ZNK4ksys3res12EntryFactoryINS0_9PlacementEE20getLoadDataAlignmentEv
0x0000007100f42740,O,000008,_ZNK4ksys3res9Placement27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x0000007100f42748,O,000092,_ZNK4ksys3res9Placement18getRuntimeTypeInfoEv
0x0000007100f427a4,O,000036,_ZN4ksys3res9PlacementD0Ev
0x0000007100f427c8,O,000012,_ZN4ksys3res9Placement9doCreate_EPhjPN4sead4HeapE
0x0000007100f427d4,O,000008,_ZThn32_N4ksys3res9PlacementD1Ev
0x0000007100f427dc,O,000040,_ZThn32_N4ksys3res9PlacementD0Ev
0x0000007100f42804,O,000372,_ZN4ksys3res9Placement33checkDerivedRuntimeTypeInfoStaticEPKN4sead15RuntimeTypeInfo9InterfaceE
0x0000007100f42978,U,000068,
0x0000007100f429bc,U,000076,
0x0000007100f42a08,U,000132,

Can't render this file because it is too large.

View File

@ -111,6 +111,8 @@ target_sources(uking PRIVATE
resModelResourceDivide.h
resOffsetReadFileDevice.cpp
resOffsetReadFileDevice.h
resPlacement.cpp
resPlacement.h
resResourceMgrTask.cpp
resResourceMgrTask.h
resSystem.cpp

View File

@ -0,0 +1,24 @@
#include "KingSystem/Resource/resPlacement.h"
#include "KingSystem/Resource/resEntryFactory.h"
#include "KingSystem/Resource/resSystem.h"
namespace ksys::res {
void Placement::registerFactory(sead::Heap* heap) {
auto* rm = sead::ResourceMgr::instance();
if (!rm)
return;
if (rm->getDefaultFactory() != rm->findFactory("bplacement"))
return;
res::registerEntryFactory(new (heap) EntryFactory<Placement>(1.0, sizeof(Placement)),
"bplacement");
}
void Placement::doCreate_(u8* buffer, u32 bufferSize, sead::Heap* heap) {
mUnknown1 = buffer;
mUnknown2 = buffer + 0x10; // Unknown Constant / offset
}
} // namespace ksys::res

View File

@ -0,0 +1,23 @@
#pragma once
#include "KingSystem/Resource/resEntryFactory.h"
#include "KingSystem/Resource/resResource.h"
#include "resource/seadResource.h"
namespace ksys::res {
class Placement : public Resource {
SEAD_RTTI_OVERRIDE(Placement, Resource)
public:
Placement() = default;
~Placement() override = default;
static void registerFactory(sead::Heap* heap);
void doCreate_(u8* buffer, u32 bufferSize, sead::Heap* heap) override;
void* mUnknown1 = nullptr;
void* mUnknown2 = nullptr;
};
} // namespace ksys::res