| 948 | } |
| 949 | |
| 950 | void 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 | |
| 1003 | void ItemObjMgr::initCharShadowModelData() |
| 1004 | { |
no test coverage detected