It isn't required to call this interface to initialize the plugin.
So far, what I have for the interface is:
typedef struct { INT32 unknown; // This is anything. Leave it 0. const char* plugin_name; // Name of the plugin
// This one is strange. In xmp-sid.dll, this points to two strings: // 4 bytes "SID", 0h // string with file types, separated with slashes const char* supported_filetypes;
void (*AboutDlg)(); void (*ConfigDlg)();
// rest to be reversed.... } XMPlay_Interface;
Also to note is that some of the official XMplay plugins and the EXE itself are packed using a weird compression format. It's not UPX, and it constantly fucks with IDA, so I am basing these off unofficial plugins.
by unknownfile at 4:29 PM EST on November 10, 2009
tried nobody responded think that close-sourcing the api sucks and i'm also really bored nowadays
also file loadans
int (__stdcall *LoadFile)(const char* fn, UINT8 bigarray[84]);
edited 5:23 PM EST November 10, 2009
by nensondubois at 5:43 PM EST on November 10, 2009
Bored? Pick up another hobby that doesn't involve 1s or 0s.
by unknownfile at 5:51 PM EST on November 10, 2009
you're just jealous that i'm better than you
by nensondubois at 6:19 PM EST on November 10, 2009
I don't really care because I know I'm better than some other things that your suck at. It's guaranteed with every person. Everyone has ups and downs.
I'm also going to college soon four 6 years in advanced computer classes and I Won't be stepping into shallow water either since I know some coding already, not much. I could very well be adding SGB support to ZSNES with the help of the Bsnes source. It'll be a challenge but I'm sure I could do it.