MCPcopy Create free account
hub / github.com/doldecomp/mkdd / createModel

Method createModel

src/Sato/ItemObjMgr.cpp:950–1001  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

948}
949
950void ItemObjMgr::createModel(JKRSolidHeap *heap, u32 camera_index)
951{
952 for (u8 i = 0; i < 16; i++)
953 {
954 JSUListIterator<ItemObj> it(_4f0[i].getFirst());
955 if (it.isAvailable())
956 {
957 for (; it.isAvailable(); ++it)
958 {
959 it->createModel(heap, camera_index, 2);
960 if (it->getKind() != 9)
961 it->createShadowModel(heap, camera_index, 0x60000);
962 }
963 }
964 }
965
966 for (u8 i = 0; i < 16; i++)
967 {
968 JSUListIterator<ItemObj> it(_4f0[i].getFirst());
969 if (it.isAvailable() && it->mModel.getModelData())
970 {
971 Mtx m;
972 PSMTXIdentity(m);
973 PSMTXCopy(m, j3dSys.getViewMtx());
974 it->mModel.makeSharedDL();
975 }
976 }
977
978 _4f0[8].getFirst()->getObject()->mShadow->makeSharedDL();
979
980 for (u8 i = 0; i < 16; i++)
981 {
982 JSUListIterator<ItemObj> it(_4f0[i].getFirst());
983 if (it.isAvailable())
984 {
985 for (; it.isAvailable(); ++it)
986 {
987 if (!it.isAvailable() || it->mModel.getModelData() == nullptr)
988 break;
989 it->mModel.lock();
990 ShadowModel *shdw = it->mShadow;
991 if (shdw)
992 shdw->lock();
993 }
994 }
995 }
996
997 if (_820)
998 {
999 createCharShadowModel(heap, camera_index);
1000 }
1001}
1002
1003void ItemObjMgr::initCharShadowModelData()
1004{

Callers 1

createCharShadowModelMethod · 0.45

Calls 9

getFirstMethod · 0.45
isAvailableMethod · 0.45
getKindMethod · 0.45
createShadowModelMethod · 0.45
getModelDataMethod · 0.45
getViewMtxMethod · 0.45
makeSharedDLMethod · 0.45
getObjectMethod · 0.45
lockMethod · 0.45

Tested by

no test coverage detected