Files
tww/include/JSystem/JKernel/JKRFileFinder.h
T
LagoLunatic e7e0e8e581 m_Do demo work (#1189)
* m_Do_controller_pad and m_Do_Reset OK for demo, m_Do_machine 100% with weak func order

* Add machine.pch, m_Do_machine OK for demo

* m_Do_gba_com and m_Do_MemCardRWmng OK for demo

* m_Do_graphic work

* m_Do_graphic JPN/PAL version diffs
2026-08-31 15:52:01 -04:00

65 lines
1.5 KiB
C++

#ifndef JKRFILEFINDER_H
#define JKRFILEFINDER_H
#include "dolphin/dvd/dvd.h"
class JKRFileFinder {
public:
JKRFileFinder() {
mIsAvailable = false;
mIsFileOrDirectory = false;
}
bool isAvailable() const { return mIsAvailable; }
bool isFile() const { return mIsFileOrDirectory; }
bool isDirectory() const { return mIsFileOrDirectory; }
/* 0x00 */ const char* mEntryName;
/* 0x04 */ s32 mEntryFileIndex;
/* 0x08 */ u16 mEntryId;
/* 0x0A */ u16 mEntryTypeFlags;
virtual ~JKRFileFinder() {}
/* vt[3] */ virtual bool findNextFile() = 0;
protected:
/* 0x10 */ bool mIsAvailable;
/* 0x11 */ bool mIsFileOrDirectory;
/* 0x12 */ u8 field_0x12[2];
};
class JKRArchive;
class JKRArcFinder : public JKRFileFinder {
public:
JKRArcFinder(JKRArchive*, s32, s32);
virtual ~JKRArcFinder() {}
public:
/* vt[3] */ virtual bool findNextFile(void); /* override */
private:
/* 0x14 */ JKRArchive* mArchive;
/* 0x18 */ s32 mStartIndex;
/* 0x1C */ s32 mEndIndex;
/* 0x20 */ s32 mNextIndex;
};
class JKRDvdFinder : public JKRFileFinder {
public:
JKRDvdFinder(const char*);
virtual ~JKRDvdFinder();
public:
/* vt[3] */ virtual bool findNextFile(void); /* override */
private:
/* 0x14 */ DVDDirectory mDvdDirectory;
/* 0x20 */ bool mDvdIsOpen;
/* 0x21 */ u8 field_0x21[3];
};
inline bool JKRIsFileFinderAvailable(JKRFileFinder* fileFinder) {
return fileFinder->isAvailable();
}
#endif /* JKRFILEFINDER_H */