void eth32_FS_Startup2() { static char *gameDir; static char arg2[] = ""; asm __volatile__ ( "movl %%eax, %0\n\t" "movl %1, %%eax\n\t" "movl %2, %%edx\n\t" "call *%3\n\t" "movl %4, %%eax\n\t" "call *%5\n\t" : "=g"(gameDir) :"g"(eth32.path), "g"(&arg2), "g"(orig_FS_AddGameDirectory2), "g"(gameDir), "g"(orig_FS_Startup2) :"%eax", "%edx" ); #ifdef ETH32_DEBUG Debug.Log("FS_Startup2: adding %s", eth32.path); #endif }