summaryrefslogtreecommitdiff
path: root/src/wiiu/wiiu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wiiu/wiiu.cpp')
-rw-r--r--src/wiiu/wiiu.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/wiiu/wiiu.cpp b/src/wiiu/wiiu.cpp
index caafc7f..f470feb 100644
--- a/src/wiiu/wiiu.cpp
+++ b/src/wiiu/wiiu.cpp
@@ -4,40 +4,42 @@
#include <idaldr.h>
static int idaapi
- accept_file(linput_t *li, char fileformatname[MAX_FILE_FORMAT_NAME], int n)
-{
- if ( n > 0 )
- return 0;
-
+ //accept_file(linput_t *li, char fileformatname[MAX_FILE_FORMAT_NAME], int n)
+ accept_file(qstring *fileformatname, qstring *processor, linput_t *li, const char *filename)
+{
elf_reader<elf32> elf(li);
-
if (elf.verifyHeader()) {
if (elf.type() == ELF_FILETYPE_CAFE_RPL) {
- set_processor_type("ppc", SETPROC_ALL);
+
+ //set_processor_type("ppc", SETPROC_ALL);
+ //qsnprintf(fileformatname, MAX_FILE_FORMAT_NAME, "WII U RPX/RPL");
+
+ *processor = "ppc";
+ *fileformatname = "WII U RPX/RPL";
- qsnprintf(fileformatname, MAX_FILE_FORMAT_NAME, "WII U RPX/RPL");
return ACCEPT_FIRST | 1;
}
}
-
+
return 0;
}
static void idaapi
load_file(linput_t *li, ushort neflags, const char *fileformatname)
{
+ set_processor_type("ppc", SETPROC_LOADER);
+
elf_reader<elf32> elf(li); elf.read();
ea_t relocAddr = 0;
if (neflags & NEF_MAN) {
- askaddr(&relocAddr, "Please specify a relocation address base.");
+ ask_addr(&relocAddr, "Please specify a relocation address base.");
}
cafe_loader ldr(&elf); ldr.apply();
}
#ifdef _WIN32
-__declspec(dllexport)
#endif
loader_t LDSC =
{