summaryrefslogtreecommitdiff
path: root/src/KingSystem/Resource/resResourceGParamList.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-06-15 17:47:03 +0200
committerLéo Lam <leo@leolam.fr>2021-06-15 18:04:39 +0200
commitdd0cc52ce99b9d78f1c7022c1bf13349149f263a (patch)
tree2eb5acd7d704d612181399bd8ab2be7b84fe450f /src/KingSystem/Resource/resResourceGParamList.cpp
parent38e5e47b07696a0954145bf68148cb0301cf133c (diff)
ksys: Move ActorParam classes into separate folder to declutter Resource/
Diffstat (limited to 'src/KingSystem/Resource/resResourceGParamList.cpp')
-rw-r--r--src/KingSystem/Resource/resResourceGParamList.cpp304
1 files changed, 0 insertions, 304 deletions
diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp
deleted file mode 100644
index adab0db8..00000000
--- a/src/KingSystem/Resource/resResourceGParamList.cpp
+++ /dev/null
@@ -1,304 +0,0 @@
-#include "KingSystem/Resource/resResourceGParamList.h"
-#include <agl/Utils/aglParameter.h>
-#include <prim/seadRuntimeTypeInfo.h>
-#include "KingSystem/ActorSystem/actActorParamMgr.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAirWall.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAnimalFollowOffset.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAnimalUnit.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArmor.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArmorEffect.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArmorHead.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArmorUpper.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArrow.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAttack.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAttackInterval.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAutoGen.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBeam.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBindActor.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBindBone.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBow.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectCamera.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectChemicalType.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectClothReaction.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectCookSpice.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectCureItem.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEatTarget.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemy.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyLevel.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyRace.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyShown.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEvent.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectExtendedEntity.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectFish.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGelEnemy.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGiantArmor.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGiantArmorSlot.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGlobal.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGolem.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGolemIK.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardian.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMini.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorse.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseCreator.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseRider.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseUnit.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectInsect.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectItem.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectLargeSword.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectLiftable.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectLumberjackTree.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectMasterSword.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectMonsterShop.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectMotorcycle.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectNest.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectNpc.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectNpcEquipment.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectPictureBook.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectPlayer.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectPrey.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectRod.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectRope.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectRupee.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSandworm.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSeriesArmor.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectShiekerStone.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectShield.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSmallSword.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSpear.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectStalEnemy.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSwarm.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSystem.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectTraveler.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponCommon.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponOption.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWizzrobe.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWolfLink.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectZora.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListTraits.h"
-
-namespace ksys::res {
-
-void GParamList::doCreate_(u8*, u32, sead::Heap*) {}
-
-bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
- GParamList* dummy_list = nullptr;
- if (!sead::IsDerivedFrom<DummyGParamList>(this) && act::ActorParamMgr::instance())
- dummy_list = act::ActorParamMgr::instance()->getDummyGParamList();
-
- mObjects.allocBufferAssert(NumGParamListObjTypes, heap);
-
- const agl::utl::ResParameterArchive archive{data};
-
-#define KSYS_GPARAM_ADD_(NAME) \
- do { \
- using Traits = GParamListObjTypeTraits<GParamListObjType::NAME>; \
- const auto pobj = agl::utl::getResParameterObj(archive.getRootList(), #NAME); \
- if (pobj.ptr()) { \
- auto* obj = new (heap) Traits::type; \
- if (obj) \
- addObj(&obj->getObj(), obj->getName()); \
- \
- mObjects[Traits::index] = obj; \
- \
- } else { \
- mObjects[Traits::index] = dummy_list ? dummy_list->mObjects[Traits::index] : nullptr; \
- } \
- } while (0)
-
- KSYS_GPARAM_ADD_(System);
- KSYS_GPARAM_ADD_(General);
- KSYS_GPARAM_ADD_(Enemy);
- KSYS_GPARAM_ADD_(EnemyLevel);
- KSYS_GPARAM_ADD_(EnemyRace);
- KSYS_GPARAM_ADD_(AttackInterval);
- KSYS_GPARAM_ADD_(EnemyShown);
- KSYS_GPARAM_ADD_(BindBone);
- KSYS_GPARAM_ADD_(Attack);
- KSYS_GPARAM_ADD_(WeaponCommon);
- KSYS_GPARAM_ADD_(WeaponThrow);
- KSYS_GPARAM_ADD_(Sandworm);
- KSYS_GPARAM_ADD_(SmallSword);
- KSYS_GPARAM_ADD_(Rod);
- KSYS_GPARAM_ADD_(LargeSword);
- KSYS_GPARAM_ADD_(Spear);
- KSYS_GPARAM_ADD_(Shield);
- KSYS_GPARAM_ADD_(Bow);
- KSYS_GPARAM_ADD_(WeaponOption);
- KSYS_GPARAM_ADD_(MasterSword);
- KSYS_GPARAM_ADD_(GuardianMiniWeapon);
- KSYS_GPARAM_ADD_(Player);
- KSYS_GPARAM_ADD_(Camera);
- KSYS_GPARAM_ADD_(Grab);
- KSYS_GPARAM_ADD_(Armor);
- KSYS_GPARAM_ADD_(ArmorEffect);
- KSYS_GPARAM_ADD_(ArmorHead);
- KSYS_GPARAM_ADD_(ArmorUpper);
- KSYS_GPARAM_ADD_(ShiekerStone);
- KSYS_GPARAM_ADD_(SeriesArmor);
- KSYS_GPARAM_ADD_(Liftable);
- KSYS_GPARAM_ADD_(Item);
- KSYS_GPARAM_ADD_(Rupee);
- KSYS_GPARAM_ADD_(Arrow);
- KSYS_GPARAM_ADD_(Bullet);
- KSYS_GPARAM_ADD_(CureItem);
- KSYS_GPARAM_ADD_(CookSpice);
- KSYS_GPARAM_ADD_(LumberjackTree);
- KSYS_GPARAM_ADD_(Npc);
- KSYS_GPARAM_ADD_(NpcEquipment);
- KSYS_GPARAM_ADD_(Zora);
- KSYS_GPARAM_ADD_(Traveler);
- KSYS_GPARAM_ADD_(Prey);
- KSYS_GPARAM_ADD_(AnimalFollowOffset);
- KSYS_GPARAM_ADD_(ExtendedEntity);
- KSYS_GPARAM_ADD_(BindActor);
- KSYS_GPARAM_ADD_(EatTarget);
- KSYS_GPARAM_ADD_(AnimalUnit);
- KSYS_GPARAM_ADD_(Insect);
- KSYS_GPARAM_ADD_(Fish);
- KSYS_GPARAM_ADD_(Rope);
- KSYS_GPARAM_ADD_(Horse);
- KSYS_GPARAM_ADD_(HorseUnit);
- KSYS_GPARAM_ADD_(HorseObject);
- KSYS_GPARAM_ADD_(HorseRider);
- KSYS_GPARAM_ADD_(HorseCreator);
- KSYS_GPARAM_ADD_(GiantArmorSlot);
- KSYS_GPARAM_ADD_(GiantArmor);
- KSYS_GPARAM_ADD_(Guardian);
- KSYS_GPARAM_ADD_(MonsterShop);
- KSYS_GPARAM_ADD_(Swarm);
- KSYS_GPARAM_ADD_(GelEnemy);
- KSYS_GPARAM_ADD_(Nest);
- KSYS_GPARAM_ADD_(Wizzrobe);
- KSYS_GPARAM_ADD_(StalEnemy);
- KSYS_GPARAM_ADD_(GuardianMini);
- KSYS_GPARAM_ADD_(ClothReaction);
- KSYS_GPARAM_ADD_(Global);
- KSYS_GPARAM_ADD_(Beam);
- KSYS_GPARAM_ADD_(AutoGen);
- KSYS_GPARAM_ADD_(ChemicalType);
- KSYS_GPARAM_ADD_(Golem);
- KSYS_GPARAM_ADD_(HorseTargetedInfo);
- KSYS_GPARAM_ADD_(WolfLink);
- KSYS_GPARAM_ADD_(Event);
- KSYS_GPARAM_ADD_(GolemIK);
- KSYS_GPARAM_ADD_(PictureBook);
- KSYS_GPARAM_ADD_(AirWall);
- KSYS_GPARAM_ADD_(Motorcycle);
-
-#undef KSYS_GPARAM_ADD_
-
- if (data)
- applyResParameterArchive(archive);
-
- return true;
-}
-
-void GParamList::finalize_() {}
-
-static constexpr size_t getResourceFactoryFallbackSizeConst() {
- size_t size = 0;
- size += sizeof(GParamListObjectSystem);
- size += sizeof(GParamListObjectGeneral);
- size += sizeof(GParamListObjectEnemy);
- size += sizeof(GParamListObjectEnemyLevel);
- size += sizeof(GParamListObjectEnemyRace);
- size += sizeof(GParamListObjectAttackInterval);
- size += sizeof(GParamListObjectEnemyShown);
- size += sizeof(GParamListObjectBindBone);
- size += sizeof(GParamListObjectAttack);
- size += sizeof(GParamListObjectWeaponCommon);
- size += sizeof(GParamListObjectWeaponThrow);
- size += sizeof(GParamListObjectSandworm);
- size += sizeof(GParamListObjectSmallSword);
- size += sizeof(GParamListObjectRod);
- size += sizeof(GParamListObjectLargeSword);
- size += sizeof(GParamListObjectSpear);
- size += sizeof(GParamListObjectShield);
- size += sizeof(GParamListObjectBow);
- size += sizeof(GParamListObjectWeaponOption);
- size += sizeof(GParamListObjectMasterSword);
- size += sizeof(GParamListObjectGuardianMiniWeapon);
- size += sizeof(GParamListObjectPlayer);
- size += sizeof(GParamListObjectCamera);
- size += sizeof(GParamListObjectGrab);
- size += sizeof(GParamListObjectArmor);
- size += sizeof(GParamListObjectArmorEffect);
- size += sizeof(GParamListObjectArmorHead);
- size += sizeof(GParamListObjectArmorUpper);
- size += sizeof(GParamListObjectShiekerStone);
- size += sizeof(GParamListObjectSeriesArmor);
- size += sizeof(GParamListObjectLiftable);
- size += sizeof(GParamListObjectItem);
- size += sizeof(GParamListObjectRupee);
- size += sizeof(GParamListObjectArrow);
- size += sizeof(GParamListObjectBullet);
- size += sizeof(GParamListObjectCureItem);
- size += sizeof(GParamListObjectCookSpice);
- size += sizeof(GParamListObjectLumberjackTree);
- size += sizeof(GParamListObjectNpc);
- size += sizeof(GParamListObjectNpcEquipment);
- size += sizeof(GParamListObjectZora);
- size += sizeof(GParamListObjectTraveler);
- size += sizeof(GParamListObjectPrey);
- size += sizeof(GParamListObjectAnimalFollowOffset);
- size += sizeof(GParamListObjectExtendedEntity);
- size += sizeof(GParamListObjectBindActor);
- size += sizeof(GParamListObjectEatTarget);
- size += sizeof(GParamListObjectAnimalUnit);
- size += sizeof(GParamListObjectInsect);
- size += sizeof(GParamListObjectFish);
- size += sizeof(GParamListObjectRope);
- size += sizeof(GParamListObjectHorse);
- size += sizeof(GParamListObjectHorseUnit);
- size += sizeof(GParamListObjectHorseObject);
- size += sizeof(GParamListObjectHorseRider);
- size += sizeof(GParamListObjectHorseCreator);
- size += sizeof(GParamListObjectGiantArmorSlot);
- size += sizeof(GParamListObjectGiantArmor);
- size += sizeof(GParamListObjectGuardian);
- size += sizeof(GParamListObjectMonsterShop);
- size += sizeof(GParamListObjectSwarm);
- size += sizeof(GParamListObjectGelEnemy);
- size += sizeof(GParamListObjectNest);
- size += sizeof(GParamListObjectWizzrobe);
- size += sizeof(GParamListObjectStalEnemy);
- size += sizeof(GParamListObjectGuardianMini);
- size += sizeof(GParamListObjectClothReaction);
- size += sizeof(GParamListObjectGlobal);
- size += sizeof(GParamListObjectBeam);
- size += sizeof(GParamListObjectAutoGen);
- size += sizeof(GParamListObjectChemicalType);
- size += sizeof(GParamListObjectGolem);
- size += sizeof(GParamListObjectHorseTargetedInfo);
- size += sizeof(GParamListObjectWolfLink);
- size += sizeof(GParamListObjectEvent);
- size += sizeof(GParamListObjectGolemIK);
- size += sizeof(GParamListObjectPictureBook);
- size += sizeof(GParamListObjectAirWall);
- size += sizeof(GParamListObjectMotorcycle);
- size += sizeof(GParamList);
- return size;
-}
-
-u32 GParamList::getResourceFactoryFallbackSize() {
- constexpr size_t size = getResourceFactoryFallbackSizeConst();
- static_assert(size == static_cast<u32>(size));
- return static_cast<u32>(size);
-}
-
-void DummyGParamList::doCreate_(u8*, u32, sead::Heap*) {}
-
-bool DummyGParamList::parse_(u8* data, size_t size, sead::Heap* heap) {
- GParamList::parse_(data, size, heap);
- return true;
-}
-
-} // namespace ksys::res