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:
Jonathan Wase
2021-01-10 02:15:52 +01:00
committed by GitHub
parent 8bd3d07e23
commit 82d5e0f796
255 changed files with 2048 additions and 3354 deletions
+16 -21
View File
@@ -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();
}