summaryrefslogtreecommitdiff
path: root/src/JSystem/JKernel/JKRFileLoader.cpp
diff options
context:
space:
mode:
authorLuke Street <luke@street.dev>2026-03-01 15:35:36 -0700
committerGitHub <noreply@github.com>2026-03-01 14:35:36 -0800
commit9649319ec4926457ef85e6094f8207474c977c2d (patch)
tree1c5cd4c7cc4c1aee03f28921213da47f2775444d /src/JSystem/JKernel/JKRFileLoader.cpp
parent6e149819e13b1f70ecbf8a4c66b030c17ffed2bb (diff)
Reorganize library code into `libs/` (#3119)
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN} * Update configure.py and project.py for new libs structure * Refactor `#include <dolphin/x.h>` -> `<x.h>` * Remove `__REVOLUTION_SDK__` forwards from dolphin * Fix dolphin/ references in revolution * Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__` * Always build TRK against dolphin headers * Resolve revolution SDK header resolution issues
Diffstat (limited to 'src/JSystem/JKernel/JKRFileLoader.cpp')
-rw-r--r--src/JSystem/JKernel/JKRFileLoader.cpp125
1 files changed, 0 insertions, 125 deletions
diff --git a/src/JSystem/JKernel/JKRFileLoader.cpp b/src/JSystem/JKernel/JKRFileLoader.cpp
deleted file mode 100644
index 6bb460e93a..0000000000
--- a/src/JSystem/JKernel/JKRFileLoader.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-#include "JSystem/JSystem.h" // IWYU pragma: keep
-
-#include "JSystem/JKernel/JKRFileLoader.h"
-
-#define MSL_USE_INLINES 1 // needed to inline tolower call. not inlined elsewhere in the repo
-
-#include <cstring>
-#include <cctype>
-#include "global.h"
-
-JKRFileLoader* JKRFileLoader::sCurrentVolume;
-JSUList<JKRFileLoader> JKRFileLoader::sVolumeList;
-
-JKRFileLoader::JKRFileLoader(void)
- : mFileLoaderLink(this), mVolumeName(NULL), mVolumeType(0), mMountCount(0) {}
-
-JKRFileLoader::~JKRFileLoader() {
- if (sCurrentVolume == this) {
- sCurrentVolume = NULL;
- }
-}
-
-void JKRFileLoader::unmount(void) {
- if (mMountCount != 0) {
- if (--mMountCount == 0) {
- delete this;
- }
- }
-}
-
-void* JKRFileLoader::getGlbResource(const char* name) {
- JKRFileLoader* fileLoader = findVolume(&name);
- void* resource;
- if (fileLoader == NULL) {
- return NULL;
- } else {
- resource = fileLoader->getResource(name);
- return resource;
- }
-}
-
-void* JKRFileLoader::getGlbResource(const char* name, JKRFileLoader* fileLoader) {
- void* resource = NULL;
- if (fileLoader) {
- resource = fileLoader->getResource(0, name);
- } else {
- for (JSUListIterator<JKRFileLoader> iterator = sVolumeList.getFirst(); iterator != sVolumeList.getEnd(); ++iterator) {
- resource = iterator->getResource(0, name);
- if (resource)
- break;
- }
- }
- return resource;
-}
-
-bool JKRFileLoader::removeResource(void* resource, JKRFileLoader* fileLoader) {
- if (fileLoader) {
- return fileLoader->removeResource(resource);
- }
-
- for (JSUListIterator<JKRFileLoader> iterator = sVolumeList.getFirst(); iterator != sVolumeList.getEnd(); ++iterator) {
- if (iterator->removeResource(resource)) {
- return true;
- }
- }
-
- return false;
-}
-
-bool JKRFileLoader::detachResource(void* resource, JKRFileLoader* fileLoader) {
- if (fileLoader) {
- return fileLoader->detachResource(resource);
- }
-
- for (JSUListIterator<JKRFileLoader> iterator = sVolumeList.getFirst(); iterator != sVolumeList.getEnd(); ++iterator) {
- if (iterator->detachResource(resource)) {
- return true;
- }
- }
-
- return false;
-}
-
-JKRFileLoader* JKRFileLoader::findVolume(const char** volumeName) {
- if (*volumeName[0] != '/') {
- return sCurrentVolume;
- }
-
- char volumeNameBuffer[0x101];
- *volumeName = fetchVolumeName(volumeNameBuffer, ARRAY_SIZEU(volumeNameBuffer), *volumeName);
-
- for (JSUListIterator<JKRFileLoader> iterator = sVolumeList.getFirst(); iterator != sVolumeList.getEnd(); ++iterator) {
- if (strcmp(volumeNameBuffer, iterator->mVolumeName) == 0) {
- return iterator.getObject();
- }
- }
-
- return NULL;
-}
-
-const char* JKRFileLoader::fetchVolumeName(char* buffer, s32 bufferSize, const char* path) {
- static char rootPath[2] = "/";
-
- if (strcmp(path, "/") == 0) {
- strcpy(buffer, rootPath);
- return rootPath;
- }
-
- path++;
- while (*path != 0 && *path != '/') {
- if (1 < bufferSize) {
- *buffer = tolower(*path);
- buffer++;
- bufferSize--;
- }
- path++;
- }
-
- *buffer = '\0';
- if (*path == '\0') {
- path = rootPath;
- }
-
- return path;
-}