mirror of
https://github.com/encounter/tp.git
synced 2026-03-30 11:40:53 -07:00
a61e3491f7
* initial freezard actor struct + setActionMode OK * daE_FZ_Draw * setReflectAngle * mBoundSoundset * daE_FZ_Execute & execute * demoDelete * daE_FZ_Delete & _delete * CreateHeap * useHeapInit * cc_set * mtx_set * action WIP * way_gake_check * executeRollMove * executeMove * draw WIP * executeDamage * checkpoint * create * checkpoint * daE_FZ_c::executeWait * checkpoint * daE_FZ_c::damage_check almost done * rm asm * rm headers * setup_profile WIP + doxygen update * fix merge issues * docs fix? * fix2 * doxygen updates * setup g_profile_E_FZ, profile setup script WIP * update github actions * update progress.md
78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
#ifndef JKRFILEFINDER_H
|
|
#define JKRFILEFINDER_H
|
|
|
|
#include "dolphin/dvd.h"
|
|
|
|
/**
|
|
* @ingroup jsystem-jkernel
|
|
*
|
|
*/
|
|
class JKRFileFinder {
|
|
public:
|
|
JKRFileFinder() {
|
|
mIsAvailable = false;
|
|
mIsFileOrDirectory = false;
|
|
}
|
|
|
|
bool isAvailable() const { return mIsAvailable; }
|
|
bool isFile() const { return mIsFileOrDirectory; }
|
|
bool isDirectory() const { return mIsFileOrDirectory; }
|
|
|
|
protected:
|
|
/* 0x00 */ const char* mEntryName;
|
|
/* 0x04 */ s32 mEntryFileIndex;
|
|
/* 0x08 */ u16 mEntryId;
|
|
/* 0x0A */ u16 mEntryTypeFlags;
|
|
/* 0x0C */ // vtable
|
|
public:
|
|
/* vt[2] */ virtual ~JKRFileFinder() {};
|
|
/* vt[3] */ virtual bool findNextFile(void) = 0;
|
|
protected:
|
|
/* 0x10 */ bool mIsAvailable;
|
|
/* 0x11 */ bool mIsFileOrDirectory;
|
|
/* 0x12 */ u8 field_0x12[2];
|
|
};
|
|
|
|
class JKRArchive;
|
|
|
|
/**
|
|
* @ingroup jsystem-jkernel
|
|
*
|
|
*/
|
|
class JKRArcFinder : public JKRFileFinder {
|
|
public:
|
|
JKRArcFinder(JKRArchive*, s32, s32);
|
|
inline virtual ~JKRArcFinder() {}
|
|
|
|
public:
|
|
/* vt[3] */ virtual bool findNextFile(void); /* override */
|
|
|
|
private:
|
|
/* 0x00 */ // JKRFileFinder_UnknownBase
|
|
/* 0x0C */ // vtable
|
|
/* 0x10 */ // JKRFileFinder
|
|
/* 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:
|
|
/* 0x00 */ // JKRFileFinder_UnknownBase
|
|
/* 0x0C */ // vtable
|
|
/* 0x10 */ // JKRFileFinder
|
|
/* 0x14 */ DVDDirectory mDvdDirectory;
|
|
/* 0x20 */ bool mDvdIsOpen;
|
|
/* 0x21 */ u8 field_0x21[3];
|
|
};
|
|
|
|
#endif /* JKRFILEFINDER_H */
|