1#pragma once
2
3#include <prim/seadSafeString.h>
4
5// this probably isnt a good spot
6namespace al {
7
8class Resource;
9class SeadAudioPlayer;
10class ActorResourceHolder;
11class ActorResource;
12
13void addResourceCategory(const sead::SafeString&, s32, sead::Heap*);
14bool isEmptyCategoryResource(const sead::SafeString&);
15void createCategoryResourceAll(const sead::SafeString&);
16void removeResourceCategory(const sead::SafeString&);
17const char* getResourceName(const Resource*);
18const char* getResourcePath(const Resource*);
19bool isExistResGraphicsFile(const Resource*);
20Resource* findResource(const sead::SafeString&);
21Resource* findOrCreateResource(const sead::SafeString& path, const char* ext);
22Resource* findOrCreateResourceCategory(const sead::SafeString& path,
23 const sead::SafeString& category, const char* ext);
24Resource* findOrCreateResourceEventData(const char*, const char*);
25Resource* findOrCreateResourceSystemData(const char*, const char*);
26ActorResource* findOrCreateActorResource(ActorResourceHolder*, const char*, const char*);
27void findOrCreateActorResourceWithAnimResource(ActorResourceHolder*, const char*, const char*,
28 const char*, bool);
29bool isExistResourceYaml(const Resource*, const char*, const char*);
30bool isExistResourceYaml(const ActorResource*, const char*, const char*);
31void findResourceYaml(const Resource*, const char*, const char*);
32void findResourceYaml(const ActorResource*, const char*, const char*);
33bool tryFindStageParameterFileDesign(const sead::SafeString&, const sead::SafeString&, s32);
34void loadCategoryArchiveAll(const sead::SafeString&);
35void setCurrentCategoryName(const char*);
36void resetCurrentCategoryName();
37void setCurrentCategoryNameDefault();
38u8* getBymlFromObjectResource(const sead::SafeString&, const sead::SafeString&);
39u8* tryGetBymlFromObjectResource(const sead::SafeString&, const sead::SafeString&);
40u8* getBymlFromLayoutResource(const sead::SafeString&, const sead::SafeString&);
41u8* tryGetBymlFromLayoutResource(const sead::SafeString&, const sead::SafeString&);
42u8* tryGetBymlFromArcName(const sead::SafeString&, const sead::SafeString&);
43u8* getBymlFromArcName(const sead::SafeString&, const sead::SafeString&);
44u8* getByml(const Resource*, const sead::SafeString&);
45u8* tryGetByml(const Resource*, const sead::SafeString&);
46bool setAudioPlayerToResourceSystem(SeadAudioPlayer*, SeadAudioPlayer*);
47
48} // namespace al
49