mirror of
https://github.com/rvtr/TwlToolsRED.git
synced 2025-10-31 06:41:18 -04:00
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@566 7061adef-622a-194b-ae81-725974e89856
105 lines
2.4 KiB
C++
105 lines
2.4 KiB
C++
#ifndef ENTRY_H_
|
|
#define ENTRY_H_
|
|
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "types.h"
|
|
//#include "nitro_romheader.h"
|
|
#include "twl_format_rom.h"
|
|
#include "banner.h"
|
|
//#include "checker.h"
|
|
|
|
typedef struct
|
|
{
|
|
char* name;
|
|
char* full_path_name;
|
|
u8 name_length;
|
|
u8 full_path_name_length;
|
|
u16 self_id;
|
|
u16 parent_id;
|
|
void* parent;
|
|
void* next;
|
|
} MyDirEntry;
|
|
|
|
typedef struct
|
|
{
|
|
char* name;
|
|
char* full_path_name;
|
|
u8 name_length;
|
|
u8 full_path_name_length;
|
|
u32 top;
|
|
u32 bottom;
|
|
bool modified;
|
|
u16 self_id;
|
|
u16 parent_id;
|
|
void* parent;
|
|
void* next;
|
|
} MyFileEntry;
|
|
|
|
typedef struct
|
|
{
|
|
char* name;
|
|
u8 name_length;
|
|
u32 top;
|
|
u32 bottom;
|
|
bool modified;
|
|
void* next;
|
|
} MyAreaEntry;
|
|
|
|
|
|
class Entry
|
|
{
|
|
// private:
|
|
public:
|
|
MyDirEntry* dirEntry;
|
|
MyFileEntry* fileEntry;
|
|
MyAreaEntry* areaEntry;
|
|
|
|
public:
|
|
void Initialize( void);
|
|
|
|
void InitializeEntry( MyDirEntry* myDirEntry);
|
|
void InitializeEntry( MyFileEntry* myFileEntry);
|
|
void InitializeEntry( MyAreaEntry* myAreaEntry);
|
|
|
|
void CopyEntry( MyDirEntry* dest, MyDirEntry* src);
|
|
|
|
void SetName( MyDirEntry* myDirEntry, char* fname, u16 len);
|
|
void SetName( MyFileEntry* myFileEntry, char* fname, u16 len);
|
|
void SetName( MyAreaEntry* myAreaEntry, char* fname, u16 len);
|
|
|
|
void addDirEntry( MyDirEntry* myDirEntry);
|
|
void addFileEntry( MyFileEntry* myFileEntry);
|
|
void addAreaEntry( MyAreaEntry* myAreaEntry);
|
|
|
|
MyDirEntry* FindDirEntry( u16 id);
|
|
MyFileEntry* FindFileEntry( u16 id);
|
|
|
|
MyDirEntry* FindDirEntry( char* my_full_path_name);
|
|
MyFileEntry* FindFileEntry( char* my_full_path_name);
|
|
|
|
/* アドレスの範囲に該当するファイルを表示する */
|
|
MyFileEntry* FindFileLocation( u32 start_adr, u32 end_adr);
|
|
/* アドレスの範囲に該当するエリアを表示する */
|
|
MyAreaEntry* FindAreaLocation( u32 start_adr, u32 end_adr);
|
|
|
|
/* parent リンクを繋げる */
|
|
void FollowParent( void);
|
|
|
|
/* フルパスをセットする */
|
|
void AutoSetFullPath( void);
|
|
void SetFullPath( MyDirEntry *targetDirEntry);
|
|
void SetFullPath( MyFileEntry *targetFileEntry);
|
|
|
|
void PrintAllDirEntry( void);
|
|
void PrintAllFileEntry( void);
|
|
|
|
// void CheckAllFiles( Checker* checker, MyFileEntry *anotherFileEntry);
|
|
|
|
void Finalize();
|
|
};
|
|
|
|
|
|
#endif
|