#pragma once #include #include namespace sead { class Heap; } namespace al { class ActorResource; class ActorResourceHolder; class Resource; class SeadAudioPlayer; void addResourceCategory(const sead::SafeString& resourceName, s32 category, sead::Heap* heap); bool isEmptyCategoryResource(const sead::SafeString& resourceName); void createCategoryResourceAll(const sead::SafeString& resourceName); void removeResourceCategory(const sead::SafeString& resourceName); const char* getResourceName(const Resource* resource); const char* getResourcePath(const Resource* resource); bool isExistResGraphicsFile(const Resource* resource); Resource* findResource(const sead::SafeString& resourceName); Resource* findOrCreateResource(const sead::SafeString& resourceName, const char* ext); Resource* findOrCreateResourceCategory(const sead::SafeString& resourceName, const sead::SafeString& category, const char* ext); Resource* findOrCreateResourceEventData(const char* eventDataName, const char* resourceName); Resource* findOrCreateResourceSystemData(const char* systemDataName, const char* resourceName); ActorResource* findOrCreateActorResource(ActorResourceHolder* resourceHolder, const char* actorResourceName, const char* suffix); ActorResource* findOrCreateActorResourceWithAnimResource(ActorResourceHolder* resourceHolder, const char* actorResourceName, const char* animArc, const char* suffix, bool isMergeAnim); bool isExistResourceYaml(const Resource* resource, const char* resourceName, const char* suffix); bool isExistResourceYaml(const ActorResource* actorResource, const char* resourceName, const char* suffix); const u8* findResourceYaml(const Resource* resource, const char* resourceName, const char* suffix); const u8* findResourceYaml(const ActorResource* actorResource, const char* resourceName, const char* suffix); const void* tryFindStageParameterFileDesign(const sead::SafeString& stageName, const sead::SafeString& fileName, s32); void loadCategoryArchiveAll(const sead::SafeString& categoryName); void setCurrentCategoryName(const char* categoryName); void resetCurrentCategoryName(); void setCurrentCategoryNameDefault(); const u8* getBymlFromObjectResource(const sead::SafeString& objectName, const sead::SafeString& categoryName); const u8* tryGetBymlFromObjectResource(const sead::SafeString& objectName, const sead::SafeString& categoryName); const u8* getBymlFromLayoutResource(const sead::SafeString& layoutName, const sead::SafeString& categoryName); const u8* tryGetBymlFromLayoutResource(const sead::SafeString& layoutName, const sead::SafeString& categoryName); const u8* tryGetBymlFromArcName(const sead::SafeString& archiveName, const sead::SafeString& categoryName); const u8* getBymlFromArcName(const sead::SafeString& archiveName, const sead::SafeString& categoryName); const u8* getByml(const Resource* resource, const sead::SafeString& bymlName); const u8* tryGetByml(const Resource* resource, const sead::SafeString& bymlName); void setAudioPlayerToResourceSystem(SeadAudioPlayer* audioPlayerA, SeadAudioPlayer* audioPlayerB); } // namespace al