void Settings_GetCartridgeFilePath(int slot, LPTSTR buffer) { TCHAR bufValueName[11]; lstrcpy(bufValueName, _T("Cartridge0")); bufValueName[9] = _T('0') + (TCHAR)slot; Settings_LoadStringValue(bufValueName, buffer, MAX_PATH); }
void Settings_GetFloppyFilePath(int slot, LPTSTR buffer) { TCHAR bufValueName[8]; lstrcpy(bufValueName, _T("Floppy0")); bufValueName[6] = _T('0') + (TCHAR)slot; Settings_LoadStringValue(bufValueName, buffer, MAX_PATH); }
void Settings_GetHardFilePath(int slot, LPTSTR buffer) { TCHAR bufValueName[6]; lstrcpy(bufValueName, _T("Hard1")); bufValueName[4] = _T('1') + (TCHAR)slot; Settings_LoadStringValue(bufValueName, buffer, MAX_PATH); }
void Settings_GetRender(LPTSTR buffer) { if (!Settings_LoadStringValue(_T("Render"), buffer, 32)) { _tcscpy(buffer, _T("RenderVfw.dll")); } }
BOOL Settings_LoadDwordValue(LPCTSTR sName, DWORD* dwValue) { TCHAR buffer[12]; if (!Settings_LoadStringValue(sName, buffer, 12)) return FALSE; int result = swscanf(buffer, _T("%lu"), dwValue); if (result == 0) return FALSE; return TRUE; }
BOOL Settings_LoadBinaryValue(LPCTSTR sName, void * pData, int size) { size_t buffersize = (size * 2 + 1) * sizeof(TCHAR); TCHAR* buffer = (TCHAR*) ::malloc(buffersize); if (!Settings_LoadStringValue(sName, buffer, buffersize)) { free(buffer); return FALSE; } BYTE* p = (BYTE*) pData; TCHAR* buf = buffer; for (int i = 0; i < size; i++) { BYTE v = 0; TCHAR ch = *buf; if (ch >= _T('0') && ch <= _T('9')) v = ch - _T('0'); else if (ch >= _T('A') && ch <= _T('F')) v = ch - _T('A') + 10; else // Not hex { free(buffer); return FALSE; } buf++; v = v << 4; ch = *buf; if (ch >= _T('0') && ch <= _T('9')) v |= ch - _T('0'); else if (ch >= _T('A') && ch <= _T('F')) v |= ch - _T('A') + 10; else // Not hex { free(buffer); return FALSE; } buf++; *p = v; p++; } free(buffer); return TRUE; }
void Settings_GetNetComPort(LPTSTR buffer) { Settings_LoadStringValue(_T("NetComPort"), buffer, 10); }
void Settings_GetSerialPort(LPTSTR buffer) { Settings_LoadStringValue(_T("SerialPort"), buffer, 10); }
void Settings_GetCartridgeFilePath(int slot, LPTSTR buffer) { TCHAR bufValueName[] = _T("Cartridge0"); bufValueName[9] = slot + _T('0'); Settings_LoadStringValue(bufValueName, buffer, MAX_PATH); }
void Settings_GetFloppyFilePath(int slot, LPTSTR buffer) { TCHAR bufValueName[] = _T("Floppy0"); bufValueName[6] = slot + _T('0'); Settings_LoadStringValue(bufValueName, buffer, MAX_PATH); }