rendered paste bodyvoid update_pif_read(){ int i=0, channel=0; BUTTONS NetKey; DWORD Keys_Buffer[4]; int kmpv_length;#ifdef DEBUG_PIF printf("read\n"); print_pif();#endif while (i<0x40) { switch(PIF_RAMb[i]) { case 0x00: channel++; if (channel > 6) i=0x40; break; case 0xFE: i = 0x40; break; case 0xFF: break; case 0xB4: case 0x56: case 0xB8: break; default: if (Kaillera_Game() != 1) { if (!(PIF_RAMb[i] & 0xC0)) { if (channel < 4) { if (Controls[channel].Present && Controls[channel].RawData) readController(channel, &PIF_RAMb[i]); else internal_ReadController(channel, &PIF_RAMb[i]); } i += PIF_RAMb[i] + (PIF_RAMb[(i+1)] & 0x3F) + 1; channel++; } else { i=0x40; } } else { if (!(PIF_RAMb[i] & 0xC0)) { if (channel == 0) { DWORD Before; DWORD After; int frameskip; char TempStr[MAX_PATH]; getKeys(0,&NetKey); //VCR_getKeys(0,&NetKey); Keys_Buffer[0] = NetKey.Value; Keys_Buffer[1] = 0x00; // 24*channel Keys_Buffer[2] = 0x00; Keys_Buffer[3] = 0x00; K_KMPV(Keys_Buffer,sizeof(DWORD)); // sizeof(DWORD) } if (channel < 4 && Controls[channel].Present) { getKeys(0,&NetKey); // VCR_getKeys(channel, &NetKey); NetKey.Value = Keys_Buffer[channel]; // *24-1 was added *((unsigned long *)(&PIF_RAMb[i] + 3)) = NetKey.Value; } i += PIF_RAMb[i] + (PIF_RAMb[(i+1)] & 0x3F) + 1; channel++; } else { i=0x40; } } } i++; }