mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 14:13:27 -04:00
JKRAram and JKRAramStream (#80)
* before __register_global_object * JKRThread::sThreadList, JKRHeap::sSystemHeap, etc. * cleanup and started on JKRDvdArchive * before changing JKRCompression * more JKRDvdArchive, abs, and memset * fixed JKRArchive::setExpandSize split * JKRArchive::sCurrentDirID, JKRDvdFile::sDvdList, and matching JKRDvdFile constructors * problems * merge fixes and formatting * updated clang version in clang-format-all to version 10 * Added OSPhysicalToCached and struct for global memory * remove useless __attribute__ * changed from defines and macros to const variable and function * changed FLAG_HAS to FLAG_ON * JKRAram, linking problems * fix JKRAram * remove nonmatching stuff * renamed static data * more static class members * JKRAramStream OK * formatting Co-authored-by: Julgodis <> Co-authored-by: Pheenoh <pheenoh@gmail.com>
This commit is contained in:
@@ -1,16 +1,15 @@
|
||||
#include "JSystem/JKernel/JKRFileLoader/JKRFileLoader.h"
|
||||
#include "global.h"
|
||||
|
||||
JKRFileLoader::JKRFileLoader(void) : mFileLoaderLink(this) {
|
||||
mVolumeName = NULL;
|
||||
mVolumeType = 0;
|
||||
mMountCount = 0;
|
||||
}
|
||||
// todo: static initialization is working uncomment this
|
||||
// JSUList<JKRFileLoader> JKRFileLoader::sVolumeList;
|
||||
|
||||
JKRFileLoader::JKRFileLoader(void)
|
||||
: mFileLoaderLink(this), mVolumeName(NULL), mVolumeType(0), mMountCount(0) {}
|
||||
|
||||
JKRFileLoader::~JKRFileLoader() {
|
||||
// lbl_80451418 = JKRFileLoader::sCurrentVolume
|
||||
if (lbl_80451418 == this) {
|
||||
lbl_80451418 = NULL;
|
||||
if (getCurrentVolume() == this) {
|
||||
setCurrentVolume(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,15 +40,14 @@ void* JKRFileLoader::getGlbResource(const char* name) {
|
||||
}
|
||||
|
||||
void* JKRFileLoader::getGlbResource(const char* name, JKRFileLoader* fileLoader) {
|
||||
// lbl_80434354 = JKRFileLoader::sVolumeList
|
||||
|
||||
void* resource = NULL;
|
||||
if (fileLoader) {
|
||||
return fileLoader->getResource(0, name);
|
||||
}
|
||||
|
||||
JSUList<JKRFileLoader>& volumeList = getVolumeList();
|
||||
JSUListIterator<JKRFileLoader> iterator;
|
||||
for (iterator = lbl_80434354.getFirst(); iterator != lbl_80434354.getEnd(); ++iterator) {
|
||||
for (iterator = volumeList.getFirst(); iterator != volumeList.getEnd(); ++iterator) {
|
||||
resource = iterator->getResource(0, name);
|
||||
if (resource)
|
||||
break;
|
||||
@@ -58,14 +56,13 @@ void* JKRFileLoader::getGlbResource(const char* name, JKRFileLoader* fileLoader)
|
||||
}
|
||||
|
||||
bool JKRFileLoader::removeResource(void* resource, JKRFileLoader* fileLoader) {
|
||||
// lbl_80434354 = JKRFileLoader::sVolumeList
|
||||
|
||||
if (fileLoader) {
|
||||
return fileLoader->removeResource(resource);
|
||||
}
|
||||
|
||||
JSUList<JKRFileLoader>& volumeList = getVolumeList();
|
||||
JSUListIterator<JKRFileLoader> iterator;
|
||||
for (iterator = lbl_80434354.getFirst(); iterator != lbl_80434354.getEnd(); ++iterator) {
|
||||
for (iterator = volumeList.getFirst(); iterator != volumeList.getEnd(); ++iterator) {
|
||||
if (iterator->removeResource(resource)) {
|
||||
return true;
|
||||
}
|
||||
@@ -75,14 +72,13 @@ bool JKRFileLoader::removeResource(void* resource, JKRFileLoader* fileLoader) {
|
||||
}
|
||||
|
||||
bool JKRFileLoader::detachResource(void* resource, JKRFileLoader* fileLoader) {
|
||||
// lbl_80434354 = JKRFileLoader::sVolumeList
|
||||
|
||||
if (fileLoader) {
|
||||
return fileLoader->detachResource(resource);
|
||||
}
|
||||
|
||||
JSUList<JKRFileLoader>& volumeList = getVolumeList();
|
||||
JSUListIterator<JKRFileLoader> iterator;
|
||||
for (iterator = lbl_80434354.getFirst(); iterator != lbl_80434354.getEnd(); ++iterator) {
|
||||
for (iterator = volumeList.getFirst(); iterator != volumeList.getEnd(); ++iterator) {
|
||||
if (iterator->detachResource(resource)) {
|
||||
return true;
|
||||
}
|
||||
@@ -92,17 +88,16 @@ bool JKRFileLoader::detachResource(void* resource, JKRFileLoader* fileLoader) {
|
||||
}
|
||||
|
||||
JKRFileLoader* JKRFileLoader::findVolume(const char** volumeName) {
|
||||
// lbl_80451418 = JKRFileLoader::sCurrentVolume
|
||||
|
||||
if (*volumeName[0] != '/') {
|
||||
return lbl_80451418;
|
||||
return getCurrentVolume();
|
||||
}
|
||||
|
||||
char volumeNameBuffer[0x101];
|
||||
*volumeName = fetchVolumeName(volumeNameBuffer, ARRAY_SIZE(volumeNameBuffer), *volumeName);
|
||||
|
||||
JSUList<JKRFileLoader>& volumeList = getVolumeList();
|
||||
JSUListIterator<JKRFileLoader> iterator;
|
||||
for (iterator = lbl_80434354.getFirst(); iterator != lbl_80434354.getEnd(); ++iterator) {
|
||||
for (iterator = volumeList.getFirst(); iterator != volumeList.getEnd(); ++iterator) {
|
||||
if (strcmp(volumeNameBuffer, iterator->mVolumeName) == 0) {
|
||||
return iterator.getObject();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user