void InpDIPSWResetDIPs() { int i = 0; BurnDIPInfo bdi; struct GameInp* pgi; InpDIPSWGetOffset(); while (BurnDrvGetDIPInfo(&bdi, i) == 0) { if (bdi.nFlags == 0xFF) { pgi = GameInp + bdi.nInput + nDIPOffset; pgi->Input.Constant.nConst = (pgi->Input.Constant.nConst & ~bdi.nMask) | (bdi.nSetting & bdi.nMask); } i++; } }
static int InpDIPSWInit() { BurnDIPInfo bdi; struct GameInp *pgi; InpDIPSWGetOffset(); for (int i = 0, j = 0; BurnDrvGetDIPInfo(&bdi, i) == 0; i++) { if (bdi.nInput >= 0 && bdi.nFlags == 0xFF) { pgi = GameInp + bdi.nInput + nDIPOffset; nPrevDIPSettings[j] = pgi->Input.Constant.nConst; j++; } } return 0; }
static int InpDIPSWInit() { BurnDIPInfo bdi; struct GameInp *pgi; InpDIPSWGetOffset(); hInpDIPSWList = GetDlgItem(hInpDIPSWDlg, IDC_INPCHEAT_LIST); InpDIPSWListBegin(); InpDIPSWListMake(); for (int i = 0, j = 0; BurnDrvGetDIPInfo(&bdi, i) == 0; i++) { if (bdi.nInput >= 0 && bdi.nFlags == 0xFF) { pgi = GameInp + bdi.nInput + nDIPOffset; nPrevDIPSettings[j] = pgi->Input.Constant.nConst; j++; } } return 0; }