diff options
Diffstat (limited to 'win32/plugins')
53 files changed, 10699 insertions, 10699 deletions
diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.cpp b/win32/plugins/PadSSSPSX/PadSSSPSX.cpp index 8de98114..8c494e4d 100644..100755 --- a/win32/plugins/PadSSSPSX/PadSSSPSX.cpp +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.cpp @@ -1,1144 +1,1144 @@ -#define WINVER 0x0500
-#define _WIN32_WINNT WINVER
-#define DIRECTINPUT_VERSION 0x0800
-
-// Modified by Wei Mingzhi <whistler_wmz@users.sf.net> at 10/2/2009
-// Added default keys, use registry instead of configuration file
-
-// Modified by Wei Mingzhi <whistler_wmz@users.sf.net> at 12/3/2009
-// Quick hack fix for FF8 "reverting" problem in menus
-// Added configuration for enabling/disabling DualShock
-
-#include <windows.h>
-#include <windowsx.h>
-#include <commctrl.h>
-#include <dinput.h>
-
-#include "PadSSSPSX.h"
-
-static const char* LibraryName = "SSSPSX PAD Plugin Pressure Mod";
-static const unsigned char version = 0x0002;
-static const unsigned char revision = 1;
-static const unsigned char build = 6;
-
-HMODULE hInstance;
-HWND hTargetWnd;
-
-static void (CALLBACK *gpuVisualVibration)(unsigned long, unsigned long) = NULL;
-
-static struct
-{
- Config config;
- int devcnt;
- LPDIRECTINPUT8 pDInput;
- LPDIRECTINPUTDEVICE8 pDKeyboard;
- LPDIRECTINPUTDEVICE8 pDDevice[4];
- LPDIRECTINPUTEFFECT pDEffect[4][2]; /* for Small & Big Motor */
- DIJOYSTATE JoyState[4];
- u16 padStat[2];
- int padID[2];
- int padMode1[2];
- int padMode2[2];
- int padModeE[2];
- int padModeC[2];
- int padModeF[2];
- int padVib0[2];
- int padVib1[2];
- int padVibF[2][4];
- int padVibC[2];
- DWORD padPress[2][16];
- int curPad;
- int curByte;
- int curCmd;
- int cmdLen;
-} global;
-
-static BOOL CALLBACK EnumAxesCallback (LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef)
-{
- LPDIRECTINPUTDEVICE8 pDDevice = (LPDIRECTINPUTDEVICE8)pvRef;
- DIPROPRANGE diprg;
- diprg.diph.dwSize = sizeof (diprg);
- diprg.diph.dwHeaderSize = sizeof (diprg.diph);
- diprg.diph.dwObj = lpddoi->dwType;
- diprg.diph.dwHow = DIPH_BYID;
- diprg.lMin = -128;
- diprg.lMax = 127;
- pDDevice->SetProperty (DIPROP_RANGE, &diprg.diph);
- return DIENUM_CONTINUE;
-}
-
-static BOOL CALLBACK EnumJoysticksCallback (const DIDEVICEINSTANCE* instance, VOID* pContext)
-{
- const int devno = global.devcnt;
- if (devno >= 4)
- return DIENUM_STOP;
- HRESULT result = global.pDInput->CreateDevice (instance->guidInstance, &global.pDDevice[devno], NULL);
- if (FAILED (result))
- return DIENUM_CONTINUE;
- global.devcnt++;
- return DIENUM_CONTINUE;
-}
-
-static bool ReleaseDirectInput (void)
-{
- int index = 4;
- while (index--)
- {
- if (global.pDEffect[index][0])
- {
- global.pDEffect[index][0]->Unload();
- global.pDEffect[index][0]->Release();
- global.pDEffect[index][0] = NULL;
- }
- if (global.pDEffect[index][1])
- {
- global.pDEffect[index][1]->Unload();
- global.pDEffect[index][1]->Release();
- global.pDEffect[index][1] = NULL;
- }
- if (global.pDDevice[index])
- {
- global.pDDevice[index]->Unacquire();
- global.pDDevice[index]->Release();
- global.pDDevice[index] = NULL;
- }
- }
- if (global.pDKeyboard)
- {
- global.pDKeyboard->Unacquire();
- global.pDKeyboard->Release();
- global.pDKeyboard = NULL;
- }
- if (global.pDInput)
- {
- global.pDInput->Release();
- global.pDInput = NULL;
- }
- global.devcnt = 0;
- return FALSE;
-}
-
-static bool InitDirectInput (void)
-{
- if (global.pDInput)
- return TRUE;
- HRESULT result = DirectInput8Create (hInstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&global.pDInput, NULL);
- if (FAILED (result))
- return ReleaseDirectInput();
- result = global.pDInput->CreateDevice (GUID_SysKeyboard, &global.pDKeyboard, NULL);
- if (FAILED (result))
- return ReleaseDirectInput();
- result = global.pDInput->EnumDevices (DI8DEVCLASS_GAMECTRL, EnumJoysticksCallback, NULL, DIEDFL_ATTACHEDONLY);
- if (FAILED (result))
- return ReleaseDirectInput();
- result = global.pDKeyboard->SetDataFormat (&c_dfDIKeyboard);
- if (FAILED (result))
- return ReleaseDirectInput();
- if (hTargetWnd)
- {
- global.pDKeyboard->Unacquire();
- result = global.pDKeyboard->SetCooperativeLevel (hTargetWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE);
- if (FAILED (result))
- return ReleaseDirectInput();
- }
- int index = global.devcnt;
- while (index--)
- {
- const LPDIRECTINPUTDEVICE8 pDDevice = global.pDDevice[index];
- result = pDDevice->SetDataFormat (&c_dfDIJoystick);
- if (FAILED (result))
- return ReleaseDirectInput();
- if (hTargetWnd)
- {
- pDDevice->Unacquire();
- result = pDDevice->SetCooperativeLevel (hTargetWnd, DISCL_FOREGROUND | DISCL_EXCLUSIVE);
- if (FAILED (result))
- return ReleaseDirectInput();
- }
- struct
- {
- DIPROPDWORD dipdw;
- DWORD rgdwAxes[2];
- LONG rglDirection[2];
- DIPERIODIC per;
- DICONSTANTFORCE cf;
- DIEFFECT eff;
- } local;
- memset (&local, 0, sizeof (local));
- local.dipdw.diph.dwSize = sizeof (DIPROPDWORD);
- local.dipdw.diph.dwHeaderSize = sizeof (DIPROPHEADER);
- local.dipdw.diph.dwHow = DIPH_DEVICE;
- local.dipdw.dwData = DIPROPAUTOCENTER_OFF;
- pDDevice->SetProperty (DIPROP_AUTOCENTER, &local.dipdw.diph);
- result = pDDevice->EnumObjects (EnumAxesCallback, pDDevice, DIDFT_AXIS);
- if (FAILED (result))
- return ReleaseDirectInput();
-
- local.rgdwAxes[0] = DIJOFS_X;
- local.rgdwAxes[1] = DIJOFS_Y;
- local.eff.dwSize = sizeof (DIEFFECT);
- local.eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
- local.eff.dwDuration = INFINITE;
- local.eff.dwGain = DI_FFNOMINALMAX;
- local.eff.dwTriggerButton = DIEB_NOTRIGGER;
- local.eff.cAxes = 2;
- local.eff.rgdwAxes = local.rgdwAxes;
- local.eff.rglDirection = local.rglDirection;
-
- /* Small Motor */
- local.eff.cbTypeSpecificParams = sizeof (DIPERIODIC);
- local.eff.lpvTypeSpecificParams = &local.per;
- result = pDDevice->CreateEffect (GUID_Square , &local.eff, &global.pDEffect[index][0], NULL);
- if (FAILED (result))
- global.pDEffect[index][0] = NULL;
-
- /* Big Motor */
- local.eff.cbTypeSpecificParams = sizeof (DICONSTANTFORCE);
- local.eff.lpvTypeSpecificParams = &local.cf;
- result = pDDevice->CreateEffect (GUID_ConstantForce , &local.eff, &global.pDEffect[index][1], NULL);
- if (FAILED (result))
- global.pDEffect[index][1] = NULL;
- }
- return TRUE;
-}
-
-static bool AcquireDevice (LPDIRECTINPUTDEVICE8 lpDirectInputDevice)
-{
- if (FAILED (lpDirectInputDevice->Acquire()))
- {
- HRESULT result = lpDirectInputDevice->Acquire();
- if (result == DIERR_OTHERAPPHASPRIO)
- return FALSE;
- if (FAILED (result))
- return ReleaseDirectInput();
- }
- return TRUE;
-}
-
-/* Small Motor */
-static bool SetDeviceForceS (int pad, DWORD force)
-{
- InitDirectInput();
- if (global.pDEffect[pad][0])
- {
- if ( force == 0) {
- if (FAILED (global.pDEffect[pad][0]->Stop())) {
- AcquireDevice (global.pDDevice[pad]);
- if (FAILED (global.pDEffect[pad][0]->Stop()))
- return ReleaseDirectInput();
- }
- return TRUE;
- }
- LONG rglDirection[2] = { 0, 0 };
- DIPERIODIC per;
- rglDirection[0] = force;
- rglDirection[1] = force;
- per.dwMagnitude = force;
- per.dwPeriod = (DWORD) (0.01 * DI_SECONDS);
- per.lOffset = 0;
- per.dwPhase = 0;
- DIEFFECT eff;
- eff.dwSize = sizeof (DIEFFECT);
- eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
- eff.cAxes = 2;
- eff.rglDirection = rglDirection;
- eff.lpEnvelope = 0;
- eff.cbTypeSpecificParams = sizeof (DIPERIODIC);
- eff.lpvTypeSpecificParams = &per;
- if (FAILED (global.pDEffect[pad][0]->SetParameters (&eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START)))
- return ReleaseDirectInput();
- if (FAILED (global.pDEffect[pad][0]->Start (1, 0)))
- {
- AcquireDevice (global.pDDevice[pad]);
- if (FAILED (global.pDEffect[pad][0]->Start (1, 0)))
- return ReleaseDirectInput();
- }
- }
- return TRUE;
-}
-
-/* Big Motor */
-static bool SetDeviceForceB (int pad, DWORD force)
-{
- InitDirectInput();
- if (global.pDEffect[pad][1])
- {
- if ( force == 0) {
- if (FAILED (global.pDEffect[pad][1]->Stop())) {
- AcquireDevice (global.pDDevice[pad]);
- if (FAILED (global.pDEffect[pad][1]->Stop()))
- return ReleaseDirectInput();
- }
- return TRUE;
- }
- LONG rglDirection[2] = { 0, 0 };
- DICONSTANTFORCE cf;
- rglDirection[0] = force;
- rglDirection[1] = force;
- cf.lMagnitude = force;
- DIEFFECT eff;
- eff.dwSize = sizeof (DIEFFECT);
- eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
- eff.cAxes = 2;
- eff.rglDirection = rglDirection;
- eff.lpEnvelope = 0;
- eff.cbTypeSpecificParams = sizeof (DICONSTANTFORCE);
- eff.lpvTypeSpecificParams = &cf;
- if (FAILED (global.pDEffect[pad][1]->SetParameters (&eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START)))
- return ReleaseDirectInput();
- if (FAILED (global.pDEffect[pad][1]->Start (1, 0)))
- {
- AcquireDevice (global.pDDevice[pad]);
- if (FAILED (global.pDEffect[pad][1]->Start (1, 0)))
- return ReleaseDirectInput();
- }
- }
- return TRUE;
-}
-
-static bool GetJoyState (const int devno)
-{
- InitDirectInput();
- if (global.pDDevice[devno] == NULL)
- return FALSE;
- global.pDDevice[devno]->Poll();
- if (FAILED (global.pDDevice[devno]->GetDeviceState (sizeof (DIJOYSTATE), &global.JoyState[devno])))
- {
- AcquireDevice (global.pDDevice[devno]);
- return FALSE;
- }
- return TRUE;
-}
-
-static bool GetKeyState (u8* keyboard)
-{
- InitDirectInput();
- if (global.pDKeyboard == NULL)
- return FALSE;
- global.pDKeyboard->Poll();
- if (FAILED (global.pDKeyboard->GetDeviceState (256, keyboard)))
- {
- AcquireDevice (global.pDKeyboard);
- return FALSE;
- }
- return TRUE;
-}
-
-static void SetDefaultConfig (void)
-{
- memset (&global.config, 0, sizeof(global.config));
-
- global.config.keys[0][0] = 0x2E;
- global.config.keys[0][3] = 0x2F;
- global.config.keys[0][4] = 0xC8;
- global.config.keys[0][5] = 0xCD;
- global.config.keys[0][6] = 0xD0;
- global.config.keys[0][7] = 0xCB;
- global.config.keys[0][8] = 0x12;
- global.config.keys[0][9] = 0x14;
- global.config.keys[0][10] = 0x11;
- global.config.keys[0][11] = 0x13;
- global.config.keys[0][12] = 0x20;
- global.config.keys[0][13] = 0x2D;
- global.config.keys[0][14] = 0x2C;
- global.config.keys[0][15] = 0x1F;
-
- global.config.dualshock = FALSE;
-}
-
-static void SaveConfig (void)
-{
- HKEY myKey;
- DWORD myDisp;
-
- RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Vision Thing\\PSEmu Pro\\PAD\\PadSSSPSX", 0, NULL,
- REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &myKey, &myDisp);
-
- RegSetValueEx(myKey, "cfg", 0, REG_BINARY, (CONST BYTE *)&global.config, sizeof(global.config));
-
- RegCloseKey(myKey);
-}
-
-static void LoadConfig (void)
-{
- HKEY myKey;
- DWORD type, size;
-
- SetDefaultConfig ();
-
- if (RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\Vision Thing\\PSEmu Pro\\PAD\\PadSSSPSX", 0,
- KEY_ALL_ACCESS, &myKey) == ERROR_SUCCESS)
- {
- size = sizeof(global.config);
- RegQueryValueEx (myKey, "cfg", NULL, &type, (LPBYTE)&global.config, &size);
- RegCloseKey (myKey);
- }
-
- global.padVibC[0] = global.padVibC[1] = -1;
- for (int cnt = 21; cnt--; )
- {
- const int key0 = global.config.keys[0][cnt];
- if (key0 >= 0x1000)
- global.padVibC[0] = (key0 & 0xfff) / 0x100;
- const int key1 = global.config.keys[1][cnt];
- if (key1 >= 0x1000)
- global.padVibC[1] = (key1 & 0xfff) / 0x100;
- }
-}
-
-static void PADsetMode (const int pad, const int mode)
-{
- static const u8 padID[] = { 0x41, 0x73, 0x41, 0x79 };
- global.padMode1[pad] = mode;
- global.padVib0[pad] = 0;
- global.padVib1[pad] = 0;
- global.padVibF[pad][0] = 0;
- global.padVibF[pad][1] = 0;
- global.padID[pad] = padID[global.padMode2[pad] * 2 + mode];
-}
-
-static void KeyPress (const int pad, const int index, const bool press)
-{
- if (index < 16)
- {
- if (press)
- {
- global.padStat[pad] &= ~(1 << index);
- if (global.padPress[pad][index] == 0)
- global.padPress[pad][index] = GetTickCount();
- }
- else
- {
- global.padStat[pad] |= 1 << index;
- global.padPress[pad][index] = 0;
- }
- }
- else if (global.config.dualshock)
- {
- static bool prev[2] = { FALSE, FALSE };
- if ((prev[pad] != press) && (global.padModeF[pad] == 0))
- {
- prev[pad] = press;
- if (press) PADsetMode (pad, !global.padMode1[pad]);
- }
- }
-}
-
-static void UpdateState (const int pad)
-{
- static int flag_keyboard;
- static int flag_joypad[4];
- if (pad == 0)
- {
- flag_keyboard = 0;
- flag_joypad[0] = 0;
- flag_joypad[1] = 0;
- flag_joypad[2] = 0;
- flag_joypad[3] = 0;
- }
- static u8 keystate[256];
- for (int index = 17; index--; )
- {
- const int key = global.config.keys[pad][index];
- if (key == 0)
- continue;
- else if (key < 0x100)
- {
- if (flag_keyboard == FALSE)
- {
- flag_keyboard = TRUE;
- if (GetKeyState (keystate) == FALSE)
- return;
- }
- KeyPress (pad, index, keystate[key] & 0x80);
- }
- else
- {
- const int joypad = ((key & 0xfff) / 100);
- if (flag_joypad[joypad] == FALSE)
- {
- flag_joypad[joypad] = TRUE;
- if (GetJoyState (joypad) == FALSE)
- return;
- }
- if (key < 0x2000)
- {
- KeyPress (pad, index, global.JoyState[joypad].rgbButtons[key & 0xff]);
- }
- else if (key < 0x3000)
- {
- const int state = ((int*)&global.JoyState[joypad].lX)[(key & 0xff) /2];
- switch (key & 1)
- {
- case 0: KeyPress (pad, index, state < -64); break;
- case 1: KeyPress (pad, index, state >= 64); break;
- }
- }
- else
- {
- const u32 state = global.JoyState[joypad].rgdwPOV[(key & 0xff) /4];
- switch (key & 3)
- {
- case 0: KeyPress (pad, index, (state >= 0 && state <= 4500) || (state >= 31500 && state <= 36000)); break;
- case 1: KeyPress (pad, index, state >= 4500 && state <= 13500); break;
- case 2: KeyPress (pad, index, state >= 13500 && state <= 22500); break;
- case 3: KeyPress (pad, index, state >= 22500 && state <= 31500); break;
- }
- }
- }
- }
-
- /* Small Motor */
- const int vib0 = global.padVibF[pad][0] ? 10000 : 0;
- if ((global.padVibF[pad][2] != vib0) && (global.padVibC[pad] >= 0))
- {
- global.padVibF[pad][2] = vib0;
- SetDeviceForceS (global.padVibC[pad], vib0);
- }
- /* Big Motor */
- const int vib1 = global.padVibF[pad][1] ? 500 + 37*global.padVibF[pad][1] : 0;
- if ((global.padVibF[pad][3] != vib1) && (global.padVibC[pad] >= 0))
- {
- global.padVibF[pad][3] = vib1;
- SetDeviceForceB (global.padVibC[pad], vib1);
- }
-}
-
-static void set_label (const HWND hWnd, const int pad, const int index)
-{
- const int key = global.config.keys[pad][index];
- char buff[64];
- if (key < 0x100)
- {
- if (key == 0)
- strcpy (buff, "NONE");
- else if (GetKeyNameText (key << 16, buff, sizeof (buff)) == 0)
- wsprintf (buff, "Keyboard 0x%02X", key);
- }
- else if (key >= 0x1000 && key < 0x2000)
- {
- wsprintf (buff, "J%d_%d", (key & 0xfff) / 0x100, (key & 0xff) + 1);
- }
- else if (key >= 0x2000 && key < 0x3000)
- {
- static const char name[][4] = { "MIN", "MAX" };
- const int axis = (key & 0xff);
- wsprintf (buff, "J%d_AXIS%d_%s", (key & 0xfff) / 0x100, axis / 2, name[axis % 2]);
- if (index >= 17 && index <= 20)
- buff[strlen (buff) -4] = '\0';
- }
- else if (key >= 0x3000 && key < 0x4000)
- {
- static const char name[][7] = { "FOWARD", "RIGHT", "BACK", "LEFT" };
- const int pov = (key & 0xff);
- wsprintf (buff, "J%d_POV%d_%s", (key & 0xfff) / 0x100, pov /4, name[pov % 4]);
- }
- Button_SetText (GetDlgItem (hWnd, IDC_ESELECT + index), buff);
-}
-
-static BOOL CALLBACK ConfigureDlgProc (const HWND hWnd, const UINT msg, const WPARAM wParam, const LPARAM lParam)
-{
- static BYTE keymaps[2][256];
- static DWORD countdown;
- static int disabled;
- static HWND hTabWnd;
- static int pad;
- int cnt1;
- int cnt2;
- int key;
- switch (msg)
- {
- case WM_INITDIALOG:
- hTargetWnd = hWnd;
- pad = disabled = 0;
- LoadConfig();
- for (cnt1 = 21; cnt1--; )
- set_label (hWnd, pad, cnt1);
- hTabWnd = GetDlgItem (hWnd, IDC_TABC);
- TCITEM tcI;
- tcI.mask = TCIF_TEXT;
- tcI.pszText = "PAD1";
- TabCtrl_InsertItem (hTabWnd, 0, &tcI);
- tcI.mask = TCIF_TEXT;
- tcI.pszText = "PAD2";
- TabCtrl_InsertItem (hTabWnd, 1, &tcI);
- CheckDlgButton(hWnd, IDC_DS2, global.config.dualshock);
- CheckDlgButton(hWnd, IDC_VV3, global.config.visualvibration[0]);
- EnableWindow(GetDlgItem(hWnd, IDC_BMODE), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BLAX), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BLAY), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BRAX), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BRAY), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BL3), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BR3), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_EMODE), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ELAX), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ELAY), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ERAX), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ERAY), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_EL3), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ER3), global.config.dualshock);
- SetTimer (hWnd, 0x80, 50, NULL);
- return TRUE;
- case WM_DESTROY:
- break;
- case WM_NOTIFY:
- if (wParam == IDC_TABC)
- {
- if (disabled)
- EnableWindow (GetDlgItem (hWnd, disabled), TRUE);
- disabled = 0;
- pad = TabCtrl_GetCurSel (hTabWnd);
- for (cnt1 = 21; cnt1--; )
- set_label (hWnd, pad, cnt1);
- CheckDlgButton(hWnd, IDC_VV3, global.config.visualvibration[pad]);
- }
- break;
- case WM_COMMAND:
- for (cnt1 = 21; cnt1--; )
- {
- if (LOWORD (wParam) == IDC_BSELECT + cnt1)
- {
- if (disabled)
- EnableWindow (GetDlgItem (hWnd, disabled), TRUE);
- EnableWindow (GetDlgItem (hWnd, disabled = wParam), FALSE);
- EnableWindow (GetDlgItem (hWnd, IDC_DS2), FALSE);
- countdown = GetTickCount();
- GetKeyState (keymaps[0]);
- return TRUE;
- }
- }
- if (LOWORD (wParam) == IDOK)
- EndDialog (hWnd, IDOK);
- else if (LOWORD (wParam) == IDCANCEL)
- EndDialog (hWnd, IDCANCEL);
- else if (LOWORD (wParam) == IDC_DS2)
- {
- global.config.dualshock = IsDlgButtonChecked(hWnd, IDC_DS2);
-
- EnableWindow(GetDlgItem(hWnd, IDC_BMODE), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BLAX), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BLAY), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BRAX), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BRAY), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BL3), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_BR3), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_EMODE), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ELAX), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ELAY), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ERAX), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ERAY), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_EL3), global.config.dualshock);
- EnableWindow(GetDlgItem(hWnd, IDC_ER3), global.config.dualshock);
- }
- else if (LOWORD (wParam) == IDC_VV3)
- {
- global.config.visualvibration[pad] ^= 1;
- }
- break;
- case WM_TIMER:
- if (disabled)
- {
- const int index = disabled - IDC_BSELECT;
- int analog = FALSE;
- if ((GetTickCount() - countdown) / 1000 != 10)
- {
- char buff[64];
- wsprintf (buff, "Timeout: %d", 10 - (GetTickCount() - countdown) / 1000);
- SetWindowText (GetDlgItem (hWnd, IDC_ESELECT + index), buff);
- }
- else
- {
- global.config.keys[pad][index] = 0;
- set_label (hWnd, pad, index);
- EnableWindow (GetDlgItem (hWnd, disabled), TRUE);
- EnableWindow (GetDlgItem (hWnd, IDC_DS2), TRUE);
- disabled = 0;
- break;
- }
- if (GetKeyState (keymaps[1]) == FALSE)
- break;
- for (key = 0x100; key--; )
- {
- if (~keymaps[0][key] & keymaps[1][key] & 0x80)
- break;
- }
- for (cnt1 = global.devcnt; cnt1--;)
- {
- if (GetJoyState (cnt1) == FALSE)
- break;
-
- for (cnt2 = 32; cnt2--; )
- {
- if (global.JoyState[cnt1].rgbButtons[cnt2])
- key = 0x1000 + 0x100 * cnt1 + cnt2;
- }
- for (cnt2 = 8; cnt2--; )
- {
- const int now = ((u32*)&global.JoyState[cnt1].lX)[cnt2];
- if (now < -64)
- {
- key = 0x2000 + 0x100 * cnt1 + cnt2 * 2 +0;
- analog = TRUE;
- }
- else if (now >= 64)
- {
- key = 0x2000 + 0x100 * cnt1 + cnt2 * 2 +1;
- analog = TRUE;
- }
- }
- for (cnt2 = 4; cnt2--; )
- {
- const u32 now = global.JoyState[cnt1].rgdwPOV[cnt2];
- if ((now >= 0 && now < 4500) || (now >= 31500 && now < 36000))
- key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +0;
- if (now >= 4500 && now < 13500)
- key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +1;
- if (now >= 13500 && now < 22500)
- key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +2;
- if (now >= 22500 && now < 31500)
- key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +3;
- }
- }
- if (index >= 17 && index <= 20 && analog == 0)
- key = 0;
- else if (key > 0)
- {
- if (key != 1)
- global.config.keys[pad][index] = key;
- set_label (hWnd, pad, index);
- EnableWindow (GetDlgItem (hWnd, disabled), TRUE);
- EnableWindow (GetDlgItem (hWnd, IDC_DS2), TRUE);
- disabled = 0;
- }
- }
- }
- return FALSE;
-}
-
-u32 CALLBACK PS2EgetLibType (void)
-{
- return 0x02;
-}
-
-const char* CALLBACK PS2EgetLibName (void)
-{
- return LibraryName;
-}
-
-u32 CALLBACK PS2EgetLibVersion2 (u32 type)
-{
- return (version << 16) | (revision << 8) | build;
-}
-
-u32 CALLBACK PSEgetLibType (void)
-{
- return 8;
-}
-
-const char* CALLBACK PSEgetLibName (void)
-{
- return LibraryName;
-}
-
-u32 CALLBACK PSEgetLibVersion (void)
-{
- return (version << 16) | (revision << 8) | build;
-}
-
-s32 CALLBACK PADinit (u32 flags)
-{
- return 0;
-}
-
-void CALLBACK PADshutdown (void)
-{
-}
-
-static int n_open = 0;
-s32 CALLBACK PADopen (HWND hWnd)
-{
- if (!IsWindow (hWnd) && !IsBadReadPtr ((u32*)hWnd, 4))
- hWnd = *(HWND*)hWnd;
- if (!IsWindow (hWnd))
- hWnd = NULL;
- else
- {
- while (GetWindowLong (hWnd, GWL_STYLE) & WS_CHILD)
- hWnd = GetParent (hWnd);
- }
- hTargetWnd = hWnd;
- if (n_open++ == FALSE)
- {
- memset (&global, 0, sizeof (global));
- global.padStat[0] = 0xffff;
- global.padStat[1] = 0xffff;
- LoadConfig();
- PADsetMode (0, 0);
- PADsetMode (1, 0);
- }
- return 0;
-}
-
-void CALLBACK PADclose (void)
-{
- if (--n_open == 0)
- ReleaseDirectInput();
-}
-
-u32 CALLBACK PADquery (void)
-{
- return 3;
-}
-
-u8 CALLBACK PADstartPoll (int pad)
-{
- global.curPad = pad -1;
- global.curByte = 0;
- return 0xff;
-}
-
-static const u8 cmd40[8] =
-{
- 0xff, 0x5a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x5a
-};
-static const u8 cmd41[8] =
-{
- 0xff, 0x5a, 0xff, 0xff, 0x03, 0x00, 0x00, 0x5a,
-};
-static const u8 cmd44[8] =
-{
- 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-static const u8 cmd45[8] =
-{
- 0xff, 0x5a, 0x03, 0x02, 0x01, 0x02, 0x01, 0x00,
-};
-static const u8 cmd46[8] =
-{
- 0xff, 0x5a, 0x00, 0x00, 0x01, 0x02, 0x00, 0x0a,
-};
-static const u8 cmd47[8] =
-{
- 0xff, 0x5a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00,
-};
-static const u8 cmd4c[8] =
-{
- 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-static const u8 cmd4d[8] =
-{
- 0xff, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-};
-static const u8 cmd4f[8] =
-{
- 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a,
-};
-
-static u8 get_analog (const int key)
-{
- const int pad = ((key & 0xf00) / 0x100);
- const int pos = ((key & 0x0ff) /2);
-// return (u8)(((int*)&global.JoyState[pad].lX)[pos] + 128);
- u8 r = (u8)(((int*)&global.JoyState[pad].lX)[pos] + 128);
- if (r == 128) r = 127; // FIXME: ???
- return r;
-}
-
-static u8 get_pressure (const DWORD now, const DWORD press)
-{
- /*if (press == 0)
- return 0;
- return (u8)((now - press > 2550) ? 255 : (now - press) / 10);*/
- return 255;
-}
-
-u8 CALLBACK PADpoll (u8 value)
-{
- const int pad = global.curPad;
- const int cur = global.curByte;
- static u8 buf[20];
-
- if (!global.config.dualshock)
- {
- value = 0x42;
- }
-
- if (cur == 0)
- {
- global.curByte++;
- global.curCmd = value;
- switch (value)
- {
- case 0x40:
- global.cmdLen = sizeof (cmd40);
- memcpy (buf, cmd40, sizeof (cmd40));
- return 0xf3;
- case 0x41:
- global.cmdLen = sizeof (cmd41);
- memcpy (buf, cmd41, sizeof (cmd41));
- return 0xf3;
- case 0x42:
- case 0x43:
- if (value == 0x42) UpdateState (pad);
- global.cmdLen = 2 + 2 * (global.padID[pad] & 0x0f);
- buf[1] = global.padModeC[pad] ? 0x00 : 0x5a;
- *(u16*)&buf[2] = global.padStat[pad];
- if (value == 0x43 && global.padModeE[pad])
- {
- buf[4] = 0;
- buf[5] = 0;
- buf[6] = 0;
- buf[7] = 0;
- return 0xf3;
- }
- else
- {
- buf[ 4] = get_analog (global.config.keys[pad][19]);
- buf[ 5] = get_analog (global.config.keys[pad][20]);
- buf[ 6] = get_analog (global.config.keys[pad][17]);
- buf[ 7] = get_analog (global.config.keys[pad][18]);
-
- if (global.padID[pad] == 0x79)
- {
- const DWORD now = GetTickCount();
- buf[ 8] = get_pressure (now, global.padPress[pad][2]);
- buf[ 9] = get_pressure (now, global.padPress[pad][0]);
- buf[10] = get_pressure (now, global.padPress[pad][3]);
- buf[11] = get_pressure (now, global.padPress[pad][1]);
- buf[12] = get_pressure (now, global.padPress[pad][11]);
- buf[13] = get_pressure (now, global.padPress[pad][10]);
- buf[14] = get_pressure (now, global.padPress[pad][9]);
- buf[15] = get_pressure (now, global.padPress[pad][8]);
- buf[16] = get_pressure (now, global.padPress[pad][13]);
- buf[17] = get_pressure (now, global.padPress[pad][12]);
- buf[18] = get_pressure (now, global.padPress[pad][15]);
- buf[19] = get_pressure (now, global.padPress[pad][14]);
- }
- return (u8)global.padID[pad];
- }
- break;
- case 0x44:
- global.cmdLen = sizeof (cmd44);
- memcpy (buf, cmd44, sizeof (cmd44));
- return 0xf3;
- case 0x45:
- global.cmdLen = sizeof (cmd45);
- memcpy (buf, cmd45, sizeof (cmd45));
- buf[4] = (u8)global.padMode1[pad];
- return 0xf3;
- case 0x46:
- global.cmdLen = sizeof (cmd46);
- memcpy (buf, cmd46, sizeof (cmd46));
- return 0xf3;
- case 0x47:
- global.cmdLen = sizeof (cmd47);
- memcpy (buf, cmd47, sizeof (cmd47));
- return 0xf3;
- case 0x4c:
- global.cmdLen = sizeof (cmd4c);
- memcpy (buf, cmd4c, sizeof (cmd4c));
- return 0xf3;
- case 0x4d:
- global.cmdLen = sizeof (cmd4d);
- memcpy (buf, cmd4d, sizeof (cmd4d));
- return 0xf3;
- case 0x4f:
- global.padID[pad] = 0x79;
- global.padMode2[pad] = 1;
- global.cmdLen = sizeof (cmd4f);
- memcpy (buf, cmd4f, sizeof (cmd4f));
- return 0xf3;
- }
- }
- switch (global.curCmd)
- {
- case 0x42:
- if (global.config.dualshock)
- {
- if (cur == global.padVib0[pad])
- {
- global.padVibF[pad][0] = value;
-
- if (gpuVisualVibration != NULL && (global.padVibF[pad][0] || global.padVibF[pad][1]) &&
- global.config.visualvibration[pad])
- gpuVisualVibration(global.padVibF[pad][0], global.padVibF[pad][1]);
- }
-
- if (cur == global.padVib1[pad])
- {
- global.padVibF[pad][1] = value;
-
- if (gpuVisualVibration != NULL && (global.padVibF[pad][0] || global.padVibF[pad][1]) &&
- global.config.visualvibration[pad])
- gpuVisualVibration(global.padVibF[pad][0], global.padVibF[pad][1]);
- }
- }
- break;
- case 0x43:
- if (cur == 2)
- {
- global.padModeE[pad] = value;
- global.padModeC[pad] = 0;
- }
- break;
- case 0x44:
- if (cur == 2)
- PADsetMode (pad, value);
- if (cur == 3)
- global.padModeF[pad] = (value == 3);
- break;
- case 0x46:
- if (cur == 2)
- {
- switch(value)
- {
- case 0:
- buf[5] = 0x02;
- buf[6] = 0x00;
- buf[7] = 0x0A;
- break;
- case 1:
- buf[5] = 0x01;
- buf[6] = 0x01;
- buf[7] = 0x14;
- break;
- }
- }
- break;
- case 0x4c:
- if (cur == 2)
- {
- static const u8 buf5[] = { 0x04, 0x07, 0x02, 0x05 };
- buf[5] = buf5[value & 3];
- }
- break;
- case 0x4d:
- if (cur >= 2)
- {
- if (cur == global.padVib0[pad])
- buf[cur] = 0x00;
- if (cur == global.padVib1[pad])
- buf[cur] = 0x01;
- if (value == 0x00)
- {
- global.padVib0[pad] = cur;
- if ((global.padID[pad] & 0x0f) < (cur - 1) / 2)
- global.padID[pad] = (global.padID[pad] & 0xf0) + (cur - 1) / 2;
- }
- else if (value == 0x01)
- {
- global.padVib1[pad] = cur;
- if ((global.padID[pad] & 0x0f) < (cur - 1) / 2)
- global.padID[pad] = (global.padID[pad] & 0xf0) + (cur - 1) / 2;
- }
- }
- break;
- }
- if (cur >= global.cmdLen)
- return 0;
- return buf[global.curByte++];
-}
-
-typedef struct
-{
- unsigned char controllerType;
- unsigned short buttonStatus;
- unsigned char rightJoyX, rightJoyY, leftJoyX, leftJoyY;
- unsigned char moveX, moveY;
- unsigned char reserved[91];
-} PadDataS;
-
-long PADreadPort1 (PadDataS* pads)
-{
- memset (pads, 0, sizeof (PadDataS));
- if ((global.padID[0] & 0xf0) == 0x40)
- pads->controllerType = 4;
- else
- pads->controllerType = 7;
- pads->buttonStatus = global.padStat[0];
- pads->leftJoyX = get_analog (global.config.keys[0][17]);
- pads->leftJoyY = get_analog (global.config.keys[0][18]);
- pads->rightJoyX = get_analog (global.config.keys[0][19]);
- pads->rightJoyY = get_analog (global.config.keys[0][20]);
- pads->moveX = 0;
- pads->moveY = 0;
- return 0;
-}
-
-long PADreadPort2 (PadDataS* pads)
-{
- memset (pads, 0, sizeof (PadDataS));
- if ((global.padID[1] & 0xf0) == 0x40)
- pads->controllerType = 4;
- else
- pads->controllerType = 7;
- pads->buttonStatus = global.padStat[1];
- pads->leftJoyX = get_analog (global.config.keys[1][17]);
- pads->leftJoyY = get_analog (global.config.keys[1][18]);
- pads->rightJoyX = get_analog (global.config.keys[1][19]);
- pads->rightJoyY = get_analog (global.config.keys[1][20]);
- pads->moveX = 0;
- pads->moveY = 0;
- return 0;
-}
-
-keyEvent* CALLBACK PADkeyEvent (void)
-{
- static keyEvent ev;
- static u8 state[2][256];
- if (n_open)
- {
- memcpy (state[0], state[1], sizeof (state[0]));
- GetKeyState (state[1]);
- for (int cnt = 0; cnt < 256; cnt++)
- {
- if (~state[0][cnt] & state[1][cnt] & 0x80)
- {
- ev.event = (state[1][cnt] & 0x80) ? 1 : 2;
- ev.key = MapVirtualKey (cnt, 1);
- return &ev;
- }
- }
- }
- return NULL;
-}
-
-void CALLBACK PADconfigure (void)
-{
- if (n_open == 0)
- {
- memset (&global, 0, sizeof (global));
- if (DialogBox (hInstance, MAKEINTRESOURCE (IDD_DIALOG1), GetActiveWindow(), (DLGPROC)ConfigureDlgProc) == IDOK)
- SaveConfig();
- ReleaseDirectInput();
- }
-}
-
-void CALLBACK PADabout (void)
-{
- MessageBox (0, "Copyright (C) 2004-2005 Nagisa", "SSSPSX PAD plugin", 0);
-}
-
-s32 CALLBACK PADtest (void)
-{
- return 0;
-}
-
-void CALLBACK PADregisterVibration(void (CALLBACK *callback)(unsigned long, unsigned long)) {
- gpuVisualVibration = callback;
-}
-
-//#ifdef _WIN64
-BOOL APIENTRY DllMain(HMODULE hInst, DWORD dwReason, LPVOID lpReserved)
-{
- hInstance = hInst;
- return TRUE;
-}
-//#else
-BOOL APIENTRY EntryPoint (HMODULE hInst, DWORD dwReason, LPVOID lpReserved)
-{
- hInstance = hInst;
- return TRUE;
-}
-//#endif
+#define WINVER 0x0500 +#define _WIN32_WINNT WINVER +#define DIRECTINPUT_VERSION 0x0800 + +// Modified by Wei Mingzhi <whistler_wmz@users.sf.net> at 10/2/2009 +// Added default keys, use registry instead of configuration file + +// Modified by Wei Mingzhi <whistler_wmz@users.sf.net> at 12/3/2009 +// Quick hack fix for FF8 "reverting" problem in menus +// Added configuration for enabling/disabling DualShock + +#include <windows.h> +#include <windowsx.h> +#include <commctrl.h> +#include <dinput.h> + +#include "PadSSSPSX.h" + +static const char* LibraryName = "SSSPSX PAD Plugin Pressure Mod"; +static const unsigned char version = 0x0002; +static const unsigned char revision = 1; +static const unsigned char build = 6; + +HMODULE hInstance; +HWND hTargetWnd; + +static void (CALLBACK *gpuVisualVibration)(unsigned long, unsigned long) = NULL; + +static struct +{ + Config config; + int devcnt; + LPDIRECTINPUT8 pDInput; + LPDIRECTINPUTDEVICE8 pDKeyboard; + LPDIRECTINPUTDEVICE8 pDDevice[4]; + LPDIRECTINPUTEFFECT pDEffect[4][2]; /* for Small & Big Motor */ + DIJOYSTATE JoyState[4]; + u16 padStat[2]; + int padID[2]; + int padMode1[2]; + int padMode2[2]; + int padModeE[2]; + int padModeC[2]; + int padModeF[2]; + int padVib0[2]; + int padVib1[2]; + int padVibF[2][4]; + int padVibC[2]; + DWORD padPress[2][16]; + int curPad; + int curByte; + int curCmd; + int cmdLen; +} global; + +static BOOL CALLBACK EnumAxesCallback (LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef) +{ + LPDIRECTINPUTDEVICE8 pDDevice = (LPDIRECTINPUTDEVICE8)pvRef; + DIPROPRANGE diprg; + diprg.diph.dwSize = sizeof (diprg); + diprg.diph.dwHeaderSize = sizeof (diprg.diph); + diprg.diph.dwObj = lpddoi->dwType; + diprg.diph.dwHow = DIPH_BYID; + diprg.lMin = -128; + diprg.lMax = 127; + pDDevice->SetProperty (DIPROP_RANGE, &diprg.diph); + return DIENUM_CONTINUE; +} + +static BOOL CALLBACK EnumJoysticksCallback (const DIDEVICEINSTANCE* instance, VOID* pContext) +{ + const int devno = global.devcnt; + if (devno >= 4) + return DIENUM_STOP; + HRESULT result = global.pDInput->CreateDevice (instance->guidInstance, &global.pDDevice[devno], NULL); + if (FAILED (result)) + return DIENUM_CONTINUE; + global.devcnt++; + return DIENUM_CONTINUE; +} + +static bool ReleaseDirectInput (void) +{ + int index = 4; + while (index--) + { + if (global.pDEffect[index][0]) + { + global.pDEffect[index][0]->Unload(); + global.pDEffect[index][0]->Release(); + global.pDEffect[index][0] = NULL; + } + if (global.pDEffect[index][1]) + { + global.pDEffect[index][1]->Unload(); + global.pDEffect[index][1]->Release(); + global.pDEffect[index][1] = NULL; + } + if (global.pDDevice[index]) + { + global.pDDevice[index]->Unacquire(); + global.pDDevice[index]->Release(); + global.pDDevice[index] = NULL; + } + } + if (global.pDKeyboard) + { + global.pDKeyboard->Unacquire(); + global.pDKeyboard->Release(); + global.pDKeyboard = NULL; + } + if (global.pDInput) + { + global.pDInput->Release(); + global.pDInput = NULL; + } + global.devcnt = 0; + return FALSE; +} + +static bool InitDirectInput (void) +{ + if (global.pDInput) + return TRUE; + HRESULT result = DirectInput8Create (hInstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&global.pDInput, NULL); + if (FAILED (result)) + return ReleaseDirectInput(); + result = global.pDInput->CreateDevice (GUID_SysKeyboard, &global.pDKeyboard, NULL); + if (FAILED (result)) + return ReleaseDirectInput(); + result = global.pDInput->EnumDevices (DI8DEVCLASS_GAMECTRL, EnumJoysticksCallback, NULL, DIEDFL_ATTACHEDONLY); + if (FAILED (result)) + return ReleaseDirectInput(); + result = global.pDKeyboard->SetDataFormat (&c_dfDIKeyboard); + if (FAILED (result)) + return ReleaseDirectInput(); + if (hTargetWnd) + { + global.pDKeyboard->Unacquire(); + result = global.pDKeyboard->SetCooperativeLevel (hTargetWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE); + if (FAILED (result)) + return ReleaseDirectInput(); + } + int index = global.devcnt; + while (index--) + { + const LPDIRECTINPUTDEVICE8 pDDevice = global.pDDevice[index]; + result = pDDevice->SetDataFormat (&c_dfDIJoystick); + if (FAILED (result)) + return ReleaseDirectInput(); + if (hTargetWnd) + { + pDDevice->Unacquire(); + result = pDDevice->SetCooperativeLevel (hTargetWnd, DISCL_FOREGROUND | DISCL_EXCLUSIVE); + if (FAILED (result)) + return ReleaseDirectInput(); + } + struct + { + DIPROPDWORD dipdw; + DWORD rgdwAxes[2]; + LONG rglDirection[2]; + DIPERIODIC per; + DICONSTANTFORCE cf; + DIEFFECT eff; + } local; + memset (&local, 0, sizeof (local)); + local.dipdw.diph.dwSize = sizeof (DIPROPDWORD); + local.dipdw.diph.dwHeaderSize = sizeof (DIPROPHEADER); + local.dipdw.diph.dwHow = DIPH_DEVICE; + local.dipdw.dwData = DIPROPAUTOCENTER_OFF; + pDDevice->SetProperty (DIPROP_AUTOCENTER, &local.dipdw.diph); + result = pDDevice->EnumObjects (EnumAxesCallback, pDDevice, DIDFT_AXIS); + if (FAILED (result)) + return ReleaseDirectInput(); + + local.rgdwAxes[0] = DIJOFS_X; + local.rgdwAxes[1] = DIJOFS_Y; + local.eff.dwSize = sizeof (DIEFFECT); + local.eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS; + local.eff.dwDuration = INFINITE; + local.eff.dwGain = DI_FFNOMINALMAX; + local.eff.dwTriggerButton = DIEB_NOTRIGGER; + local.eff.cAxes = 2; + local.eff.rgdwAxes = local.rgdwAxes; + local.eff.rglDirection = local.rglDirection; + + /* Small Motor */ + local.eff.cbTypeSpecificParams = sizeof (DIPERIODIC); + local.eff.lpvTypeSpecificParams = &local.per; + result = pDDevice->CreateEffect (GUID_Square , &local.eff, &global.pDEffect[index][0], NULL); + if (FAILED (result)) + global.pDEffect[index][0] = NULL; + + /* Big Motor */ + local.eff.cbTypeSpecificParams = sizeof (DICONSTANTFORCE); + local.eff.lpvTypeSpecificParams = &local.cf; + result = pDDevice->CreateEffect (GUID_ConstantForce , &local.eff, &global.pDEffect[index][1], NULL); + if (FAILED (result)) + global.pDEffect[index][1] = NULL; + } + return TRUE; +} + +static bool AcquireDevice (LPDIRECTINPUTDEVICE8 lpDirectInputDevice) +{ + if (FAILED (lpDirectInputDevice->Acquire())) + { + HRESULT result = lpDirectInputDevice->Acquire(); + if (result == DIERR_OTHERAPPHASPRIO) + return FALSE; + if (FAILED (result)) + return ReleaseDirectInput(); + } + return TRUE; +} + +/* Small Motor */ +static bool SetDeviceForceS (int pad, DWORD force) +{ + InitDirectInput(); + if (global.pDEffect[pad][0]) + { + if ( force == 0) { + if (FAILED (global.pDEffect[pad][0]->Stop())) { + AcquireDevice (global.pDDevice[pad]); + if (FAILED (global.pDEffect[pad][0]->Stop())) + return ReleaseDirectInput(); + } + return TRUE; + } + LONG rglDirection[2] = { 0, 0 }; + DIPERIODIC per; + rglDirection[0] = force; + rglDirection[1] = force; + per.dwMagnitude = force; + per.dwPeriod = (DWORD) (0.01 * DI_SECONDS); + per.lOffset = 0; + per.dwPhase = 0; + DIEFFECT eff; + eff.dwSize = sizeof (DIEFFECT); + eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS; + eff.cAxes = 2; + eff.rglDirection = rglDirection; + eff.lpEnvelope = 0; + eff.cbTypeSpecificParams = sizeof (DIPERIODIC); + eff.lpvTypeSpecificParams = &per; + if (FAILED (global.pDEffect[pad][0]->SetParameters (&eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START))) + return ReleaseDirectInput(); + if (FAILED (global.pDEffect[pad][0]->Start (1, 0))) + { + AcquireDevice (global.pDDevice[pad]); + if (FAILED (global.pDEffect[pad][0]->Start (1, 0))) + return ReleaseDirectInput(); + } + } + return TRUE; +} + +/* Big Motor */ +static bool SetDeviceForceB (int pad, DWORD force) +{ + InitDirectInput(); + if (global.pDEffect[pad][1]) + { + if ( force == 0) { + if (FAILED (global.pDEffect[pad][1]->Stop())) { + AcquireDevice (global.pDDevice[pad]); + if (FAILED (global.pDEffect[pad][1]->Stop())) + return ReleaseDirectInput(); + } + return TRUE; + } + LONG rglDirection[2] = { 0, 0 }; + DICONSTANTFORCE cf; + rglDirection[0] = force; + rglDirection[1] = force; + cf.lMagnitude = force; + DIEFFECT eff; + eff.dwSize = sizeof (DIEFFECT); + eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS; + eff.cAxes = 2; + eff.rglDirection = rglDirection; + eff.lpEnvelope = 0; + eff.cbTypeSpecificParams = sizeof (DICONSTANTFORCE); + eff.lpvTypeSpecificParams = &cf; + if (FAILED (global.pDEffect[pad][1]->SetParameters (&eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START))) + return ReleaseDirectInput(); + if (FAILED (global.pDEffect[pad][1]->Start (1, 0))) + { + AcquireDevice (global.pDDevice[pad]); + if (FAILED (global.pDEffect[pad][1]->Start (1, 0))) + return ReleaseDirectInput(); + } + } + return TRUE; +} + +static bool GetJoyState (const int devno) +{ + InitDirectInput(); + if (global.pDDevice[devno] == NULL) + return FALSE; + global.pDDevice[devno]->Poll(); + if (FAILED (global.pDDevice[devno]->GetDeviceState (sizeof (DIJOYSTATE), &global.JoyState[devno]))) + { + AcquireDevice (global.pDDevice[devno]); + return FALSE; + } + return TRUE; +} + +static bool GetKeyState (u8* keyboard) +{ + InitDirectInput(); + if (global.pDKeyboard == NULL) + return FALSE; + global.pDKeyboard->Poll(); + if (FAILED (global.pDKeyboard->GetDeviceState (256, keyboard))) + { + AcquireDevice (global.pDKeyboard); + return FALSE; + } + return TRUE; +} + +static void SetDefaultConfig (void) +{ + memset (&global.config, 0, sizeof(global.config)); + + global.config.keys[0][0] = 0x2E; + global.config.keys[0][3] = 0x2F; + global.config.keys[0][4] = 0xC8; + global.config.keys[0][5] = 0xCD; + global.config.keys[0][6] = 0xD0; + global.config.keys[0][7] = 0xCB; + global.config.keys[0][8] = 0x12; + global.config.keys[0][9] = 0x14; + global.config.keys[0][10] = 0x11; + global.config.keys[0][11] = 0x13; + global.config.keys[0][12] = 0x20; + global.config.keys[0][13] = 0x2D; + global.config.keys[0][14] = 0x2C; + global.config.keys[0][15] = 0x1F; + + global.config.dualshock = FALSE; +} + +static void SaveConfig (void) +{ + HKEY myKey; + DWORD myDisp; + + RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Vision Thing\\PSEmu Pro\\PAD\\PadSSSPSX", 0, NULL, + REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &myKey, &myDisp); + + RegSetValueEx(myKey, "cfg", 0, REG_BINARY, (CONST BYTE *)&global.config, sizeof(global.config)); + + RegCloseKey(myKey); +} + +static void LoadConfig (void) +{ + HKEY myKey; + DWORD type, size; + + SetDefaultConfig (); + + if (RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\Vision Thing\\PSEmu Pro\\PAD\\PadSSSPSX", 0, + KEY_ALL_ACCESS, &myKey) == ERROR_SUCCESS) + { + size = sizeof(global.config); + RegQueryValueEx (myKey, "cfg", NULL, &type, (LPBYTE)&global.config, &size); + RegCloseKey (myKey); + } + + global.padVibC[0] = global.padVibC[1] = -1; + for (int cnt = 21; cnt--; ) + { + const int key0 = global.config.keys[0][cnt]; + if (key0 >= 0x1000) + global.padVibC[0] = (key0 & 0xfff) / 0x100; + const int key1 = global.config.keys[1][cnt]; + if (key1 >= 0x1000) + global.padVibC[1] = (key1 & 0xfff) / 0x100; + } +} + +static void PADsetMode (const int pad, const int mode) +{ + static const u8 padID[] = { 0x41, 0x73, 0x41, 0x79 }; + global.padMode1[pad] = mode; + global.padVib0[pad] = 0; + global.padVib1[pad] = 0; + global.padVibF[pad][0] = 0; + global.padVibF[pad][1] = 0; + global.padID[pad] = padID[global.padMode2[pad] * 2 + mode]; +} + +static void KeyPress (const int pad, const int index, const bool press) +{ + if (index < 16) + { + if (press) + { + global.padStat[pad] &= ~(1 << index); + if (global.padPress[pad][index] == 0) + global.padPress[pad][index] = GetTickCount(); + } + else + { + global.padStat[pad] |= 1 << index; + global.padPress[pad][index] = 0; + } + } + else if (global.config.dualshock) + { + static bool prev[2] = { FALSE, FALSE }; + if ((prev[pad] != press) && (global.padModeF[pad] == 0)) + { + prev[pad] = press; + if (press) PADsetMode (pad, !global.padMode1[pad]); + } + } +} + +static void UpdateState (const int pad) +{ + static int flag_keyboard; + static int flag_joypad[4]; + if (pad == 0) + { + flag_keyboard = 0; + flag_joypad[0] = 0; + flag_joypad[1] = 0; + flag_joypad[2] = 0; + flag_joypad[3] = 0; + } + static u8 keystate[256]; + for (int index = 17; index--; ) + { + const int key = global.config.keys[pad][index]; + if (key == 0) + continue; + else if (key < 0x100) + { + if (flag_keyboard == FALSE) + { + flag_keyboard = TRUE; + if (GetKeyState (keystate) == FALSE) + return; + } + KeyPress (pad, index, keystate[key] & 0x80); + } + else + { + const int joypad = ((key & 0xfff) / 100); + if (flag_joypad[joypad] == FALSE) + { + flag_joypad[joypad] = TRUE; + if (GetJoyState (joypad) == FALSE) + return; + } + if (key < 0x2000) + { + KeyPress (pad, index, global.JoyState[joypad].rgbButtons[key & 0xff]); + } + else if (key < 0x3000) + { + const int state = ((int*)&global.JoyState[joypad].lX)[(key & 0xff) /2]; + switch (key & 1) + { + case 0: KeyPress (pad, index, state < -64); break; + case 1: KeyPress (pad, index, state >= 64); break; + } + } + else + { + const u32 state = global.JoyState[joypad].rgdwPOV[(key & 0xff) /4]; + switch (key & 3) + { + case 0: KeyPress (pad, index, (state >= 0 && state <= 4500) || (state >= 31500 && state <= 36000)); break; + case 1: KeyPress (pad, index, state >= 4500 && state <= 13500); break; + case 2: KeyPress (pad, index, state >= 13500 && state <= 22500); break; + case 3: KeyPress (pad, index, state >= 22500 && state <= 31500); break; + } + } + } + } + + /* Small Motor */ + const int vib0 = global.padVibF[pad][0] ? 10000 : 0; + if ((global.padVibF[pad][2] != vib0) && (global.padVibC[pad] >= 0)) + { + global.padVibF[pad][2] = vib0; + SetDeviceForceS (global.padVibC[pad], vib0); + } + /* Big Motor */ + const int vib1 = global.padVibF[pad][1] ? 500 + 37*global.padVibF[pad][1] : 0; + if ((global.padVibF[pad][3] != vib1) && (global.padVibC[pad] >= 0)) + { + global.padVibF[pad][3] = vib1; + SetDeviceForceB (global.padVibC[pad], vib1); + } +} + +static void set_label (const HWND hWnd, const int pad, const int index) +{ + const int key = global.config.keys[pad][index]; + char buff[64]; + if (key < 0x100) + { + if (key == 0) + strcpy (buff, "NONE"); + else if (GetKeyNameText (key << 16, buff, sizeof (buff)) == 0) + wsprintf (buff, "Keyboard 0x%02X", key); + } + else if (key >= 0x1000 && key < 0x2000) + { + wsprintf (buff, "J%d_%d", (key & 0xfff) / 0x100, (key & 0xff) + 1); + } + else if (key >= 0x2000 && key < 0x3000) + { + static const char name[][4] = { "MIN", "MAX" }; + const int axis = (key & 0xff); + wsprintf (buff, "J%d_AXIS%d_%s", (key & 0xfff) / 0x100, axis / 2, name[axis % 2]); + if (index >= 17 && index <= 20) + buff[strlen (buff) -4] = '\0'; + } + else if (key >= 0x3000 && key < 0x4000) + { + static const char name[][7] = { "FOWARD", "RIGHT", "BACK", "LEFT" }; + const int pov = (key & 0xff); + wsprintf (buff, "J%d_POV%d_%s", (key & 0xfff) / 0x100, pov /4, name[pov % 4]); + } + Button_SetText (GetDlgItem (hWnd, IDC_ESELECT + index), buff); +} + +static BOOL CALLBACK ConfigureDlgProc (const HWND hWnd, const UINT msg, const WPARAM wParam, const LPARAM lParam) +{ + static BYTE keymaps[2][256]; + static DWORD countdown; + static int disabled; + static HWND hTabWnd; + static int pad; + int cnt1; + int cnt2; + int key; + switch (msg) + { + case WM_INITDIALOG: + hTargetWnd = hWnd; + pad = disabled = 0; + LoadConfig(); + for (cnt1 = 21; cnt1--; ) + set_label (hWnd, pad, cnt1); + hTabWnd = GetDlgItem (hWnd, IDC_TABC); + TCITEM tcI; + tcI.mask = TCIF_TEXT; + tcI.pszText = "PAD1"; + TabCtrl_InsertItem (hTabWnd, 0, &tcI); + tcI.mask = TCIF_TEXT; + tcI.pszText = "PAD2"; + TabCtrl_InsertItem (hTabWnd, 1, &tcI); + CheckDlgButton(hWnd, IDC_DS2, global.config.dualshock); + CheckDlgButton(hWnd, IDC_VV3, global.config.visualvibration[0]); + EnableWindow(GetDlgItem(hWnd, IDC_BMODE), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BLAX), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BLAY), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BRAX), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BRAY), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BL3), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BR3), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_EMODE), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ELAX), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ELAY), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ERAX), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ERAY), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_EL3), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ER3), global.config.dualshock); + SetTimer (hWnd, 0x80, 50, NULL); + return TRUE; + case WM_DESTROY: + break; + case WM_NOTIFY: + if (wParam == IDC_TABC) + { + if (disabled) + EnableWindow (GetDlgItem (hWnd, disabled), TRUE); + disabled = 0; + pad = TabCtrl_GetCurSel (hTabWnd); + for (cnt1 = 21; cnt1--; ) + set_label (hWnd, pad, cnt1); + CheckDlgButton(hWnd, IDC_VV3, global.config.visualvibration[pad]); + } + break; + case WM_COMMAND: + for (cnt1 = 21; cnt1--; ) + { + if (LOWORD (wParam) == IDC_BSELECT + cnt1) + { + if (disabled) + EnableWindow (GetDlgItem (hWnd, disabled), TRUE); + EnableWindow (GetDlgItem (hWnd, disabled = wParam), FALSE); + EnableWindow (GetDlgItem (hWnd, IDC_DS2), FALSE); + countdown = GetTickCount(); + GetKeyState (keymaps[0]); + return TRUE; + } + } + if (LOWORD (wParam) == IDOK) + EndDialog (hWnd, IDOK); + else if (LOWORD (wParam) == IDCANCEL) + EndDialog (hWnd, IDCANCEL); + else if (LOWORD (wParam) == IDC_DS2) + { + global.config.dualshock = IsDlgButtonChecked(hWnd, IDC_DS2); + + EnableWindow(GetDlgItem(hWnd, IDC_BMODE), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BLAX), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BLAY), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BRAX), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BRAY), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BL3), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_BR3), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_EMODE), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ELAX), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ELAY), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ERAX), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ERAY), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_EL3), global.config.dualshock); + EnableWindow(GetDlgItem(hWnd, IDC_ER3), global.config.dualshock); + } + else if (LOWORD (wParam) == IDC_VV3) + { + global.config.visualvibration[pad] ^= 1; + } + break; + case WM_TIMER: + if (disabled) + { + const int index = disabled - IDC_BSELECT; + int analog = FALSE; + if ((GetTickCount() - countdown) / 1000 != 10) + { + char buff[64]; + wsprintf (buff, "Timeout: %d", 10 - (GetTickCount() - countdown) / 1000); + SetWindowText (GetDlgItem (hWnd, IDC_ESELECT + index), buff); + } + else + { + global.config.keys[pad][index] = 0; + set_label (hWnd, pad, index); + EnableWindow (GetDlgItem (hWnd, disabled), TRUE); + EnableWindow (GetDlgItem (hWnd, IDC_DS2), TRUE); + disabled = 0; + break; + } + if (GetKeyState (keymaps[1]) == FALSE) + break; + for (key = 0x100; key--; ) + { + if (~keymaps[0][key] & keymaps[1][key] & 0x80) + break; + } + for (cnt1 = global.devcnt; cnt1--;) + { + if (GetJoyState (cnt1) == FALSE) + break; + + for (cnt2 = 32; cnt2--; ) + { + if (global.JoyState[cnt1].rgbButtons[cnt2]) + key = 0x1000 + 0x100 * cnt1 + cnt2; + } + for (cnt2 = 8; cnt2--; ) + { + const int now = ((u32*)&global.JoyState[cnt1].lX)[cnt2]; + if (now < -64) + { + key = 0x2000 + 0x100 * cnt1 + cnt2 * 2 +0; + analog = TRUE; + } + else if (now >= 64) + { + key = 0x2000 + 0x100 * cnt1 + cnt2 * 2 +1; + analog = TRUE; + } + } + for (cnt2 = 4; cnt2--; ) + { + const u32 now = global.JoyState[cnt1].rgdwPOV[cnt2]; + if ((now >= 0 && now < 4500) || (now >= 31500 && now < 36000)) + key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +0; + if (now >= 4500 && now < 13500) + key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +1; + if (now >= 13500 && now < 22500) + key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +2; + if (now >= 22500 && now < 31500) + key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +3; + } + } + if (index >= 17 && index <= 20 && analog == 0) + key = 0; + else if (key > 0) + { + if (key != 1) + global.config.keys[pad][index] = key; + set_label (hWnd, pad, index); + EnableWindow (GetDlgItem (hWnd, disabled), TRUE); + EnableWindow (GetDlgItem (hWnd, IDC_DS2), TRUE); + disabled = 0; + } + } + } + return FALSE; +} + +u32 CALLBACK PS2EgetLibType (void) +{ + return 0x02; +} + +const char* CALLBACK PS2EgetLibName (void) +{ + return LibraryName; +} + +u32 CALLBACK PS2EgetLibVersion2 (u32 type) +{ + return (version << 16) | (revision << 8) | build; +} + +u32 CALLBACK PSEgetLibType (void) +{ + return 8; +} + +const char* CALLBACK PSEgetLibName (void) +{ + return LibraryName; +} + +u32 CALLBACK PSEgetLibVersion (void) +{ + return (version << 16) | (revision << 8) | build; +} + +s32 CALLBACK PADinit (u32 flags) +{ + return 0; +} + +void CALLBACK PADshutdown (void) +{ +} + +static int n_open = 0; +s32 CALLBACK PADopen (HWND hWnd) +{ + if (!IsWindow (hWnd) && !IsBadReadPtr ((u32*)hWnd, 4)) + hWnd = *(HWND*)hWnd; + if (!IsWindow (hWnd)) + hWnd = NULL; + else + { + while (GetWindowLong (hWnd, GWL_STYLE) & WS_CHILD) + hWnd = GetParent (hWnd); + } + hTargetWnd = hWnd; + if (n_open++ == FALSE) + { + memset (&global, 0, sizeof (global)); + global.padStat[0] = 0xffff; + global.padStat[1] = 0xffff; + LoadConfig(); + PADsetMode (0, 0); + PADsetMode (1, 0); + } + return 0; +} + +void CALLBACK PADclose (void) +{ + if (--n_open == 0) + ReleaseDirectInput(); +} + +u32 CALLBACK PADquery (void) +{ + return 3; +} + +u8 CALLBACK PADstartPoll (int pad) +{ + global.curPad = pad -1; + global.curByte = 0; + return 0xff; +} + +static const u8 cmd40[8] = +{ + 0xff, 0x5a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x5a +}; +static const u8 cmd41[8] = +{ + 0xff, 0x5a, 0xff, 0xff, 0x03, 0x00, 0x00, 0x5a, +}; +static const u8 cmd44[8] = +{ + 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +static const u8 cmd45[8] = +{ + 0xff, 0x5a, 0x03, 0x02, 0x01, 0x02, 0x01, 0x00, +}; +static const u8 cmd46[8] = +{ + 0xff, 0x5a, 0x00, 0x00, 0x01, 0x02, 0x00, 0x0a, +}; +static const u8 cmd47[8] = +{ + 0xff, 0x5a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, +}; +static const u8 cmd4c[8] = +{ + 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +static const u8 cmd4d[8] = +{ + 0xff, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; +static const u8 cmd4f[8] = +{ + 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, +}; + +static u8 get_analog (const int key) +{ + const int pad = ((key & 0xf00) / 0x100); + const int pos = ((key & 0x0ff) /2); +// return (u8)(((int*)&global.JoyState[pad].lX)[pos] + 128); + u8 r = (u8)(((int*)&global.JoyState[pad].lX)[pos] + 128); + if (r == 128) r = 127; // FIXME: ??? + return r; +} + +static u8 get_pressure (const DWORD now, const DWORD press) +{ + /*if (press == 0) + return 0; + return (u8)((now - press > 2550) ? 255 : (now - press) / 10);*/ + return 255; +} + +u8 CALLBACK PADpoll (u8 value) +{ + const int pad = global.curPad; + const int cur = global.curByte; + static u8 buf[20]; + + if (!global.config.dualshock) + { + value = 0x42; + } + + if (cur == 0) + { + global.curByte++; + global.curCmd = value; + switch (value) + { + case 0x40: + global.cmdLen = sizeof (cmd40); + memcpy (buf, cmd40, sizeof (cmd40)); + return 0xf3; + case 0x41: + global.cmdLen = sizeof (cmd41); + memcpy (buf, cmd41, sizeof (cmd41)); + return 0xf3; + case 0x42: + case 0x43: + if (value == 0x42) UpdateState (pad); + global.cmdLen = 2 + 2 * (global.padID[pad] & 0x0f); + buf[1] = global.padModeC[pad] ? 0x00 : 0x5a; + *(u16*)&buf[2] = global.padStat[pad]; + if (value == 0x43 && global.padModeE[pad]) + { + buf[4] = 0; + buf[5] = 0; + buf[6] = 0; + buf[7] = 0; + return 0xf3; + } + else + { + buf[ 4] = get_analog (global.config.keys[pad][19]); + buf[ 5] = get_analog (global.config.keys[pad][20]); + buf[ 6] = get_analog (global.config.keys[pad][17]); + buf[ 7] = get_analog (global.config.keys[pad][18]); + + if (global.padID[pad] == 0x79) + { + const DWORD now = GetTickCount(); + buf[ 8] = get_pressure (now, global.padPress[pad][2]); + buf[ 9] = get_pressure (now, global.padPress[pad][0]); + buf[10] = get_pressure (now, global.padPress[pad][3]); + buf[11] = get_pressure (now, global.padPress[pad][1]); + buf[12] = get_pressure (now, global.padPress[pad][11]); + buf[13] = get_pressure (now, global.padPress[pad][10]); + buf[14] = get_pressure (now, global.padPress[pad][9]); + buf[15] = get_pressure (now, global.padPress[pad][8]); + buf[16] = get_pressure (now, global.padPress[pad][13]); + buf[17] = get_pressure (now, global.padPress[pad][12]); + buf[18] = get_pressure (now, global.padPress[pad][15]); + buf[19] = get_pressure (now, global.padPress[pad][14]); + } + return (u8)global.padID[pad]; + } + break; + case 0x44: + global.cmdLen = sizeof (cmd44); + memcpy (buf, cmd44, sizeof (cmd44)); + return 0xf3; + case 0x45: + global.cmdLen = sizeof (cmd45); + memcpy (buf, cmd45, sizeof (cmd45)); + buf[4] = (u8)global.padMode1[pad]; + return 0xf3; + case 0x46: + global.cmdLen = sizeof (cmd46); + memcpy (buf, cmd46, sizeof (cmd46)); + return 0xf3; + case 0x47: + global.cmdLen = sizeof (cmd47); + memcpy (buf, cmd47, sizeof (cmd47)); + return 0xf3; + case 0x4c: + global.cmdLen = sizeof (cmd4c); + memcpy (buf, cmd4c, sizeof (cmd4c)); + return 0xf3; + case 0x4d: + global.cmdLen = sizeof (cmd4d); + memcpy (buf, cmd4d, sizeof (cmd4d)); + return 0xf3; + case 0x4f: + global.padID[pad] = 0x79; + global.padMode2[pad] = 1; + global.cmdLen = sizeof (cmd4f); + memcpy (buf, cmd4f, sizeof (cmd4f)); + return 0xf3; + } + } + switch (global.curCmd) + { + case 0x42: + if (global.config.dualshock) + { + if (cur == global.padVib0[pad]) + { + global.padVibF[pad][0] = value; + + if (gpuVisualVibration != NULL && (global.padVibF[pad][0] || global.padVibF[pad][1]) && + global.config.visualvibration[pad]) + gpuVisualVibration(global.padVibF[pad][0], global.padVibF[pad][1]); + } + + if (cur == global.padVib1[pad]) + { + global.padVibF[pad][1] = value; + + if (gpuVisualVibration != NULL && (global.padVibF[pad][0] || global.padVibF[pad][1]) && + global.config.visualvibration[pad]) + gpuVisualVibration(global.padVibF[pad][0], global.padVibF[pad][1]); + } + } + break; + case 0x43: + if (cur == 2) + { + global.padModeE[pad] = value; + global.padModeC[pad] = 0; + } + break; + case 0x44: + if (cur == 2) + PADsetMode (pad, value); + if (cur == 3) + global.padModeF[pad] = (value == 3); + break; + case 0x46: + if (cur == 2) + { + switch(value) + { + case 0: + buf[5] = 0x02; + buf[6] = 0x00; + buf[7] = 0x0A; + break; + case 1: + buf[5] = 0x01; + buf[6] = 0x01; + buf[7] = 0x14; + break; + } + } + break; + case 0x4c: + if (cur == 2) + { + static const u8 buf5[] = { 0x04, 0x07, 0x02, 0x05 }; + buf[5] = buf5[value & 3]; + } + break; + case 0x4d: + if (cur >= 2) + { + if (cur == global.padVib0[pad]) + buf[cur] = 0x00; + if (cur == global.padVib1[pad]) + buf[cur] = 0x01; + if (value == 0x00) + { + global.padVib0[pad] = cur; + if ((global.padID[pad] & 0x0f) < (cur - 1) / 2) + global.padID[pad] = (global.padID[pad] & 0xf0) + (cur - 1) / 2; + } + else if (value == 0x01) + { + global.padVib1[pad] = cur; + if ((global.padID[pad] & 0x0f) < (cur - 1) / 2) + global.padID[pad] = (global.padID[pad] & 0xf0) + (cur - 1) / 2; + } + } + break; + } + if (cur >= global.cmdLen) + return 0; + return buf[global.curByte++]; +} + +typedef struct +{ + unsigned char controllerType; + unsigned short buttonStatus; + unsigned char rightJoyX, rightJoyY, leftJoyX, leftJoyY; + unsigned char moveX, moveY; + unsigned char reserved[91]; +} PadDataS; + +long PADreadPort1 (PadDataS* pads) +{ + memset (pads, 0, sizeof (PadDataS)); + if ((global.padID[0] & 0xf0) == 0x40) + pads->controllerType = 4; + else + pads->controllerType = 7; + pads->buttonStatus = global.padStat[0]; + pads->leftJoyX = get_analog (global.config.keys[0][17]); + pads->leftJoyY = get_analog (global.config.keys[0][18]); + pads->rightJoyX = get_analog (global.config.keys[0][19]); + pads->rightJoyY = get_analog (global.config.keys[0][20]); + pads->moveX = 0; + pads->moveY = 0; + return 0; +} + +long PADreadPort2 (PadDataS* pads) +{ + memset (pads, 0, sizeof (PadDataS)); + if ((global.padID[1] & 0xf0) == 0x40) + pads->controllerType = 4; + else + pads->controllerType = 7; + pads->buttonStatus = global.padStat[1]; + pads->leftJoyX = get_analog (global.config.keys[1][17]); + pads->leftJoyY = get_analog (global.config.keys[1][18]); + pads->rightJoyX = get_analog (global.config.keys[1][19]); + pads->rightJoyY = get_analog (global.config.keys[1][20]); + pads->moveX = 0; + pads->moveY = 0; + return 0; +} + +keyEvent* CALLBACK PADkeyEvent (void) +{ + static keyEvent ev; + static u8 state[2][256]; + if (n_open) + { + memcpy (state[0], state[1], sizeof (state[0])); + GetKeyState (state[1]); + for (int cnt = 0; cnt < 256; cnt++) + { + if (~state[0][cnt] & state[1][cnt] & 0x80) + { + ev.event = (state[1][cnt] & 0x80) ? 1 : 2; + ev.key = MapVirtualKey (cnt, 1); + return &ev; + } + } + } + return NULL; +} + +void CALLBACK PADconfigure (void) +{ + if (n_open == 0) + { + memset (&global, 0, sizeof (global)); + if (DialogBox (hInstance, MAKEINTRESOURCE (IDD_DIALOG1), GetActiveWindow(), (DLGPROC)ConfigureDlgProc) == IDOK) + SaveConfig(); + ReleaseDirectInput(); + } +} + +void CALLBACK PADabout (void) +{ + MessageBox (0, "Copyright (C) 2004-2005 Nagisa", "SSSPSX PAD plugin", 0); +} + +s32 CALLBACK PADtest (void) +{ + return 0; +} + +void CALLBACK PADregisterVibration(void (CALLBACK *callback)(unsigned long, unsigned long)) { + gpuVisualVibration = callback; +} + +//#ifdef _WIN64 +BOOL APIENTRY DllMain(HMODULE hInst, DWORD dwReason, LPVOID lpReserved) +{ + hInstance = hInst; + return TRUE; +} +//#else +BOOL APIENTRY EntryPoint (HMODULE hInst, DWORD dwReason, LPVOID lpReserved) +{ + hInstance = hInst; + return TRUE; +} +//#endif diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.def b/win32/plugins/PadSSSPSX/PadSSSPSX.def index dd5e4ed2..8e493d6b 100644..100755 --- a/win32/plugins/PadSSSPSX/PadSSSPSX.def +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.def @@ -1,23 +1,23 @@ -LIBRARY "PadSSSPSX"
-
-EXPORTS
- PSEgetLibType @1
- PSEgetLibName @2
- PSEgetLibVersion @3
- PS2EgetLibType @4
- PS2EgetLibName @5
- PS2EgetLibVersion2 @6
- PADinit @7
- PADshutdown @8
- PADopen @9
- PADclose @10
- PADkeyEvent @11
- PADstartPoll @12
- PADpoll @13
- PADreadPort1 @14
- PADreadPort2 @15
- PADquery @16
- PADconfigure @17
- PADtest @18
- PADabout @19
+LIBRARY "PadSSSPSX" + +EXPORTS + PSEgetLibType @1 + PSEgetLibName @2 + PSEgetLibVersion @3 + PS2EgetLibType @4 + PS2EgetLibName @5 + PS2EgetLibVersion2 @6 + PADinit @7 + PADshutdown @8 + PADopen @9 + PADclose @10 + PADkeyEvent @11 + PADstartPoll @12 + PADpoll @13 + PADreadPort1 @14 + PADreadPort2 @15 + PADquery @16 + PADconfigure @17 + PADtest @18 + PADabout @19 PADregisterVibration @20
\ No newline at end of file diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.dsp b/win32/plugins/PadSSSPSX/PadSSSPSX.dsp index e816d306..8f26f4a6 100644..100755 --- a/win32/plugins/PadSSSPSX/PadSSSPSX.dsp +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.dsp @@ -1,123 +1,123 @@ -# Microsoft Developer Studio Project File - Name="SSSPSXpad" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=SSSPSXpad - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "PadSSSPSX.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "PadSSSPSX.mak" CFG="SSSPSXpad - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "SSSPSXpad - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "SSSPSXpad - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "SSSPSXpad - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x804 /d "NDEBUG"
-# ADD RSC /l 0x804 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dinput8.lib dxguid.lib /nologo /dll /machine:I386
-
-!ELSEIF "$(CFG)" == "SSSPSXpad - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x804 /d "_DEBUG"
-# ADD RSC /l 0x804 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dinput8.lib dxguid.lib /nologo /dll /incremental:no /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "SSSPSXpad - Win32 Release"
-# Name "SSSPSXpad - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\PadSSSPSX.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\PadSSSPSX.def
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\PadSSSPSX.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\PadSSSPSXres.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\PadSSSPSX.rc
-# End Source File
-# End Group
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="SSSPSXpad" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=SSSPSXpad - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "PadSSSPSX.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "PadSSSPSX.mak" CFG="SSSPSXpad - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "SSSPSXpad - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "SSSPSXpad - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "SSSPSXpad - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x804 /d "NDEBUG" +# ADD RSC /l 0x804 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dinput8.lib dxguid.lib /nologo /dll /machine:I386 + +!ELSEIF "$(CFG)" == "SSSPSXpad - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x804 /d "_DEBUG" +# ADD RSC /l 0x804 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dinput8.lib dxguid.lib /nologo /dll /incremental:no /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "SSSPSXpad - Win32 Release" +# Name "SSSPSXpad - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\PadSSSPSX.cpp +# End Source File +# Begin Source File + +SOURCE=.\PadSSSPSX.def +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\PadSSSPSX.h +# End Source File +# Begin Source File + +SOURCE=.\PadSSSPSXres.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE=.\PadSSSPSX.rc +# End Source File +# End Group +# End Target +# End Project diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.h b/win32/plugins/PadSSSPSX/PadSSSPSX.h index 85a0d2dd..b53f64d4 100644..100755 --- a/win32/plugins/PadSSSPSX/PadSSSPSX.h +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.h @@ -1,47 +1,47 @@ -/* PADwin
- * Copyright (C) 2002-2004 PADwin Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef __PAD_H__
-#define __PAD_H__
-
-#include "PadSSSPSXres.h"
-
-typedef signed char s8;
-typedef signed short s16;
-typedef signed int s32;
-typedef __int64 s64;
-
-typedef unsigned char u8;
-typedef unsigned short u16;
-typedef unsigned int u32;
-typedef unsigned __int64 u64;
-
-typedef struct
-{
- u32 key;
- u32 event;
-} keyEvent;
-
-typedef struct
-{
- u32 keys[2][21];
- u32 dualshock;
- u32 visualvibration[2];
-} Config;
-
-#endif
+/* PADwin + * Copyright (C) 2002-2004 PADwin Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __PAD_H__ +#define __PAD_H__ + +#include "PadSSSPSXres.h" + +typedef signed char s8; +typedef signed short s16; +typedef signed int s32; +typedef __int64 s64; + +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +typedef unsigned __int64 u64; + +typedef struct +{ + u32 key; + u32 event; +} keyEvent; + +typedef struct +{ + u32 keys[2][21]; + u32 dualshock; + u32 visualvibration[2]; +} Config; + +#endif diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.rc b/win32/plugins/PadSSSPSX/PadSSSPSX.rc index 3901a74a..e3f1c178 100644..100755 --- a/win32/plugins/PadSSSPSX/PadSSSPSX.rc +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.rc @@ -1,120 +1,120 @@ -#include "PadSSSPSXres.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-
-#include "afxres.h"
-
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
-#ifdef _WIN32
-//LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
-//#pragma code_page(932)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-
-1 TEXTINCLUDE
-BEGIN
- "PadSSSPSXres.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif
-
-IDD_DIALOG1 DIALOGEX 0, 0, 442, 239
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION
-CAPTION "PAD Settings"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- CONTROL "",IDC_TABC,"SysTabControl32",0x0,6,6,432,210
- PUSHBUTTON "L2",IDC_BL2,54,24,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_EL2,54,36,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "L1",IDC_BL1,54,48,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_EL1,54,60,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "Up",IDC_BUP,54,78,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_EUP,54,90,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "Left",IDC_BLEFT,12,102,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ELEFT,12,114,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "Right",IDC_BRIGHT,96,102,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ERIGHT,96,114,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "Down",IDC_BDOWN,54,126,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_EDOWN,54,138,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "Select",IDC_BSELECT,144,36,72,12,NOT WS_TABSTOP,
- WS_EX_TRANSPARENT
- EDITTEXT IDC_ESELECT,144,48,72,12,ES_READONLY | NOT WS_TABSTOP,
- WS_EX_TRANSPARENT
- PUSHBUTTON "Start",IDC_BSTART,228,36,72,12,NOT WS_TABSTOP,
- WS_EX_TRANSPARENT
- EDITTEXT IDC_ESTART,228,48,72,12,ES_READONLY | NOT WS_TABSTOP,
- WS_EX_TRANSPARENT
- PUSHBUTTON "Analog",IDC_BMODE,186,66,72,12,NOT WS_TABSTOP,
- WS_EX_TRANSPARENT
- EDITTEXT IDC_EMODE,186,78,72,12,ES_READONLY | NOT WS_TABSTOP,
- WS_EX_TRANSPARENT
- PUSHBUTTON "R2",IDC_BR2,318,24,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ER2,318,36,72,12,ES_AUTOHSCROLL | ES_READONLY | NOT
- WS_TABSTOP
- PUSHBUTTON "R1",IDC_BR1,318,48,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ER1,318,60,72,12,ES_AUTOHSCROLL | ES_READONLY | NOT
- WS_TABSTOP
- PUSHBUTTON "Triangle",IDC_BTRIANGLE,318,78,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ETRIANGLE,318,90,72,12,ES_AUTOHSCROLL | ES_READONLY |
- NOT WS_TABSTOP
- PUSHBUTTON "Square",IDC_BSQUARE,276,102,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ESQUARE,276,114,72,12,ES_AUTOHSCROLL | ES_READONLY |
- NOT WS_TABSTOP
- PUSHBUTTON "Circle",IDC_BCIRCLE,360,102,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ECIRCLE,360,114,72,12,ES_AUTOHSCROLL | ES_READONLY |
- NOT WS_TABSTOP
- PUSHBUTTON "Cross",IDC_BCROSS,318,126,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ECROSS,318,138,72,12,ES_AUTOHSCROLL | ES_READONLY |
- NOT WS_TABSTOP
- PUSHBUTTON "L3",IDC_BL3,144,132,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_EL3,144,144,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "LX",IDC_BLAX,144,162,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ELAX,144,174,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "LY",IDC_BLAY,144,186,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ELAY,144,198,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "R3",IDC_BR3,228,132,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ER3,228,144,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "RX",IDC_BRAX,228,162,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ERAX,228,174,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "RY",IDC_BRAY,228,186,72,12,NOT WS_TABSTOP
- EDITTEXT IDC_ERAY,228,198,72,12,ES_READONLY | NOT WS_TABSTOP
- PUSHBUTTON "OK",IDOK,330,222,48,12,NOT WS_TABSTOP
- PUSHBUTTON "Cancel",IDCANCEL,390,222,48,12,NOT WS_TABSTOP
- CTEXT "",IDC_STATIC,318,174,108,30,0,WS_EX_STATICEDGE
- CONTROL "DUALSHOCK2 INSIDE",IDC_DS2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,331,179,84,8
- CONTROL "VISUAL VIBRATION",IDC_VV3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,331,191,84,8
-END
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_DIALOG1, DIALOG
- BEGIN
- RIGHTMARGIN, 432
- BOTTOMMARGIN, 233
- END
-END
-#endif
-
-#endif
-
-
-#ifndef APSTUDIO_INVOKED
-
-#endif
-
+#include "PadSSSPSXres.h" + +#define APSTUDIO_READONLY_SYMBOLS + +#include "afxres.h" + +#undef APSTUDIO_READONLY_SYMBOLS + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) +#ifdef _WIN32 +//LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT +//#pragma code_page(932) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED + +1 TEXTINCLUDE +BEGIN + "PadSSSPSXres.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif + +IDD_DIALOG1 DIALOGEX 0, 0, 442, 239 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION +CAPTION "PAD Settings" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "",IDC_TABC,"SysTabControl32",0x0,6,6,432,210 + PUSHBUTTON "L2",IDC_BL2,54,24,72,12,NOT WS_TABSTOP + EDITTEXT IDC_EL2,54,36,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "L1",IDC_BL1,54,48,72,12,NOT WS_TABSTOP + EDITTEXT IDC_EL1,54,60,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "Up",IDC_BUP,54,78,72,12,NOT WS_TABSTOP + EDITTEXT IDC_EUP,54,90,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "Left",IDC_BLEFT,12,102,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ELEFT,12,114,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "Right",IDC_BRIGHT,96,102,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ERIGHT,96,114,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "Down",IDC_BDOWN,54,126,72,12,NOT WS_TABSTOP + EDITTEXT IDC_EDOWN,54,138,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "Select",IDC_BSELECT,144,36,72,12,NOT WS_TABSTOP, + WS_EX_TRANSPARENT + EDITTEXT IDC_ESELECT,144,48,72,12,ES_READONLY | NOT WS_TABSTOP, + WS_EX_TRANSPARENT + PUSHBUTTON "Start",IDC_BSTART,228,36,72,12,NOT WS_TABSTOP, + WS_EX_TRANSPARENT + EDITTEXT IDC_ESTART,228,48,72,12,ES_READONLY | NOT WS_TABSTOP, + WS_EX_TRANSPARENT + PUSHBUTTON "Analog",IDC_BMODE,186,66,72,12,NOT WS_TABSTOP, + WS_EX_TRANSPARENT + EDITTEXT IDC_EMODE,186,78,72,12,ES_READONLY | NOT WS_TABSTOP, + WS_EX_TRANSPARENT + PUSHBUTTON "R2",IDC_BR2,318,24,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ER2,318,36,72,12,ES_AUTOHSCROLL | ES_READONLY | NOT + WS_TABSTOP + PUSHBUTTON "R1",IDC_BR1,318,48,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ER1,318,60,72,12,ES_AUTOHSCROLL | ES_READONLY | NOT + WS_TABSTOP + PUSHBUTTON "Triangle",IDC_BTRIANGLE,318,78,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ETRIANGLE,318,90,72,12,ES_AUTOHSCROLL | ES_READONLY | + NOT WS_TABSTOP + PUSHBUTTON "Square",IDC_BSQUARE,276,102,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ESQUARE,276,114,72,12,ES_AUTOHSCROLL | ES_READONLY | + NOT WS_TABSTOP + PUSHBUTTON "Circle",IDC_BCIRCLE,360,102,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ECIRCLE,360,114,72,12,ES_AUTOHSCROLL | ES_READONLY | + NOT WS_TABSTOP + PUSHBUTTON "Cross",IDC_BCROSS,318,126,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ECROSS,318,138,72,12,ES_AUTOHSCROLL | ES_READONLY | + NOT WS_TABSTOP + PUSHBUTTON "L3",IDC_BL3,144,132,72,12,NOT WS_TABSTOP + EDITTEXT IDC_EL3,144,144,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "LX",IDC_BLAX,144,162,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ELAX,144,174,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "LY",IDC_BLAY,144,186,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ELAY,144,198,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "R3",IDC_BR3,228,132,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ER3,228,144,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "RX",IDC_BRAX,228,162,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ERAX,228,174,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "RY",IDC_BRAY,228,186,72,12,NOT WS_TABSTOP + EDITTEXT IDC_ERAY,228,198,72,12,ES_READONLY | NOT WS_TABSTOP + PUSHBUTTON "OK",IDOK,330,222,48,12,NOT WS_TABSTOP + PUSHBUTTON "Cancel",IDCANCEL,390,222,48,12,NOT WS_TABSTOP + CTEXT "",IDC_STATIC,318,174,108,30,0,WS_EX_STATICEDGE + CONTROL "DUALSHOCK2 INSIDE",IDC_DS2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,331,179,84,8 + CONTROL "VISUAL VIBRATION",IDC_VV3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,331,191,84,8 +END + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_DIALOG1, DIALOG + BEGIN + RIGHTMARGIN, 432 + BOTTOMMARGIN, 233 + END +END +#endif + +#endif + + +#ifndef APSTUDIO_INVOKED + +#endif + diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.vcproj b/win32/plugins/PadSSSPSX/PadSSSPSX.vcproj index 96db2cc1..4a412622 100644..100755 --- a/win32/plugins/PadSSSPSX/PadSSSPSX.vcproj +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.vcproj @@ -1,281 +1,281 @@ -<?xml version="1.0" encoding="gb2312"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="SSSPSXpad"
- ProjectGUID="{0639CDF3-8C1F-47F4-A760-F5568194A083}"
- RootNamespace="SSSPSXpad"
- TargetFrameworkVersion="0"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/PadSSSPSX.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SSSPSXPAD_EXPORTS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/PadSSSPSX.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="2052"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="odbc32.lib odbccp32.lib dinput8.lib dxguid.lib"
- OutputFile=".\Debug/PadSSSPSX.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ModuleDefinitionFile=".\PadSSSPSX.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug/PadSSSPSX.pdb"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary=".\Debug/PadSSSPSX.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Debug/PadSSSPSX.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/PadSSSPSX.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SSSPSXPAD_EXPORTS"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- PrecompiledHeaderFile=".\Release/PadSSSPSX.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="2052"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="odbc32.lib odbccp32.lib dinput8.lib dxguid.lib"
- OutputFile=".\Release/PadSSSPSX.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ModuleDefinitionFile=".\PadSSSPSX.def"
- ProgramDatabaseFile=".\Release/PadSSSPSX.pdb"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary=".\Release/PadSSSPSX.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Release/PadSSSPSX.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
- >
- <File
- RelativePath="PadSSSPSX.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="PadSSSPSX.def"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl"
- >
- <File
- RelativePath="PadSSSPSX.h"
- >
- </File>
- <File
- RelativePath="PadSSSPSXres.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
- >
- <File
- RelativePath="PadSSSPSX.rc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="gb2312"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="SSSPSXpad" + ProjectGUID="{0639CDF3-8C1F-47F4-A760-F5568194A083}" + RootNamespace="SSSPSXpad" + TargetFrameworkVersion="0" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Debug/PadSSSPSX.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SSSPSXPAD_EXPORTS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + PrecompiledHeaderFile=".\Debug/PadSSSPSX.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="2052" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="odbc32.lib odbccp32.lib dinput8.lib dxguid.lib" + OutputFile=".\Debug/PadSSSPSX.dll" + LinkIncremental="1" + SuppressStartupBanner="true" + ModuleDefinitionFile=".\PadSSSPSX.def" + GenerateDebugInformation="true" + ProgramDatabaseFile=".\Debug/PadSSSPSX.pdb" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary=".\Debug/PadSSSPSX.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/PadSSSPSX.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Release/PadSSSPSX.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SSSPSXPAD_EXPORTS" + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" + PrecompiledHeaderFile=".\Release/PadSSSPSX.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + WarningLevel="3" + SuppressStartupBanner="true" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="2052" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="odbc32.lib odbccp32.lib dinput8.lib dxguid.lib" + OutputFile=".\Release/PadSSSPSX.dll" + LinkIncremental="1" + SuppressStartupBanner="true" + ModuleDefinitionFile=".\PadSSSPSX.def" + ProgramDatabaseFile=".\Release/PadSSSPSX.pdb" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary=".\Release/PadSSSPSX.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/PadSSSPSX.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="PadSSSPSX.cpp" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="PadSSSPSX.def" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl" + > + <File + RelativePath="PadSSSPSX.h" + > + </File> + <File + RelativePath="PadSSSPSXres.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" + > + <File + RelativePath="PadSSSPSX.rc" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/win32/plugins/PadSSSPSX/PadSSSPSXres.h b/win32/plugins/PadSSSPSX/PadSSSPSXres.h index 70b10f39..3134e9a5 100644..100755 --- a/win32/plugins/PadSSSPSX/PadSSSPSXres.h +++ b/win32/plugins/PadSSSPSX/PadSSSPSXres.h @@ -1,61 +1,61 @@ -//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by PadSSSPSX.rc
-//
-#define IDD_DIALOG1 100
-#define IDC_BSELECT 1000
-#define IDC_BL3 1001
-#define IDC_BR3 1002
-#define IDC_BSTART 1003
-#define IDC_BUP 1004
-#define IDC_BRIGHT 1005
-#define IDC_BDOWN 1006
-#define IDC_BLEFT 1007
-#define IDC_BL2 1008
-#define IDC_BR2 1009
-#define IDC_BL1 1010
-#define IDC_BR1 1011
-#define IDC_BTRIANGLE 1012
-#define IDC_BCIRCLE 1013
-#define IDC_BCROSS 1014
-#define IDC_BSQUARE 1015
-#define IDC_BMODE 1016
-#define IDC_BLAX 1017
-#define IDC_BLAY 1018
-#define IDC_BRAX 1019
-#define IDC_BRAY 1020
-#define IDC_ESELECT 1030
-#define IDC_EL3 1031
-#define IDC_ER3 1032
-#define IDC_ESTART 1033
-#define IDC_EUP 1034
-#define IDC_ERIGHT 1035
-#define IDC_EDOWN 1036
-#define IDC_ELEFT 1037
-#define IDC_EL2 1038
-#define IDC_ER2 1039
-#define IDC_EL1 1040
-#define IDC_ER1 1041
-#define IDC_ETRIANGLE 1042
-#define IDC_ECIRCLE 1043
-#define IDC_ECROSS 1044
-#define IDC_ESQUARE 1045
-#define IDC_EMODE 1046
-#define IDC_ELAX 1047
-#define IDC_ELAY 1048
-#define IDC_ERAX 1049
-#define IDC_ERAY 1050
-#define IDC_TABC 1060
-#define IDC_DS2 1070
-#define IDC_VV3 1071
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1061
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by PadSSSPSX.rc +// +#define IDD_DIALOG1 100 +#define IDC_BSELECT 1000 +#define IDC_BL3 1001 +#define IDC_BR3 1002 +#define IDC_BSTART 1003 +#define IDC_BUP 1004 +#define IDC_BRIGHT 1005 +#define IDC_BDOWN 1006 +#define IDC_BLEFT 1007 +#define IDC_BL2 1008 +#define IDC_BR2 1009 +#define IDC_BL1 1010 +#define IDC_BR1 1011 +#define IDC_BTRIANGLE 1012 +#define IDC_BCIRCLE 1013 +#define IDC_BCROSS 1014 +#define IDC_BSQUARE 1015 +#define IDC_BMODE 1016 +#define IDC_BLAX 1017 +#define IDC_BLAY 1018 +#define IDC_BRAX 1019 +#define IDC_BRAY 1020 +#define IDC_ESELECT 1030 +#define IDC_EL3 1031 +#define IDC_ER3 1032 +#define IDC_ESTART 1033 +#define IDC_EUP 1034 +#define IDC_ERIGHT 1035 +#define IDC_EDOWN 1036 +#define IDC_ELEFT 1037 +#define IDC_EL2 1038 +#define IDC_ER2 1039 +#define IDC_EL1 1040 +#define IDC_ER1 1041 +#define IDC_ETRIANGLE 1042 +#define IDC_ECIRCLE 1043 +#define IDC_ECROSS 1044 +#define IDC_ESQUARE 1045 +#define IDC_EMODE 1046 +#define IDC_ELAX 1047 +#define IDC_ELAY 1048 +#define IDC_ERAX 1049 +#define IDC_ERAY 1050 +#define IDC_TABC 1060 +#define IDC_DS2 1070 +#define IDC_VV3 1071 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1061 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/win32/plugins/PadSSSPSX/readmewip.txt b/win32/plugins/PadSSSPSX/readmewip.txt index 14443362..fe3e66ea 100644..100755 --- a/win32/plugins/PadSSSPSX/readmewip.txt +++ b/win32/plugins/PadSSSPSX/readmewip.txt @@ -1,48 +1,48 @@ -SSSPSX Pad - An Open Source Pad plugin for PSX and PS2 emulators
-Author: Nagisa
-Homepage: http://www.asahi-net.or.jp/~bz7t-skmt/
-
-Overview:
--Small executable program
--Source code under 1000 step,20kb binary
--Open Source,under the GPL Licence
-
-
-Features:
-
-For PS1 emulators
-- Force feedback support (PCSX only)
- Delete the following PCSX sorce code.
- File: sio.c Line: 138
-@---------------------
-@if (buf[parp] == 0x41) {
-@@switch (value) {
-@@@case 0x43:
-@@@@buf[1] = 0x43;
-@@@@break;
-@@@case 0x45:
-@@@@buf[1] = 0xf3;
-@@@@break;
-@@}
-@}
-@---------------------
-
-For PCSX2
--Force feedback support (maybe)
--PADKeyEvent API support
--Using DirectInput 9 (game controller and keyboard)
-
-Thanks to:
-http://www.hm5.aitai.ne.jp/~takuya/index.html#ds2_analisys for the valuable info
-PCSX2 team for the PadWinKeyb source code
-bositman for some report
-
-Version History:
-v1.0: -Initial Release
-v1.1: -Changed to DirectInput 9
-v1.2: -PADKeyEvent API support added
-v1.3: -DirectInput collision problem fixed
-v1.4: -Added timeout on settings dialog.If the countdown ends, the key will be set to "NONE".
- -Changed "ESC" key action on settings dialog.If you press the "ESC" key, the setting will keep the previous one.
- -Fixed silly bug. (dont ask me about it).
-v1.5: -Fixed 0x4D packet.
+SSSPSX Pad - An Open Source Pad plugin for PSX and PS2 emulators +Author: Nagisa +Homepage: http://www.asahi-net.or.jp/~bz7t-skmt/ + +Overview: +-Small executable program +-Source code under 1000 step,20kb binary +-Open Source,under the GPL Licence + + +Features: + +For PS1 emulators +- Force feedback support (PCSX only) + Delete the following PCSX sorce code. + File: sio.c Line: 138 +@--------------------- +@if (buf[parp] == 0x41) { +@@switch (value) { +@@@case 0x43: +@@@@buf[1] = 0x43; +@@@@break; +@@@case 0x45: +@@@@buf[1] = 0xf3; +@@@@break; +@@} +@} +@--------------------- + +For PCSX2 +-Force feedback support (maybe) +-PADKeyEvent API support +-Using DirectInput 9 (game controller and keyboard) + +Thanks to: +http://www.hm5.aitai.ne.jp/~takuya/index.html#ds2_analisys for the valuable info +PCSX2 team for the PadWinKeyb source code +bositman for some report + +Version History: +v1.0: -Initial Release +v1.1: -Changed to DirectInput 9 +v1.2: -PADKeyEvent API support added +v1.3: -DirectInput collision problem fixed +v1.4: -Added timeout on settings dialog.If the countdown ends, the key will be set to "NONE". + -Changed "ESC" key action on settings dialog.If you press the "ESC" key, the setting will keep the previous one. + -Fixed silly bug. (dont ask me about it). +v1.5: -Fixed 0x4D packet. diff --git a/win32/plugins/dfsound/DFSound.def b/win32/plugins/dfsound/DFSound.def index 745e5114..609da333 100644..100755 --- a/win32/plugins/dfsound/DFSound.def +++ b/win32/plugins/dfsound/DFSound.def @@ -1,45 +1,45 @@ -; Declares the module parameters for the DLL.
-
-LIBRARY "DFSound"
-
-EXPORTS
- ; Explicit exports can go here
- PSEgetLibType @2
- PSEgetLibName @3
- PSEgetLibVersion @4
- SPUconfigure @5
- SPUabout @6
- SPUinit @7
- SPUshutdown @8
- SPUtest @9
- SPUopen @10
- SPUclose @11
-
- SPUplayADPCMchannel @12
- SPUwriteRegister @13
- SPUreadRegister @14
- SPUregisterCallback @15
-
- SPUwriteDMA @16
- SPUreadDMA @17
- SPUregisterCDDAVolume @18
- SPUwriteDMAMem @19
- SPUreadDMAMem @20
- SPUfreeze @21
- ;SPUupdate @22
- SPUasync @23
-
- SPUplayCDDAchannel @24
-
- SPUgetOne @25
- SPUputOne @26
- SPUplaySample @27
- SPUsetAddr @28
- SPUsetPitch @29
- SPUsetVolumeL @30
- SPUsetVolumeR @31
- SPUstartChannels1 @32
- SPUstartChannels2 @33
- SPUstopChannels1 @34
- SPUstopChannels2 @35
- SPUplaySector @36
+; Declares the module parameters for the DLL. + +LIBRARY "DFSound" + +EXPORTS + ; Explicit exports can go here + PSEgetLibType @2 + PSEgetLibName @3 + PSEgetLibVersion @4 + SPUconfigure @5 + SPUabout @6 + SPUinit @7 + SPUshutdown @8 + SPUtest @9 + SPUopen @10 + SPUclose @11 + + SPUplayADPCMchannel @12 + SPUwriteRegister @13 + SPUreadRegister @14 + SPUregisterCallback @15 + + SPUwriteDMA @16 + SPUreadDMA @17 + SPUregisterCDDAVolume @18 + SPUwriteDMAMem @19 + SPUreadDMAMem @20 + SPUfreeze @21 + ;SPUupdate @22 + SPUasync @23 + + SPUplayCDDAchannel @24 + + SPUgetOne @25 + SPUputOne @26 + SPUplaySample @27 + SPUsetAddr @28 + SPUsetPitch @29 + SPUsetVolumeL @30 + SPUsetVolumeR @31 + SPUstartChannels1 @32 + SPUstartChannels2 @33 + SPUstopChannels1 @34 + SPUstopChannels2 @35 + SPUplaySector @36 diff --git a/win32/plugins/dfsound/DFSound.dev b/win32/plugins/dfsound/DFSound.dev index f3f2b646..4da3c412 100644..100755 --- a/win32/plugins/dfsound/DFSound.dev +++ b/win32/plugins/dfsound/DFSound.dev @@ -1,369 +1,369 @@ -[Project]
-FileName=DFSound.dev
-Name=DFSound
-Ver=1
-IsCpp=1
-Type=3
-Compiler=-W -DWIN32 -DNDEBUG -D_WINDOWS_@@_
-CppCompiler=-W -DWIN32 -DNDEBUG -D_WINDOWS_@@_
-Includes=.\\;.\winsrc;..\..\..\plugins\dfsound;..\..\glue;..\..\..\libpcsxcore
-Linker=--enable-stdcall-fixup -ldsound -lwinmm -luser32 -lgdi32 -ladvapi32 -def DFSound.def_@@_
-Libs=
-UnitCount=31
-Folders=dfsound,winsrc
-ObjFiles=
-PrivateResource=DFSound_private.rc
-ResourceIncludes=
-MakeIncludes=
-Icon=
-ExeOutput=
-ObjectOutput=
-OverrideOutput=0
-OverrideOutputName=DFSound.exe
-HostApplication=
-CommandLine=
-UseCustomMakefile=0
-CustomMakefile=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0010000001001000010100
-
-[Unit1]
-FileName=winsrc\cfg.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit2]
-FileName=winsrc\debug.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit3]
-FileName=winsrc\debug.h
-Folder=winsrc
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit4]
-FileName=winsrc\dsound.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit5]
-FileName=winsrc\dsound.h
-Folder=winsrc
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit6]
-FileName=winsrc\psemu.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit7]
-FileName=winsrc\record.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit8]
-FileName=winsrc\record.h
-Folder=winsrc
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit9]
-FileName=winsrc\winmain.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit10]
-FileName=..\..\..\plugins\dfsound\adsr.c
-Folder=dfsound
-Compile=0
-CompileCpp=0
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=$(CC) -c adsr.c -o adsr.o $(CFLAGS)
-
-[Unit11]
-FileName=..\..\..\plugins\dfsound\adsr.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit12]
-FileName=..\..\..\plugins\dfsound\dma.c
-Folder=dfsound
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit13]
-FileName=..\..\..\plugins\dfsound\dma.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit14]
-FileName=..\..\..\plugins\dfsound\dsoundoss.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit15]
-FileName=..\..\..\plugins\dfsound\externals.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit16]
-FileName=..\..\..\plugins\dfsound\externals.c
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit17]
-FileName=..\..\..\plugins\dfsound\freeze.c
-Folder=dfsound
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit18]
-FileName=..\..\..\plugins\dfsound\gauss_i.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit19]
-FileName=..\..\..\plugins\dfsound\psemuxa.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit20]
-FileName=..\..\..\plugins\dfsound\registers.c
-Folder=dfsound
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit21]
-FileName=..\..\..\plugins\dfsound\registers.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit22]
-FileName=..\..\..\plugins\dfsound\regs.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit23]
-FileName=..\..\..\plugins\dfsound\reverb.c
-Folder=dfsound
-Compile=0
-CompileCpp=0
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=$(CC) -c reverb.c -o reverb.o $(CFLAGS)
-
-[Unit24]
-FileName=..\..\..\plugins\dfsound\reverb.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit25]
-FileName=..\..\..\plugins\dfsound\spu.c
-Folder=dfsound
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit26]
-FileName=..\..\..\plugins\dfsound\spu.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit27]
-FileName=..\..\..\plugins\dfsound\stdafx.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit28]
-FileName=..\..\..\plugins\dfsound\xa.c
-Folder=dfsound
-Compile=0
-CompileCpp=0
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=$(CC) -c xa.c -o xa.o $(CFLAGS)
-
-[Unit29]
-FileName=..\..\..\plugins\dfsound\xa.h
-Folder=dfsound
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit30]
-FileName=DFSound.def
-Folder=
-Compile=0
-CompileCpp=0
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit31]
-FileName=DFSound.rc
-Folder=Resources
-Compile=1
-CompileCpp=1
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit32]
-FileName=resource.h
-Folder=
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=0.1
-FileDescription=Developed using the Dev-C++ IDE
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=DFSound.exe
-ProductName=DFSound
-ProductVersion=0.1
-AutoIncBuildNr=0
-
+[Project] +FileName=DFSound.dev +Name=DFSound +Ver=1 +IsCpp=1 +Type=3 +Compiler=-W -DWIN32 -DNDEBUG -D_WINDOWS_@@_ +CppCompiler=-W -DWIN32 -DNDEBUG -D_WINDOWS_@@_ +Includes=.\\;.\winsrc;..\..\..\plugins\dfsound;..\..\glue;..\..\..\libpcsxcore +Linker=--enable-stdcall-fixup -ldsound -lwinmm -luser32 -lgdi32 -ladvapi32 -def DFSound.def_@@_ +Libs= +UnitCount=31 +Folders=dfsound,winsrc +ObjFiles= +PrivateResource=DFSound_private.rc +ResourceIncludes= +MakeIncludes= +Icon= +ExeOutput= +ObjectOutput= +OverrideOutput=0 +OverrideOutputName=DFSound.exe +HostApplication= +CommandLine= +UseCustomMakefile=0 +CustomMakefile= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=0 +CompilerSettings=0010000001001000010100 + +[Unit1] +FileName=winsrc\cfg.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=winsrc\debug.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=winsrc\debug.h +Folder=winsrc +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=winsrc\dsound.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=winsrc\dsound.h +Folder=winsrc +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit6] +FileName=winsrc\psemu.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit7] +FileName=winsrc\record.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit8] +FileName=winsrc\record.h +Folder=winsrc +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit9] +FileName=winsrc\winmain.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit10] +FileName=..\..\..\plugins\dfsound\adsr.c +Folder=dfsound +Compile=0 +CompileCpp=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd=$(CC) -c adsr.c -o adsr.o $(CFLAGS) + +[Unit11] +FileName=..\..\..\plugins\dfsound\adsr.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit12] +FileName=..\..\..\plugins\dfsound\dma.c +Folder=dfsound +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit13] +FileName=..\..\..\plugins\dfsound\dma.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit14] +FileName=..\..\..\plugins\dfsound\dsoundoss.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit15] +FileName=..\..\..\plugins\dfsound\externals.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit16] +FileName=..\..\..\plugins\dfsound\externals.c +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit17] +FileName=..\..\..\plugins\dfsound\freeze.c +Folder=dfsound +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit18] +FileName=..\..\..\plugins\dfsound\gauss_i.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit19] +FileName=..\..\..\plugins\dfsound\psemuxa.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit20] +FileName=..\..\..\plugins\dfsound\registers.c +Folder=dfsound +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit21] +FileName=..\..\..\plugins\dfsound\registers.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit22] +FileName=..\..\..\plugins\dfsound\regs.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit23] +FileName=..\..\..\plugins\dfsound\reverb.c +Folder=dfsound +Compile=0 +CompileCpp=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd=$(CC) -c reverb.c -o reverb.o $(CFLAGS) + +[Unit24] +FileName=..\..\..\plugins\dfsound\reverb.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit25] +FileName=..\..\..\plugins\dfsound\spu.c +Folder=dfsound +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit26] +FileName=..\..\..\plugins\dfsound\spu.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit27] +FileName=..\..\..\plugins\dfsound\stdafx.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit28] +FileName=..\..\..\plugins\dfsound\xa.c +Folder=dfsound +Compile=0 +CompileCpp=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd=$(CC) -c xa.c -o xa.o $(CFLAGS) + +[Unit29] +FileName=..\..\..\plugins\dfsound\xa.h +Folder=dfsound +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit30] +FileName=DFSound.def +Folder= +Compile=0 +CompileCpp=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit31] +FileName=DFSound.rc +Folder=Resources +Compile=1 +CompileCpp=1 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit32] +FileName=resource.h +Folder= +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[VersionInfo] +Major=0 +Minor=1 +Release=1 +Build=1 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion=0.1 +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename=DFSound.exe +ProductName=DFSound +ProductVersion=0.1 +AutoIncBuildNr=0 + diff --git a/win32/plugins/dfsound/DFSound.dsp b/win32/plugins/dfsound/DFSound.dsp index 93c97006..2ec5c2b5 100644..100755 --- a/win32/plugins/dfsound/DFSound.dsp +++ b/win32/plugins/dfsound/DFSound.dsp @@ -1,254 +1,254 @@ -# Microsoft Developer Studio Project File - Name="DFSound" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=DFSound - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "DFSound.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "DFSound.mak" CFG="DFSound - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "DFSound - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "DFSound - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "DFSound - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I ".\\" /I ".\winsrc" /I "..\..\..\plugins\dfsound" /I "..\..\glue" /I "..\..\..\libpcsxcore" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 dsound.lib winmm.lib user32.lib gdi32.lib advapi32.lib /nologo /subsystem:windows /dll /machine:I386
-
-!ELSEIF "$(CFG)" == "DFSound - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\\" /I ".\winsrc" /I "..\..\..\plugins\dfsound" /I "..\..\glue" /I "..\..\..\libpcsxcore" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 dsound.lib winmm.lib user32.lib gdi32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "DFSound - Win32 Release"
-# Name "DFSound - Win32 Debug"
-# Begin Group "winsrc"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\winsrc\cfg.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\debug.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\debug.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\dsound.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\dsound.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\psemu.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\record.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\record.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\winmain.c
-# End Source File
-# End Group
-# Begin Group "dfsound"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\adsr.c
-
-!IF "$(CFG)" == "DFSound - Win32 Release"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "DFSound - Win32 Debug"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\adsr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\dma.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\dma.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\dsoundoss.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\externals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\externals.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\freeze.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\gauss_i.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\psemuxa.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\registers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\registers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\reverb.c
-
-!IF "$(CFG)" == "DFSound - Win32 Release"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "DFSound - Win32 Debug"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\reverb.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\spu.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\spu.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\stdafx.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\xa.c
-
-!IF "$(CFG)" == "DFSound - Win32 Release"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "DFSound - Win32 Debug"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfsound\xa.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\DFSound.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\DFSound.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="DFSound" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=DFSound - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "DFSound.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "DFSound.mak" CFG="DFSound - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "DFSound - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "DFSound - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "DFSound - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I ".\\" /I ".\winsrc" /I "..\..\..\plugins\dfsound" /I "..\..\glue" /I "..\..\..\libpcsxcore" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 dsound.lib winmm.lib user32.lib gdi32.lib advapi32.lib /nologo /subsystem:windows /dll /machine:I386 + +!ELSEIF "$(CFG)" == "DFSound - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\\" /I ".\winsrc" /I "..\..\..\plugins\dfsound" /I "..\..\glue" /I "..\..\..\libpcsxcore" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 dsound.lib winmm.lib user32.lib gdi32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "DFSound - Win32 Release" +# Name "DFSound - Win32 Debug" +# Begin Group "winsrc" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\winsrc\cfg.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\debug.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\debug.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\dsound.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\dsound.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\psemu.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\record.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\record.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\winmain.c +# End Source File +# End Group +# Begin Group "dfsound" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\adsr.c + +!IF "$(CFG)" == "DFSound - Win32 Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "DFSound - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\adsr.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\dma.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\dma.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\dsoundoss.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\externals.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\externals.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\freeze.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\gauss_i.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\psemuxa.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\registers.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\registers.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\regs.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\reverb.c + +!IF "$(CFG)" == "DFSound - Win32 Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "DFSound - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\reverb.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\spu.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\spu.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\stdafx.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\xa.c + +!IF "$(CFG)" == "DFSound - Win32 Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "DFSound - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfsound\xa.h +# End Source File +# End Group +# Begin Source File + +SOURCE=.\DFSound.def +# End Source File +# Begin Source File + +SOURCE=.\DFSound.rc +# End Source File +# Begin Source File + +SOURCE=.\resource.h +# End Source File +# End Target +# End Project diff --git a/win32/plugins/dfsound/DFSound.rc b/win32/plugins/dfsound/DFSound.rc index 1b86cca4..79b40ad2 100644..100755 --- a/win32/plugins/dfsound/DFSound.rc +++ b/win32/plugins/dfsound/DFSound.rc @@ -1,411 +1,411 @@ -// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Neutral resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
-#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-#pragma code_page(936)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUT DIALOGEX 0, 0, 239, 175
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About"
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
- DEFPUSHBUTTON "OK",IDOK,98,155,44,14
- RTEXT "Version :",IDC_STATIC,5,5,74,9
- RTEXT "Based on :",IDC_STATIC,5,16,74,9
- RTEXT "Coded by :",IDC_STATIC,5,27,74,9
- RTEXT "Pete's EMail :",IDC_STATIC,5,40,74,9
- RTEXT "Pete's homepage :",IDC_STATIC,5,51,74,9
- LTEXT "1.0",IDC_STATIC,82,5,154,9
- LTEXT "P.E.Op.S DSound PSX SPU Audio Driver",IDC_STATIC,81,16,154,9
- LTEXT "Pete Bernert and the P.E.Op.S. team",IDC_STATIC,81,27,154,9
- LTEXT "BlackDove@addcom.de",IDC_STATIC,81,40,154,9
- LTEXT "http://www.pbernert.com",IDC_STATIC,81,51,154,9
- CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,9,107,218,41,WS_EX_DLGMODALFRAME
- RTEXT "Greetings to:",IDC_STATIC,16,116,45,9
- LTEXT "_Demo_, Null2, Iori, Andy, Ben, Bilgerat, linuzappz and everybody else who is trying to create nice psx emu sounds :)",IDC_STATIC,65,116,153,27
- RTEXT "P.E.Op.S. homepage :",IDC_STATIC,5,91,74,9
- LTEXT "https://sourceforge.net/projects/peops/",IDC_STATIC,81,91,154,9
- RTEXT "linuzappz :",IDC_STATIC,10,63,69,10
- LTEXT "http://www.pcsx.net",IDC_STATIC,81,63,142,10
- RTEXT "kode54 :",IDC_STATIC,10,75,69,10
- LTEXT "http://home.earthlink.net/~kode54/",IDC_STATIC,81,75,142,10
-END
-
-IDD_CFGDLG DIALOGEX 0, 0, 253, 217
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Configure the P.E.Op.S. DSound PSX SPU Audio Driver..."
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
- COMBOBOX IDC_USETIMER,54,14,186,44,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_VOLUME,54,30,186,62,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_USEREVERB,54,46,186,44,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_INTERPOL,54,62,186,62,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- CONTROL "Change XA speed, if it is played too fast (more cpu power needed)",IDC_XAPITCH,
- "Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,97,225,10
- CONTROL "SPU IRQ - wait for CPU action (Valkyrie Profile && MGS + SPUasync)",IDC_IRQWAIT,
- "Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,128,231,10
- CONTROL "Mono sound mode (for slower PCs/sound cards)",IDC_DISSTEREO,
- "Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,140,229,10
- CONTROL "Enable developer debug mode",IDC_DEBUGMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,164,229,10
- CONTROL "Enable sound recording window",IDC_RECORDMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,177,229,10
- DEFPUSHBUTTON "OK",IDOK,51,196,45,14
- PUSHBUTTON "Cancel",IDCANCEL,157,196,45,14
- RTEXT "Volume:",IDC_STATIC,22,32,29,10,SS_CENTERIMAGE
- GROUPBOX "General settings",IDC_STATIC,4,2,245,81
- GROUPBOX "XA music",IDC_STATIC,4,85,245,27
- GROUPBOX "Misc",IDC_STATIC,4,115,245,77
- RTEXT "Reverb:",IDC_STATIC,22,48,29,10,SS_CENTERIMAGE
- RTEXT "Mode:",IDC_STATIC,20,16,29,10,SS_CENTERIMAGE
- RTEXT "Interpolation:",IDC_STATIC,8,64,43,10,SS_CENTERIMAGE
- CONTROL "Enable frequency response - output filter",IDC_FREQRESPONSE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,152,224,10
-END
-
-IDD_DEBUG DIALOG 0, 0, 397, 314
-STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Sound debug screen"
-FONT 8, "MS Sans Serif"
-BEGIN
- GROUPBOX "XA",IDC_STATIC,201,249,92,61
- LTEXT "",IDC_SAREA,4,12,150,288,WS_BORDER
- CONTROL "",IDC_MUTE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,14,9,9
- CONTROL "1",IDC_CHAN1,"Button",BS_AUTORADIOBUTTON,168,14,22,9
- CONTROL "",IDC_MUTE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,26,9,9
- CONTROL "2",IDC_CHAN2,"Button",BS_AUTORADIOBUTTON,168,26,22,9
- CONTROL "",IDC_MUTE3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,38,9,9
- CONTROL "3",IDC_CHAN3,"Button",BS_AUTORADIOBUTTON,168,38,22,9
- CONTROL "",IDC_MUTE4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,50,9,9
- CONTROL "4",IDC_CHAN4,"Button",BS_AUTORADIOBUTTON,168,50,22,9
- CONTROL "",IDC_MUTE5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,62,9,9
- CONTROL "5",IDC_CHAN5,"Button",BS_AUTORADIOBUTTON,168,62,22,9
- CONTROL "",IDC_MUTE6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,74,9,9
- CONTROL "6",IDC_CHAN6,"Button",BS_AUTORADIOBUTTON,168,74,22,9
- CONTROL "",IDC_MUTE7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,86,9,9
- CONTROL "7",IDC_CHAN7,"Button",BS_AUTORADIOBUTTON,168,86,22,9
- CONTROL "",IDC_MUTE8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,98,9,9
- CONTROL "8",IDC_CHAN8,"Button",BS_AUTORADIOBUTTON,168,98,22,9
- CONTROL "",IDC_MUTE9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,110,9,9
- CONTROL "9",IDC_CHAN9,"Button",BS_AUTORADIOBUTTON,168,110,22,9
- CONTROL "",IDC_MUTE10,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,122,9,9
- CONTROL "10",IDC_CHAN10,"Button",BS_AUTORADIOBUTTON,168,122,22,9
- CONTROL "",IDC_MUTE11,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,134,9,9
- CONTROL "11",IDC_CHAN11,"Button",BS_AUTORADIOBUTTON,168,134,22,9
- CONTROL "",IDC_MUTE12,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,146,9,9
- CONTROL "12",IDC_CHAN12,"Button",BS_AUTORADIOBUTTON,168,146,22,9
- CONTROL "",IDC_MUTE13,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,158,9,9
- CONTROL "13",IDC_CHAN13,"Button",BS_AUTORADIOBUTTON,168,158,22,9
- CONTROL "",IDC_MUTE14,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,170,9,9
- CONTROL "14",IDC_CHAN14,"Button",BS_AUTORADIOBUTTON,168,170,22,9
- CONTROL "",IDC_MUTE15,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,182,9,9
- CONTROL "15",IDC_CHAN15,"Button",BS_AUTORADIOBUTTON,168,182,22,9
- CONTROL "",IDC_MUTE16,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,194,9,9
- CONTROL "16",IDC_CHAN16,"Button",BS_AUTORADIOBUTTON,168,194,22,9
- CONTROL "",IDC_MUTE17,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,206,9,9
- CONTROL "17",IDC_CHAN17,"Button",BS_AUTORADIOBUTTON,168,206,22,9
- CONTROL "",IDC_MUTE18,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,218,9,9
- CONTROL "18",IDC_CHAN18,"Button",BS_AUTORADIOBUTTON,168,218,22,9
- CONTROL "",IDC_MUTE19,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,230,9,9
- CONTROL "19",IDC_CHAN19,"Button",BS_AUTORADIOBUTTON,168,230,22,9
- CONTROL "",IDC_MUTE20,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,242,9,9
- CONTROL "20",IDC_CHAN20,"Button",BS_AUTORADIOBUTTON,168,242,22,9
- CONTROL "",IDC_MUTE21,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,254,9,9
- CONTROL "21",IDC_CHAN21,"Button",BS_AUTORADIOBUTTON,168,254,22,9
- CONTROL "",IDC_MUTE22,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,266,9,9
- CONTROL "22",IDC_CHAN22,"Button",BS_AUTORADIOBUTTON,168,266,22,9
- CONTROL "",IDC_MUTE23,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,278,9,9
- CONTROL "23",IDC_CHAN23,"Button",BS_AUTORADIOBUTTON,168,278,22,9
- CONTROL "",IDC_MUTE24,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,290,9,9
- CONTROL "24",IDC_CHAN24,"Button",BS_AUTORADIOBUTTON,168,290,22,9
- LTEXT "Streams",IDC_STATIC,6,2,55,8
- CTEXT "Mute/Select",IDC_STATIC,144,2,55,8
- LTEXT "",IDC_ADSR,208,25,176,55,WS_BORDER
- RTEXT "Attack:",IDC_STATIC,221,84,30,9
- RTEXT "Decay:",IDC_STATIC,221,95,30,9
- RTEXT "Sustain:",IDC_STATIC,221,106,30,9
- RTEXT "Release:",IDC_STATIC,221,117,30,9
- LTEXT "---",IDC_SADSR1,254,84,44,9
- LTEXT "---",IDC_SADSR2,254,95,44,9
- LTEXT "---",IDC_SADSR3,254,106,44,9
- LTEXT "---",IDC_SADSR4,254,117,42,9
- RTEXT "Sustain level:",IDC_STATIC,302,84,44,9
- LTEXT "---",IDC_SADSR5,349,84,38,9
- RTEXT "Sustain inc.:",IDC_STATIC,302,95,44,9
- LTEXT "---",IDC_SADSR6,349,95,38,9
- RTEXT "Channel:",IDC_STATIC,204,2,30,8
- GROUPBOX "ADSR channel info",IDC_STATIC,201,14,190,119
- LTEXT "1",IDC_CHANNUM,238,2,33,8
- CONTROL 136,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE,208,83,11,10
- CONTROL 137,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE,208,94,11,10
- CONTROL 138,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE,208,105,11,10
- CONTROL 139,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE,208,116,11,10
- CONTROL 140,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE,4,302,150,8
- PUSHBUTTON "M0",IDC_MUTEOFF,157,300,15,10
- PUSHBUTTON "M1",IDC_MUTEON,174,300,15,10
- GROUPBOX "Generic channel info",IDC_STATIC,201,134,190,114
- RTEXT "On:",IDC_STATIC,210,146,41,9
- RTEXT "Stop:",IDC_STATIC,210,157,41,9
- RTEXT "Reverb:",IDC_STATIC,210,190,41,9
- RTEXT "Start pos:",IDC_STATIC,301,146,35,9
- RTEXT "Curr pos:",IDC_STATIC,301,157,35,9
- RTEXT "Loop pos:",IDC_STATIC,301,168,35,9
- RTEXT "Act freq:",IDC_STATIC,300,223,35,9
- RTEXT "Used freq:",IDC_STATIC,300,234,35,9
- RTEXT "Right vol:",IDC_STATIC,300,190,35,9
- RTEXT "Left vol:",IDC_STATIC,300,201,35,9
- RTEXT "Rvb active:",IDC_STATIC,210,201,41,9
- RTEXT "Rvb offset:",IDC_STATIC,210,223,41,9
- RTEXT "Rvb repeat:",IDC_STATIC,210,234,41,9
- RTEXT "Noise:",IDC_STATIC,210,168,41,9
- RTEXT "FMod:",IDC_STATIC,210,179,41,9
- RTEXT "Rvb number:",IDC_STATIC,210,212,41,9
- RTEXT "Irq addr.:",IDC_STATIC,300,262,35,9
- RTEXT "Curr adsr vol.:",IDC_STATIC,302,106,44,9
- LTEXT "---",IDC_SADSR7,349,106,38,9
- LTEXT "---",IDC_CI1,254,146,39,9
- LTEXT "---",IDC_CI2,254,157,39,9
- LTEXT "---",IDC_CI3,254,168,39,9
- LTEXT "---",IDC_CI4,254,179,39,9
- LTEXT "---",IDC_CI5,254,190,39,9
- LTEXT "---",IDC_CI6,254,201,39,9
- LTEXT "---",IDC_CI7,254,212,39,9
- LTEXT "---",IDC_CI8,254,223,39,9
- LTEXT "---",IDC_CI9,254,234,39,9
- LTEXT "---",IDC_CI10,339,146,46,9
- GROUPBOX "Spu states",IDC_STATIC,297,249,94,61
- LTEXT "---",IDC_CI11,339,157,46,9
- LTEXT "---",IDC_CI12,339,168,46,9
- LTEXT "---",IDC_CI13,339,190,23,9
- LTEXT "---",IDC_CI14,339,201,22,9
- LTEXT "---",IDC_CI15,339,223,46,9
- LTEXT "---",IDC_CI16,339,234,46,9
- LTEXT "---",IDC_STA1,339,262,46,9
- RTEXT "Raw envelope:",IDC_STATIC,296,117,50,9
- LTEXT "---",IDC_SADSR8,349,117,38,9
- RTEXT "Ctrl:",IDC_STATIC,300,273,35,9
- LTEXT "---",IDC_STA2,340,273,46,9
- RTEXT "Stat:",IDC_STATIC,300,284,35,9
- LTEXT "---",IDC_STA3,340,284,46,9
- RTEXT "Spu mem:",IDC_STATIC,300,295,35,9
- LTEXT "---",IDC_STA4,340,295,46,9
- RTEXT "Freq:",IDC_STATIC,204,258,31,9
- RTEXT "Stereo:",IDC_STATIC,204,268,31,9
- RTEXT "Samples:",IDC_STATIC,204,278,31,9
- RTEXT "Buffered:",IDC_STATIC,204,288,31,9
- LTEXT "---",IDC_XA1,239,258,46,9
- LTEXT "---",IDC_XA2,239,268,17,9
- LTEXT "---",IDC_XA3,239,278,46,9
- LTEXT "---",IDC_XA4,239,288,46,9
- LTEXT "---",IDC_CI17,367,190,18,9
- LTEXT "---",IDC_CI18,367,201,18,9
- LTEXT "---",IDC_XA5,239,298,22,9
- LTEXT "---",IDC_XA6,266,298,22,9
- RTEXT "Volume:",IDC_STATIC,204,298,31,9
-END
-
-IDD_RECORD DIALOG 0, 0, 248, 18
-STYLE DS_SETFONT | DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "P.E.Op.S. sound recording"
-FONT 8, "MS Sans Serif"
-BEGIN
- RTEXT "Filename:",IDC_STATIC,3,5,33,9
- EDITTEXT IDC_WAVFILE,41,3,134,12,ES_AUTOHSCROLL
- PUSHBUTTON "Start recording",IDC_RECORD,180,3,61,12
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_ABOUT, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 232
- TOPMARGIN, 7
- BOTTOMMARGIN, 168
- END
-
- IDD_CFGDLG, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 246
- TOPMARGIN, 7
- BOTTOMMARGIN, 210
- END
-
- IDD_DEBUG, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 390
- TOPMARGIN, 7
- BOTTOMMARGIN, 307
- END
-
- IDD_RECORD, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 241
- TOPMARGIN, 7
- BOTTOMMARGIN, 11
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,9,0
- PRODUCTVERSION 1,0,9,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Based on P.E.Op.S. DSound PSX SPU Audio driver by Pete Bernert and the P.E.Op.S. team"
- VALUE "FileDescription", "DFSound"
- VALUE "FileVersion", "1, 0, 9, 0"
- VALUE "InternalName", "DFSound"
- VALUE "OriginalFilename", "DFSound.DLL"
- VALUE "ProductName", "DFSound"
- VALUE "ProductVersion", "1, 0, 9, 0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // Neutral resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Polish resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_PLK)
-#ifdef _WIN32
-LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
-#pragma code_page(1250)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
- "#define _AFX_NO_OLE_RESOURCES\r\n"
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
- "\r\n"
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
- "#ifdef _WIN32\r\n"
- "LANGUAGE 9, 1\r\n"
- "#pragma code_page(1252)\r\n"
- "#endif\r\n"
- "#endif\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Polish resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDB_BITMAP1 BITMAP "res\\bitmap1.bmp"
-IDB_BITMAP2 BITMAP "res\\bitmap2.bmp"
-IDB_BITMAP3 BITMAP "res\\bitmap3.bmp"
-IDB_BITMAP4 BITMAP "res\\bitmap4.bmp"
-IDB_BITMAP5 BITMAP "res\\bitmap5.bmp"
-#endif // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#define _AFX_NO_SPLITTER_RESOURCES
-#define _AFX_NO_OLE_RESOURCES
-#define _AFX_NO_TRACKER_RESOURCES
-#define _AFX_NO_PROPERTY_RESOURCES
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE 9, 1
-#pragma code_page(1252)
-#endif
-#endif
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Neutral resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#pragma code_page(936) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_ABOUT DIALOGEX 0, 0, 239, 175 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About" +FONT 8, "MS Sans Serif", 0, 0, 0x1 +BEGIN + DEFPUSHBUTTON "OK",IDOK,98,155,44,14 + RTEXT "Version :",IDC_STATIC,5,5,74,9 + RTEXT "Based on :",IDC_STATIC,5,16,74,9 + RTEXT "Coded by :",IDC_STATIC,5,27,74,9 + RTEXT "Pete's EMail :",IDC_STATIC,5,40,74,9 + RTEXT "Pete's homepage :",IDC_STATIC,5,51,74,9 + LTEXT "1.0",IDC_STATIC,82,5,154,9 + LTEXT "P.E.Op.S DSound PSX SPU Audio Driver",IDC_STATIC,81,16,154,9 + LTEXT "Pete Bernert and the P.E.Op.S. team",IDC_STATIC,81,27,154,9 + LTEXT "BlackDove@addcom.de",IDC_STATIC,81,40,154,9 + LTEXT "http://www.pbernert.com",IDC_STATIC,81,51,154,9 + CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,9,107,218,41,WS_EX_DLGMODALFRAME + RTEXT "Greetings to:",IDC_STATIC,16,116,45,9 + LTEXT "_Demo_, Null2, Iori, Andy, Ben, Bilgerat, linuzappz and everybody else who is trying to create nice psx emu sounds :)",IDC_STATIC,65,116,153,27 + RTEXT "P.E.Op.S. homepage :",IDC_STATIC,5,91,74,9 + LTEXT "https://sourceforge.net/projects/peops/",IDC_STATIC,81,91,154,9 + RTEXT "linuzappz :",IDC_STATIC,10,63,69,10 + LTEXT "http://www.pcsx.net",IDC_STATIC,81,63,142,10 + RTEXT "kode54 :",IDC_STATIC,10,75,69,10 + LTEXT "http://home.earthlink.net/~kode54/",IDC_STATIC,81,75,142,10 +END + +IDD_CFGDLG DIALOGEX 0, 0, 253, 217 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Configure the P.E.Op.S. DSound PSX SPU Audio Driver..." +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + COMBOBOX IDC_USETIMER,54,14,186,44,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_VOLUME,54,30,186,62,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_USEREVERB,54,46,186,44,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_INTERPOL,54,62,186,62,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Change XA speed, if it is played too fast (more cpu power needed)",IDC_XAPITCH, + "Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,97,225,10 + CONTROL "SPU IRQ - wait for CPU action (Valkyrie Profile && MGS + SPUasync)",IDC_IRQWAIT, + "Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,128,231,10 + CONTROL "Mono sound mode (for slower PCs/sound cards)",IDC_DISSTEREO, + "Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,140,229,10 + CONTROL "Enable developer debug mode",IDC_DEBUGMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,164,229,10 + CONTROL "Enable sound recording window",IDC_RECORDMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | BS_VCENTER | WS_TABSTOP,13,177,229,10 + DEFPUSHBUTTON "OK",IDOK,51,196,45,14 + PUSHBUTTON "Cancel",IDCANCEL,157,196,45,14 + RTEXT "Volume:",IDC_STATIC,22,32,29,10,SS_CENTERIMAGE + GROUPBOX "General settings",IDC_STATIC,4,2,245,81 + GROUPBOX "XA music",IDC_STATIC,4,85,245,27 + GROUPBOX "Misc",IDC_STATIC,4,115,245,77 + RTEXT "Reverb:",IDC_STATIC,22,48,29,10,SS_CENTERIMAGE + RTEXT "Mode:",IDC_STATIC,20,16,29,10,SS_CENTERIMAGE + RTEXT "Interpolation:",IDC_STATIC,8,64,43,10,SS_CENTERIMAGE + CONTROL "Enable frequency response - output filter",IDC_FREQRESPONSE, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,152,224,10 +END + +IDD_DEBUG DIALOG 0, 0, 397, 314 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Sound debug screen" +FONT 8, "MS Sans Serif" +BEGIN + GROUPBOX "XA",IDC_STATIC,201,249,92,61 + LTEXT "",IDC_SAREA,4,12,150,288,WS_BORDER + CONTROL "",IDC_MUTE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,14,9,9 + CONTROL "1",IDC_CHAN1,"Button",BS_AUTORADIOBUTTON,168,14,22,9 + CONTROL "",IDC_MUTE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,26,9,9 + CONTROL "2",IDC_CHAN2,"Button",BS_AUTORADIOBUTTON,168,26,22,9 + CONTROL "",IDC_MUTE3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,38,9,9 + CONTROL "3",IDC_CHAN3,"Button",BS_AUTORADIOBUTTON,168,38,22,9 + CONTROL "",IDC_MUTE4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,50,9,9 + CONTROL "4",IDC_CHAN4,"Button",BS_AUTORADIOBUTTON,168,50,22,9 + CONTROL "",IDC_MUTE5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,62,9,9 + CONTROL "5",IDC_CHAN5,"Button",BS_AUTORADIOBUTTON,168,62,22,9 + CONTROL "",IDC_MUTE6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,74,9,9 + CONTROL "6",IDC_CHAN6,"Button",BS_AUTORADIOBUTTON,168,74,22,9 + CONTROL "",IDC_MUTE7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,86,9,9 + CONTROL "7",IDC_CHAN7,"Button",BS_AUTORADIOBUTTON,168,86,22,9 + CONTROL "",IDC_MUTE8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,98,9,9 + CONTROL "8",IDC_CHAN8,"Button",BS_AUTORADIOBUTTON,168,98,22,9 + CONTROL "",IDC_MUTE9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,110,9,9 + CONTROL "9",IDC_CHAN9,"Button",BS_AUTORADIOBUTTON,168,110,22,9 + CONTROL "",IDC_MUTE10,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,122,9,9 + CONTROL "10",IDC_CHAN10,"Button",BS_AUTORADIOBUTTON,168,122,22,9 + CONTROL "",IDC_MUTE11,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,134,9,9 + CONTROL "11",IDC_CHAN11,"Button",BS_AUTORADIOBUTTON,168,134,22,9 + CONTROL "",IDC_MUTE12,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,146,9,9 + CONTROL "12",IDC_CHAN12,"Button",BS_AUTORADIOBUTTON,168,146,22,9 + CONTROL "",IDC_MUTE13,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,158,9,9 + CONTROL "13",IDC_CHAN13,"Button",BS_AUTORADIOBUTTON,168,158,22,9 + CONTROL "",IDC_MUTE14,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,170,9,9 + CONTROL "14",IDC_CHAN14,"Button",BS_AUTORADIOBUTTON,168,170,22,9 + CONTROL "",IDC_MUTE15,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,182,9,9 + CONTROL "15",IDC_CHAN15,"Button",BS_AUTORADIOBUTTON,168,182,22,9 + CONTROL "",IDC_MUTE16,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,194,9,9 + CONTROL "16",IDC_CHAN16,"Button",BS_AUTORADIOBUTTON,168,194,22,9 + CONTROL "",IDC_MUTE17,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,206,9,9 + CONTROL "17",IDC_CHAN17,"Button",BS_AUTORADIOBUTTON,168,206,22,9 + CONTROL "",IDC_MUTE18,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,218,9,9 + CONTROL "18",IDC_CHAN18,"Button",BS_AUTORADIOBUTTON,168,218,22,9 + CONTROL "",IDC_MUTE19,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,230,9,9 + CONTROL "19",IDC_CHAN19,"Button",BS_AUTORADIOBUTTON,168,230,22,9 + CONTROL "",IDC_MUTE20,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,242,9,9 + CONTROL "20",IDC_CHAN20,"Button",BS_AUTORADIOBUTTON,168,242,22,9 + CONTROL "",IDC_MUTE21,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,254,9,9 + CONTROL "21",IDC_CHAN21,"Button",BS_AUTORADIOBUTTON,168,254,22,9 + CONTROL "",IDC_MUTE22,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,266,9,9 + CONTROL "22",IDC_CHAN22,"Button",BS_AUTORADIOBUTTON,168,266,22,9 + CONTROL "",IDC_MUTE23,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,278,9,9 + CONTROL "23",IDC_CHAN23,"Button",BS_AUTORADIOBUTTON,168,278,22,9 + CONTROL "",IDC_MUTE24,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,290,9,9 + CONTROL "24",IDC_CHAN24,"Button",BS_AUTORADIOBUTTON,168,290,22,9 + LTEXT "Streams",IDC_STATIC,6,2,55,8 + CTEXT "Mute/Select",IDC_STATIC,144,2,55,8 + LTEXT "",IDC_ADSR,208,25,176,55,WS_BORDER + RTEXT "Attack:",IDC_STATIC,221,84,30,9 + RTEXT "Decay:",IDC_STATIC,221,95,30,9 + RTEXT "Sustain:",IDC_STATIC,221,106,30,9 + RTEXT "Release:",IDC_STATIC,221,117,30,9 + LTEXT "---",IDC_SADSR1,254,84,44,9 + LTEXT "---",IDC_SADSR2,254,95,44,9 + LTEXT "---",IDC_SADSR3,254,106,44,9 + LTEXT "---",IDC_SADSR4,254,117,42,9 + RTEXT "Sustain level:",IDC_STATIC,302,84,44,9 + LTEXT "---",IDC_SADSR5,349,84,38,9 + RTEXT "Sustain inc.:",IDC_STATIC,302,95,44,9 + LTEXT "---",IDC_SADSR6,349,95,38,9 + RTEXT "Channel:",IDC_STATIC,204,2,30,8 + GROUPBOX "ADSR channel info",IDC_STATIC,201,14,190,119 + LTEXT "1",IDC_CHANNUM,238,2,33,8 + CONTROL 136,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE,208,83,11,10 + CONTROL 137,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE,208,94,11,10 + CONTROL 138,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE,208,105,11,10 + CONTROL 139,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE,208,116,11,10 + CONTROL 140,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE,4,302,150,8 + PUSHBUTTON "M0",IDC_MUTEOFF,157,300,15,10 + PUSHBUTTON "M1",IDC_MUTEON,174,300,15,10 + GROUPBOX "Generic channel info",IDC_STATIC,201,134,190,114 + RTEXT "On:",IDC_STATIC,210,146,41,9 + RTEXT "Stop:",IDC_STATIC,210,157,41,9 + RTEXT "Reverb:",IDC_STATIC,210,190,41,9 + RTEXT "Start pos:",IDC_STATIC,301,146,35,9 + RTEXT "Curr pos:",IDC_STATIC,301,157,35,9 + RTEXT "Loop pos:",IDC_STATIC,301,168,35,9 + RTEXT "Act freq:",IDC_STATIC,300,223,35,9 + RTEXT "Used freq:",IDC_STATIC,300,234,35,9 + RTEXT "Right vol:",IDC_STATIC,300,190,35,9 + RTEXT "Left vol:",IDC_STATIC,300,201,35,9 + RTEXT "Rvb active:",IDC_STATIC,210,201,41,9 + RTEXT "Rvb offset:",IDC_STATIC,210,223,41,9 + RTEXT "Rvb repeat:",IDC_STATIC,210,234,41,9 + RTEXT "Noise:",IDC_STATIC,210,168,41,9 + RTEXT "FMod:",IDC_STATIC,210,179,41,9 + RTEXT "Rvb number:",IDC_STATIC,210,212,41,9 + RTEXT "Irq addr.:",IDC_STATIC,300,262,35,9 + RTEXT "Curr adsr vol.:",IDC_STATIC,302,106,44,9 + LTEXT "---",IDC_SADSR7,349,106,38,9 + LTEXT "---",IDC_CI1,254,146,39,9 + LTEXT "---",IDC_CI2,254,157,39,9 + LTEXT "---",IDC_CI3,254,168,39,9 + LTEXT "---",IDC_CI4,254,179,39,9 + LTEXT "---",IDC_CI5,254,190,39,9 + LTEXT "---",IDC_CI6,254,201,39,9 + LTEXT "---",IDC_CI7,254,212,39,9 + LTEXT "---",IDC_CI8,254,223,39,9 + LTEXT "---",IDC_CI9,254,234,39,9 + LTEXT "---",IDC_CI10,339,146,46,9 + GROUPBOX "Spu states",IDC_STATIC,297,249,94,61 + LTEXT "---",IDC_CI11,339,157,46,9 + LTEXT "---",IDC_CI12,339,168,46,9 + LTEXT "---",IDC_CI13,339,190,23,9 + LTEXT "---",IDC_CI14,339,201,22,9 + LTEXT "---",IDC_CI15,339,223,46,9 + LTEXT "---",IDC_CI16,339,234,46,9 + LTEXT "---",IDC_STA1,339,262,46,9 + RTEXT "Raw envelope:",IDC_STATIC,296,117,50,9 + LTEXT "---",IDC_SADSR8,349,117,38,9 + RTEXT "Ctrl:",IDC_STATIC,300,273,35,9 + LTEXT "---",IDC_STA2,340,273,46,9 + RTEXT "Stat:",IDC_STATIC,300,284,35,9 + LTEXT "---",IDC_STA3,340,284,46,9 + RTEXT "Spu mem:",IDC_STATIC,300,295,35,9 + LTEXT "---",IDC_STA4,340,295,46,9 + RTEXT "Freq:",IDC_STATIC,204,258,31,9 + RTEXT "Stereo:",IDC_STATIC,204,268,31,9 + RTEXT "Samples:",IDC_STATIC,204,278,31,9 + RTEXT "Buffered:",IDC_STATIC,204,288,31,9 + LTEXT "---",IDC_XA1,239,258,46,9 + LTEXT "---",IDC_XA2,239,268,17,9 + LTEXT "---",IDC_XA3,239,278,46,9 + LTEXT "---",IDC_XA4,239,288,46,9 + LTEXT "---",IDC_CI17,367,190,18,9 + LTEXT "---",IDC_CI18,367,201,18,9 + LTEXT "---",IDC_XA5,239,298,22,9 + LTEXT "---",IDC_XA6,266,298,22,9 + RTEXT "Volume:",IDC_STATIC,204,298,31,9 +END + +IDD_RECORD DIALOG 0, 0, 248, 18 +STYLE DS_SETFONT | DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "P.E.Op.S. sound recording" +FONT 8, "MS Sans Serif" +BEGIN + RTEXT "Filename:",IDC_STATIC,3,5,33,9 + EDITTEXT IDC_WAVFILE,41,3,134,12,ES_AUTOHSCROLL + PUSHBUTTON "Start recording",IDC_RECORD,180,3,61,12 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_ABOUT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 232 + TOPMARGIN, 7 + BOTTOMMARGIN, 168 + END + + IDD_CFGDLG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 246 + TOPMARGIN, 7 + BOTTOMMARGIN, 210 + END + + IDD_DEBUG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 390 + TOPMARGIN, 7 + BOTTOMMARGIN, 307 + END + + IDD_RECORD, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 241 + TOPMARGIN, 7 + BOTTOMMARGIN, 11 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,9,0 + PRODUCTVERSION 1,0,9,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "Based on P.E.Op.S. DSound PSX SPU Audio driver by Pete Bernert and the P.E.Op.S. team" + VALUE "FileDescription", "DFSound" + VALUE "FileVersion", "1, 0, 9, 0" + VALUE "InternalName", "DFSound" + VALUE "OriginalFilename", "DFSound.DLL" + VALUE "ProductName", "DFSound" + VALUE "ProductVersion", "1, 0, 9, 0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // Neutral resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// Polish resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_PLK) +#ifdef _WIN32 +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT +#pragma code_page(1250) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "#define _AFX_NO_SPLITTER_RESOURCES\r\n" + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 9, 1\r\n" + "#pragma code_page(1252)\r\n" + "#endif\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Polish resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// German (Germany) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU) +#ifdef _WIN32 +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_BITMAP1 BITMAP "res\\bitmap1.bmp" +IDB_BITMAP2 BITMAP "res\\bitmap2.bmp" +IDB_BITMAP3 BITMAP "res\\bitmap3.bmp" +IDB_BITMAP4 BITMAP "res\\bitmap4.bmp" +IDB_BITMAP5 BITMAP "res\\bitmap5.bmp" +#endif // German (Germany) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +#define _AFX_NO_SPLITTER_RESOURCES +#define _AFX_NO_OLE_RESOURCES +#define _AFX_NO_TRACKER_RESOURCES +#define _AFX_NO_PROPERTY_RESOURCES + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE 9, 1 +#pragma code_page(1252) +#endif +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/win32/plugins/dfsound/DFSound.vcproj b/win32/plugins/dfsound/DFSound.vcproj index 9314bbc2..443abd6e 100644..100755 --- a/win32/plugins/dfsound/DFSound.vcproj +++ b/win32/plugins/dfsound/DFSound.vcproj @@ -1,606 +1,606 @@ -<?xml version="1.0" encoding="gb2312"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="DFSound"
- ProjectGUID="{DB25BF63-9B9E-4A40-A45E-BBBA49AD6F22}"
- RootNamespace="DFSound"
- TargetFrameworkVersion="0"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/DFSound.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories=".\,.\winsrc,..\..\..\plugins\dfsound,..\..\glue,..\..\..\libpcsxcore"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- StringPooling="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- PrecompiledHeaderFile=".\Release/DFSound.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1031"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="dsound.lib winmm.lib"
- OutputFile=".\Release/DFSound.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ModuleDefinitionFile=".\DFSound.def"
- ProgramDatabaseFile=".\Release/DFSound.pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary=".\Release/DFSound.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Release/DFSound.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/DFSound.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\,.\winsrc,..\..\..\plugins\dfsound,..\..\glue,..\..\..\libpcsxcore"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/DFSound.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1031"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="dsound.lib winmm.lib"
- OutputFile=".\Debug/DFSound.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ModuleDefinitionFile=".\DFSound.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug/DFSound.pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary=".\Debug/DFSound.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Debug/DFSound.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="winsrc"
- >
- <File
- RelativePath="winsrc\cfg.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\debug.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\debug.h"
- >
- </File>
- <File
- RelativePath="winsrc\dsound.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\dsound.h"
- >
- </File>
- <File
- RelativePath="winsrc\psemu.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\record.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\record.h"
- >
- </File>
- <File
- RelativePath="winsrc\winmain.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="dfsound"
- >
- <File
- RelativePath="..\..\..\plugins\dfsound\adsr.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\adsr.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\dma.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\dma.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\dsoundoss.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\externals.c"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\externals.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\freeze.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\gauss_i.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\psemuxa.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\registers.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\registers.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\regs.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\reverb.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\reverb.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\spu.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\spu.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\stdafx.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\xa.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfsound\xa.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="DFSound.def"
- >
- </File>
- <File
- RelativePath="DFSound.rc"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="resource.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="gb2312"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="DFSound" + ProjectGUID="{DB25BF63-9B9E-4A40-A45E-BBBA49AD6F22}" + RootNamespace="DFSound" + TargetFrameworkVersion="0" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Release/DFSound.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories=".\,.\winsrc,..\..\..\plugins\dfsound,..\..\glue,..\..\..\libpcsxcore" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + PrecompiledHeaderFile=".\Release/DFSound.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + BrowseInformation="1" + WarningLevel="3" + SuppressStartupBanner="true" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1031" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="dsound.lib winmm.lib" + OutputFile=".\Release/DFSound.dll" + LinkIncremental="1" + SuppressStartupBanner="true" + ModuleDefinitionFile=".\DFSound.def" + ProgramDatabaseFile=".\Release/DFSound.pdb" + SubSystem="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary=".\Release/DFSound.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/DFSound.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Debug/DFSound.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=".\,.\winsrc,..\..\..\plugins\dfsound,..\..\glue,..\..\..\libpcsxcore" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + PrecompiledHeaderFile=".\Debug/DFSound.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1031" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="dsound.lib winmm.lib" + OutputFile=".\Debug/DFSound.dll" + LinkIncremental="1" + SuppressStartupBanner="true" + ModuleDefinitionFile=".\DFSound.def" + GenerateDebugInformation="true" + ProgramDatabaseFile=".\Debug/DFSound.pdb" + SubSystem="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary=".\Debug/DFSound.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/DFSound.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="winsrc" + > + <File + RelativePath="winsrc\cfg.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\debug.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\debug.h" + > + </File> + <File + RelativePath="winsrc\dsound.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\dsound.h" + > + </File> + <File + RelativePath="winsrc\psemu.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\record.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\record.h" + > + </File> + <File + RelativePath="winsrc\winmain.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="dfsound" + > + <File + RelativePath="..\..\..\plugins\dfsound\adsr.c" + > + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfsound\adsr.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\dma.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfsound\dma.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\dsoundoss.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\externals.c" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\externals.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\freeze.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfsound\gauss_i.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\psemuxa.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\registers.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfsound\registers.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\regs.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\reverb.c" + > + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfsound\reverb.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\spu.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfsound\spu.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\stdafx.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfsound\xa.c" + > + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfsound\xa.h" + > + </File> + </Filter> + <File + RelativePath="DFSound.def" + > + </File> + <File + RelativePath="DFSound.rc" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="resource.h" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/win32/plugins/dfsound/resource.h b/win32/plugins/dfsound/resource.h index 7b071946..8185d103 100644..100755 --- a/win32/plugins/dfsound/resource.h +++ b/win32/plugins/dfsound/resource.h @@ -1,149 +1,149 @@ -//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by DFSound.rc
-//
-#define IDC_SETS1 3
-#define IDC_SETS2 4
-#define IDOK2 5
-#define IDD_DIALOG1 130
-#define IDD_ABOUT 130
-#define IDD_CFGDLG 131
-#define IDD_DEBUG 135
-#define IDB_BITMAP1 136
-#define IDB_BITMAP2 137
-#define IDB_BITMAP3 138
-#define IDB_BITMAP4 139
-#define IDB_BITMAP5 140
-#define IDD_RECORD 141
-#define IDC_XAVOLUME 1004
-#define IDC_ENABXA 1005
-#define IDC_XAPITCH 1006
-#define IDC_XABLOCK 1007
-#define IDC_USETIMER 1007
-#define IDC_CMIXRATE 1008
-#define IDC_USEIRQ 1008
-#define IDC_USEREVERB 1008
-#define IDC_CMODE 1009
-#define IDC_VOLUME 1009
-#define IDC_CFILTER 1010
-#define IDC_IRQWAIT 1010
-#define IDC_CQUALITY 1011
-#define IDC_DEBUGMODE 1011
-#define IDC_CDSOUND 1012
-#define IDC_INTERPOL 1012
-#define IDC_PLAYALWAYS 1013
-#define IDC_RECORDMODE 1013
-#define IDC_IGNOREPITCH 1014
-#define IDC_DISSTEREO 1014
-#define IDC_AMPLIF 1015
-#define IDC_IRQDECODE 1015
-#define IDC_VENVELOPE 1016
-#define IDC_VOL1 1016
-#define IDC_REVERB 1017
-#define IDC_VOL2 1017
-#define IDC_VOL3 1018
-#define IDC_VOL4 1019
-#define IDC_SAREA 1022
-#define IDC_ADSR 1023
-#define IDC_MUTE1 1047
-#define IDC_MUTE2 1048
-#define IDC_MUTE3 1049
-#define IDC_MUTE4 1050
-#define IDC_MUTE5 1051
-#define IDC_MUTE6 1052
-#define IDC_MUTE7 1053
-#define IDC_MUTE8 1054
-#define IDC_MUTE9 1055
-#define IDC_MUTE10 1056
-#define IDC_MUTE11 1057
-#define IDC_MUTE12 1058
-#define IDC_MUTE13 1059
-#define IDC_MUTE14 1060
-#define IDC_MUTE15 1061
-#define IDC_MUTE16 1062
-#define IDC_MUTE17 1063
-#define IDC_MUTE18 1064
-#define IDC_MUTE19 1065
-#define IDC_MUTE20 1066
-#define IDC_MUTE21 1067
-#define IDC_MUTE22 1068
-#define IDC_MUTE23 1069
-#define IDC_MUTE24 1070
-#define IDC_CHAN1 1071
-#define IDC_CHAN2 1072
-#define IDC_CHAN3 1073
-#define IDC_CHAN4 1074
-#define IDC_CHAN5 1075
-#define IDC_CHAN6 1076
-#define IDC_CHAN7 1077
-#define IDC_CHAN8 1078
-#define IDC_CHAN9 1079
-#define IDC_CHAN10 1080
-#define IDC_CHAN11 1081
-#define IDC_CHAN12 1082
-#define IDC_CHAN13 1083
-#define IDC_CHAN14 1084
-#define IDC_CHAN15 1085
-#define IDC_CHAN16 1086
-#define IDC_CHAN17 1087
-#define IDC_CHAN18 1088
-#define IDC_CHAN19 1089
-#define IDC_CHAN20 1090
-#define IDC_CHAN21 1091
-#define IDC_CHAN22 1092
-#define IDC_CHAN23 1093
-#define IDC_CHAN24 1094
-#define IDC_SADSR1 1096
-#define IDC_SADSR2 1097
-#define IDC_SADSR3 1098
-#define IDC_SADSR4 1099
-#define IDC_SADSR5 1100
-#define IDC_SADSR6 1101
-#define IDC_CHANNUM 1102
-#define IDC_MUTEOFF 1103
-#define IDC_MUTEON 1104
-#define IDC_SADSR7 1105
-#define IDC_CI1 1106
-#define IDC_CI2 1107
-#define IDC_CI3 1108
-#define IDC_CI4 1109
-#define IDC_CI5 1110
-#define IDC_CI6 1111
-#define IDC_CI7 1112
-#define IDC_CI8 1113
-#define IDC_CI9 1114
-#define IDC_CI10 1115
-#define IDC_CI11 1116
-#define IDC_CI12 1117
-#define IDC_CI13 1118
-#define IDC_CI14 1119
-#define IDC_CI15 1120
-#define IDC_CI16 1121
-#define IDC_STA1 1122
-#define IDC_SADSR8 1123
-#define IDC_STA2 1124
-#define IDC_STA3 1125
-#define IDC_STA4 1126
-#define IDC_XA1 1127
-#define IDC_XA2 1128
-#define IDC_XA3 1129
-#define IDC_XA4 1130
-#define IDC_CI17 1131
-#define IDC_CI18 1132
-#define IDC_XA 1133
-#define IDC_WAVFILE 1134
-#define IDC_XA5 1135
-#define IDC_RECORD 1135
-#define IDC_XA6 1136
-#define IDC_FREQRESPONSE 1136
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 144
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1137
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by DFSound.rc +// +#define IDC_SETS1 3 +#define IDC_SETS2 4 +#define IDOK2 5 +#define IDD_DIALOG1 130 +#define IDD_ABOUT 130 +#define IDD_CFGDLG 131 +#define IDD_DEBUG 135 +#define IDB_BITMAP1 136 +#define IDB_BITMAP2 137 +#define IDB_BITMAP3 138 +#define IDB_BITMAP4 139 +#define IDB_BITMAP5 140 +#define IDD_RECORD 141 +#define IDC_XAVOLUME 1004 +#define IDC_ENABXA 1005 +#define IDC_XAPITCH 1006 +#define IDC_XABLOCK 1007 +#define IDC_USETIMER 1007 +#define IDC_CMIXRATE 1008 +#define IDC_USEIRQ 1008 +#define IDC_USEREVERB 1008 +#define IDC_CMODE 1009 +#define IDC_VOLUME 1009 +#define IDC_CFILTER 1010 +#define IDC_IRQWAIT 1010 +#define IDC_CQUALITY 1011 +#define IDC_DEBUGMODE 1011 +#define IDC_CDSOUND 1012 +#define IDC_INTERPOL 1012 +#define IDC_PLAYALWAYS 1013 +#define IDC_RECORDMODE 1013 +#define IDC_IGNOREPITCH 1014 +#define IDC_DISSTEREO 1014 +#define IDC_AMPLIF 1015 +#define IDC_IRQDECODE 1015 +#define IDC_VENVELOPE 1016 +#define IDC_VOL1 1016 +#define IDC_REVERB 1017 +#define IDC_VOL2 1017 +#define IDC_VOL3 1018 +#define IDC_VOL4 1019 +#define IDC_SAREA 1022 +#define IDC_ADSR 1023 +#define IDC_MUTE1 1047 +#define IDC_MUTE2 1048 +#define IDC_MUTE3 1049 +#define IDC_MUTE4 1050 +#define IDC_MUTE5 1051 +#define IDC_MUTE6 1052 +#define IDC_MUTE7 1053 +#define IDC_MUTE8 1054 +#define IDC_MUTE9 1055 +#define IDC_MUTE10 1056 +#define IDC_MUTE11 1057 +#define IDC_MUTE12 1058 +#define IDC_MUTE13 1059 +#define IDC_MUTE14 1060 +#define IDC_MUTE15 1061 +#define IDC_MUTE16 1062 +#define IDC_MUTE17 1063 +#define IDC_MUTE18 1064 +#define IDC_MUTE19 1065 +#define IDC_MUTE20 1066 +#define IDC_MUTE21 1067 +#define IDC_MUTE22 1068 +#define IDC_MUTE23 1069 +#define IDC_MUTE24 1070 +#define IDC_CHAN1 1071 +#define IDC_CHAN2 1072 +#define IDC_CHAN3 1073 +#define IDC_CHAN4 1074 +#define IDC_CHAN5 1075 +#define IDC_CHAN6 1076 +#define IDC_CHAN7 1077 +#define IDC_CHAN8 1078 +#define IDC_CHAN9 1079 +#define IDC_CHAN10 1080 +#define IDC_CHAN11 1081 +#define IDC_CHAN12 1082 +#define IDC_CHAN13 1083 +#define IDC_CHAN14 1084 +#define IDC_CHAN15 1085 +#define IDC_CHAN16 1086 +#define IDC_CHAN17 1087 +#define IDC_CHAN18 1088 +#define IDC_CHAN19 1089 +#define IDC_CHAN20 1090 +#define IDC_CHAN21 1091 +#define IDC_CHAN22 1092 +#define IDC_CHAN23 1093 +#define IDC_CHAN24 1094 +#define IDC_SADSR1 1096 +#define IDC_SADSR2 1097 +#define IDC_SADSR3 1098 +#define IDC_SADSR4 1099 +#define IDC_SADSR5 1100 +#define IDC_SADSR6 1101 +#define IDC_CHANNUM 1102 +#define IDC_MUTEOFF 1103 +#define IDC_MUTEON 1104 +#define IDC_SADSR7 1105 +#define IDC_CI1 1106 +#define IDC_CI2 1107 +#define IDC_CI3 1108 +#define IDC_CI4 1109 +#define IDC_CI5 1110 +#define IDC_CI6 1111 +#define IDC_CI7 1112 +#define IDC_CI8 1113 +#define IDC_CI9 1114 +#define IDC_CI10 1115 +#define IDC_CI11 1116 +#define IDC_CI12 1117 +#define IDC_CI13 1118 +#define IDC_CI14 1119 +#define IDC_CI15 1120 +#define IDC_CI16 1121 +#define IDC_STA1 1122 +#define IDC_SADSR8 1123 +#define IDC_STA2 1124 +#define IDC_STA3 1125 +#define IDC_STA4 1126 +#define IDC_XA1 1127 +#define IDC_XA2 1128 +#define IDC_XA3 1129 +#define IDC_XA4 1130 +#define IDC_CI17 1131 +#define IDC_CI18 1132 +#define IDC_XA 1133 +#define IDC_WAVFILE 1134 +#define IDC_XA5 1135 +#define IDC_RECORD 1135 +#define IDC_XA6 1136 +#define IDC_FREQRESPONSE 1136 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 144 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 1137 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/win32/plugins/dfsound/winsrc/cfg.c b/win32/plugins/dfsound/winsrc/cfg.c index dc497989..f5f9cff5 100644..100755 --- a/win32/plugins/dfsound/winsrc/cfg.c +++ b/win32/plugins/dfsound/winsrc/cfg.c @@ -64,8 +64,8 @@ void ReadConfig(void) iRecordMode=0; iUseReverb=2; iUseInterpolation=2; - iDisStereo=0;
- iFreqResponse=0;
+ iDisStereo=0; + iFreqResponse=0; if (RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\Vision Thing\\PSEmu Pro\\SPU\\DFSound",0,KEY_ALL_ACCESS,&myKey)==ERROR_SUCCESS) { @@ -82,8 +82,8 @@ void ReadConfig(void) if(RegQueryValueEx(myKey,"SPUIRQWait",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) iSPUIRQWait=(int)temp; size = 4; - if(RegQueryValueEx(myKey,"FreqResponse",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iFreqResponse=(int)temp;
+ if(RegQueryValueEx(myKey,"FreqResponse",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iFreqResponse=(int)temp; size = 4; if(RegQueryValueEx(myKey,"DebugMode",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) iDebugMode=(int)temp; @@ -127,8 +127,8 @@ void WriteConfig(void) RegSetValueEx(myKey,"UseTimer",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); temp=iSPUIRQWait; RegSetValueEx(myKey,"SPUIRQWait",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); - temp=iFreqResponse;
- RegSetValueEx(myKey,"FreqResponse",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
+ temp=iFreqResponse; + RegSetValueEx(myKey,"FreqResponse",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); temp=iDebugMode; RegSetValueEx(myKey,"DebugMode",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); temp=iRecordMode; @@ -139,7 +139,7 @@ void WriteConfig(void) RegSetValueEx(myKey,"UseInterpolation",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); temp=iDisStereo; RegSetValueEx(myKey,"DisStereo",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); -
+ RegCloseKey(myKey); } @@ -225,10 +225,10 @@ void OnDSoundOK(HWND hW) if(IsDlgButtonChecked(hW,IDC_DISSTEREO)) iDisStereo=1; else iDisStereo=0; -
- if(IsDlgButtonChecked(hW,IDC_FREQRESPONSE))
- iFreqResponse=1; else iFreqResponse=0;
-
+ + if(IsDlgButtonChecked(hW,IDC_FREQRESPONSE)) + iFreqResponse=1; else iFreqResponse=0; + WriteConfig(); // write registry EndDialog(hW,TRUE); diff --git a/win32/plugins/dfsound/winsrc/debug.c b/win32/plugins/dfsound/winsrc/debug.c index 223be4ce..26c15c14 100644..100755 --- a/win32/plugins/dfsound/winsrc/debug.c +++ b/win32/plugins/dfsound/winsrc/debug.c @@ -1,372 +1,372 @@ -/***************************************************************************
- debug.c - description
- -------------------
- begin : Wed May 15 2002
- copyright : (C) 2002 by Pete Bernert
- email : BlackDove@addcom.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2004/09/18 - Pete
-// - corrected ADSRX value display
-//
-// 2003/01/06 - Pete
-// - added Neil's ADSR timings
-//
-// 2002/05/15 - Pete
-// - generic cleanup for the Peops release
-//
-//*************************************************************************//
-
-#include "stdafx.h"
-
-#define _IN_DEBUG
-
-#include "externals.h"
-
-////////////////////////////////////////////////////////////////////////
-// WINDOWS DEBUG DIALOG HANDLING
-////////////////////////////////////////////////////////////////////////
-
-#ifdef _WINDOWS
-
-#include "resource.h"
-
-//#define SMALLDEBUG
-//#include <dbgout.h>
-
-////////////////////////////////////////////////////////////////////////
-// display debug infos
-
-const COLORREF crStreamCol[]={
- RGB( 0, 0, 0),
- RGB(255,255,255),
- RGB(128, 0,128),
- RGB( 0,128, 0),
- RGB( 0, 0,255),
- RGB(255, 0, 0)
- };
-
-const COLORREF crAdsrCol[] ={
- RGB( 0, 0, 0),
- RGB(255, 0, 0),
- RGB( 0,255, 0),
- RGB(255, 0,255),
- RGB( 0, 0,255),
- RGB( 0, 0, 0),
- };
-
-HBRUSH hBStream[6]; // brushes for stream lines
-HPEN hPAdsr[6]; // pens for adsr lines
-int iSelChannel=0; // user selected channel
-
-////////////////////////////////////////////////////////////////////////
-// display the sound data waves: no subclassing used, so the
-// area will not be redrawn... but faster that way, and good enuff
-// for debugging purposes
-
-void DisplayStreamInfos(HWND hW)
-{
- HWND hWS=GetDlgItem(hW,IDC_SAREA);
- HDC hdc;RECT r;HBRUSH hBO;int ch,dy,i,j,id;
-
- //----------------------------------------------------//
-
- GetClientRect(hWS,&r); // get size of stream display
- hdc=GetDC(hWS); // device context
- r.right--; // leave the right border intact
- ScrollDC(hdc,-1,0,&r,&r,NULL,NULL); // scroll one pixel to the left
-
- //----------------------------------------------------//
-
- hBO=SelectObject(hdc,hBStream[0]); // clean the right border
- PatBlt(hdc,r.right-1,0,1,r.bottom,PATCOPY);
-
- //----------------------------------------------------//
-
- dy=r.bottom/MAXCHAN; // size of one channel area
-
- for(ch=0;ch<MAXCHAN;ch++) // loop the channels
- {
- if(s_chan[ch].bOn) // channel is on?
- {
- if(s_chan[ch].iIrqDone)
- {
- s_chan[ch].iIrqDone=0;
- PatBlt(hdc,r.right-1,ch*r.bottom/MAXCHAN,
- 1,dy,BLACKNESS);
- continue;
- }
-
- j=s_chan[ch].sval;if(j<0) j=-j; // -> get one channel data (-32k ... 32k)
- j=(dy*j)/32768; if(j==0) j=1; // -> adjust to display coords
- i=(dy/2)+(ch*r.bottom/MAXCHAN)-j/2; // -> position where to paint it
-
-
-
- if (s_chan[ch].iMute) id=1; // -> get color id
- else if(s_chan[ch].bNoise) id=2;
- else if(s_chan[ch].bFMod==2) id=3;
- else if(s_chan[ch].bFMod==1) id=4;
- else id=5;
-
- SelectObject(hdc,hBStream[id]); // -> select the brush
- PatBlt(hdc,r.right-1,i,1,j,PATCOPY); // -> paint the value line
- }
-
- if(ch) SetPixel(hdc,r.right-1, // -> not first line?
- ch*r.bottom/MAXCHAN,RGB(0,0,0)); // --> draw the line (one dot scrolled to the left)
- }
-
- //----------------------------------------------------//
-
- SelectObject(hdc,hBO); // repair brush
-
- ReleaseDC(hWS,hdc); // release context
-}
-
-////////////////////////////////////////////////////////////////////////
-// display adsr lines: also no subclassing for repainting used
-
-void DisplayADSRInfos(HWND hW)
-{
- HWND hWS=GetDlgItem(hW,IDC_ADSR);
- HDC hdc;RECT r;HBRUSH hBO;char szB[16];
- int ch=iSelChannel,dx,dy,dm,dn,ia,id,is,ir;
-
- //----------------------------------------------------// get display size
-
- GetClientRect(hWS,&r);
- hdc=GetDC(hWS);
-
- //----------------------------------------------------// clean the area
-
- hBO=SelectObject(hdc,hBStream[0]);
- PatBlt(hdc,0,0,r.right,r.bottom,PATCOPY);
- r.left++;r.right-=2;r.top++;r.bottom-=2; // shrink the display rect for better optics
-
- //----------------------------------------------------//
-
- ia=min(s_chan[ch].ADSR.AttackTime,10000); // get adsr, but limit it for drawing
- id=min(s_chan[ch].ADSR.DecayTime,10000);
- is=min(s_chan[ch].ADSR.SustainTime,10000);
- ir=min(s_chan[ch].ADSR.ReleaseTime,10000);
-
- dx=ia+id+is+ir; // get the dx in (limited) adsr units
-
- // set the real values to the info statics
- SetDlgItemInt(hW,IDC_SADSR1,s_chan[ch].ADSRX.AttackRate^0x7f,FALSE);
- SetDlgItemInt(hW,IDC_SADSR2,(s_chan[ch].ADSRX.DecayRate^0x1f)/4,FALSE);
- SetDlgItemInt(hW,IDC_SADSR3,s_chan[ch].ADSRX.SustainRate^0x7f,FALSE);
- SetDlgItemInt(hW,IDC_SADSR4,(s_chan[ch].ADSRX.ReleaseRate^0x1f)/4,FALSE);
- SetDlgItemInt(hW,IDC_SADSR5,s_chan[ch].ADSRX.SustainLevel>>27,FALSE);
-
- SetDlgItemInt(hW,IDC_SADSR6,s_chan[ch].ADSRX.SustainIncrease,TRUE);
- SetDlgItemInt(hW,IDC_SADSR7,s_chan[ch].ADSRX.lVolume,TRUE);
- wsprintf(szB,"%08lx",s_chan[ch].ADSRX.EnvelopeVol);
- SetDlgItemText(hW,IDC_SADSR8,szB);
-
- if(dx) // something to draw?
- {
- HPEN hPO=SelectObject(hdc,hPAdsr[1]); // sel A pen
- dn=r.left;
- MoveToEx(hdc,dn,r.bottom,NULL); // move to bottom left corner
-
- dn+=(ia*r.right)/dx; // calc A x line pos
- LineTo(hdc,dn,r.top); // line to AxPos,top
-
- SelectObject(hdc,hPAdsr[2]); // sel D pen
- dn+=(id*r.right)/dx; // calc D x line pos
- dy=r.top+((1024-s_chan[ch].ADSR.SustainLevel)* // calc the D y pos
- r.bottom)/1024; // (our S level is ranged from 0 to 1024)
- LineTo(hdc,dn,dy); // line to DxPos,SLevel
-
- SelectObject(hdc,hPAdsr[3]); // sel S pen
- if(s_chan[ch].ADSR.SustainTime>10000) dm=1; // we have to fake the S values... S will
- else // inc/decrease until channel stop...
- if(s_chan[ch].ADSR.SustainTime==0) dm=0; // we dunno here when this will happen,
- else dm=21-(((s_chan[ch].ADSR.SustainTime/500))); // so we do some more ore less angled line,
- dy=dy-(s_chan[ch].ADSR.SustainModeDec*dm); // roughly depending on the S Time
- if(dy>r.bottom) dy=r.bottom;
- if(dy<r.top) dy=r.top;
- dn+=(is*r.right)/dx;
- LineTo(hdc,dn,dy); // line to SxPos, fake end volume level
-
- SelectObject(hdc,hPAdsr[4]); // sel R pen
- dn+=(ir*r.right)/dx; // calc R x line pos
- LineTo(hdc,dn,r.bottom); // line to RxPos, bottom right y
-
- SelectObject(hdc,hPO); // repair pen
- }
-
- SelectObject(hdc,hBO); // repair brush
- ReleaseDC(hWS,hdc); // release context
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void DisplayChannelInfos(HWND hW)
-{
- int ch=iSelChannel;char szB[16];
-
- // channel infos
- SetDlgItemInt(hW,IDC_CI1,s_chan[ch].bOn,TRUE);
- SetDlgItemInt(hW,IDC_CI2,s_chan[ch].bStop,TRUE);
- SetDlgItemInt(hW,IDC_CI3,s_chan[ch].bNoise,TRUE);
- SetDlgItemInt(hW,IDC_CI4,s_chan[ch].bFMod,TRUE);
- SetDlgItemInt(hW,IDC_CI5,s_chan[ch].bReverb,TRUE);
- SetDlgItemInt(hW,IDC_CI6,s_chan[ch].bRVBActive,TRUE);
- SetDlgItemInt(hW,IDC_CI7,s_chan[ch].iRVBNum,TRUE);
- SetDlgItemInt(hW,IDC_CI8,s_chan[ch].iRVBOffset,TRUE);
- SetDlgItemInt(hW,IDC_CI9,s_chan[ch].iRVBRepeat,TRUE);
- SetDlgItemInt(hW,IDC_CI10,(unsigned long)s_chan[ch].pStart-(unsigned long)spuMemC,FALSE);
- SetDlgItemInt(hW,IDC_CI11,(unsigned long)s_chan[ch].pCurr-(unsigned long)spuMemC,FALSE);
- SetDlgItemInt(hW,IDC_CI12,(unsigned long)s_chan[ch].pLoop-(unsigned long)spuMemC,FALSE);
- SetDlgItemInt(hW,IDC_CI13,s_chan[ch].iRightVolume,TRUE);
- SetDlgItemInt(hW,IDC_CI14,s_chan[ch].iLeftVolume,TRUE);
- SetDlgItemInt(hW,IDC_CI15,s_chan[ch].iActFreq,TRUE);
- SetDlgItemInt(hW,IDC_CI16,s_chan[ch].iUsedFreq,TRUE);
-
- wsprintf(szB,"%04x",s_chan[ch].iRightVolRaw);
- SetDlgItemText(hW,IDC_CI17,szB);
- wsprintf(szB,"%04x",s_chan[ch].iLeftVolRaw);
- SetDlgItemText(hW,IDC_CI18,szB);
-
- // generic infos
- if(pSpuIrq==0)
- SetDlgItemInt(hW,IDC_STA1,-1,TRUE);
- else SetDlgItemInt(hW,IDC_STA1,(unsigned long)pSpuIrq-(unsigned long)spuMemC,FALSE);
- wsprintf(szB,"%04x",spuCtrl);
- SetDlgItemText(hW,IDC_STA2,szB);
- wsprintf(szB,"%04x",spuStat);
- SetDlgItemText(hW,IDC_STA3,szB);
- SetDlgItemInt(hW,IDC_STA4,spuAddr,TRUE);
-
- // xa infos
- if(XAPlay<=XAFeed) ch=XAFeed-XAPlay;
- else ch=(XAFeed-XAStart)+(XAEnd-XAPlay);
- SetDlgItemInt(hW,IDC_XA4,ch,FALSE);
- SetDlgItemInt(hW,IDC_XA5,iLeftXAVol,TRUE);
- SetDlgItemInt(hW,IDC_XA6,iRightXAVol,TRUE);
- if(!xapGlobal) return;
- SetDlgItemInt(hW,IDC_XA1,xapGlobal->freq,TRUE);
- SetDlgItemInt(hW,IDC_XA2,xapGlobal->stereo,TRUE);
- SetDlgItemInt(hW,IDC_XA3,xapGlobal->nsamples,TRUE);
-}
-
-////////////////////////////////////////////////////////////////////////
-// display everything (called in dialog timer for value refreshing)
-
-void DisplayDebugInfos(HWND hW)
-{
- DisplayStreamInfos(hW);
- DisplayADSRInfos(hW);
- DisplayChannelInfos(hW);
-}
-
-////////////////////////////////////////////////////////////////////////
-// main debug dlg handler
-
-BOOL CALLBACK DebugDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch(uMsg)
- {
- //--------------------------------------------------// init
- case WM_INITDIALOG:
- {
- int i;
- ShowCursor(TRUE); // mmm... who is hiding it? main emu? tsts
- iSelChannel=0; // sel first channel
- CheckRadioButton(hW,IDC_CHAN1,IDC_CHAN24,IDC_CHAN1);
- // create brushes/pens
- hBStream[0]=CreateSolidBrush(GetSysColor(COLOR_3DFACE));
- hPAdsr[0]=CreatePen(PS_SOLID,0,GetSysColor(COLOR_3DFACE));
- for(i=1;i<6;i++)
- {
- hBStream[i]=CreateSolidBrush(crStreamCol[i]);
- hPAdsr[i]=CreatePen(PS_SOLID,0,crAdsrCol[i]);
- }
- SetTimer(hW,999,50,NULL); // now create update timer
- return TRUE;
- }
- //--------------------------------------------------// destroy
- case WM_DESTROY:
- {
- int i;
- KillTimer(hW,999); // first kill timer
- for(i=0;i<6;i++) // then kill brushes/pens
- {
- DeleteObject(hBStream[i]);
- DeleteObject(hPAdsr[i]);
- }
- }break;
- //--------------------------------------------------// timer
- case WM_TIMER:
- {
- if(wParam==999) DisplayDebugInfos(hW); // update all values
- }break;
- //--------------------------------------------------// command
- case WM_COMMAND:
- {
- if(wParam==IDCANCEL) iDebugMode=2; // cancel? raise flag for destroying the dialog
-
- if(wParam>=IDC_MUTE1 && wParam<=IDC_MUTE24) // mute clicked?
- {
- if(IsDlgButtonChecked(hW,wParam)) // -> mute/unmute it
- s_chan[wParam-IDC_MUTE1].iMute=1;
- else s_chan[wParam-IDC_MUTE1].iMute=0;
- }
- // all mute/unmute
- if(wParam==IDC_MUTEOFF) SendMessage(hW,WM_MUTE,0,0);
- if(wParam==IDC_MUTEON) SendMessage(hW,WM_MUTE,1,0);
-
- if(wParam>=IDC_CHAN1 && wParam<=IDC_CHAN24) // sel channel
- {
- if(IsDlgButtonChecked(hW,wParam))
- {
- iSelChannel=wParam-IDC_CHAN1;
- SetDlgItemInt(hW,IDC_CHANNUM,iSelChannel+1,FALSE);
- }
- }
- }break;
- //--------------------------------------------------// mute
- case WM_MUTE:
- { // will be called by the mute/unmute all button and on savestate load
- int i;
- for(i=IDC_MUTE1;i<=IDC_MUTE24;i++)
- {
- CheckDlgButton(hW,i,wParam);
- if(wParam) s_chan[i-IDC_MUTE1].iMute=1;
- else s_chan[i-IDC_MUTE1].iMute=0;
- }
- }break;
- //--------------------------------------------------// size
- case WM_SIZE:
- if(wParam==SIZE_MINIMIZED) SetFocus(hWMain); // if we get minimized, set the foxus to the main window
- break;
- //--------------------------------------------------// setcursor
- case WM_SETCURSOR:
- {
- SetCursor(LoadCursor(NULL,IDC_ARROW)); // force the arrow
- return TRUE;
- }
- //--------------------------------------------------//
- }
- return FALSE;
-}
-
-////////////////////////////////////////////////////////////////////////
-
+/*************************************************************************** + debug.c - description + ------------------- + begin : Wed May 15 2002 + copyright : (C) 2002 by Pete Bernert + email : BlackDove@addcom.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2004/09/18 - Pete +// - corrected ADSRX value display +// +// 2003/01/06 - Pete +// - added Neil's ADSR timings +// +// 2002/05/15 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +#include "stdafx.h" + +#define _IN_DEBUG + +#include "externals.h" + +//////////////////////////////////////////////////////////////////////// +// WINDOWS DEBUG DIALOG HANDLING +//////////////////////////////////////////////////////////////////////// + +#ifdef _WINDOWS + +#include "resource.h" + +//#define SMALLDEBUG +//#include <dbgout.h> + +//////////////////////////////////////////////////////////////////////// +// display debug infos + +const COLORREF crStreamCol[]={ + RGB( 0, 0, 0), + RGB(255,255,255), + RGB(128, 0,128), + RGB( 0,128, 0), + RGB( 0, 0,255), + RGB(255, 0, 0) + }; + +const COLORREF crAdsrCol[] ={ + RGB( 0, 0, 0), + RGB(255, 0, 0), + RGB( 0,255, 0), + RGB(255, 0,255), + RGB( 0, 0,255), + RGB( 0, 0, 0), + }; + +HBRUSH hBStream[6]; // brushes for stream lines +HPEN hPAdsr[6]; // pens for adsr lines +int iSelChannel=0; // user selected channel + +//////////////////////////////////////////////////////////////////////// +// display the sound data waves: no subclassing used, so the +// area will not be redrawn... but faster that way, and good enuff +// for debugging purposes + +void DisplayStreamInfos(HWND hW) +{ + HWND hWS=GetDlgItem(hW,IDC_SAREA); + HDC hdc;RECT r;HBRUSH hBO;int ch,dy,i,j,id; + + //----------------------------------------------------// + + GetClientRect(hWS,&r); // get size of stream display + hdc=GetDC(hWS); // device context + r.right--; // leave the right border intact + ScrollDC(hdc,-1,0,&r,&r,NULL,NULL); // scroll one pixel to the left + + //----------------------------------------------------// + + hBO=SelectObject(hdc,hBStream[0]); // clean the right border + PatBlt(hdc,r.right-1,0,1,r.bottom,PATCOPY); + + //----------------------------------------------------// + + dy=r.bottom/MAXCHAN; // size of one channel area + + for(ch=0;ch<MAXCHAN;ch++) // loop the channels + { + if(s_chan[ch].bOn) // channel is on? + { + if(s_chan[ch].iIrqDone) + { + s_chan[ch].iIrqDone=0; + PatBlt(hdc,r.right-1,ch*r.bottom/MAXCHAN, + 1,dy,BLACKNESS); + continue; + } + + j=s_chan[ch].sval;if(j<0) j=-j; // -> get one channel data (-32k ... 32k) + j=(dy*j)/32768; if(j==0) j=1; // -> adjust to display coords + i=(dy/2)+(ch*r.bottom/MAXCHAN)-j/2; // -> position where to paint it + + + + if (s_chan[ch].iMute) id=1; // -> get color id + else if(s_chan[ch].bNoise) id=2; + else if(s_chan[ch].bFMod==2) id=3; + else if(s_chan[ch].bFMod==1) id=4; + else id=5; + + SelectObject(hdc,hBStream[id]); // -> select the brush + PatBlt(hdc,r.right-1,i,1,j,PATCOPY); // -> paint the value line + } + + if(ch) SetPixel(hdc,r.right-1, // -> not first line? + ch*r.bottom/MAXCHAN,RGB(0,0,0)); // --> draw the line (one dot scrolled to the left) + } + + //----------------------------------------------------// + + SelectObject(hdc,hBO); // repair brush + + ReleaseDC(hWS,hdc); // release context +} + +//////////////////////////////////////////////////////////////////////// +// display adsr lines: also no subclassing for repainting used + +void DisplayADSRInfos(HWND hW) +{ + HWND hWS=GetDlgItem(hW,IDC_ADSR); + HDC hdc;RECT r;HBRUSH hBO;char szB[16]; + int ch=iSelChannel,dx,dy,dm,dn,ia,id,is,ir; + + //----------------------------------------------------// get display size + + GetClientRect(hWS,&r); + hdc=GetDC(hWS); + + //----------------------------------------------------// clean the area + + hBO=SelectObject(hdc,hBStream[0]); + PatBlt(hdc,0,0,r.right,r.bottom,PATCOPY); + r.left++;r.right-=2;r.top++;r.bottom-=2; // shrink the display rect for better optics + + //----------------------------------------------------// + + ia=min(s_chan[ch].ADSR.AttackTime,10000); // get adsr, but limit it for drawing + id=min(s_chan[ch].ADSR.DecayTime,10000); + is=min(s_chan[ch].ADSR.SustainTime,10000); + ir=min(s_chan[ch].ADSR.ReleaseTime,10000); + + dx=ia+id+is+ir; // get the dx in (limited) adsr units + + // set the real values to the info statics + SetDlgItemInt(hW,IDC_SADSR1,s_chan[ch].ADSRX.AttackRate^0x7f,FALSE); + SetDlgItemInt(hW,IDC_SADSR2,(s_chan[ch].ADSRX.DecayRate^0x1f)/4,FALSE); + SetDlgItemInt(hW,IDC_SADSR3,s_chan[ch].ADSRX.SustainRate^0x7f,FALSE); + SetDlgItemInt(hW,IDC_SADSR4,(s_chan[ch].ADSRX.ReleaseRate^0x1f)/4,FALSE); + SetDlgItemInt(hW,IDC_SADSR5,s_chan[ch].ADSRX.SustainLevel>>27,FALSE); + + SetDlgItemInt(hW,IDC_SADSR6,s_chan[ch].ADSRX.SustainIncrease,TRUE); + SetDlgItemInt(hW,IDC_SADSR7,s_chan[ch].ADSRX.lVolume,TRUE); + wsprintf(szB,"%08lx",s_chan[ch].ADSRX.EnvelopeVol); + SetDlgItemText(hW,IDC_SADSR8,szB); + + if(dx) // something to draw? + { + HPEN hPO=SelectObject(hdc,hPAdsr[1]); // sel A pen + dn=r.left; + MoveToEx(hdc,dn,r.bottom,NULL); // move to bottom left corner + + dn+=(ia*r.right)/dx; // calc A x line pos + LineTo(hdc,dn,r.top); // line to AxPos,top + + SelectObject(hdc,hPAdsr[2]); // sel D pen + dn+=(id*r.right)/dx; // calc D x line pos + dy=r.top+((1024-s_chan[ch].ADSR.SustainLevel)* // calc the D y pos + r.bottom)/1024; // (our S level is ranged from 0 to 1024) + LineTo(hdc,dn,dy); // line to DxPos,SLevel + + SelectObject(hdc,hPAdsr[3]); // sel S pen + if(s_chan[ch].ADSR.SustainTime>10000) dm=1; // we have to fake the S values... S will + else // inc/decrease until channel stop... + if(s_chan[ch].ADSR.SustainTime==0) dm=0; // we dunno here when this will happen, + else dm=21-(((s_chan[ch].ADSR.SustainTime/500))); // so we do some more ore less angled line, + dy=dy-(s_chan[ch].ADSR.SustainModeDec*dm); // roughly depending on the S Time + if(dy>r.bottom) dy=r.bottom; + if(dy<r.top) dy=r.top; + dn+=(is*r.right)/dx; + LineTo(hdc,dn,dy); // line to SxPos, fake end volume level + + SelectObject(hdc,hPAdsr[4]); // sel R pen + dn+=(ir*r.right)/dx; // calc R x line pos + LineTo(hdc,dn,r.bottom); // line to RxPos, bottom right y + + SelectObject(hdc,hPO); // repair pen + } + + SelectObject(hdc,hBO); // repair brush + ReleaseDC(hWS,hdc); // release context +} + +//////////////////////////////////////////////////////////////////////// + +void DisplayChannelInfos(HWND hW) +{ + int ch=iSelChannel;char szB[16]; + + // channel infos + SetDlgItemInt(hW,IDC_CI1,s_chan[ch].bOn,TRUE); + SetDlgItemInt(hW,IDC_CI2,s_chan[ch].bStop,TRUE); + SetDlgItemInt(hW,IDC_CI3,s_chan[ch].bNoise,TRUE); + SetDlgItemInt(hW,IDC_CI4,s_chan[ch].bFMod,TRUE); + SetDlgItemInt(hW,IDC_CI5,s_chan[ch].bReverb,TRUE); + SetDlgItemInt(hW,IDC_CI6,s_chan[ch].bRVBActive,TRUE); + SetDlgItemInt(hW,IDC_CI7,s_chan[ch].iRVBNum,TRUE); + SetDlgItemInt(hW,IDC_CI8,s_chan[ch].iRVBOffset,TRUE); + SetDlgItemInt(hW,IDC_CI9,s_chan[ch].iRVBRepeat,TRUE); + SetDlgItemInt(hW,IDC_CI10,(unsigned long)s_chan[ch].pStart-(unsigned long)spuMemC,FALSE); + SetDlgItemInt(hW,IDC_CI11,(unsigned long)s_chan[ch].pCurr-(unsigned long)spuMemC,FALSE); + SetDlgItemInt(hW,IDC_CI12,(unsigned long)s_chan[ch].pLoop-(unsigned long)spuMemC,FALSE); + SetDlgItemInt(hW,IDC_CI13,s_chan[ch].iRightVolume,TRUE); + SetDlgItemInt(hW,IDC_CI14,s_chan[ch].iLeftVolume,TRUE); + SetDlgItemInt(hW,IDC_CI15,s_chan[ch].iActFreq,TRUE); + SetDlgItemInt(hW,IDC_CI16,s_chan[ch].iUsedFreq,TRUE); + + wsprintf(szB,"%04x",s_chan[ch].iRightVolRaw); + SetDlgItemText(hW,IDC_CI17,szB); + wsprintf(szB,"%04x",s_chan[ch].iLeftVolRaw); + SetDlgItemText(hW,IDC_CI18,szB); + + // generic infos + if(pSpuIrq==0) + SetDlgItemInt(hW,IDC_STA1,-1,TRUE); + else SetDlgItemInt(hW,IDC_STA1,(unsigned long)pSpuIrq-(unsigned long)spuMemC,FALSE); + wsprintf(szB,"%04x",spuCtrl); + SetDlgItemText(hW,IDC_STA2,szB); + wsprintf(szB,"%04x",spuStat); + SetDlgItemText(hW,IDC_STA3,szB); + SetDlgItemInt(hW,IDC_STA4,spuAddr,TRUE); + + // xa infos + if(XAPlay<=XAFeed) ch=XAFeed-XAPlay; + else ch=(XAFeed-XAStart)+(XAEnd-XAPlay); + SetDlgItemInt(hW,IDC_XA4,ch,FALSE); + SetDlgItemInt(hW,IDC_XA5,iLeftXAVol,TRUE); + SetDlgItemInt(hW,IDC_XA6,iRightXAVol,TRUE); + if(!xapGlobal) return; + SetDlgItemInt(hW,IDC_XA1,xapGlobal->freq,TRUE); + SetDlgItemInt(hW,IDC_XA2,xapGlobal->stereo,TRUE); + SetDlgItemInt(hW,IDC_XA3,xapGlobal->nsamples,TRUE); +} + +//////////////////////////////////////////////////////////////////////// +// display everything (called in dialog timer for value refreshing) + +void DisplayDebugInfos(HWND hW) +{ + DisplayStreamInfos(hW); + DisplayADSRInfos(hW); + DisplayChannelInfos(hW); +} + +//////////////////////////////////////////////////////////////////////// +// main debug dlg handler + +BOOL CALLBACK DebugDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + switch(uMsg) + { + //--------------------------------------------------// init + case WM_INITDIALOG: + { + int i; + ShowCursor(TRUE); // mmm... who is hiding it? main emu? tsts + iSelChannel=0; // sel first channel + CheckRadioButton(hW,IDC_CHAN1,IDC_CHAN24,IDC_CHAN1); + // create brushes/pens + hBStream[0]=CreateSolidBrush(GetSysColor(COLOR_3DFACE)); + hPAdsr[0]=CreatePen(PS_SOLID,0,GetSysColor(COLOR_3DFACE)); + for(i=1;i<6;i++) + { + hBStream[i]=CreateSolidBrush(crStreamCol[i]); + hPAdsr[i]=CreatePen(PS_SOLID,0,crAdsrCol[i]); + } + SetTimer(hW,999,50,NULL); // now create update timer + return TRUE; + } + //--------------------------------------------------// destroy + case WM_DESTROY: + { + int i; + KillTimer(hW,999); // first kill timer + for(i=0;i<6;i++) // then kill brushes/pens + { + DeleteObject(hBStream[i]); + DeleteObject(hPAdsr[i]); + } + }break; + //--------------------------------------------------// timer + case WM_TIMER: + { + if(wParam==999) DisplayDebugInfos(hW); // update all values + }break; + //--------------------------------------------------// command + case WM_COMMAND: + { + if(wParam==IDCANCEL) iDebugMode=2; // cancel? raise flag for destroying the dialog + + if(wParam>=IDC_MUTE1 && wParam<=IDC_MUTE24) // mute clicked? + { + if(IsDlgButtonChecked(hW,wParam)) // -> mute/unmute it + s_chan[wParam-IDC_MUTE1].iMute=1; + else s_chan[wParam-IDC_MUTE1].iMute=0; + } + // all mute/unmute + if(wParam==IDC_MUTEOFF) SendMessage(hW,WM_MUTE,0,0); + if(wParam==IDC_MUTEON) SendMessage(hW,WM_MUTE,1,0); + + if(wParam>=IDC_CHAN1 && wParam<=IDC_CHAN24) // sel channel + { + if(IsDlgButtonChecked(hW,wParam)) + { + iSelChannel=wParam-IDC_CHAN1; + SetDlgItemInt(hW,IDC_CHANNUM,iSelChannel+1,FALSE); + } + } + }break; + //--------------------------------------------------// mute + case WM_MUTE: + { // will be called by the mute/unmute all button and on savestate load + int i; + for(i=IDC_MUTE1;i<=IDC_MUTE24;i++) + { + CheckDlgButton(hW,i,wParam); + if(wParam) s_chan[i-IDC_MUTE1].iMute=1; + else s_chan[i-IDC_MUTE1].iMute=0; + } + }break; + //--------------------------------------------------// size + case WM_SIZE: + if(wParam==SIZE_MINIMIZED) SetFocus(hWMain); // if we get minimized, set the foxus to the main window + break; + //--------------------------------------------------// setcursor + case WM_SETCURSOR: + { + SetCursor(LoadCursor(NULL,IDC_ARROW)); // force the arrow + return TRUE; + } + //--------------------------------------------------// + } + return FALSE; +} + +//////////////////////////////////////////////////////////////////////// + #endif
\ No newline at end of file diff --git a/win32/plugins/dfsound/winsrc/debug.h b/win32/plugins/dfsound/winsrc/debug.h index 9c309c17..47a9343b 100644..100755 --- a/win32/plugins/dfsound/winsrc/debug.h +++ b/win32/plugins/dfsound/winsrc/debug.h @@ -1,29 +1,29 @@ -/***************************************************************************
- debug.h - description
- -------------------
- begin : Wed May 15 2002
- copyright : (C) 2002 by Pete Bernert
- email : BlackDove@addcom.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2002/05/15 - Pete
-// - generic cleanup for the Peops release
-//
-//*************************************************************************//
-
-#ifdef _WINDOWS
-BOOL CALLBACK DebugDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam);
-#endif
+/*************************************************************************** + debug.h - description + ------------------- + begin : Wed May 15 2002 + copyright : (C) 2002 by Pete Bernert + email : BlackDove@addcom.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2002/05/15 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +#ifdef _WINDOWS +BOOL CALLBACK DebugDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam); +#endif diff --git a/win32/plugins/dfsound/winsrc/dsound.c b/win32/plugins/dfsound/winsrc/dsound.c index 1d6ce66e..94a606f3 100644..100755 --- a/win32/plugins/dfsound/winsrc/dsound.c +++ b/win32/plugins/dfsound/winsrc/dsound.c @@ -1,277 +1,277 @@ -/***************************************************************************
- dsound.c - description
- -------------------
- begin : Wed May 15 2002
- copyright : (C) 2002 by Pete Bernert
- email : BlackDove@addcom.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2003/01/12 - Pete
-// - added recording funcs
-//
-// 2002/05/15 - Pete
-// - generic cleanup for the Peops release
-//
-//*************************************************************************//
-
-#include "stdafx.h"
-
-#define _IN_DSOUND
-
-#include "externals.h"
-
-#ifdef _WINDOWS
-
-#include <dsound.h>
-
-#include "record.h"
-
-////////////////////////////////////////////////////////////////////////
-// dsound globals
-////////////////////////////////////////////////////////////////////////
-
-LPDIRECTSOUND lpDS;
-LPDIRECTSOUNDBUFFER lpDSBP = NULL;
-LPDIRECTSOUNDBUFFER lpDSB = NULL;
-DSBUFFERDESC dsbd;
-DSBUFFERDESC dsbdesc;
-DSCAPS dscaps;
-DSBCAPS dsbcaps;
-
-unsigned long LastWrite=0xffffffff;
-unsigned long LastPlay=0;
-
-////////////////////////////////////////////////////////////////////////
-// SETUP SOUND
-////////////////////////////////////////////////////////////////////////
-
-void SetupSound(void)
-{
- HRESULT dsval;WAVEFORMATEX pcmwf;
-
- dsval = DirectSoundCreate(NULL,&lpDS,NULL);
- if(dsval!=DS_OK)
- {
- MessageBox(hWMain,"DirectSoundCreate!","Error",MB_OK);
- return;
- }
-
- if(DS_OK!=IDirectSound_SetCooperativeLevel(lpDS,hWMain, DSSCL_PRIORITY))
- {
- if(DS_OK!=IDirectSound_SetCooperativeLevel(lpDS,hWMain, DSSCL_NORMAL))
- {
- MessageBox(hWMain,"SetCooperativeLevel!","Error",MB_OK);
- return;
- }
- }
-
- memset(&dsbd,0,sizeof(DSBUFFERDESC));
- dsbd.dwSize = 20; // NT4 hack! sizeof(dsbd);
- dsbd.dwFlags = DSBCAPS_PRIMARYBUFFER;
- dsbd.dwBufferBytes = 0;
- dsbd.lpwfxFormat = NULL;
-
- dsval=IDirectSound_CreateSoundBuffer(lpDS,&dsbd,&lpDSBP,NULL);
- if(dsval!=DS_OK)
- {
- MessageBox(hWMain, "CreateSoundBuffer (Primary)", "Error",MB_OK);
- return;
- }
-
- memset(&pcmwf, 0, sizeof(WAVEFORMATEX));
- pcmwf.wFormatTag = WAVE_FORMAT_PCM;
-
- if(iDisStereo) {pcmwf.nChannels = 1; pcmwf.nBlockAlign = 2;}
- else {pcmwf.nChannels = 2; pcmwf.nBlockAlign = 4;}
-
- pcmwf.nSamplesPerSec = 44100;
-
- pcmwf.nAvgBytesPerSec = pcmwf.nSamplesPerSec * pcmwf.nBlockAlign;
- pcmwf.wBitsPerSample = 16;
-
- dsval=IDirectSoundBuffer_SetFormat(lpDSBP,&pcmwf);
- if(dsval!=DS_OK)
- {
- MessageBox(hWMain, "SetFormat!", "Error",MB_OK);
- return;
- }
-
- dscaps.dwSize = sizeof(DSCAPS);
- dsbcaps.dwSize = sizeof(DSBCAPS);
- IDirectSound_GetCaps(lpDS,&dscaps);
- IDirectSoundBuffer_GetCaps(lpDSBP,&dsbcaps);
-
- memset(&dsbdesc, 0, sizeof(DSBUFFERDESC));
- dsbdesc.dwSize = 20; // NT4 hack! sizeof(DSBUFFERDESC);
- dsbdesc.dwFlags = DSBCAPS_LOCSOFTWARE | DSBCAPS_STICKYFOCUS | DSBCAPS_GETCURRENTPOSITION2;
- dsbdesc.dwBufferBytes = SOUNDSIZE;
- dsbdesc.lpwfxFormat = (LPWAVEFORMATEX)&pcmwf;
-
- dsval=IDirectSound_CreateSoundBuffer(lpDS,&dsbdesc,&lpDSB,NULL);
- if(dsval!=DS_OK)
- {
- MessageBox(hWMain,"CreateSoundBuffer (Secondary)", "Error",MB_OK);
- return;
- }
-
- dsval=IDirectSoundBuffer_Play(lpDSBP,0,0,DSBPLAY_LOOPING);
- if(dsval!=DS_OK)
- {
- MessageBox(hWMain,"Play (Primary)","Error",MB_OK);
- return;
- }
-
- dsval=IDirectSoundBuffer_Play(lpDSB,0,0,DSBPLAY_LOOPING);
- if(dsval!=DS_OK)
- {
- MessageBox(hWMain,"Play (Secondary)","Error",MB_OK);
- return;
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-// REMOVE SOUND
-////////////////////////////////////////////////////////////////////////
-
-void RemoveSound(void)
-{
- int iRes;
-
- if(iDoRecord) RecordStop();
-
- if(lpDSB!=NULL)
- {
- IDirectSoundBuffer_Stop(lpDSB);
- iRes=IDirectSoundBuffer_Release(lpDSB);
- // FF says such a loop is bad... Demo says it's good... Pete doesn't care
- while(iRes!=0) iRes=IDirectSoundBuffer_Release(lpDSB);
- lpDSB=NULL;
- }
-
- if(lpDSBP!=NULL)
- {
- IDirectSoundBuffer_Stop(lpDSBP);
- iRes=IDirectSoundBuffer_Release(lpDSBP);
- // FF says such a loop is bad... Demo says it's good... Pete doesn't care
- while(iRes!=0) iRes=IDirectSoundBuffer_Release(lpDSBP);
- lpDSBP=NULL;
- }
-
- if(lpDS!=NULL)
- {
- iRes=IDirectSound_Release(lpDS);
- // FF says such a loop is bad... Demo says it's good... Pete doesn't care
- while(iRes!=0) iRes=IDirectSound_Release(lpDS);
- lpDS=NULL;
- }
-
-}
-
-////////////////////////////////////////////////////////////////////////
-// GET BYTES BUFFERED
-////////////////////////////////////////////////////////////////////////
-
-unsigned long SoundGetBytesBuffered(void)
-{
- unsigned long cplay,cwrite;
-
- if(LastWrite==0xffffffff) return 0;
-
- IDirectSoundBuffer_GetCurrentPosition(lpDSB,&cplay,&cwrite);
-
- if(cplay>SOUNDSIZE) return SOUNDSIZE;
-
- if(cplay<LastWrite) return LastWrite-cplay;
- return (SOUNDSIZE-cplay)+LastWrite;
-}
-
-////////////////////////////////////////////////////////////////////////
-// FEED SOUND DATA
-////////////////////////////////////////////////////////////////////////
-
-void SoundFeedStreamData(unsigned char* pSound,long lBytes)
-{
- LPVOID lpvPtr1, lpvPtr2;
- unsigned long dwBytes1,dwBytes2;
- unsigned long *lpSS, *lpSD;
- unsigned long dw,cplay,cwrite;
- HRESULT hr;
- unsigned long status;
-
- if(iDoRecord) RecordBuffer(pSound,lBytes);
-
- IDirectSoundBuffer_GetStatus(lpDSB,&status);
- if(status&DSBSTATUS_BUFFERLOST)
- {
- if(IDirectSoundBuffer_Restore(lpDSB)!=DS_OK) return;
- IDirectSoundBuffer_Play(lpDSB,0,0,DSBPLAY_LOOPING);
- }
-
- IDirectSoundBuffer_GetCurrentPosition(lpDSB,&cplay,&cwrite);
-
- if(LastWrite==0xffffffff) LastWrite=cwrite;
-
-/*
-// mmm... security... not needed, I think
- if(LastWrite<cplay)
- {
- if((cplay-LastWrite)<=(unsigned long)lBytes)
- {
- LastWrite=0xffffffff;
- return;
- }
- }
- else
- {
- if(LastWrite<cwrite)
- {
- LastWrite=0xffffffff;
- return;
- }
- }
-*/
-
- hr=IDirectSoundBuffer_Lock(lpDSB,LastWrite,lBytes,
- &lpvPtr1, &dwBytes1,
- &lpvPtr2, &dwBytes2,
- 0);
-
- if(hr!=DS_OK) {LastWrite=0xffffffff;return;}
-
- lpSD=(unsigned long *)lpvPtr1;
- dw=dwBytes1>>2;
-
- lpSS=(unsigned long *)pSound;
- while(dw) {*lpSD++=*lpSS++;dw--;}
-
- if(lpvPtr2)
- {
- lpSD=(unsigned long *)lpvPtr2;
- dw=dwBytes2>>2;
- while(dw) {*lpSD++=*lpSS++;dw--;}
- }
-
- IDirectSoundBuffer_Unlock(lpDSB,lpvPtr1,dwBytes1,lpvPtr2,dwBytes2);
-
- LastWrite+=lBytes;
- if(LastWrite>=SOUNDSIZE) LastWrite-=SOUNDSIZE;
- LastPlay=cplay;
-}
-
-#endif
-
-
-
+/*************************************************************************** + dsound.c - description + ------------------- + begin : Wed May 15 2002 + copyright : (C) 2002 by Pete Bernert + email : BlackDove@addcom.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2003/01/12 - Pete +// - added recording funcs +// +// 2002/05/15 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +#include "stdafx.h" + +#define _IN_DSOUND + +#include "externals.h" + +#ifdef _WINDOWS + +#include <dsound.h> + +#include "record.h" + +//////////////////////////////////////////////////////////////////////// +// dsound globals +//////////////////////////////////////////////////////////////////////// + +LPDIRECTSOUND lpDS; +LPDIRECTSOUNDBUFFER lpDSBP = NULL; +LPDIRECTSOUNDBUFFER lpDSB = NULL; +DSBUFFERDESC dsbd; +DSBUFFERDESC dsbdesc; +DSCAPS dscaps; +DSBCAPS dsbcaps; + +unsigned long LastWrite=0xffffffff; +unsigned long LastPlay=0; + +//////////////////////////////////////////////////////////////////////// +// SETUP SOUND +//////////////////////////////////////////////////////////////////////// + +void SetupSound(void) +{ + HRESULT dsval;WAVEFORMATEX pcmwf; + + dsval = DirectSoundCreate(NULL,&lpDS,NULL); + if(dsval!=DS_OK) + { + MessageBox(hWMain,"DirectSoundCreate!","Error",MB_OK); + return; + } + + if(DS_OK!=IDirectSound_SetCooperativeLevel(lpDS,hWMain, DSSCL_PRIORITY)) + { + if(DS_OK!=IDirectSound_SetCooperativeLevel(lpDS,hWMain, DSSCL_NORMAL)) + { + MessageBox(hWMain,"SetCooperativeLevel!","Error",MB_OK); + return; + } + } + + memset(&dsbd,0,sizeof(DSBUFFERDESC)); + dsbd.dwSize = 20; // NT4 hack! sizeof(dsbd); + dsbd.dwFlags = DSBCAPS_PRIMARYBUFFER; + dsbd.dwBufferBytes = 0; + dsbd.lpwfxFormat = NULL; + + dsval=IDirectSound_CreateSoundBuffer(lpDS,&dsbd,&lpDSBP,NULL); + if(dsval!=DS_OK) + { + MessageBox(hWMain, "CreateSoundBuffer (Primary)", "Error",MB_OK); + return; + } + + memset(&pcmwf, 0, sizeof(WAVEFORMATEX)); + pcmwf.wFormatTag = WAVE_FORMAT_PCM; + + if(iDisStereo) {pcmwf.nChannels = 1; pcmwf.nBlockAlign = 2;} + else {pcmwf.nChannels = 2; pcmwf.nBlockAlign = 4;} + + pcmwf.nSamplesPerSec = 44100; + + pcmwf.nAvgBytesPerSec = pcmwf.nSamplesPerSec * pcmwf.nBlockAlign; + pcmwf.wBitsPerSample = 16; + + dsval=IDirectSoundBuffer_SetFormat(lpDSBP,&pcmwf); + if(dsval!=DS_OK) + { + MessageBox(hWMain, "SetFormat!", "Error",MB_OK); + return; + } + + dscaps.dwSize = sizeof(DSCAPS); + dsbcaps.dwSize = sizeof(DSBCAPS); + IDirectSound_GetCaps(lpDS,&dscaps); + IDirectSoundBuffer_GetCaps(lpDSBP,&dsbcaps); + + memset(&dsbdesc, 0, sizeof(DSBUFFERDESC)); + dsbdesc.dwSize = 20; // NT4 hack! sizeof(DSBUFFERDESC); + dsbdesc.dwFlags = DSBCAPS_LOCSOFTWARE | DSBCAPS_STICKYFOCUS | DSBCAPS_GETCURRENTPOSITION2; + dsbdesc.dwBufferBytes = SOUNDSIZE; + dsbdesc.lpwfxFormat = (LPWAVEFORMATEX)&pcmwf; + + dsval=IDirectSound_CreateSoundBuffer(lpDS,&dsbdesc,&lpDSB,NULL); + if(dsval!=DS_OK) + { + MessageBox(hWMain,"CreateSoundBuffer (Secondary)", "Error",MB_OK); + return; + } + + dsval=IDirectSoundBuffer_Play(lpDSBP,0,0,DSBPLAY_LOOPING); + if(dsval!=DS_OK) + { + MessageBox(hWMain,"Play (Primary)","Error",MB_OK); + return; + } + + dsval=IDirectSoundBuffer_Play(lpDSB,0,0,DSBPLAY_LOOPING); + if(dsval!=DS_OK) + { + MessageBox(hWMain,"Play (Secondary)","Error",MB_OK); + return; + } +} + +//////////////////////////////////////////////////////////////////////// +// REMOVE SOUND +//////////////////////////////////////////////////////////////////////// + +void RemoveSound(void) +{ + int iRes; + + if(iDoRecord) RecordStop(); + + if(lpDSB!=NULL) + { + IDirectSoundBuffer_Stop(lpDSB); + iRes=IDirectSoundBuffer_Release(lpDSB); + // FF says such a loop is bad... Demo says it's good... Pete doesn't care + while(iRes!=0) iRes=IDirectSoundBuffer_Release(lpDSB); + lpDSB=NULL; + } + + if(lpDSBP!=NULL) + { + IDirectSoundBuffer_Stop(lpDSBP); + iRes=IDirectSoundBuffer_Release(lpDSBP); + // FF says such a loop is bad... Demo says it's good... Pete doesn't care + while(iRes!=0) iRes=IDirectSoundBuffer_Release(lpDSBP); + lpDSBP=NULL; + } + + if(lpDS!=NULL) + { + iRes=IDirectSound_Release(lpDS); + // FF says such a loop is bad... Demo says it's good... Pete doesn't care + while(iRes!=0) iRes=IDirectSound_Release(lpDS); + lpDS=NULL; + } + +} + +//////////////////////////////////////////////////////////////////////// +// GET BYTES BUFFERED +//////////////////////////////////////////////////////////////////////// + +unsigned long SoundGetBytesBuffered(void) +{ + unsigned long cplay,cwrite; + + if(LastWrite==0xffffffff) return 0; + + IDirectSoundBuffer_GetCurrentPosition(lpDSB,&cplay,&cwrite); + + if(cplay>SOUNDSIZE) return SOUNDSIZE; + + if(cplay<LastWrite) return LastWrite-cplay; + return (SOUNDSIZE-cplay)+LastWrite; +} + +//////////////////////////////////////////////////////////////////////// +// FEED SOUND DATA +//////////////////////////////////////////////////////////////////////// + +void SoundFeedStreamData(unsigned char* pSound,long lBytes) +{ + LPVOID lpvPtr1, lpvPtr2; + unsigned long dwBytes1,dwBytes2; + unsigned long *lpSS, *lpSD; + unsigned long dw,cplay,cwrite; + HRESULT hr; + unsigned long status; + + if(iDoRecord) RecordBuffer(pSound,lBytes); + + IDirectSoundBuffer_GetStatus(lpDSB,&status); + if(status&DSBSTATUS_BUFFERLOST) + { + if(IDirectSoundBuffer_Restore(lpDSB)!=DS_OK) return; + IDirectSoundBuffer_Play(lpDSB,0,0,DSBPLAY_LOOPING); + } + + IDirectSoundBuffer_GetCurrentPosition(lpDSB,&cplay,&cwrite); + + if(LastWrite==0xffffffff) LastWrite=cwrite; + +/* +// mmm... security... not needed, I think + if(LastWrite<cplay) + { + if((cplay-LastWrite)<=(unsigned long)lBytes) + { + LastWrite=0xffffffff; + return; + } + } + else + { + if(LastWrite<cwrite) + { + LastWrite=0xffffffff; + return; + } + } +*/ + + hr=IDirectSoundBuffer_Lock(lpDSB,LastWrite,lBytes, + &lpvPtr1, &dwBytes1, + &lpvPtr2, &dwBytes2, + 0); + + if(hr!=DS_OK) {LastWrite=0xffffffff;return;} + + lpSD=(unsigned long *)lpvPtr1; + dw=dwBytes1>>2; + + lpSS=(unsigned long *)pSound; + while(dw) {*lpSD++=*lpSS++;dw--;} + + if(lpvPtr2) + { + lpSD=(unsigned long *)lpvPtr2; + dw=dwBytes2>>2; + while(dw) {*lpSD++=*lpSS++;dw--;} + } + + IDirectSoundBuffer_Unlock(lpDSB,lpvPtr1,dwBytes1,lpvPtr2,dwBytes2); + + LastWrite+=lBytes; + if(LastWrite>=SOUNDSIZE) LastWrite-=SOUNDSIZE; + LastPlay=cplay; +} + +#endif + + + diff --git a/win32/plugins/dfsound/winsrc/dsound.h b/win32/plugins/dfsound/winsrc/dsound.h index 0589cdbe..0589cdbe 100644..100755 --- a/win32/plugins/dfsound/winsrc/dsound.h +++ b/win32/plugins/dfsound/winsrc/dsound.h diff --git a/win32/plugins/dfsound/winsrc/psemu.c b/win32/plugins/dfsound/winsrc/psemu.c index 1451ea4a..63ec352e 100644..100755 --- a/win32/plugins/dfsound/winsrc/psemu.c +++ b/win32/plugins/dfsound/winsrc/psemu.c @@ -1,101 +1,101 @@ -/***************************************************************************
- psemu.c - description
- -------------------
- begin : Wed May 15 2002
- copyright : (C) 2002 by Pete Bernert
- email : BlackDove@addcom.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-// These ancient stuff are still necessary for epsxe, so keep these but only for
-// Windows port -Whistler
-
-#include "stdafx.h"
-
-#define _IN_PSEMU
-
-#include "externals.h"
-#include "regs.h"
-#include "dma.h"
-
-////////////////////////////////////////////////////////////////////////
-// OLD, SOMEWHAT (BUT NOT MUCH) SUPPORTED PSEMUPRO FUNCS
-////////////////////////////////////////////////////////////////////////
-
-unsigned short CALLBACK SPUgetOne(unsigned long val)
-{
- if(spuAddr!=0xffffffff)
- {
- return SPUreadDMA();
- }
- if(val>=512*1024) val=512*1024-1;
- return spuMem[val>>1];
-}
-
-void CALLBACK SPUputOne(unsigned long val,unsigned short data)
-{
- if(spuAddr!=0xffffffff)
- {
- SPUwriteDMA(data);
- return;
- }
- if(val>=512*1024) val=512*1024-1;
- spuMem[val>>1] = data;
-}
-
-void CALLBACK SPUplaySample(unsigned char ch)
-{
-}
-
-void CALLBACK SPUsetAddr(unsigned char ch, unsigned short waddr)
-{
- s_chan[ch].pStart=spuMemC+((unsigned long) waddr<<3);
-}
-
-void CALLBACK SPUsetPitch(unsigned char ch, unsigned short pitch)
-{
- SetPitch(ch,pitch);
-}
-
-void CALLBACK SPUsetVolumeL(unsigned char ch, short vol)
-{
- SetVolumeR(ch,vol);
-}
-
-void CALLBACK SPUsetVolumeR(unsigned char ch, short vol)
-{
- SetVolumeL(ch,vol);
-}
-
-void CALLBACK SPUstartChannels1(unsigned short channels)
-{
- SoundOn(0,16,channels);
-}
-
-void CALLBACK SPUstartChannels2(unsigned short channels)
-{
- SoundOn(16,24,channels);
-}
-
-void CALLBACK SPUstopChannels1(unsigned short channels)
-{
- SoundOff(0,16,channels);
-}
-
-void CALLBACK SPUstopChannels2(unsigned short channels)
-{
- SoundOff(16,24,channels);
-}
-
-void CALLBACK SPUplaySector(unsigned long mode, unsigned char * p)
-{
-}
+/*************************************************************************** + psemu.c - description + ------------------- + begin : Wed May 15 2002 + copyright : (C) 2002 by Pete Bernert + email : BlackDove@addcom.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +// These ancient stuff are still necessary for epsxe, so keep these but only for +// Windows port -Whistler + +#include "stdafx.h" + +#define _IN_PSEMU + +#include "externals.h" +#include "regs.h" +#include "dma.h" + +//////////////////////////////////////////////////////////////////////// +// OLD, SOMEWHAT (BUT NOT MUCH) SUPPORTED PSEMUPRO FUNCS +//////////////////////////////////////////////////////////////////////// + +unsigned short CALLBACK SPUgetOne(unsigned long val) +{ + if(spuAddr!=0xffffffff) + { + return SPUreadDMA(); + } + if(val>=512*1024) val=512*1024-1; + return spuMem[val>>1]; +} + +void CALLBACK SPUputOne(unsigned long val,unsigned short data) +{ + if(spuAddr!=0xffffffff) + { + SPUwriteDMA(data); + return; + } + if(val>=512*1024) val=512*1024-1; + spuMem[val>>1] = data; +} + +void CALLBACK SPUplaySample(unsigned char ch) +{ +} + +void CALLBACK SPUsetAddr(unsigned char ch, unsigned short waddr) +{ + s_chan[ch].pStart=spuMemC+((unsigned long) waddr<<3); +} + +void CALLBACK SPUsetPitch(unsigned char ch, unsigned short pitch) +{ + SetPitch(ch,pitch); +} + +void CALLBACK SPUsetVolumeL(unsigned char ch, short vol) +{ + SetVolumeR(ch,vol); +} + +void CALLBACK SPUsetVolumeR(unsigned char ch, short vol) +{ + SetVolumeL(ch,vol); +} + +void CALLBACK SPUstartChannels1(unsigned short channels) +{ + SoundOn(0,16,channels); +} + +void CALLBACK SPUstartChannels2(unsigned short channels) +{ + SoundOn(16,24,channels); +} + +void CALLBACK SPUstopChannels1(unsigned short channels) +{ + SoundOff(0,16,channels); +} + +void CALLBACK SPUstopChannels2(unsigned short channels) +{ + SoundOff(16,24,channels); +} + +void CALLBACK SPUplaySector(unsigned long mode, unsigned char * p) +{ +} diff --git a/win32/plugins/dfsound/winsrc/record.c b/win32/plugins/dfsound/winsrc/record.c index 93c10b00..c78b7660 100644..100755 --- a/win32/plugins/dfsound/winsrc/record.c +++ b/win32/plugins/dfsound/winsrc/record.c @@ -1,188 +1,188 @@ -/***************************************************************************
- spu.c - description
- -------------------
- begin : Sun Jan 12 2003
- copyright : (C) 2003 by Pete Bernert
- email : BlackDove@addcom.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2003/03/01 - Pete
-// - added mono mode
-//
-// 2003/01/12 - Pete
-// - added recording funcs (win version only)
-//
-//*************************************************************************//
-
-#include "stdafx.h"
-
-#ifdef _WINDOWS
-
-#include <mmsystem.h>
-#include "resource.h"
-#include "externals.h"
-
-#define _IN_RECORD
-
-#include "record.h"
-
-////////////////////////////////////////////////////////////////////////
-
-int iDoRecord=0;
-HMMIO hWaveFile=NULL;
-MMCKINFO mmckMain;
-MMCKINFO mmckData;
-char szFileName[256];
-
-////////////////////////////////////////////////////////////////////////
-
-void RecordStart()
-{
- WAVEFORMATEX pcmwf;
-
- // setup header in the same format as our directsound stream
- memset(&pcmwf,0,sizeof(WAVEFORMATEX));
- pcmwf.wFormatTag = WAVE_FORMAT_PCM;
-
- if(iDisStereo)
- {
- pcmwf.nChannels = 1;
- pcmwf.nBlockAlign = 2;
- }
- else
- {
- pcmwf.nChannels = 2;
- pcmwf.nBlockAlign = 4;
- }
-
- pcmwf.nSamplesPerSec = 44100;
- pcmwf.nAvgBytesPerSec = pcmwf.nSamplesPerSec * pcmwf.nBlockAlign;
- pcmwf.wBitsPerSample = 16;
-
- // create file
- hWaveFile=mmioOpen(szFileName,NULL,MMIO_CREATE|MMIO_WRITE|MMIO_EXCLUSIVE | MMIO_ALLOCBUF);
- if(!hWaveFile) return;
-
- // setup WAVE, fmt and data chunks
- memset(&mmckMain,0,sizeof(MMCKINFO));
- mmckMain.fccType = mmioFOURCC('W','A','V','E');
-
- mmioCreateChunk(hWaveFile,&mmckMain,MMIO_CREATERIFF);
-
- memset(&mmckData,0,sizeof(MMCKINFO));
- mmckData.ckid = mmioFOURCC('f','m','t',' ');
- mmckData.cksize = sizeof(WAVEFORMATEX);
-
- mmioCreateChunk(hWaveFile,&mmckData,0);
- mmioWrite(hWaveFile,(char*)&pcmwf,sizeof(WAVEFORMATEX));
- mmioAscend(hWaveFile,&mmckData,0);
-
- mmckData.ckid = mmioFOURCC('d','a','t','a');
- mmioCreateChunk(hWaveFile,&mmckData,0);
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void RecordStop()
-{
- // first some check, if recording is running
- iDoRecord=0;
- if(!hWaveFile) return;
-
- // now finish writing & close the wave file
- mmioAscend(hWaveFile,&mmckData,0);
- mmioAscend(hWaveFile,&mmckMain,0);
- mmioClose(hWaveFile,0);
-
- // init var
- hWaveFile=NULL;
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void RecordBuffer(unsigned char* pSound,long lBytes)
-{
- // write the samples
- if(hWaveFile) mmioWrite(hWaveFile,pSound,lBytes);
-}
-
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-
-BOOL CALLBACK RecordDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch(uMsg)
- {
- //--------------------------------------------------// init
- case WM_INITDIALOG:
- {
- SetDlgItemText(hW,IDC_WAVFILE,"C:\\PEOPS.WAV"); // init filename edit
- ShowCursor(TRUE); // mmm... who is hiding it? main emu? tsts
- return TRUE;
- }
- //--------------------------------------------------// destroy
- case WM_DESTROY:
- {
- RecordStop();
- }break;
- //--------------------------------------------------// command
- case WM_COMMAND:
- {
- if(wParam==IDCANCEL) iRecordMode=2; // cancel? raise flag for destroying the dialog
-
- if(wParam==IDC_RECORD) // record start/stop?
- {
- if(IsWindowEnabled(GetDlgItem(hW,IDC_WAVFILE))) // not started yet (edit is not disabled):
- {
- GetDlgItemText(hW,IDC_WAVFILE,szFileName,255);// get filename
-
- RecordStart(); // start recording
-
- if(hWaveFile) // start was ok?
- { // -> disable filename edit, change text, raise flag
- EnableWindow(GetDlgItem(hW,IDC_WAVFILE),FALSE);
- SetDlgItemText(hW,IDC_RECORD,"Stop recording");
- iDoRecord=1;
- }
- else MessageBeep(0xFFFFFFFF); // error starting recording? BEEP
- }
- else // stop recording?
- {
- RecordStop(); // -> just do it
- EnableWindow(GetDlgItem(hW,IDC_WAVFILE),TRUE);// -> enable filename edit again
- SetDlgItemText(hW,IDC_RECORD,"Start recording");
- }
- SetFocus(hWMain);
- }
- }break;
- //--------------------------------------------------// size
- case WM_SIZE:
- if(wParam==SIZE_MINIMIZED) SetFocus(hWMain); // if we get minimized, set the foxus to the main window
- break;
- //--------------------------------------------------// setcursor
- case WM_SETCURSOR:
- {
- SetCursor(LoadCursor(NULL,IDC_ARROW)); // force the arrow
- return TRUE;
- }
- //--------------------------------------------------//
- }
- return FALSE;
-}
-
-////////////////////////////////////////////////////////////////////////
-#endif
+/*************************************************************************** + spu.c - description + ------------------- + begin : Sun Jan 12 2003 + copyright : (C) 2003 by Pete Bernert + email : BlackDove@addcom.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2003/03/01 - Pete +// - added mono mode +// +// 2003/01/12 - Pete +// - added recording funcs (win version only) +// +//*************************************************************************// + +#include "stdafx.h" + +#ifdef _WINDOWS + +#include <mmsystem.h> +#include "resource.h" +#include "externals.h" + +#define _IN_RECORD + +#include "record.h" + +//////////////////////////////////////////////////////////////////////// + +int iDoRecord=0; +HMMIO hWaveFile=NULL; +MMCKINFO mmckMain; +MMCKINFO mmckData; +char szFileName[256]; + +//////////////////////////////////////////////////////////////////////// + +void RecordStart() +{ + WAVEFORMATEX pcmwf; + + // setup header in the same format as our directsound stream + memset(&pcmwf,0,sizeof(WAVEFORMATEX)); + pcmwf.wFormatTag = WAVE_FORMAT_PCM; + + if(iDisStereo) + { + pcmwf.nChannels = 1; + pcmwf.nBlockAlign = 2; + } + else + { + pcmwf.nChannels = 2; + pcmwf.nBlockAlign = 4; + } + + pcmwf.nSamplesPerSec = 44100; + pcmwf.nAvgBytesPerSec = pcmwf.nSamplesPerSec * pcmwf.nBlockAlign; + pcmwf.wBitsPerSample = 16; + + // create file + hWaveFile=mmioOpen(szFileName,NULL,MMIO_CREATE|MMIO_WRITE|MMIO_EXCLUSIVE | MMIO_ALLOCBUF); + if(!hWaveFile) return; + + // setup WAVE, fmt and data chunks + memset(&mmckMain,0,sizeof(MMCKINFO)); + mmckMain.fccType = mmioFOURCC('W','A','V','E'); + + mmioCreateChunk(hWaveFile,&mmckMain,MMIO_CREATERIFF); + + memset(&mmckData,0,sizeof(MMCKINFO)); + mmckData.ckid = mmioFOURCC('f','m','t',' '); + mmckData.cksize = sizeof(WAVEFORMATEX); + + mmioCreateChunk(hWaveFile,&mmckData,0); + mmioWrite(hWaveFile,(char*)&pcmwf,sizeof(WAVEFORMATEX)); + mmioAscend(hWaveFile,&mmckData,0); + + mmckData.ckid = mmioFOURCC('d','a','t','a'); + mmioCreateChunk(hWaveFile,&mmckData,0); +} + +//////////////////////////////////////////////////////////////////////// + +void RecordStop() +{ + // first some check, if recording is running + iDoRecord=0; + if(!hWaveFile) return; + + // now finish writing & close the wave file + mmioAscend(hWaveFile,&mmckData,0); + mmioAscend(hWaveFile,&mmckMain,0); + mmioClose(hWaveFile,0); + + // init var + hWaveFile=NULL; +} + +//////////////////////////////////////////////////////////////////////// + +void RecordBuffer(unsigned char* pSound,long lBytes) +{ + // write the samples + if(hWaveFile) mmioWrite(hWaveFile,pSound,lBytes); +} + +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// + +BOOL CALLBACK RecordDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + switch(uMsg) + { + //--------------------------------------------------// init + case WM_INITDIALOG: + { + SetDlgItemText(hW,IDC_WAVFILE,"C:\\PEOPS.WAV"); // init filename edit + ShowCursor(TRUE); // mmm... who is hiding it? main emu? tsts + return TRUE; + } + //--------------------------------------------------// destroy + case WM_DESTROY: + { + RecordStop(); + }break; + //--------------------------------------------------// command + case WM_COMMAND: + { + if(wParam==IDCANCEL) iRecordMode=2; // cancel? raise flag for destroying the dialog + + if(wParam==IDC_RECORD) // record start/stop? + { + if(IsWindowEnabled(GetDlgItem(hW,IDC_WAVFILE))) // not started yet (edit is not disabled): + { + GetDlgItemText(hW,IDC_WAVFILE,szFileName,255);// get filename + + RecordStart(); // start recording + + if(hWaveFile) // start was ok? + { // -> disable filename edit, change text, raise flag + EnableWindow(GetDlgItem(hW,IDC_WAVFILE),FALSE); + SetDlgItemText(hW,IDC_RECORD,"Stop recording"); + iDoRecord=1; + } + else MessageBeep(0xFFFFFFFF); // error starting recording? BEEP + } + else // stop recording? + { + RecordStop(); // -> just do it + EnableWindow(GetDlgItem(hW,IDC_WAVFILE),TRUE);// -> enable filename edit again + SetDlgItemText(hW,IDC_RECORD,"Start recording"); + } + SetFocus(hWMain); + } + }break; + //--------------------------------------------------// size + case WM_SIZE: + if(wParam==SIZE_MINIMIZED) SetFocus(hWMain); // if we get minimized, set the foxus to the main window + break; + //--------------------------------------------------// setcursor + case WM_SETCURSOR: + { + SetCursor(LoadCursor(NULL,IDC_ARROW)); // force the arrow + return TRUE; + } + //--------------------------------------------------// + } + return FALSE; +} + +//////////////////////////////////////////////////////////////////////// +#endif diff --git a/win32/plugins/dfsound/winsrc/record.h b/win32/plugins/dfsound/winsrc/record.h index 7614e327..a264850e 100644..100755 --- a/win32/plugins/dfsound/winsrc/record.h +++ b/win32/plugins/dfsound/winsrc/record.h @@ -1,11 +1,11 @@ -#ifndef _RECORD_H_
-#define _RECORD_H_
-
-#ifdef _WINDOWS
-void RecordStart();
-void RecordBuffer(unsigned char* pSound,long lBytes);
-void RecordStop();
-BOOL CALLBACK RecordDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam);
-#endif
-
+#ifndef _RECORD_H_ +#define _RECORD_H_ + +#ifdef _WINDOWS +void RecordStart(); +void RecordBuffer(unsigned char* pSound,long lBytes); +void RecordStop(); +BOOL CALLBACK RecordDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam); +#endif + #endif
\ No newline at end of file diff --git a/win32/plugins/dfsound/winsrc/winmain.c b/win32/plugins/dfsound/winsrc/winmain.c index fb57bf6e..e050bc38 100644..100755 --- a/win32/plugins/dfsound/winsrc/winmain.c +++ b/win32/plugins/dfsound/winsrc/winmain.c @@ -1,34 +1,34 @@ -/***************************************************************************
- spuPeopsSound.c - description
- -------------------
- begin : Wed May 15 2002
- copyright : (C) 2002 by Pete Bernert
- email : BlackDove@addcom.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-// winmain.c : Defines the entry point for the DLL application.
-//
-
-#include "stdafx.h"
-
-HINSTANCE hInst = NULL;
-
-BOOL APIENTRY DllMain( HANDLE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved
- )
-{
- hInst=(HINSTANCE)hModule;
- return TRUE;
-}
-
+/*************************************************************************** + spuPeopsSound.c - description + ------------------- + begin : Wed May 15 2002 + copyright : (C) 2002 by Pete Bernert + email : BlackDove@addcom.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +// winmain.c : Defines the entry point for the DLL application. +// + +#include "stdafx.h" + +HINSTANCE hInst = NULL; + +BOOL APIENTRY DllMain( HANDLE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + hInst=(HINSTANCE)hModule; + return TRUE; +} + diff --git a/win32/plugins/dfxvideo/DFXVideo.def b/win32/plugins/dfxvideo/DFXVideo.def index e97e195f..3087b1bf 100644..100755 --- a/win32/plugins/dfxvideo/DFXVideo.def +++ b/win32/plugins/dfxvideo/DFXVideo.def @@ -31,28 +31,28 @@ EXPORTS GPUshowScreenPic @26 GPUgetScreenPic @27 - GPUcursor @28
- GPUsetfix @29
-
- ZN_GPUdisplayFlags @30
- ZN_GPUmakeSnapshot @31
- ZN_GPUinit @32
- ZN_GPUopen @33
- ZN_GPUclose @34
- ZN_GPUshutdown @35
- ZN_GPUupdateLace @36
- ZN_GPUreadStatus @37
- ZN_GPUwriteStatus @38
- ZN_GPUdmaSliceOut @39
- ZN_GPUreadData @40
- ZN_GPUsetMode @41
- ZN_GPUgetMode @42
- ZN_GPUdmaSliceIn @43
- ZN_GPUwriteData @44
- ZN_GPUdmaChain @45
- ZN_GPUtest @46
- ZN_GPUfreeze @47
- ZN_GPUgetScreenPic @48
- ZN_GPUshowScreenPic @49
-
+ GPUcursor @28 + GPUsetfix @29 + + ZN_GPUdisplayFlags @30 + ZN_GPUmakeSnapshot @31 + ZN_GPUinit @32 + ZN_GPUopen @33 + ZN_GPUclose @34 + ZN_GPUshutdown @35 + ZN_GPUupdateLace @36 + ZN_GPUreadStatus @37 + ZN_GPUwriteStatus @38 + ZN_GPUdmaSliceOut @39 + ZN_GPUreadData @40 + ZN_GPUsetMode @41 + ZN_GPUgetMode @42 + ZN_GPUdmaSliceIn @43 + ZN_GPUwriteData @44 + ZN_GPUdmaChain @45 + ZN_GPUtest @46 + ZN_GPUfreeze @47 + ZN_GPUgetScreenPic @48 + ZN_GPUshowScreenPic @49 + GPUvisualVibration @50 diff --git a/win32/plugins/dfxvideo/DFXVideo.dev b/win32/plugins/dfxvideo/DFXVideo.dev index 0da41d81..e3262c43 100644..100755 --- a/win32/plugins/dfxvideo/DFXVideo.dev +++ b/win32/plugins/dfxvideo/DFXVideo.dev @@ -1,379 +1,379 @@ -[Project]
-FileName=DFXVideo.dev
-Name=DFXVideo
-Ver=1
-IsCpp=1
-Type=3
-Compiler=-W -DWIN32 -DNDEBUG -D_WINDOWS -D__i386___@@_
-CppCompiler=-W -DWIN32 -DNDEBUG -D_WINDOWS -D__i386___@@_
-Includes=.\\;.\winsrc;..\..;..\..\glue;..\..\..\plugins\dfxvideo;..\..\..\libpcsxcore
-Linker=-luser32 -lgdi32 -lwinmm -ladvapi32 -lvfw32 -def DFXVideo.def --enable-stdcall-fixup_@@_
-Libs=
-UnitCount=33
-Folders=dfxvideo,winsrc,winsrc/directx
-ObjFiles=
-PrivateResource=DFXVideo_private.rc
-ResourceIncludes=
-MakeIncludes=
-Icon=
-ExeOutput=
-ObjectOutput=
-OverrideOutput=0
-OverrideOutputName=DFXVideo.exe
-HostApplication=
-CommandLine=
-UseCustomMakefile=0
-CustomMakefile=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0010000001001000000100
-
-[Unit1]
-FileName=winsrc\d3d.h
-Folder=winsrc/directx
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit2]
-FileName=winsrc\d3dcaps.h
-Folder=winsrc/directx
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit3]
-FileName=winsrc\d3dtypes.h
-Folder=winsrc/directx
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit4]
-FileName=winsrc\ddraw.h
-Folder=winsrc/directx
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit5]
-FileName=winsrc\dxguid.c
-Folder=winsrc/directx
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit6]
-FileName=winsrc\cfg.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit7]
-FileName=winsrc\draw.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit8]
-FileName=winsrc\fps.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit9]
-FileName=winsrc\key.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit10]
-FileName=winsrc\record.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit11]
-FileName=winsrc\record.h
-Folder=winsrc
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit12]
-FileName=winsrc\winmain.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit13]
-FileName=..\..\..\plugins\dfxvideo\cfg.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit14]
-FileName=..\..\..\plugins\dfxvideo\draw.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit15]
-FileName=..\..\..\plugins\dfxvideo\externals.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit16]
-FileName=..\..\..\plugins\dfxvideo\fps.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit17]
-FileName=..\..\..\plugins\dfxvideo\gpu.c
-Folder=dfxvideo
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit18]
-FileName=..\..\..\plugins\dfxvideo\gpu.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit19]
-FileName=..\..\..\plugins\dfxvideo\hq2x.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit20]
-FileName=..\..\..\plugins\dfxvideo\hq3x.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit21]
-FileName=..\..\..\plugins\dfxvideo\interp.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit22]
-FileName=..\..\..\plugins\dfxvideo\key.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit23]
-FileName=..\..\..\plugins\dfxvideo\menu.c
-Folder=dfxvideo
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit24]
-FileName=..\..\..\plugins\dfxvideo\menu.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit25]
-FileName=..\..\..\plugins\dfxvideo\prim.c
-Folder=dfxvideo
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit26]
-FileName=..\..\..\plugins\dfxvideo\prim.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit27]
-FileName=..\..\..\plugins\dfxvideo\soft.c
-Folder=dfxvideo
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit28]
-FileName=..\..\..\plugins\dfxvideo\soft.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit29]
-FileName=..\..\..\plugins\dfxvideo\swap.h
-Folder=dfxvideo
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit30]
-FileName=..\..\..\plugins\dfxvideo\zn.c
-Folder=dfxvideo
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit31]
-FileName=DFXVideo.def
-Folder=
-Compile=0
-CompileCpp=0
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit32]
-FileName=DFXVideo.rc
-Folder=Resources
-Compile=1
-CompileCpp=1
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit33]
-FileName=resource.h
-Folder=
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=0.1
-FileDescription=Developed using the Dev-C++ IDE
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=DFXVideo.exe
-ProductName=DFXVideo
-ProductVersion=0.1
-AutoIncBuildNr=0
-
+[Project] +FileName=DFXVideo.dev +Name=DFXVideo +Ver=1 +IsCpp=1 +Type=3 +Compiler=-W -DWIN32 -DNDEBUG -D_WINDOWS -D__i386___@@_ +CppCompiler=-W -DWIN32 -DNDEBUG -D_WINDOWS -D__i386___@@_ +Includes=.\\;.\winsrc;..\..;..\..\glue;..\..\..\plugins\dfxvideo;..\..\..\libpcsxcore +Linker=-luser32 -lgdi32 -lwinmm -ladvapi32 -lvfw32 -def DFXVideo.def --enable-stdcall-fixup_@@_ +Libs= +UnitCount=33 +Folders=dfxvideo,winsrc,winsrc/directx +ObjFiles= +PrivateResource=DFXVideo_private.rc +ResourceIncludes= +MakeIncludes= +Icon= +ExeOutput= +ObjectOutput= +OverrideOutput=0 +OverrideOutputName=DFXVideo.exe +HostApplication= +CommandLine= +UseCustomMakefile=0 +CustomMakefile= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=0 +CompilerSettings=0010000001001000000100 + +[Unit1] +FileName=winsrc\d3d.h +Folder=winsrc/directx +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=winsrc\d3dcaps.h +Folder=winsrc/directx +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=winsrc\d3dtypes.h +Folder=winsrc/directx +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=winsrc\ddraw.h +Folder=winsrc/directx +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=winsrc\dxguid.c +Folder=winsrc/directx +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit6] +FileName=winsrc\cfg.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit7] +FileName=winsrc\draw.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit8] +FileName=winsrc\fps.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit9] +FileName=winsrc\key.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit10] +FileName=winsrc\record.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit11] +FileName=winsrc\record.h +Folder=winsrc +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit12] +FileName=winsrc\winmain.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit13] +FileName=..\..\..\plugins\dfxvideo\cfg.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit14] +FileName=..\..\..\plugins\dfxvideo\draw.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit15] +FileName=..\..\..\plugins\dfxvideo\externals.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit16] +FileName=..\..\..\plugins\dfxvideo\fps.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit17] +FileName=..\..\..\plugins\dfxvideo\gpu.c +Folder=dfxvideo +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit18] +FileName=..\..\..\plugins\dfxvideo\gpu.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit19] +FileName=..\..\..\plugins\dfxvideo\hq2x.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit20] +FileName=..\..\..\plugins\dfxvideo\hq3x.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit21] +FileName=..\..\..\plugins\dfxvideo\interp.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit22] +FileName=..\..\..\plugins\dfxvideo\key.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit23] +FileName=..\..\..\plugins\dfxvideo\menu.c +Folder=dfxvideo +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit24] +FileName=..\..\..\plugins\dfxvideo\menu.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit25] +FileName=..\..\..\plugins\dfxvideo\prim.c +Folder=dfxvideo +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit26] +FileName=..\..\..\plugins\dfxvideo\prim.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit27] +FileName=..\..\..\plugins\dfxvideo\soft.c +Folder=dfxvideo +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit28] +FileName=..\..\..\plugins\dfxvideo\soft.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit29] +FileName=..\..\..\plugins\dfxvideo\swap.h +Folder=dfxvideo +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit30] +FileName=..\..\..\plugins\dfxvideo\zn.c +Folder=dfxvideo +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit31] +FileName=DFXVideo.def +Folder= +Compile=0 +CompileCpp=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit32] +FileName=DFXVideo.rc +Folder=Resources +Compile=1 +CompileCpp=1 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit33] +FileName=resource.h +Folder= +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[VersionInfo] +Major=0 +Minor=1 +Release=1 +Build=1 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion=0.1 +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename=DFXVideo.exe +ProductName=DFXVideo +ProductVersion=0.1 +AutoIncBuildNr=0 + diff --git a/win32/plugins/dfxvideo/DFXVideo.dsp b/win32/plugins/dfxvideo/DFXVideo.dsp index 717f8d1a..9e32cbb8 100644..100755 --- a/win32/plugins/dfxvideo/DFXVideo.dsp +++ b/win32/plugins/dfxvideo/DFXVideo.dsp @@ -1,239 +1,239 @@ -# Microsoft Developer Studio Project File - Name="DFXVideo" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=DFXVideo - Win32 Release
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "DFXVideo.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "DFXVideo.mak" CFG="DFXVideo - Win32 Release"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "DFXVideo - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "DFXVideo - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "DFXVideo - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I ".\\" /I ".\winsrc" /I "..\.." /I "..\..\glue" /I "..\..\..\plugins\dfxvideo" /I "..\..\..\libpcsxcore" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "__i386__" /FR /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 user32.lib gdi32.lib winmm.lib advapi32.lib vfw32.lib /nologo /subsystem:windows /dll /machine:I386
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=rem copy release\DFXVideo.dll d:\emus\epsxe\plugins rem copy release\DFXVideo.dll d:\emus\zinc\renderer.znc
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "DFXVideo - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\\" /I ".\winsrc" /I "..\..\glue" /I "..\..\..\plugins\dfxvideo" /I "..\..\..\libpcsxcore" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 user32.lib gdi32.lib winmm.lib advapi32.lib vfw32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "DFXVideo - Win32 Release"
-# Name "DFXVideo - Win32 Debug"
-# Begin Group "winsrc"
-
-# PROP Default_Filter ""
-# Begin Group "directx"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\winsrc\d3d.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\d3dcaps.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\d3dtypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\ddraw.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\dxguid.c
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\winsrc\cfg.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\draw.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\fps.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\key.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\record.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\record.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\winmain.c
-# End Source File
-# End Group
-# Begin Group "dfxvideo"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\cfg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\draw.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\externals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\fps.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\gpu.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\gpu.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\hq2x.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\hq3x.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\interp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\key.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\menu.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\menu.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\prim.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\prim.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\soft.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\soft.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\swap.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\dfxvideo\zn.c
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\DFXVideo.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\DFXVideo.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="DFXVideo" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=DFXVideo - Win32 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "DFXVideo.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "DFXVideo.mak" CFG="DFXVideo - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "DFXVideo - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "DFXVideo - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "DFXVideo - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I ".\\" /I ".\winsrc" /I "..\.." /I "..\..\glue" /I "..\..\..\plugins\dfxvideo" /I "..\..\..\libpcsxcore" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "__i386__" /FR /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 user32.lib gdi32.lib winmm.lib advapi32.lib vfw32.lib /nologo /subsystem:windows /dll /machine:I386 +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Cmds=rem copy release\DFXVideo.dll d:\emus\epsxe\plugins rem copy release\DFXVideo.dll d:\emus\zinc\renderer.znc +# End Special Build Tool + +!ELSEIF "$(CFG)" == "DFXVideo - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\\" /I ".\winsrc" /I "..\..\glue" /I "..\..\..\plugins\dfxvideo" /I "..\..\..\libpcsxcore" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 user32.lib gdi32.lib winmm.lib advapi32.lib vfw32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "DFXVideo - Win32 Release" +# Name "DFXVideo - Win32 Debug" +# Begin Group "winsrc" + +# PROP Default_Filter "" +# Begin Group "directx" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\winsrc\d3d.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\d3dcaps.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\d3dtypes.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\ddraw.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\dxguid.c +# End Source File +# End Group +# Begin Source File + +SOURCE=.\winsrc\cfg.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\draw.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\fps.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\key.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\record.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\record.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\winmain.c +# End Source File +# End Group +# Begin Group "dfxvideo" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\cfg.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\draw.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\externals.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\fps.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\gpu.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\gpu.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\hq2x.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\hq3x.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\interp.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\key.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\menu.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\menu.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\prim.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\prim.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\soft.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\soft.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\swap.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\dfxvideo\zn.c +# End Source File +# End Group +# Begin Source File + +SOURCE=.\DFXVideo.def +# End Source File +# Begin Source File + +SOURCE=.\DFXVideo.rc +# End Source File +# Begin Source File + +SOURCE=.\resource.h +# End Source File +# End Target +# End Project diff --git a/win32/plugins/dfxvideo/DFXVideo.rc b/win32/plugins/dfxvideo/DFXVideo.rc index 946dc14b..0664d3cd 100644..100755 --- a/win32/plugins/dfxvideo/DFXVideo.rc +++ b/win32/plugins/dfxvideo/DFXVideo.rc @@ -1,563 +1,563 @@ -//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Neutral resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
-#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-#pragma code_page(936)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDB_GPU BITMAP DISCARDABLE "res\\gpu.bmp"
-#endif // Neutral resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
- "#define _AFX_NO_OLE_RESOURCES\r\n"
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
- "\r\n"
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
- "#ifdef _WIN32\r\n"
- "LANGUAGE 9, 1\r\n"
- "#pragma code_page(1252)\r\n"
- "#endif\r\n"
- "#endif\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,17,0,0
- PRODUCTVERSION 1,17,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "\0"
- VALUE "FileDescription", "Based on P.E.Op.S. gpu soft plugin\0"
- VALUE "FileVersion", "1, 17, 0, 0\0"
- VALUE "InternalName", "DFXVideo\0"
- VALUE "LegalCopyright", "GPL\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "DFXVideo.DLL\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "DFXVideo\0"
- VALUE "ProductVersion", "1, 17, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_CFGSOFT DIALOGEX 0, 0, 291, 292
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Configure the DirectDraw Renderer..."
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
- PUSHBUTTON "Select device...",IDC_SELDEV,7,3,60,12
- CONTROL "Fullscreen mode",IDC_DISPMODE1,"Button",
- BS_AUTORADIOBUTTON,10,28,67,10
- CONTROL "Window mode",IDC_DISPMODE2,"Button",BS_AUTORADIOBUTTON,
- 10,43,63,10
- COMBOBOX IDC_RESOLUTION,78,27,102,64,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_COLDEPTH,225,27,52,64,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- EDITTEXT IDC_WINX,103,43,36,12,ES_AUTOHSCROLL
- EDITTEXT IDC_WINY,151,43,36,12,ES_AUTOHSCROLL
- COMBOBOX IDC_NOSTRETCH,78,61,199,100,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_DITHER,78,77,199,100,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- CONTROL "Transparent FPS display",IDC_TRANSPARENT,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,13,107,93,10
- CONTROL "Show FPS display on startup",IDC_SHOWFPS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,13,118,104,10
- PUSHBUTTON "...",IDC_KEYCONFIG,216,111,11,10,0,WS_EX_STATICEDGE
- CONTROL "Use FPS limit",IDC_USELIMIT,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,24,130,61,10
- CONTROL "Use Frame skipping",IDC_USESKIPPING,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,24,141,81,10
- CONTROL "Auto-detect FPS/Frame skipping limit",IDC_FRAMEAUTO,
- "Button",BS_AUTORADIOBUTTON | WS_GROUP,143,129,135,11
- CONTROL "FPS limit (10-200) :",IDC_FRAMEMANUELL,"Button",
- BS_AUTORADIOBUTTON,143,140,72,11
- EDITTEXT IDC_FRAMELIM,218,140,28,12,ES_AUTOHSCROLL
- COMBOBOX IDC_SCANLINES,78,167,199,64,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- CONTROL "Use system memory - slower with most cards, disables auto-screen-filtering",
- IDC_SYSMEMORY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,
- 184,260,10
- CONTROL "Wait for VSYNC - synchronize screen update with monitor refresh rate",
- IDC_VSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,195,
- 256,10
- CONTROL "Stop screen saver - disables screen savers/power-saving (n.a. in W95/NT4!)",
- IDC_STOPSAVER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,
- 206,263,10
- CONTROL "Debug mode - enables some debugging features (n.a. with all cards)",
- IDC_DEBUGMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,
- 217,263,10
- CONTROL "Activate special game fixes",IDC_GAMEFIX,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,13,228,101,10
- PUSHBUTTON "...",IDC_SELFIX,121,228,11,10,0,WS_EX_STATICEDGE
- PUSHBUTTON "...",IDC_RECORDING,121,241,11,10,0,WS_EX_STATICEDGE
- PUSHBUTTON "Fast",IDC_DEF1,10,267,35,14
- PUSHBUTTON "Nice",IDC_DEF2,49,267,35,14
- DEFPUSHBUTTON "OK",IDOK,97,267,50,14
- PUSHBUTTON "Cancel",IDCANCEL,153,267,50,14
- PUSHBUTTON "Copy settings\n to clipboard",IDC_CLIPBOARD,210,261,77,
- 26,BS_MULTILINE,WS_EX_STATICEDGE
- LTEXT "Primary",IDC_DEVICETXT,72,5,211,10
- GROUPBOX "Resolution && Colors",IDC_STATIC,4,17,283,78
- RTEXT "Color depth:",IDC_STATIC,182,28,39,10,SS_CENTERIMAGE
- RTEXT "Size:",IDC_STATIC,74,44,26,9
- RTEXT "Stretching:",IDC_STATIC,26,63,48,9
- RTEXT "Scanline mode:",IDC_STATIC,9,169,61,8
- RTEXT "Recording options:",IDC_STATIC,55,241,61,10,
- SS_CENTERIMAGE
- CTEXT "x",IDC_STATIC,141,44,8,9
- GROUPBOX "Framerate",IDC_STATIC,4,96,283,60
- LTEXT "FPS",IDC_STATIC,250,142,20,9
- GROUPBOX "Options",IDC_STATIC,4,157,283,99
- GROUPBOX "Default settings",IDC_STATIC,4,257,87,30
- RTEXT "Key configuration:",IDC_STATIC,152,111,59,10,
- SS_CENTERIMAGE
- EDITTEXT IDC_CLPEDIT,204,278,6,8,ES_MULTILINE | ES_AUTOVSCROLL |
- ES_AUTOHSCROLL | NOT WS_VISIBLE
- RTEXT "Dithering:",IDC_STATIC,26,79,48,9
-END
-
-IDD_DEVICE DIALOG DISCARDABLE 0, 0, 186, 82
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
-CAPTION "Select device..."
-FONT 8, "MS Sans Serif"
-BEGIN
- DEFPUSHBUTTON "OK",IDOK,24,63,50,14
- PUSHBUTTON "Cancel",IDCANCEL,112,63,50,14
- COMBOBOX IDC_DEVICE,7,7,167,64,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- CONTROL "Adjust gamma (fullscreen modes only)",IDC_USEGAMMA,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,28,156,9
- SCROLLBAR IDC_GAMMA,55,42,68,10
- RTEXT "Dark",IDC_STATIC,30,43,21,8
- LTEXT "Bright",IDC_STATIC,127,43,28,8
-END
-
-IDD_ABOUT DIALOG DISCARDABLE 0, 0, 258, 194
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
-CAPTION "About the P.E.Op.S. PSX DirectDraw Soft Renderer..."
-FONT 8, "MS Sans Serif"
-BEGIN
- DEFPUSHBUTTON "OK",IDOK,103,176,50,14
- RTEXT "Version:",IDC_STATIC,17,6,49,10
- RTEXT "Coded by:",IDC_STATIC,17,29,49,10
- RTEXT "Pete's EMail:",IDC_STATIC,17,41,49,10
- LTEXT "1.17",IDC_STATIC,69,6,159,10
- LTEXT "Pete Bernert and the P.E.Op.S. team",IDC_STATIC,69,29,
- 159,10
- LTEXT "BlackDove@addcom.de",IDC_STATIC,69,41,159,10
- LTEXT "http://www.pbernert.com",IDC_STATIC,82,95,142,10
- RTEXT "Release date:",IDC_STATIC,17,17,49,10
- LTEXT "12.06.2005",IDC_STATIC,69,17,159,10
- LTEXT "The P.E.Op.S. SoftGPU team:",IDC_STATIC,9,82,103,10
- CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME | SS_SUNKEN,4,76,
- 249,94
- RTEXT "P.E.Op.S. page:",IDC_STATIC,9,56,57,10
- LTEXT "https://sourceforge.net/projects/peops",IDC_STATIC,69,
- 56,159,10
- LTEXT "- Pete Bernert",IDC_STATIC,13,95,69,10
- LTEXT "- Lewpy",IDC_STATIC,13,106,69,10
- LTEXT "- lu_zero",IDC_STATIC,13,117,69,10
- LTEXT "- linuzappz",IDC_STATIC,13,128,69,10
- LTEXT "- Darko Matesic",IDC_STATIC,13,139,69,10
- LTEXT "http://mrdario.tripod.com",IDC_STATIC,82,139,142,10
- LTEXT "http://www.pcsx.net",IDC_STATIC,82,128,142,10
- LTEXT "http://lewpy.psxemu.com/",IDC_STATIC,82,106,142,10
- LTEXT "http://brsk.virtualave.net/lu_zero/",IDC_STATIC,82,117,
- 142,10
- LTEXT "- syo",IDC_STATIC,13,150,69,10
- LTEXT "http://www.geocities.co.jp/SiliconValley-Bay/2072/",
- IDC_STATIC,82,150,167,10
-END
-
-IDD_FIXES DIALOG DISCARDABLE 0, 0, 285, 218
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
-CAPTION "Special game fixes..."
-FONT 8, "MS Sans Serif"
-BEGIN
- CONTROL "Odd/even bit hack",IDC_FIX1,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,34,30,100,10
- CONTROL "Expand screen width",IDC_FIX2,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,34,45,91,10
- CONTROL "Ignore black brightness color",IDC_FIX3,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,34,60,106,10
- CONTROL "Disable coord check",IDC_FIX4,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,34,75,85,10
- CONTROL "Use low-res fps timer",IDC_FIX5,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,34,90,101,10
- CONTROL "Use PC fps calculation",IDC_FIX6,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,34,105,91,10
- CONTROL "Lazy screen updates",IDC_FIX7,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,34,120,91,10
- CONTROL "Use old frame skipping",IDC_FIX8,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,34,135,91,10
- CONTROL "Repeated flat tex triangles",IDC_FIX9,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,34,150,97,10
- CONTROL "Draw tex-quads as triangles",IDC_FIX10,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,34,165,100,10
- DEFPUSHBUTTON "OK",IDOK,66,199,50,14
- PUSHBUTTON "Cancel",IDCANCEL,169,199,50,14
- LTEXT "Activate the following options only if you want to play one of the listed games (or if your game is showing similar glitches)!",
- IDC_STATIC,8,4,245,22
- LTEXT "Needed with epsxe 1.5.2 and older",IDC_STATIC,145,30,
- 135,9,SS_CENTERIMAGE
- LTEXT "Shows the full area in Capcom 2D fighters",IDC_STATIC,
- 145,45,136,9,SS_CENTERIMAGE
- LTEXT "Fixes black screens in Lunar",IDC_STATIC,145,60,134,9,
- SS_CENTERIMAGE
- LTEXT "Old compatibility mode",IDC_STATIC,145,75,135,9,
- SS_CENTERIMAGE
- LTEXT "For buggy motherboard chipsets",IDC_STATIC,145,90,133,9,
- SS_CENTERIMAGE
- LTEXT "Better fps limitation with some games",IDC_STATIC,145,
- 105,129,9,SS_CENTERIMAGE
- LTEXT "Maybe faster, needed for Pandemonium2",IDC_STATIC,145,
- 120,139,9,SS_CENTERIMAGE
- RTEXT "0x0001:",IDC_STATIC,1,30,28,9,SS_CENTERIMAGE
- RTEXT "0x0002:",IDC_STATIC,1,45,28,9,SS_CENTERIMAGE
- RTEXT "0x0004:",IDC_STATIC,1,60,28,9,SS_CENTERIMAGE
- RTEXT "0x0008:",IDC_STATIC,1,75,28,9,SS_CENTERIMAGE
- RTEXT "0x0010:",IDC_STATIC,1,90,28,9,SS_CENTERIMAGE
- RTEXT "0x0020:",IDC_STATIC,1,105,28,9,SS_CENTERIMAGE
- RTEXT "0x0040:",IDC_STATIC,1,120,28,9,SS_CENTERIMAGE
- LTEXT "Skips only every second frame",IDC_STATIC,145,135,139,9,
- SS_CENTERIMAGE
- RTEXT "0x0080:",IDC_STATIC,1,135,28,9,SS_CENTERIMAGE
- LTEXT "Needed by Dark Forces",IDC_STATIC,145,150,139,9,
- SS_CENTERIMAGE
- RTEXT "0x0100:",IDC_STATIC,1,150,28,9,SS_CENTERIMAGE
- LTEXT "Slightly distorted textures can happen",IDC_STATIC,145,
- 165,139,9,SS_CENTERIMAGE
- RTEXT "0x0200:",IDC_STATIC,1,165,28,9,SS_CENTERIMAGE
- CONTROL "Fake 'gpu busy' states",IDC_FIX11,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,34,180,100,10
- LTEXT "Toggles busy flags after drawing",IDC_STATIC,145,180,
- 139,9,SS_CENTERIMAGE
- RTEXT "0x0400:",IDC_STATIC,1,180,28,9,SS_CENTERIMAGE
-END
-
-IDD_KEYS DIALOG DISCARDABLE 0, 0, 186, 220
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
-CAPTION "GPU key configuration"
-FONT 8, "MS Sans Serif"
-BEGIN
- PUSHBUTTON "Default keys",IDC_DEFAULT,107,6,61,13
- COMBOBOX IDC_KEY1,108,25,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY2,108,41,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY3,108,57,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY4,108,73,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY5,108,89,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY6,108,105,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY7,108,121,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY8,108,137,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY9,108,153,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY10,108,169,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- DEFPUSHBUTTON "OK",IDOK,20,197,50,14
- PUSHBUTTON "Cancel",IDCANCEL,115,197,50,14
- RTEXT "Show/hide gpu menu:",IDC_STATIC,4,26,100,9,
- SS_CENTERIMAGE
- RTEXT "Show/hide gpu infos:",IDC_STATIC,4,42,100,9,
- SS_CENTERIMAGE
- RTEXT "Toggle selected option up:",IDC_STATIC,4,58,100,9,
- SS_CENTERIMAGE
- RTEXT "Toggle selected option down:",IDC_STATIC,4,74,100,9,
- SS_CENTERIMAGE
- RTEXT "Select previous option:",IDC_STATIC,4,90,100,9,
- SS_CENTERIMAGE
- RTEXT "Select next option:",IDC_STATIC,4,106,100,9,
- SS_CENTERIMAGE
- RTEXT "Start/stop recording:",IDC_STATIC,4,122,100,9,
- SS_CENTERIMAGE
- RTEXT "Toggle wait VSYNC:",IDC_STATIC,4,138,100,9,
- SS_CENTERIMAGE
- RTEXT "Fast forward frame skipping:",IDC_STATIC,4,154,100,9,
- SS_CENTERIMAGE
- RTEXT "Debug mode: toggle vram view:",IDC_STATIC,4,170,100,9,
- SS_CENTERIMAGE
-END
-
-IDD_RECORDING DIALOG DISCARDABLE 0, 0, 215, 158
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Recording Options"
-FONT 8, "MS Sans Serif"
-BEGIN
- CONTROL "Standard Video Size",IDC_REC_MODE1,"Button",
- BS_AUTORADIOBUTTON | WS_GROUP,25,36,80,12
- COMBOBOX IDC_VIDEO_SIZE,115,37,65,60,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- CONTROL "Custom Video Size",IDC_REC_MODE2,"Button",
- BS_AUTORADIOBUTTON,25,51,80,12
- EDITTEXT IDC_REC_WIDTH,115,51,25,12,ES_AUTOHSCROLL
- CTEXT "x",IDC_STATIC,141,51,12,12,SS_CENTERIMAGE
- EDITTEXT IDC_REC_HEIGHT,155,51,25,12,ES_AUTOHSCROLL
- RTEXT "Frame Rate Scale:",IDC_STATIC,45,69,60,12,
- SS_CENTERIMAGE | NOT WS_GROUP
- COMBOBOX IDC_FRAME_RATE,115,69,30,60,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- CONTROL "16 bit Compression:",IDC_COMPRESSION1,"Button",
- BS_AUTORADIOBUTTON | WS_GROUP,21,86,165,12
- CONTROL "24 bit Compression:",IDC_COMPRESSION2,"Button",
- BS_AUTORADIOBUTTON,21,101,165,12
- PUSHBUTTON "Configure",IDC_RECCFG,77,116,50,12
- DEFPUSHBUTTON "OK",IDOK,24,137,50,14
- PUSHBUTTON "Cancel",IDCANCEL,133,137,50,14
- LTEXT "You can start/stop the video recording using the 'recording' key (see key configuration)!\nThe video will be stored in the 'Demo' sub-directory.",
- IDC_STATIC,5,3,203,27
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_CFGSOFT, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 284
- TOPMARGIN, 7
- BOTTOMMARGIN, 280
- END
-
- IDD_DEVICE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 179
- TOPMARGIN, 7
- BOTTOMMARGIN, 75
- END
-
- IDD_ABOUT, DIALOG
- BEGIN
- LEFTMARGIN, 7
- TOPMARGIN, 7
- BOTTOMMARGIN, 189
- END
-
- IDD_FIXES, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 278
- TOPMARGIN, 7
- BOTTOMMARGIN, 200
- END
-
- IDD_KEYS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 179
- TOPMARGIN, 7
- BOTTOMMARGIN, 190
- END
-
- IDD_RECORDING, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 208
- TOPMARGIN, 7
- BOTTOMMARGIN, 151
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#ifdef _MSC_VER
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog Info
-//
-
-IDD_CFGSOFT DLGINIT
-BEGIN
- IDC_RESOLUTION, 0x403, 1, 0
-"\000"
- IDC_NOSTRETCH, 0x403, 10, 0
-0x3436, 0x2030, 0x2078, 0x3834, 0x0030,
- IDC_NOSTRETCH, 0x403, 10, 0
-0x3038, 0x2030, 0x2078, 0x3036, 0x0030,
- IDC_NOSTRETCH, 0x403, 11, 0
-0x3031, 0x3432, 0x7820, 0x3720, 0x3836, "\000"
- IDC_NOSTRETCH, 0x403, 11, 0
-0x3131, 0x3235, 0x7820, 0x3820, 0x3436, "\000"
- IDC_NOSTRETCH, 0x403, 12, 0
-0x3231, 0x3038, 0x7820, 0x3120, 0x3230, 0x0034,
- IDC_NOSTRETCH, 0x403, 12, 0
-0x3631, 0x3030, 0x7820, 0x3120, 0x3032, 0x0030,
- IDC_DITHER, 0x403, 10, 0
-0x3436, 0x2030, 0x2078, 0x3834, 0x0030,
- IDC_DITHER, 0x403, 10, 0
-0x3038, 0x2030, 0x2078, 0x3036, 0x0030,
- IDC_DITHER, 0x403, 11, 0
-0x3031, 0x3432, 0x7820, 0x3720, 0x3836, "\000"
- IDC_DITHER, 0x403, 11, 0
-0x3131, 0x3235, 0x7820, 0x3820, 0x3436, "\000"
- IDC_DITHER, 0x403, 12, 0
-0x3231, 0x3038, 0x7820, 0x3120, 0x3230, 0x0034,
- IDC_DITHER, 0x403, 12, 0
-0x3631, 0x3030, 0x7820, 0x3120, 0x3032, 0x0030,
- IDC_SCANLINES, 0x403, 10, 0
-0x3436, 0x2030, 0x2078, 0x3834, 0x0030,
- IDC_SCANLINES, 0x403, 10, 0
-0x3038, 0x2030, 0x2078, 0x3036, 0x0030,
- IDC_SCANLINES, 0x403, 11, 0
-0x3031, 0x3432, 0x7820, 0x3720, 0x3836, "\000"
- IDC_SCANLINES, 0x403, 11, 0
-0x3131, 0x3235, 0x7820, 0x3820, 0x3436, "\000"
- IDC_SCANLINES, 0x403, 12, 0
-0x3231, 0x3038, 0x7820, 0x3120, 0x3230, 0x0034,
- IDC_SCANLINES, 0x403, 12, 0
-0x3631, 0x3030, 0x7820, 0x3120, 0x3032, 0x0030,
- 0
-END
-
-IDD_DEVICE DLGINIT
-BEGIN
- IDC_DEVICE, 0x403, 11, 0
-0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000"
- IDC_DEVICE, 0x403, 12, 0
-0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034,
- IDC_DEVICE, 0x403, 12, 0
-0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031,
- IDC_DEVICE, 0x403, 12, 0
-0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038,
- 0
-END
-
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_INFO0 "FL - Frame limitation:\n[Off] - Speed as fast as possible\n[On-1] - Limits speed to manual value\n[On-2] - Limits speed to auto-detected value."
- IDS_INFO1 "FS - Frame skipping:\n[Off] - No frames get skipped\n[On] - Tries to speed up the game by skipping frames. Can cause glitches!"
- IDS_INFO2 "GF - Special game fixes:\n[Off] - Turn off all fixes\n[On] - Turn on all activated fixes. You have to select the fixes you want to use in the gpu config."
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#define _AFX_NO_SPLITTER_RESOURCES
-#define _AFX_NO_OLE_RESOURCES
-#define _AFX_NO_TRACKER_RESOURCES
-#define _AFX_NO_PROPERTY_RESOURCES
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE 9, 1
-#pragma code_page(1252)
-#endif
-#endif
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+//Microsoft Developer Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Neutral resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#pragma code_page(936) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_GPU BITMAP DISCARDABLE "res\\gpu.bmp" +#endif // Neutral resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "#define _AFX_NO_SPLITTER_RESOURCES\r\n" + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 9, 1\r\n" + "#pragma code_page(1252)\r\n" + "#endif\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +#ifndef _MAC +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,17,0,0 + PRODUCTVERSION 1,17,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "\0" + VALUE "CompanyName", "\0" + VALUE "FileDescription", "Based on P.E.Op.S. gpu soft plugin\0" + VALUE "FileVersion", "1, 17, 0, 0\0" + VALUE "InternalName", "DFXVideo\0" + VALUE "LegalCopyright", "GPL\0" + VALUE "LegalTrademarks", "\0" + VALUE "OriginalFilename", "DFXVideo.DLL\0" + VALUE "PrivateBuild", "\0" + VALUE "ProductName", "DFXVideo\0" + VALUE "ProductVersion", "1, 17, 0, 0\0" + VALUE "SpecialBuild", "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // !_MAC + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_CFGSOFT DIALOGEX 0, 0, 291, 292 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Configure the DirectDraw Renderer..." +FONT 8, "MS Sans Serif", 0, 0, 0x1 +BEGIN + PUSHBUTTON "Select device...",IDC_SELDEV,7,3,60,12 + CONTROL "Fullscreen mode",IDC_DISPMODE1,"Button", + BS_AUTORADIOBUTTON,10,28,67,10 + CONTROL "Window mode",IDC_DISPMODE2,"Button",BS_AUTORADIOBUTTON, + 10,43,63,10 + COMBOBOX IDC_RESOLUTION,78,27,102,64,CBS_DROPDOWNLIST | CBS_SORT | + WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_COLDEPTH,225,27,52,64,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + EDITTEXT IDC_WINX,103,43,36,12,ES_AUTOHSCROLL + EDITTEXT IDC_WINY,151,43,36,12,ES_AUTOHSCROLL + COMBOBOX IDC_NOSTRETCH,78,61,199,100,CBS_DROPDOWNLIST | + WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_DITHER,78,77,199,100,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + CONTROL "Transparent FPS display",IDC_TRANSPARENT,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,13,107,93,10 + CONTROL "Show FPS display on startup",IDC_SHOWFPS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,13,118,104,10 + PUSHBUTTON "...",IDC_KEYCONFIG,216,111,11,10,0,WS_EX_STATICEDGE + CONTROL "Use FPS limit",IDC_USELIMIT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,24,130,61,10 + CONTROL "Use Frame skipping",IDC_USESKIPPING,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,24,141,81,10 + CONTROL "Auto-detect FPS/Frame skipping limit",IDC_FRAMEAUTO, + "Button",BS_AUTORADIOBUTTON | WS_GROUP,143,129,135,11 + CONTROL "FPS limit (10-200) :",IDC_FRAMEMANUELL,"Button", + BS_AUTORADIOBUTTON,143,140,72,11 + EDITTEXT IDC_FRAMELIM,218,140,28,12,ES_AUTOHSCROLL + COMBOBOX IDC_SCANLINES,78,167,199,64,CBS_DROPDOWNLIST | + WS_VSCROLL | WS_TABSTOP + CONTROL "Use system memory - slower with most cards, disables auto-screen-filtering", + IDC_SYSMEMORY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13, + 184,260,10 + CONTROL "Wait for VSYNC - synchronize screen update with monitor refresh rate", + IDC_VSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,195, + 256,10 + CONTROL "Stop screen saver - disables screen savers/power-saving (n.a. in W95/NT4!)", + IDC_STOPSAVER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13, + 206,263,10 + CONTROL "Debug mode - enables some debugging features (n.a. with all cards)", + IDC_DEBUGMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13, + 217,263,10 + CONTROL "Activate special game fixes",IDC_GAMEFIX,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,13,228,101,10 + PUSHBUTTON "...",IDC_SELFIX,121,228,11,10,0,WS_EX_STATICEDGE + PUSHBUTTON "...",IDC_RECORDING,121,241,11,10,0,WS_EX_STATICEDGE + PUSHBUTTON "Fast",IDC_DEF1,10,267,35,14 + PUSHBUTTON "Nice",IDC_DEF2,49,267,35,14 + DEFPUSHBUTTON "OK",IDOK,97,267,50,14 + PUSHBUTTON "Cancel",IDCANCEL,153,267,50,14 + PUSHBUTTON "Copy settings\n to clipboard",IDC_CLIPBOARD,210,261,77, + 26,BS_MULTILINE,WS_EX_STATICEDGE + LTEXT "Primary",IDC_DEVICETXT,72,5,211,10 + GROUPBOX "Resolution && Colors",IDC_STATIC,4,17,283,78 + RTEXT "Color depth:",IDC_STATIC,182,28,39,10,SS_CENTERIMAGE + RTEXT "Size:",IDC_STATIC,74,44,26,9 + RTEXT "Stretching:",IDC_STATIC,26,63,48,9 + RTEXT "Scanline mode:",IDC_STATIC,9,169,61,8 + RTEXT "Recording options:",IDC_STATIC,55,241,61,10, + SS_CENTERIMAGE + CTEXT "x",IDC_STATIC,141,44,8,9 + GROUPBOX "Framerate",IDC_STATIC,4,96,283,60 + LTEXT "FPS",IDC_STATIC,250,142,20,9 + GROUPBOX "Options",IDC_STATIC,4,157,283,99 + GROUPBOX "Default settings",IDC_STATIC,4,257,87,30 + RTEXT "Key configuration:",IDC_STATIC,152,111,59,10, + SS_CENTERIMAGE + EDITTEXT IDC_CLPEDIT,204,278,6,8,ES_MULTILINE | ES_AUTOVSCROLL | + ES_AUTOHSCROLL | NOT WS_VISIBLE + RTEXT "Dithering:",IDC_STATIC,26,79,48,9 +END + +IDD_DEVICE DIALOG DISCARDABLE 0, 0, 186, 82 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION +CAPTION "Select device..." +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "OK",IDOK,24,63,50,14 + PUSHBUTTON "Cancel",IDCANCEL,112,63,50,14 + COMBOBOX IDC_DEVICE,7,7,167,64,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + CONTROL "Adjust gamma (fullscreen modes only)",IDC_USEGAMMA, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,28,156,9 + SCROLLBAR IDC_GAMMA,55,42,68,10 + RTEXT "Dark",IDC_STATIC,30,43,21,8 + LTEXT "Bright",IDC_STATIC,127,43,28,8 +END + +IDD_ABOUT DIALOG DISCARDABLE 0, 0, 258, 194 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION +CAPTION "About the P.E.Op.S. PSX DirectDraw Soft Renderer..." +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "OK",IDOK,103,176,50,14 + RTEXT "Version:",IDC_STATIC,17,6,49,10 + RTEXT "Coded by:",IDC_STATIC,17,29,49,10 + RTEXT "Pete's EMail:",IDC_STATIC,17,41,49,10 + LTEXT "1.17",IDC_STATIC,69,6,159,10 + LTEXT "Pete Bernert and the P.E.Op.S. team",IDC_STATIC,69,29, + 159,10 + LTEXT "BlackDove@addcom.de",IDC_STATIC,69,41,159,10 + LTEXT "http://www.pbernert.com",IDC_STATIC,82,95,142,10 + RTEXT "Release date:",IDC_STATIC,17,17,49,10 + LTEXT "12.06.2005",IDC_STATIC,69,17,159,10 + LTEXT "The P.E.Op.S. SoftGPU team:",IDC_STATIC,9,82,103,10 + CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME | SS_SUNKEN,4,76, + 249,94 + RTEXT "P.E.Op.S. page:",IDC_STATIC,9,56,57,10 + LTEXT "https://sourceforge.net/projects/peops",IDC_STATIC,69, + 56,159,10 + LTEXT "- Pete Bernert",IDC_STATIC,13,95,69,10 + LTEXT "- Lewpy",IDC_STATIC,13,106,69,10 + LTEXT "- lu_zero",IDC_STATIC,13,117,69,10 + LTEXT "- linuzappz",IDC_STATIC,13,128,69,10 + LTEXT "- Darko Matesic",IDC_STATIC,13,139,69,10 + LTEXT "http://mrdario.tripod.com",IDC_STATIC,82,139,142,10 + LTEXT "http://www.pcsx.net",IDC_STATIC,82,128,142,10 + LTEXT "http://lewpy.psxemu.com/",IDC_STATIC,82,106,142,10 + LTEXT "http://brsk.virtualave.net/lu_zero/",IDC_STATIC,82,117, + 142,10 + LTEXT "- syo",IDC_STATIC,13,150,69,10 + LTEXT "http://www.geocities.co.jp/SiliconValley-Bay/2072/", + IDC_STATIC,82,150,167,10 +END + +IDD_FIXES DIALOG DISCARDABLE 0, 0, 285, 218 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION +CAPTION "Special game fixes..." +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "Odd/even bit hack",IDC_FIX1,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,34,30,100,10 + CONTROL "Expand screen width",IDC_FIX2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,34,45,91,10 + CONTROL "Ignore black brightness color",IDC_FIX3,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,34,60,106,10 + CONTROL "Disable coord check",IDC_FIX4,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,34,75,85,10 + CONTROL "Use low-res fps timer",IDC_FIX5,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,34,90,101,10 + CONTROL "Use PC fps calculation",IDC_FIX6,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,34,105,91,10 + CONTROL "Lazy screen updates",IDC_FIX7,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,34,120,91,10 + CONTROL "Use old frame skipping",IDC_FIX8,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,34,135,91,10 + CONTROL "Repeated flat tex triangles",IDC_FIX9,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,34,150,97,10 + CONTROL "Draw tex-quads as triangles",IDC_FIX10,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,34,165,100,10 + DEFPUSHBUTTON "OK",IDOK,66,199,50,14 + PUSHBUTTON "Cancel",IDCANCEL,169,199,50,14 + LTEXT "Activate the following options only if you want to play one of the listed games (or if your game is showing similar glitches)!", + IDC_STATIC,8,4,245,22 + LTEXT "Needed with epsxe 1.5.2 and older",IDC_STATIC,145,30, + 135,9,SS_CENTERIMAGE + LTEXT "Shows the full area in Capcom 2D fighters",IDC_STATIC, + 145,45,136,9,SS_CENTERIMAGE + LTEXT "Fixes black screens in Lunar",IDC_STATIC,145,60,134,9, + SS_CENTERIMAGE + LTEXT "Old compatibility mode",IDC_STATIC,145,75,135,9, + SS_CENTERIMAGE + LTEXT "For buggy motherboard chipsets",IDC_STATIC,145,90,133,9, + SS_CENTERIMAGE + LTEXT "Better fps limitation with some games",IDC_STATIC,145, + 105,129,9,SS_CENTERIMAGE + LTEXT "Maybe faster, needed for Pandemonium2",IDC_STATIC,145, + 120,139,9,SS_CENTERIMAGE + RTEXT "0x0001:",IDC_STATIC,1,30,28,9,SS_CENTERIMAGE + RTEXT "0x0002:",IDC_STATIC,1,45,28,9,SS_CENTERIMAGE + RTEXT "0x0004:",IDC_STATIC,1,60,28,9,SS_CENTERIMAGE + RTEXT "0x0008:",IDC_STATIC,1,75,28,9,SS_CENTERIMAGE + RTEXT "0x0010:",IDC_STATIC,1,90,28,9,SS_CENTERIMAGE + RTEXT "0x0020:",IDC_STATIC,1,105,28,9,SS_CENTERIMAGE + RTEXT "0x0040:",IDC_STATIC,1,120,28,9,SS_CENTERIMAGE + LTEXT "Skips only every second frame",IDC_STATIC,145,135,139,9, + SS_CENTERIMAGE + RTEXT "0x0080:",IDC_STATIC,1,135,28,9,SS_CENTERIMAGE + LTEXT "Needed by Dark Forces",IDC_STATIC,145,150,139,9, + SS_CENTERIMAGE + RTEXT "0x0100:",IDC_STATIC,1,150,28,9,SS_CENTERIMAGE + LTEXT "Slightly distorted textures can happen",IDC_STATIC,145, + 165,139,9,SS_CENTERIMAGE + RTEXT "0x0200:",IDC_STATIC,1,165,28,9,SS_CENTERIMAGE + CONTROL "Fake 'gpu busy' states",IDC_FIX11,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,34,180,100,10 + LTEXT "Toggles busy flags after drawing",IDC_STATIC,145,180, + 139,9,SS_CENTERIMAGE + RTEXT "0x0400:",IDC_STATIC,1,180,28,9,SS_CENTERIMAGE +END + +IDD_KEYS DIALOG DISCARDABLE 0, 0, 186, 220 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION +CAPTION "GPU key configuration" +FONT 8, "MS Sans Serif" +BEGIN + PUSHBUTTON "Default keys",IDC_DEFAULT,107,6,61,13 + COMBOBOX IDC_KEY1,108,25,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY2,108,41,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY3,108,57,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY4,108,73,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY5,108,89,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY6,108,105,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY7,108,121,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY8,108,137,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY9,108,153,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY10,108,169,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + DEFPUSHBUTTON "OK",IDOK,20,197,50,14 + PUSHBUTTON "Cancel",IDCANCEL,115,197,50,14 + RTEXT "Show/hide gpu menu:",IDC_STATIC,4,26,100,9, + SS_CENTERIMAGE + RTEXT "Show/hide gpu infos:",IDC_STATIC,4,42,100,9, + SS_CENTERIMAGE + RTEXT "Toggle selected option up:",IDC_STATIC,4,58,100,9, + SS_CENTERIMAGE + RTEXT "Toggle selected option down:",IDC_STATIC,4,74,100,9, + SS_CENTERIMAGE + RTEXT "Select previous option:",IDC_STATIC,4,90,100,9, + SS_CENTERIMAGE + RTEXT "Select next option:",IDC_STATIC,4,106,100,9, + SS_CENTERIMAGE + RTEXT "Start/stop recording:",IDC_STATIC,4,122,100,9, + SS_CENTERIMAGE + RTEXT "Toggle wait VSYNC:",IDC_STATIC,4,138,100,9, + SS_CENTERIMAGE + RTEXT "Fast forward frame skipping:",IDC_STATIC,4,154,100,9, + SS_CENTERIMAGE + RTEXT "Debug mode: toggle vram view:",IDC_STATIC,4,170,100,9, + SS_CENTERIMAGE +END + +IDD_RECORDING DIALOG DISCARDABLE 0, 0, 215, 158 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Recording Options" +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "Standard Video Size",IDC_REC_MODE1,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,25,36,80,12 + COMBOBOX IDC_VIDEO_SIZE,115,37,65,60,CBS_DROPDOWNLIST | + WS_VSCROLL | WS_TABSTOP + CONTROL "Custom Video Size",IDC_REC_MODE2,"Button", + BS_AUTORADIOBUTTON,25,51,80,12 + EDITTEXT IDC_REC_WIDTH,115,51,25,12,ES_AUTOHSCROLL + CTEXT "x",IDC_STATIC,141,51,12,12,SS_CENTERIMAGE + EDITTEXT IDC_REC_HEIGHT,155,51,25,12,ES_AUTOHSCROLL + RTEXT "Frame Rate Scale:",IDC_STATIC,45,69,60,12, + SS_CENTERIMAGE | NOT WS_GROUP + COMBOBOX IDC_FRAME_RATE,115,69,30,60,CBS_DROPDOWNLIST | + WS_VSCROLL | WS_TABSTOP + CONTROL "16 bit Compression:",IDC_COMPRESSION1,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,21,86,165,12 + CONTROL "24 bit Compression:",IDC_COMPRESSION2,"Button", + BS_AUTORADIOBUTTON,21,101,165,12 + PUSHBUTTON "Configure",IDC_RECCFG,77,116,50,12 + DEFPUSHBUTTON "OK",IDOK,24,137,50,14 + PUSHBUTTON "Cancel",IDCANCEL,133,137,50,14 + LTEXT "You can start/stop the video recording using the 'recording' key (see key configuration)!\nThe video will be stored in the 'Demo' sub-directory.", + IDC_STATIC,5,3,203,27 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_CFGSOFT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 284 + TOPMARGIN, 7 + BOTTOMMARGIN, 280 + END + + IDD_DEVICE, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 179 + TOPMARGIN, 7 + BOTTOMMARGIN, 75 + END + + IDD_ABOUT, DIALOG + BEGIN + LEFTMARGIN, 7 + TOPMARGIN, 7 + BOTTOMMARGIN, 189 + END + + IDD_FIXES, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 278 + TOPMARGIN, 7 + BOTTOMMARGIN, 200 + END + + IDD_KEYS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 179 + TOPMARGIN, 7 + BOTTOMMARGIN, 190 + END + + IDD_RECORDING, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 208 + TOPMARGIN, 7 + BOTTOMMARGIN, 151 + END +END +#endif // APSTUDIO_INVOKED + +#ifdef _MSC_VER + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog Info +// + +IDD_CFGSOFT DLGINIT +BEGIN + IDC_RESOLUTION, 0x403, 1, 0 +"\000" + IDC_NOSTRETCH, 0x403, 10, 0 +0x3436, 0x2030, 0x2078, 0x3834, 0x0030, + IDC_NOSTRETCH, 0x403, 10, 0 +0x3038, 0x2030, 0x2078, 0x3036, 0x0030, + IDC_NOSTRETCH, 0x403, 11, 0 +0x3031, 0x3432, 0x7820, 0x3720, 0x3836, "\000" + IDC_NOSTRETCH, 0x403, 11, 0 +0x3131, 0x3235, 0x7820, 0x3820, 0x3436, "\000" + IDC_NOSTRETCH, 0x403, 12, 0 +0x3231, 0x3038, 0x7820, 0x3120, 0x3230, 0x0034, + IDC_NOSTRETCH, 0x403, 12, 0 +0x3631, 0x3030, 0x7820, 0x3120, 0x3032, 0x0030, + IDC_DITHER, 0x403, 10, 0 +0x3436, 0x2030, 0x2078, 0x3834, 0x0030, + IDC_DITHER, 0x403, 10, 0 +0x3038, 0x2030, 0x2078, 0x3036, 0x0030, + IDC_DITHER, 0x403, 11, 0 +0x3031, 0x3432, 0x7820, 0x3720, 0x3836, "\000" + IDC_DITHER, 0x403, 11, 0 +0x3131, 0x3235, 0x7820, 0x3820, 0x3436, "\000" + IDC_DITHER, 0x403, 12, 0 +0x3231, 0x3038, 0x7820, 0x3120, 0x3230, 0x0034, + IDC_DITHER, 0x403, 12, 0 +0x3631, 0x3030, 0x7820, 0x3120, 0x3032, 0x0030, + IDC_SCANLINES, 0x403, 10, 0 +0x3436, 0x2030, 0x2078, 0x3834, 0x0030, + IDC_SCANLINES, 0x403, 10, 0 +0x3038, 0x2030, 0x2078, 0x3036, 0x0030, + IDC_SCANLINES, 0x403, 11, 0 +0x3031, 0x3432, 0x7820, 0x3720, 0x3836, "\000" + IDC_SCANLINES, 0x403, 11, 0 +0x3131, 0x3235, 0x7820, 0x3820, 0x3436, "\000" + IDC_SCANLINES, 0x403, 12, 0 +0x3231, 0x3038, 0x7820, 0x3120, 0x3230, 0x0034, + IDC_SCANLINES, 0x403, 12, 0 +0x3631, 0x3030, 0x7820, 0x3120, 0x3032, 0x0030, + 0 +END + +IDD_DEVICE DLGINIT +BEGIN + IDC_DEVICE, 0x403, 11, 0 +0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000" + IDC_DEVICE, 0x403, 12, 0 +0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034, + IDC_DEVICE, 0x403, 12, 0 +0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031, + IDC_DEVICE, 0x403, 12, 0 +0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038, + 0 +END + +#endif + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INFO0 "FL - Frame limitation:\n[Off] - Speed as fast as possible\n[On-1] - Limits speed to manual value\n[On-2] - Limits speed to auto-detected value." + IDS_INFO1 "FS - Frame skipping:\n[Off] - No frames get skipped\n[On] - Tries to speed up the game by skipping frames. Can cause glitches!" + IDS_INFO2 "GF - Special game fixes:\n[Off] - Turn off all fixes\n[On] - Turn on all activated fixes. You have to select the fixes you want to use in the gpu config." +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +#define _AFX_NO_SPLITTER_RESOURCES +#define _AFX_NO_OLE_RESOURCES +#define _AFX_NO_TRACKER_RESOURCES +#define _AFX_NO_PROPERTY_RESOURCES + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE 9, 1 +#pragma code_page(1252) +#endif +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/win32/plugins/dfxvideo/DFXVideo.vcproj b/win32/plugins/dfxvideo/DFXVideo.vcproj index 1f9182ab..d0c56eab 100644..100755 --- a/win32/plugins/dfxvideo/DFXVideo.vcproj +++ b/win32/plugins/dfxvideo/DFXVideo.vcproj @@ -1,594 +1,594 @@ -<?xml version="1.0" encoding="gb2312"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="DFXVideo"
- ProjectGUID="{30F06328-DD64-4030-AF7A-19FBC74CF298}"
- RootNamespace="DFXVideo"
- TargetFrameworkVersion="0"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/DFXVideo.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories=".\,.\winsrc,..\..,..\..\glue,..\..\..\plugins\dfxvideo,..\..\..\libpcsxcore"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;__i386__"
- StringPooling="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- PrecompiledHeaderFile=".\Release/DFXVideo.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1031"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="winmm.lib vfw32.lib"
- OutputFile=".\Release/DFXVideo.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ModuleDefinitionFile=".\DFXVideo.def"
- ProgramDatabaseFile=".\Release/DFXVideo.pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary=".\Release/DFXVideo.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Release/DFXVideo.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="rem copy release\DFXVideo.dll d:\emus\epsxe\plugins
rem copy release\DFXVideo.dll d:\emus\zinc\renderer.znc
"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/DFXVideo.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\,.\winsrc,..\..\glue,..\..\..\plugins\dfxvideo,..\..\..\libpcsxcore"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/DFXVideo.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1031"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="winmm.lib vfw32.lib"
- OutputFile=".\Debug/DFXVideo.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ModuleDefinitionFile=".\DFXVideo.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug/DFXVideo.pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary=".\Debug/DFXVideo.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Debug/DFXVideo.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="winsrc"
- >
- <File
- RelativePath="winsrc\cfg.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\draw.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\fps.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\key.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\record.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\record.h"
- >
- </File>
- <File
- RelativePath="winsrc\winmain.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <Filter
- Name="directx"
- >
- <File
- RelativePath="winsrc\d3d.h"
- >
- </File>
- <File
- RelativePath="winsrc\d3dcaps.h"
- >
- </File>
- <File
- RelativePath="winsrc\d3dtypes.h"
- >
- </File>
- <File
- RelativePath="winsrc\ddraw.h"
- >
- </File>
- <File
- RelativePath="winsrc\dxguid.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="dfxvideo"
- >
- <File
- RelativePath="..\..\..\plugins\dfxvideo\cfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\draw.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\externals.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\fps.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\gpu.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\gpu.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\hq2x.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\hq3x.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\interp.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\key.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\menu.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\menu.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\prim.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\prim.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\soft.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\soft.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\swap.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\dfxvideo\zn.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath="DFXVideo.def"
- >
- </File>
- <File
- RelativePath="DFXVideo.rc"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="resource.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="gb2312"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="DFXVideo" + ProjectGUID="{30F06328-DD64-4030-AF7A-19FBC74CF298}" + RootNamespace="DFXVideo" + TargetFrameworkVersion="0" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Release/DFXVideo.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories=".\,.\winsrc,..\..,..\..\glue,..\..\..\plugins\dfxvideo,..\..\..\libpcsxcore" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;__i386__" + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + PrecompiledHeaderFile=".\Release/DFXVideo.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + BrowseInformation="1" + WarningLevel="3" + SuppressStartupBanner="true" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1031" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="winmm.lib vfw32.lib" + OutputFile=".\Release/DFXVideo.dll" + LinkIncremental="1" + SuppressStartupBanner="true" + ModuleDefinitionFile=".\DFXVideo.def" + ProgramDatabaseFile=".\Release/DFXVideo.pdb" + SubSystem="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary=".\Release/DFXVideo.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/DFXVideo.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="rem copy release\DFXVideo.dll d:\emus\epsxe\plugins
rem copy release\DFXVideo.dll d:\emus\zinc\renderer.znc
" + /> + </Configuration> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Debug/DFXVideo.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=".\,.\winsrc,..\..\glue,..\..\..\plugins\dfxvideo,..\..\..\libpcsxcore" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + PrecompiledHeaderFile=".\Debug/DFXVideo.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1031" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="winmm.lib vfw32.lib" + OutputFile=".\Debug/DFXVideo.dll" + LinkIncremental="1" + SuppressStartupBanner="true" + ModuleDefinitionFile=".\DFXVideo.def" + GenerateDebugInformation="true" + ProgramDatabaseFile=".\Debug/DFXVideo.pdb" + SubSystem="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary=".\Debug/DFXVideo.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/DFXVideo.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="winsrc" + > + <File + RelativePath="winsrc\cfg.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\draw.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\fps.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\key.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\record.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\record.h" + > + </File> + <File + RelativePath="winsrc\winmain.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <Filter + Name="directx" + > + <File + RelativePath="winsrc\d3d.h" + > + </File> + <File + RelativePath="winsrc\d3dcaps.h" + > + </File> + <File + RelativePath="winsrc\d3dtypes.h" + > + </File> + <File + RelativePath="winsrc\ddraw.h" + > + </File> + <File + RelativePath="winsrc\dxguid.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + </Filter> + <Filter + Name="dfxvideo" + > + <File + RelativePath="..\..\..\plugins\dfxvideo\cfg.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\draw.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\externals.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\fps.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\gpu.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\gpu.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\hq2x.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\hq3x.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\interp.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\key.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\menu.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\menu.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\prim.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\prim.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\soft.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\soft.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\swap.h" + > + </File> + <File + RelativePath="..\..\..\plugins\dfxvideo\zn.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <File + RelativePath="DFXVideo.def" + > + </File> + <File + RelativePath="DFXVideo.rc" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="resource.h" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/win32/plugins/dfxvideo/resource.h b/win32/plugins/dfxvideo/resource.h index aa7462c2..25dc0280 100644..100755 --- a/win32/plugins/dfxvideo/resource.h +++ b/win32/plugins/dfxvideo/resource.h @@ -1,143 +1,143 @@ -//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by DFXVideo.rc
-//
-#define IDS_INFO0 1
-#define IDS_INFO1 2
-#define IDS_INFO2 3
-#define IDC_DEFAULT 3
-#define IDC_DEF1 127
-#define IDC_DEF2 128
-#define IDD_DEVICE 133
-#define IDD_ABOUT 135
-#define IDD_FIXES 136
-#define IDB_GPU 137
-#define IDD_KEYS 138
-#define IDD_RECORDING 139
-#define IDC_CURSOR1 142
-#define IDD_CFGDLG 500
-#define IDD_CFGSOFT 501
-#define IDC_KEY1 1030
-#define IDC_KEY2 1031
-#define IDC_KEY3 1032
-#define IDC_KEY4 1033
-#define IDC_KEY5 1034
-#define IDC_KEY6 1035
-#define IDC_KEY7 1036
-#define IDC_KEY8 1037
-#define IDC_KEY9 1038
-#define IDC_KEY10 1039
-#define IDC_CLIPBOARD 1040
-#define IDC_CLPEDIT 1041
-#define IDC_TEXWINDOWS 2001
-#define IDC_TEXFIX 2002
-#define IDC_TEXLINEAR 2003
-#define IDC_RESOLUTION 2004
-#define IDC_DRAWDITHER 2005
-#define IDC_SCANLINES 2005
-#define IDC_CACHESIZE 2006
-#define IDC_COLDEPTH 2006
-#define IDC_CACHETXT 2007
-#define IDC_NOSTRETCH 2007
-#define IDC_USELINES 2008
-#define IDC_USEMASK 2008
-#define IDC_DITHER 2008
-#define IDC_COLORDEPTH 2009
-#define IDC_CHANGEDESK 2010
-#define IDC_GAMEFIX 2010
-#define IDC_USELIMIT 2011
-#define IDC_FRAMELIMIT 2012
-#define IDC_USESKIPPING 2012
-#define IDC_FRAMEAUTO 2013
-#define IDC_FRAMEMANUELL 2014
-#define IDC_ADVBLEND 2015
-#define IDC_DELAYEDFB 2015
-#define IDC_SHOWFPS 2015
-#define IDC_OFFSCREEN 2016
-#define IDC_SYSMEMORY 2016
-#define IDC_OPAQUE 2017
-#define IDC_STOPSAVER 2017
-#define IDC_TEXQUALITY 2018
-#define IDC_QUALTXT 2019
-#define IDC_USESKIP 2020
-#define IDC_QUALTXT2 2020
-#define IDC_DEVICE 2020
-#define IDC_DISPMODE1 2021
-#define IDC_DISPMODE2 2022
-#define IDC_SUBCACHE 2023
-#define IDC_WINDOWFREE 2024
-#define IDC_EXTCOLCHECK 2024
-#define IDC_TEXUSE 2024
-#define IDC_WINDOWAUTO 2025
-#define IDC_USETEXPRIO 2025
-#define IDC_WINX 2026
-#define IDC_WINY 2027
-#define IDC_SELDEV 2028
-#define IDC_DEVICETXT 2029
-#define IDC_DB1 2030
-#define IDC_FILTERTYPE 2030
-#define IDC_DB2 2031
-#define IDC_QUALTXT3 2031
-#define IDC_DB3 2032
-#define IDC_EXTCOL 2033
-#define IDC_FRAMELIM 2034
-#define IDC_SELFIX 2037
-#define IDC_USEGAMMA 2037
-#define IDC_FIX1 2038
-#define IDC_KEYCONFIG 2038
-#define IDC_FIX2 2039
-#define IDC_RECORDING 2039
-#define IDC_FIX3 2040
-#define IDC_FIX4 2041
-#define IDC_FIX5 2042
-#define IDC_FIX6 2043
-#define IDC_FIX7 2044
-#define IDC_FIX8 2045
-#define IDC_FIX9 2046
-#define IDC_FIX10 2047
-#define IDC_FIX11 2048
-#define IDC_FIX12 2049
-#define IDC_FIX13 2050
-#define IDC_FIX14 2051
-#define IDC_FIX15 2052
-#define IDC_FIX16 2053
-#define IDC_FIX17 2054
-#define IDC_FIX18 2055
-#define IDC_FIX19 2056
-#define IDC_FIX20 2057
-#define IDC_FIX21 2058
-#define IDC_FIX22 2059
-#define IDC_FIX23 2060
-#define IDC_FIX24 2061
-#define IDC_FIX25 2062
-#define IDC_FIX26 2063
-#define IDC_FIX27 2064
-#define IDC_FIX28 2065
-#define IDC_FIX29 2066
-#define IDC_FIX30 2067
-#define IDC_FIX31 2068
-#define IDC_FIX32 2069
-#define IDC_GAMMA 2070
-#define IDC_REC_MODE1 2071
-#define IDC_REC_MODE2 2072
-#define IDC_VIDEO_SIZE 2073
-#define IDC_REC_WIDTH 2074
-#define IDC_REC_HEIGHT 2075
-#define IDC_FRAME_RATE 2076
-#define IDC_COMPRESSION1 2077
-#define IDC_COMPRESSION2 2078
-#define IDC_RECCFG 2079
-#define IDC_VSYNC 2080
-#define IDC_TRANSPARENT 2081
-#define IDC_DEBUGMODE 2082
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 143
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 2083
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by DFXVideo.rc +// +#define IDS_INFO0 1 +#define IDS_INFO1 2 +#define IDS_INFO2 3 +#define IDC_DEFAULT 3 +#define IDC_DEF1 127 +#define IDC_DEF2 128 +#define IDD_DEVICE 133 +#define IDD_ABOUT 135 +#define IDD_FIXES 136 +#define IDB_GPU 137 +#define IDD_KEYS 138 +#define IDD_RECORDING 139 +#define IDC_CURSOR1 142 +#define IDD_CFGDLG 500 +#define IDD_CFGSOFT 501 +#define IDC_KEY1 1030 +#define IDC_KEY2 1031 +#define IDC_KEY3 1032 +#define IDC_KEY4 1033 +#define IDC_KEY5 1034 +#define IDC_KEY6 1035 +#define IDC_KEY7 1036 +#define IDC_KEY8 1037 +#define IDC_KEY9 1038 +#define IDC_KEY10 1039 +#define IDC_CLIPBOARD 1040 +#define IDC_CLPEDIT 1041 +#define IDC_TEXWINDOWS 2001 +#define IDC_TEXFIX 2002 +#define IDC_TEXLINEAR 2003 +#define IDC_RESOLUTION 2004 +#define IDC_DRAWDITHER 2005 +#define IDC_SCANLINES 2005 +#define IDC_CACHESIZE 2006 +#define IDC_COLDEPTH 2006 +#define IDC_CACHETXT 2007 +#define IDC_NOSTRETCH 2007 +#define IDC_USELINES 2008 +#define IDC_USEMASK 2008 +#define IDC_DITHER 2008 +#define IDC_COLORDEPTH 2009 +#define IDC_CHANGEDESK 2010 +#define IDC_GAMEFIX 2010 +#define IDC_USELIMIT 2011 +#define IDC_FRAMELIMIT 2012 +#define IDC_USESKIPPING 2012 +#define IDC_FRAMEAUTO 2013 +#define IDC_FRAMEMANUELL 2014 +#define IDC_ADVBLEND 2015 +#define IDC_DELAYEDFB 2015 +#define IDC_SHOWFPS 2015 +#define IDC_OFFSCREEN 2016 +#define IDC_SYSMEMORY 2016 +#define IDC_OPAQUE 2017 +#define IDC_STOPSAVER 2017 +#define IDC_TEXQUALITY 2018 +#define IDC_QUALTXT 2019 +#define IDC_USESKIP 2020 +#define IDC_QUALTXT2 2020 +#define IDC_DEVICE 2020 +#define IDC_DISPMODE1 2021 +#define IDC_DISPMODE2 2022 +#define IDC_SUBCACHE 2023 +#define IDC_WINDOWFREE 2024 +#define IDC_EXTCOLCHECK 2024 +#define IDC_TEXUSE 2024 +#define IDC_WINDOWAUTO 2025 +#define IDC_USETEXPRIO 2025 +#define IDC_WINX 2026 +#define IDC_WINY 2027 +#define IDC_SELDEV 2028 +#define IDC_DEVICETXT 2029 +#define IDC_DB1 2030 +#define IDC_FILTERTYPE 2030 +#define IDC_DB2 2031 +#define IDC_QUALTXT3 2031 +#define IDC_DB3 2032 +#define IDC_EXTCOL 2033 +#define IDC_FRAMELIM 2034 +#define IDC_SELFIX 2037 +#define IDC_USEGAMMA 2037 +#define IDC_FIX1 2038 +#define IDC_KEYCONFIG 2038 +#define IDC_FIX2 2039 +#define IDC_RECORDING 2039 +#define IDC_FIX3 2040 +#define IDC_FIX4 2041 +#define IDC_FIX5 2042 +#define IDC_FIX6 2043 +#define IDC_FIX7 2044 +#define IDC_FIX8 2045 +#define IDC_FIX9 2046 +#define IDC_FIX10 2047 +#define IDC_FIX11 2048 +#define IDC_FIX12 2049 +#define IDC_FIX13 2050 +#define IDC_FIX14 2051 +#define IDC_FIX15 2052 +#define IDC_FIX16 2053 +#define IDC_FIX17 2054 +#define IDC_FIX18 2055 +#define IDC_FIX19 2056 +#define IDC_FIX20 2057 +#define IDC_FIX21 2058 +#define IDC_FIX22 2059 +#define IDC_FIX23 2060 +#define IDC_FIX24 2061 +#define IDC_FIX25 2062 +#define IDC_FIX26 2063 +#define IDC_FIX27 2064 +#define IDC_FIX28 2065 +#define IDC_FIX29 2066 +#define IDC_FIX30 2067 +#define IDC_FIX31 2068 +#define IDC_FIX32 2069 +#define IDC_GAMMA 2070 +#define IDC_REC_MODE1 2071 +#define IDC_REC_MODE2 2072 +#define IDC_VIDEO_SIZE 2073 +#define IDC_REC_WIDTH 2074 +#define IDC_REC_HEIGHT 2075 +#define IDC_FRAME_RATE 2076 +#define IDC_COMPRESSION1 2077 +#define IDC_COMPRESSION2 2078 +#define IDC_RECCFG 2079 +#define IDC_VSYNC 2080 +#define IDC_TRANSPARENT 2081 +#define IDC_DEBUGMODE 2082 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 143 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 2083 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/win32/plugins/dfxvideo/winsrc/cfg.c b/win32/plugins/dfxvideo/winsrc/cfg.c index e2b14a01..e1e4e142 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/cfg.c +++ b/win32/plugins/dfxvideo/winsrc/cfg.c @@ -21,8 +21,8 @@ #include "externals.h" #include "cfg.h" #include "gpu.h" -#include "record.h"
-
+#include "record.h" + ///////////////////////////////////////////////////////////////////////////// // globals @@ -936,9 +936,9 @@ static BOOL WINAPI DirectDrawEnumCallbackEx( GUID FAR* pGUID, LPSTR strDesc, LPDIRECTDRAW pDD; LPDIRECTDRAW4 g_pDD; LPDIRECT3D3 pD3D; - HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *);
-
- pDDrawCreateFn = (LPVOID)GetProcAddress( hDDrawDLL, "DirectDrawCreate" );
+ HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *); + + pDDrawCreateFn = (LPVOID)GetProcAddress( hDDrawDLL, "DirectDrawCreate" ); if( pDDrawCreateFn == NULL || FAILED( pDDrawCreateFn( pGUID, &pDD, 0L ) ) ) { @@ -1134,16 +1134,16 @@ BOOL bTestModes(void) { LPDIRECTDRAW pDD; LPDIRECTDRAW4 g_pDD; - HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *);
-
+ HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *); + GUID FAR * guid=0; int i;unsigned char * c=(unsigned char *)&guiDev; for(i=0;i<sizeof(GUID);i++,c++) {if(*c) {guid=&guiDev;break;}} bDeviceOK=FALSE; -
- pDDrawCreateFn = (LPVOID)GetProcAddress(hDDrawDLL, "DirectDrawCreate");
+ + pDDrawCreateFn = (LPVOID)GetProcAddress(hDDrawDLL, "DirectDrawCreate"); if( pDDrawCreateFn == NULL || FAILED( pDDrawCreateFn(guid, &pDD, 0L ) ) ) { diff --git a/win32/plugins/dfxvideo/winsrc/d3d.h b/win32/plugins/dfxvideo/winsrc/d3d.h index 31d61cbb..31d61cbb 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/d3d.h +++ b/win32/plugins/dfxvideo/winsrc/d3d.h diff --git a/win32/plugins/dfxvideo/winsrc/d3dcaps.h b/win32/plugins/dfxvideo/winsrc/d3dcaps.h index d631a675..d631a675 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/d3dcaps.h +++ b/win32/plugins/dfxvideo/winsrc/d3dcaps.h diff --git a/win32/plugins/dfxvideo/winsrc/d3dtypes.h b/win32/plugins/dfxvideo/winsrc/d3dtypes.h index 223a0755..223a0755 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/d3dtypes.h +++ b/win32/plugins/dfxvideo/winsrc/d3dtypes.h diff --git a/win32/plugins/dfxvideo/winsrc/ddraw.h b/win32/plugins/dfxvideo/winsrc/ddraw.h index 1288e8bd..1288e8bd 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/ddraw.h +++ b/win32/plugins/dfxvideo/winsrc/ddraw.h diff --git a/win32/plugins/dfxvideo/winsrc/draw.c b/win32/plugins/dfxvideo/winsrc/draw.c index 94095d38..1e82fba8 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/draw.c +++ b/win32/plugins/dfxvideo/winsrc/draw.c @@ -3489,13 +3489,13 @@ void DoBufferSwap(void) // SWAP BUFFERS ViewportRect.right = PreviousPSXDisplay.DisplayMode.x; ViewportRect.bottom = PreviousPSXDisplay.DisplayMode.y; - if(iRumbleTime)
- {
- ScreenRect.left+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
- ScreenRect.right+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
- ScreenRect.top+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
- ScreenRect.bottom+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
- iRumbleTime--;
+ if(iRumbleTime) + { + ScreenRect.left+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + ScreenRect.right+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + ScreenRect.top+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + ScreenRect.bottom+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + iRumbleTime--; } } @@ -3528,16 +3528,16 @@ void DoBufferSwap(void) // SWAP BUFFERS ViewportRect.right=1024; ViewportRect.bottom=iGPUHeight; } - else
- {
- if(iRumbleTime)
- {
- ScreenRect.left+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
- ScreenRect.right+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
- ScreenRect.top+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
- ScreenRect.bottom+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
- iRumbleTime--;
- }
+ else + { + if(iRumbleTime) + { + ScreenRect.left+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + ScreenRect.right+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + ScreenRect.top+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + ScreenRect.bottom+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + iRumbleTime--; + } } if(iUseScanLines==2) // stupid nvidia scanline mode @@ -3676,7 +3676,7 @@ int DXinitialize() DDSCAPS ddscaps; DDBLTFX ddbltfx; DDPIXELFORMAT dd; - HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *);
+ HRESULT (WINAPI *pDDrawCreateFn)(GUID *,LPDIRECTDRAW *,IUnknown *); // init some DX vars DX.hWnd = (HWND)hWGPU; @@ -3686,9 +3686,9 @@ int DXinitialize() // make guid ! c=(unsigned char *)&guiDev; for(i=0;i<sizeof(GUID);i++,c++) - {if(*c) {guid=&guiDev;break;}}
+ {if(*c) {guid=&guiDev;break;}} - pDDrawCreateFn = (LPVOID)GetProcAddress( hDDrawDLL, "DirectDrawCreate" );
+ pDDrawCreateFn = (LPVOID)GetProcAddress( hDDrawDLL, "DirectDrawCreate" ); // create dd if(pDDrawCreateFn == NULL || pDDrawCreateFn(guid,&DD,0)) @@ -4377,54 +4377,54 @@ static void hq2x_16_def(unsigned short* dst0, unsigned short* dst1, const unsign if (interp_16_diff(c[8], c[4])) mask |= 1 << 7; -#define P0 dst0[0]
-#define P1 dst0[1]
-#define P2 dst1[0]
-#define P3 dst1[1]
-#define MUR interp_16_diff(c[1], c[5])
-#define MDR interp_16_diff(c[5], c[7])
-#define MDL interp_16_diff(c[7], c[3])
-#define MUL interp_16_diff(c[3], c[1])
-#define IC(p0) c[p0]
-#define I11(p0,p1) interp_16_11(c[p0], c[p1])
-#define I211(p0,p1,p2) interp_16_211(c[p0], c[p1], c[p2])
-#define I31(p0,p1) interp_16_31(c[p0], c[p1])
-#define I332(p0,p1,p2) interp_16_332(c[p0], c[p1], c[p2])
-#define I431(p0,p1,p2) interp_16_431(c[p0], c[p1], c[p2])
-#define I521(p0,p1,p2) interp_16_521(c[p0], c[p1], c[p2])
-#define I53(p0,p1) interp_16_53(c[p0], c[p1])
-#define I611(p0,p1,p2) interp_16_611(c[p0], c[p1], c[p2])
-#define I71(p0,p1) interp_16_71(c[p0], c[p1])
-#define I772(p0,p1,p2) interp_16_772(c[p0], c[p1], c[p2])
-#define I97(p0,p1) interp_16_97(c[p0], c[p1])
-#define I1411(p0,p1,p2) interp_16_1411(c[p0], c[p1], c[p2])
-#define I151(p0,p1) interp_16_151(c[p0], c[p1])
-
- switch (mask) {
-#include "hq2x.h"
- }
-
-#undef P0
-#undef P1
-#undef P2
-#undef P3
-#undef MUR
-#undef MDR
-#undef MDL
-#undef MUL
-#undef IC
-#undef I11
-#undef I211
-#undef I31
-#undef I332
-#undef I431
-#undef I521
-#undef I53
-#undef I611
-#undef I71
-#undef I772
-#undef I97
-#undef I1411
+#define P0 dst0[0] +#define P1 dst0[1] +#define P2 dst1[0] +#define P3 dst1[1] +#define MUR interp_16_diff(c[1], c[5]) +#define MDR interp_16_diff(c[5], c[7]) +#define MDL interp_16_diff(c[7], c[3]) +#define MUL interp_16_diff(c[3], c[1]) +#define IC(p0) c[p0] +#define I11(p0,p1) interp_16_11(c[p0], c[p1]) +#define I211(p0,p1,p2) interp_16_211(c[p0], c[p1], c[p2]) +#define I31(p0,p1) interp_16_31(c[p0], c[p1]) +#define I332(p0,p1,p2) interp_16_332(c[p0], c[p1], c[p2]) +#define I431(p0,p1,p2) interp_16_431(c[p0], c[p1], c[p2]) +#define I521(p0,p1,p2) interp_16_521(c[p0], c[p1], c[p2]) +#define I53(p0,p1) interp_16_53(c[p0], c[p1]) +#define I611(p0,p1,p2) interp_16_611(c[p0], c[p1], c[p2]) +#define I71(p0,p1) interp_16_71(c[p0], c[p1]) +#define I772(p0,p1,p2) interp_16_772(c[p0], c[p1], c[p2]) +#define I97(p0,p1) interp_16_97(c[p0], c[p1]) +#define I1411(p0,p1,p2) interp_16_1411(c[p0], c[p1], c[p2]) +#define I151(p0,p1) interp_16_151(c[p0], c[p1]) + + switch (mask) { +#include "hq2x.h" + } + +#undef P0 +#undef P1 +#undef P2 +#undef P3 +#undef MUR +#undef MDR +#undef MDL +#undef MUL +#undef IC +#undef I11 +#undef I211 +#undef I31 +#undef I332 +#undef I431 +#undef I521 +#undef I53 +#undef I611 +#undef I71 +#undef I772 +#undef I97 +#undef I1411 #undef I151 src0 += 1; @@ -4519,55 +4519,55 @@ static void hq2x_32_def(unsigned long * dst0, unsigned long * dst1, const unsign if (interp_32_diff(c[8], c[4])) mask |= 1 << 7; -#define P0 dst0[0]
-#define P1 dst0[1]
-#define P2 dst1[0]
-#define P3 dst1[1]
-#define MUR interp_32_diff(c[1], c[5])
-#define MDR interp_32_diff(c[5], c[7])
-#define MDL interp_32_diff(c[7], c[3])
-#define MUL interp_32_diff(c[3], c[1])
-#define IC(p0) c[p0]
-#define I11(p0,p1) interp_32_11(c[p0], c[p1])
-#define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2])
-#define I31(p0,p1) interp_32_31(c[p0], c[p1])
-#define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2])
-#define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2])
-#define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2])
-#define I53(p0,p1) interp_32_53(c[p0], c[p1])
-#define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2])
-#define I71(p0,p1) interp_32_71(c[p0], c[p1])
-#define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2])
-#define I97(p0,p1) interp_32_97(c[p0], c[p1])
-#define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2])
-#define I151(p0,p1) interp_32_151(c[p0], c[p1])
-
- switch (mask) {
-#include "hq2x.h"
- }
-
-#undef P0
-#undef P1
-#undef P2
-#undef P3
-#undef MUR
-#undef MDR
-#undef MDL
-#undef MUL
-#undef IC
-#undef I11
-#undef I211
-#undef I31
-#undef I332
-#undef I431
-#undef I521
-#undef I53
-#undef I611
-#undef I71
-#undef I772
-#undef I97
-#undef I1411
-#undef I151
+#define P0 dst0[0] +#define P1 dst0[1] +#define P2 dst1[0] +#define P3 dst1[1] +#define MUR interp_32_diff(c[1], c[5]) +#define MDR interp_32_diff(c[5], c[7]) +#define MDL interp_32_diff(c[7], c[3]) +#define MUL interp_32_diff(c[3], c[1]) +#define IC(p0) c[p0] +#define I11(p0,p1) interp_32_11(c[p0], c[p1]) +#define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2]) +#define I31(p0,p1) interp_32_31(c[p0], c[p1]) +#define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2]) +#define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2]) +#define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2]) +#define I53(p0,p1) interp_32_53(c[p0], c[p1]) +#define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2]) +#define I71(p0,p1) interp_32_71(c[p0], c[p1]) +#define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2]) +#define I97(p0,p1) interp_32_97(c[p0], c[p1]) +#define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2]) +#define I151(p0,p1) interp_32_151(c[p0], c[p1]) + + switch (mask) { +#include "hq2x.h" + } + +#undef P0 +#undef P1 +#undef P2 +#undef P3 +#undef MUR +#undef MDR +#undef MDL +#undef MUL +#undef IC +#undef I11 +#undef I211 +#undef I31 +#undef I332 +#undef I431 +#undef I521 +#undef I53 +#undef I611 +#undef I71 +#undef I772 +#undef I97 +#undef I1411 +#undef I151 src0 += 1; src1 += 1; @@ -4823,65 +4823,65 @@ static void hq3x_16_def(unsigned short* dst0, unsigned short* dst1, unsigned sho if (interp_16_diff(c[8], c[4])) mask |= 1 << 7; -#define P0 dst0[0]
-#define P1 dst0[1]
-#define P2 dst0[2]
-#define P3 dst1[0]
-#define P4 dst1[1]
-#define P5 dst1[2]
-#define P6 dst2[0]
-#define P7 dst2[1]
-#define P8 dst2[2]
-#define MUR interp_16_diff(c[1], c[5])
-#define MDR interp_16_diff(c[5], c[7])
-#define MDL interp_16_diff(c[7], c[3])
-#define MUL interp_16_diff(c[3], c[1])
-#define IC(p0) c[p0]
-#define I11(p0,p1) interp_16_11(c[p0], c[p1])
-#define I211(p0,p1,p2) interp_16_211(c[p0], c[p1], c[p2])
-#define I31(p0,p1) interp_16_31(c[p0], c[p1])
-#define I332(p0,p1,p2) interp_16_332(c[p0], c[p1], c[p2])
-#define I431(p0,p1,p2) interp_16_431(c[p0], c[p1], c[p2])
-#define I521(p0,p1,p2) interp_16_521(c[p0], c[p1], c[p2])
-#define I53(p0,p1) interp_16_53(c[p0], c[p1])
-#define I611(p0,p1,p2) interp_16_611(c[p0], c[p1], c[p2])
-#define I71(p0,p1) interp_16_71(c[p0], c[p1])
-#define I772(p0,p1,p2) interp_16_772(c[p0], c[p1], c[p2])
-#define I97(p0,p1) interp_16_97(c[p0], c[p1])
-#define I1411(p0,p1,p2) interp_16_1411(c[p0], c[p1], c[p2])
-#define I151(p0,p1) interp_16_151(c[p0], c[p1])
-
- switch (mask) {
-#include "hq3x.h"
- }
-
-#undef P0
-#undef P1
-#undef P2
-#undef P3
-#undef P4
-#undef P5
-#undef P6
-#undef P7
-#undef P8
-#undef MUR
-#undef MDR
-#undef MDL
-#undef MUL
-#undef IC
-#undef I11
-#undef I211
-#undef I31
-#undef I332
-#undef I431
-#undef I521
-#undef I53
-#undef I611
-#undef I71
-#undef I772
-#undef I97
-#undef I1411
-#undef I151
+#define P0 dst0[0] +#define P1 dst0[1] +#define P2 dst0[2] +#define P3 dst1[0] +#define P4 dst1[1] +#define P5 dst1[2] +#define P6 dst2[0] +#define P7 dst2[1] +#define P8 dst2[2] +#define MUR interp_16_diff(c[1], c[5]) +#define MDR interp_16_diff(c[5], c[7]) +#define MDL interp_16_diff(c[7], c[3]) +#define MUL interp_16_diff(c[3], c[1]) +#define IC(p0) c[p0] +#define I11(p0,p1) interp_16_11(c[p0], c[p1]) +#define I211(p0,p1,p2) interp_16_211(c[p0], c[p1], c[p2]) +#define I31(p0,p1) interp_16_31(c[p0], c[p1]) +#define I332(p0,p1,p2) interp_16_332(c[p0], c[p1], c[p2]) +#define I431(p0,p1,p2) interp_16_431(c[p0], c[p1], c[p2]) +#define I521(p0,p1,p2) interp_16_521(c[p0], c[p1], c[p2]) +#define I53(p0,p1) interp_16_53(c[p0], c[p1]) +#define I611(p0,p1,p2) interp_16_611(c[p0], c[p1], c[p2]) +#define I71(p0,p1) interp_16_71(c[p0], c[p1]) +#define I772(p0,p1,p2) interp_16_772(c[p0], c[p1], c[p2]) +#define I97(p0,p1) interp_16_97(c[p0], c[p1]) +#define I1411(p0,p1,p2) interp_16_1411(c[p0], c[p1], c[p2]) +#define I151(p0,p1) interp_16_151(c[p0], c[p1]) + + switch (mask) { +#include "hq3x.h" + } + +#undef P0 +#undef P1 +#undef P2 +#undef P3 +#undef P4 +#undef P5 +#undef P6 +#undef P7 +#undef P8 +#undef MUR +#undef MDR +#undef MDL +#undef MUL +#undef IC +#undef I11 +#undef I211 +#undef I31 +#undef I332 +#undef I431 +#undef I521 +#undef I53 +#undef I611 +#undef I71 +#undef I772 +#undef I97 +#undef I1411 +#undef I151 src0 += 1; src1 += 1; diff --git a/win32/plugins/dfxvideo/winsrc/dxguid.c b/win32/plugins/dfxvideo/winsrc/dxguid.c index 837f275e..c61fcad4 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/dxguid.c +++ b/win32/plugins/dfxvideo/winsrc/dxguid.c @@ -22,7 +22,7 @@ Nothing. */ -#define INITGUID 1
+#define INITGUID 1 #include <basetyps.h> ///////////////////////////////////////////////////////////////////// diff --git a/win32/plugins/dfxvideo/winsrc/fps.c b/win32/plugins/dfxvideo/winsrc/fps.c index 728a8dd0..432880be 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/fps.c +++ b/win32/plugins/dfxvideo/winsrc/fps.c @@ -15,11 +15,11 @@ * additional informations. * * * ***************************************************************************/ -
+ #define _IN_FPS #include "externals.h" -#include "fps.h"
+#include "fps.h" #include "gpu.h" //////////////////////////////////////////////////////////////////////// @@ -42,33 +42,33 @@ int UseFrameSkip=0; BOOL bInitCap = TRUE; float fps_skip = 0; float fps_cur = 0; -
-////////////////////////////////////////////////////////////////////////
-
-#define MAXLACE 16
-
-void CheckFrameRate(void)
-{
- if(UseFrameSkip) // skipping mode?
- {
- if(!(dwActFixes&0x80)) // not old skipping mode?
- {
- dwLaceCnt++; // -> store cnt of vsync between frames
- if(dwLaceCnt>=MAXLACE && UseFrameLimit) // -> if there are many laces without screen toggling,
- { // do std frame limitation
- if(dwLaceCnt==MAXLACE) bInitCap=TRUE;
- FrameCap();
- }
- }
- else if(UseFrameLimit) FrameCap();
- calcfps(); // -> calc fps display in skipping mode
- }
- else // non-skipping mode:
- {
- if(UseFrameLimit) FrameCap(); // -> do it
- if(ulKeybits&KEY_SHOWFPS) calcfps(); // -> and calc fps display
- }
-}
+ +//////////////////////////////////////////////////////////////////////// + +#define MAXLACE 16 + +void CheckFrameRate(void) +{ + if(UseFrameSkip) // skipping mode? + { + if(!(dwActFixes&0x80)) // not old skipping mode? + { + dwLaceCnt++; // -> store cnt of vsync between frames + if(dwLaceCnt>=MAXLACE && UseFrameLimit) // -> if there are many laces without screen toggling, + { // do std frame limitation + if(dwLaceCnt==MAXLACE) bInitCap=TRUE; + FrameCap(); + } + } + else if(UseFrameLimit) FrameCap(); + calcfps(); // -> calc fps display in skipping mode + } + else // non-skipping mode: + { + if(UseFrameLimit) FrameCap(); // -> do it + if(ulKeybits&KEY_SHOWFPS) calcfps(); // -> and calc fps display + } +} //////////////////////////////////////////////////////////////////////// // WIN VERSION @@ -232,10 +232,10 @@ void FrameSkip(void) dwWaitTime=dwLastLace*dwFrameRateTicks; // -> and now we calc the time the real psx would have needed if(_ticks_since_last_update<dwWaitTime) // -> we were too fast? - {
- if((dwWaitTime-_ticks_since_last_update)> // -> some more security, to prevent
- (60*dwFrameRateTicks)) // wrong waiting times
- _ticks_since_last_update=dwWaitTime;
+ { + if((dwWaitTime-_ticks_since_last_update)> // -> some more security, to prevent + (60*dwFrameRateTicks)) // wrong waiting times + _ticks_since_last_update=dwWaitTime; while(_ticks_since_last_update<dwWaitTime) // -> loop until we have reached the real psx time { // (that's the additional limitation, yup) @@ -294,24 +294,24 @@ void FrameSkip(void) dwWaitTime=dwLaceCnt*dwFrameRateTicks; // calc the 'real psx lace time' if(_ticks_since_last_update>dwWaitTime) // hey, we needed way too long for that frame... - {
- if(UseFrameLimit) // if limitation, we skip just next frame,
- { // and decide after, if we need to do more
- iNumSkips=0;
- }
- else
+ { + if(UseFrameLimit) // if limitation, we skip just next frame, + { // and decide after, if we need to do more + iNumSkips=0; + } + else { - iNumSkips=_ticks_since_last_update/dwWaitTime; // -> calc number of frames to skip to catch up
- iNumSkips--; // -> since we already skip next frame, one down
- if(iNumSkips>MAXSKIP) iNumSkips=MAXSKIP; // -> well, somewhere we have to draw a line
+ iNumSkips=_ticks_since_last_update/dwWaitTime; // -> calc number of frames to skip to catch up + iNumSkips--; // -> since we already skip next frame, one down + if(iNumSkips>MAXSKIP) iNumSkips=MAXSKIP; // -> well, somewhere we have to draw a line } bSkipNextFrame = TRUE; // -> signal for skipping the next frame } else // we were faster than real psx? fine :) if(UseFrameLimit) // frame limit used? so we wait til the 'real psx time' has been reached - {
- if(dwLaceCnt>MAXLACE) // -> security check
- _ticks_since_last_update=dwWaitTime;
+ { + if(dwLaceCnt>MAXLACE) // -> security check + _ticks_since_last_update=dwWaitTime; while(_ticks_since_last_update<dwWaitTime) // just do a waiting loop... { @@ -561,7 +561,7 @@ void InitFPS(void) { bInitCap = TRUE; - if(fFrameRateHz==0) fFrameRateHz=fFrameRate; // set user framerate
+ if(fFrameRateHz==0) fFrameRateHz=fFrameRate; // set user framerate if(IsPerformanceCounter) dwFrameRateTicks=(DWORD)(CPUFrequency.LowPart / fFrameRateHz); diff --git a/win32/plugins/dfxvideo/winsrc/key.c b/win32/plugins/dfxvideo/winsrc/key.c index ad624243..db834e8c 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/key.c +++ b/win32/plugins/dfxvideo/winsrc/key.c @@ -33,7 +33,7 @@ WNDPROC wpOrgWndProc=0; unsigned long ulKeybits=0; char szGPUKeys[11]; -
+ //////////////////////////////////////////////////////////////////////// // keyboard handler //////////////////////////////////////////////////////////////////////// @@ -63,10 +63,10 @@ LRESULT CALLBACK KeyWndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) if(wParam==VK_RETURN) bChangeWinMode=TRUE; break; //--------------------------------------------------// - case WM_KEYUP: // key up
-
- if(iDebugMode && wParam==(WPARAM)szGPUKeys[9])
- iFVDisplay=!iFVDisplay;
+ case WM_KEYUP: // key up + + if(iDebugMode && wParam==(WPARAM)szGPUKeys[9]) + iFVDisplay=!iFVDisplay; if(wParam==(WPARAM)szGPUKeys[0]) { @@ -101,14 +101,14 @@ LRESULT CALLBACK KeyWndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) if(wParam==(WPARAM)szGPUKeys[4]) {BuildDispMenu(-1); break;} if(wParam==(WPARAM)szGPUKeys[5]) {BuildDispMenu( 1); break;} if(wParam==(WPARAM)szGPUKeys[7]) {bVsync_Key = bVsync_Key==TRUE ? FALSE : TRUE; BuildDispMenu(0);break;} - if(wParam==(WPARAM)szGPUKeys[8])
- {
- iFastFwd = 1 - iFastFwd;
- bSkipNextFrame = FALSE;
- UseFrameSkip=iFastFwd;
- BuildDispMenu(0);
- break;
- }
+ if(wParam==(WPARAM)szGPUKeys[8]) + { + iFastFwd = 1 - iFastFwd; + bSkipNextFrame = FALSE; + UseFrameSkip=iFastFwd; + BuildDispMenu(0); + break; + } break; //--------------------------------------------------// } diff --git a/win32/plugins/dfxvideo/winsrc/record.c b/win32/plugins/dfxvideo/winsrc/record.c index c6d3b86e..52184e18 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/record.c +++ b/win32/plugins/dfxvideo/winsrc/record.c @@ -16,9 +16,9 @@ * * ***************************************************************************/ -#include "externals.h"
-#include "record.h"
-#include "gpu.h"
+#include "externals.h" +#include "record.h" +#include "gpu.h" #include <direct.h> extern BOOL RECORD_RECORDING = FALSE; @@ -123,11 +123,11 @@ opts.cbParms = pCompression->cbState; opts.dwInterleaveEvery = 0; if(AVIMakeCompressedStream(&psCompressed,ps,&opts,NULL)!=AVIERR_OK) goto error; -
-//if(AVIStreamSetFormat(psCompressed,0,&RECORD_BI,RECORD_BI.biSizeImage)!=AVIERR_OK) goto error;
-// fixed:
-if(AVIStreamSetFormat(psCompressed,0,&RECORD_BI,sizeof(RECORD_BI))!=AVIERR_OK) goto error;
-
+ +//if(AVIStreamSetFormat(psCompressed,0,&RECORD_BI,RECORD_BI.biSizeImage)!=AVIERR_OK) goto error; +// fixed: +if(AVIStreamSetFormat(psCompressed,0,&RECORD_BI,sizeof(RECORD_BI))!=AVIERR_OK) goto error; + frame = 0; skip = RECORD_FRAME_RATE_SCALE; return TRUE; diff --git a/win32/plugins/dfxvideo/winsrc/record.h b/win32/plugins/dfxvideo/winsrc/record.h index 498354f3..498354f3 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/record.h +++ b/win32/plugins/dfxvideo/winsrc/record.h diff --git a/win32/plugins/dfxvideo/winsrc/winmain.c b/win32/plugins/dfxvideo/winsrc/winmain.c index baf19648..88a387ef 100644..100755 --- a/win32/plugins/dfxvideo/winsrc/winmain.c +++ b/win32/plugins/dfxvideo/winsrc/winmain.c @@ -18,24 +18,24 @@ #include "externals.h" -HINSTANCE hInst = NULL;
+HINSTANCE hInst = NULL; HMODULE hDDrawDLL = NULL; BOOL APIENTRY DllMain(HANDLE hModule, // DLL INIT DWORD dwReason, LPVOID lpReserved) -{
- switch (dwReason) {
+{ + switch (dwReason) { case DLL_PROCESS_ATTACH: - hInst = (HINSTANCE)hModule;
- hDDrawDLL = LoadLibrary(TEXT("DDRAW.DLL"));
- break;
-
- case DLL_PROCESS_DETACH:
- if (hDDrawDLL) FreeLibrary(hDDrawDLL);
- break;
- }
-
+ hInst = (HINSTANCE)hModule; + hDDrawDLL = LoadLibrary(TEXT("DDRAW.DLL")); + break; + + case DLL_PROCESS_DETACH: + if (hDDrawDLL) FreeLibrary(hDDrawDLL); + break; + } + return TRUE; // very quick :) } diff --git a/win32/plugins/peopsxgl/gpuPeopsOpenGL.def b/win32/plugins/peopsxgl/gpuPeopsOpenGL.def index ef8cc98d..17d2e66c 100644..100755 --- a/win32/plugins/peopsxgl/gpuPeopsOpenGL.def +++ b/win32/plugins/peopsxgl/gpuPeopsOpenGL.def @@ -1,36 +1,36 @@ -; gpuPeopsOpenGL.def : Declares the module parameters for the DLL.
-
-LIBRARY "gpuPeopsOpenGL"
-DESCRIPTION 'gpuPeopsOpenGL OpenGL Windows Dynamic Link Library'
-EXPORTS
- ; Explicit exports can go here
- PSEgetLibType @2
- PSEgetLibName @3
- PSEgetLibVersion @4
- GPUinit @5
- GPUshutdown @6
- GPUopen @7
- GPUclose @8
- GPUconfigure @9
- GPUabout @10
- GPUtest @11
- GPUwriteData @12
- GPUwriteStatus @13
- GPUreadData @14
- GPUreadStatus @15
- GPUdmaChain @16
- GPUupdateLace @17
- GPUmakeSnapshot @18
- GPUwriteDataMem @19
- GPUreadDataMem @20
- GPUdisplayFlags @21
- GPUfreeze @22
- GPUgetScreenPic @23
- GPUshowScreenPic @24
-
- GPUcursor @25
-
- GPUsetfix @26
- GPUsetframelimit @27
- GPUvisualVibration @28
- GPUaddVertex @29
+; gpuPeopsOpenGL.def : Declares the module parameters for the DLL. + +LIBRARY "gpuPeopsOpenGL" +DESCRIPTION 'gpuPeopsOpenGL OpenGL Windows Dynamic Link Library' +EXPORTS + ; Explicit exports can go here + PSEgetLibType @2 + PSEgetLibName @3 + PSEgetLibVersion @4 + GPUinit @5 + GPUshutdown @6 + GPUopen @7 + GPUclose @8 + GPUconfigure @9 + GPUabout @10 + GPUtest @11 + GPUwriteData @12 + GPUwriteStatus @13 + GPUreadData @14 + GPUreadStatus @15 + GPUdmaChain @16 + GPUupdateLace @17 + GPUmakeSnapshot @18 + GPUwriteDataMem @19 + GPUreadDataMem @20 + GPUdisplayFlags @21 + GPUfreeze @22 + GPUgetScreenPic @23 + GPUshowScreenPic @24 + + GPUcursor @25 + + GPUsetfix @26 + GPUsetframelimit @27 + GPUvisualVibration @28 + GPUaddVertex @29 diff --git a/win32/plugins/peopsxgl/gpuPeopsOpenGL.dev b/win32/plugins/peopsxgl/gpuPeopsOpenGL.dev index 364e1ef8..7a54f74f 100644..100755 --- a/win32/plugins/peopsxgl/gpuPeopsOpenGL.dev +++ b/win32/plugins/peopsxgl/gpuPeopsOpenGL.dev @@ -1,319 +1,319 @@ -[Project]
-FileName=gpuPeopsOpenGL.dev
-Name=gpuPeopsOpenGL
-Ver=1
-IsCpp=1
-Type=3
-Compiler=-W -DWIN32 -DNDEBUG -D_WINDOWS_@@_
-CppCompiler=-W -DWIN32 -DNDEBUG -D_WINDOWS_@@_
-Includes=.\\;.\winsrc;..\..\glue;..\..\..\plugins\peopsxgl;..\..\..\libpcsxcore
-Linker=-luser32 -lgdi32 -lopengl32 -lwinmm -ladvapi32 -def gpuPeopsOpenGL.def --enable-stdcall-fixup_@@_
-Libs=
-UnitCount=27
-Folders=peopsxgl,winsrc
-ObjFiles=
-PrivateResource=gpuPeopsOpenGL_private.rc
-ResourceIncludes=
-MakeIncludes=
-Icon=
-ExeOutput=
-ObjectOutput=
-OverrideOutput=0
-OverrideOutputName=gpuPeopsOpenGL.exe
-HostApplication=
-CommandLine=
-UseCustomMakefile=0
-CustomMakefile=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0010000001001000000000
-
-[Unit1]
-FileName=winsrc\cfg.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit2]
-FileName=winsrc\fps.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit3]
-FileName=winsrc\key.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit4]
-FileName=winsrc\ssave.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit5]
-FileName=winsrc\ssave.h
-Folder=winsrc
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit6]
-FileName=winsrc\winmain.c
-Folder=winsrc
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit7]
-FileName=..\..\..\plugins\peopsxgl\cfg.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit8]
-FileName=..\..\..\plugins\peopsxgl\draw.c
-Folder=peopsxgl
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit9]
-FileName=..\..\..\plugins\peopsxgl\draw.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit10]
-FileName=..\..\..\plugins\peopsxgl\externals.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit11]
-FileName=..\..\..\plugins\peopsxgl\fps.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit12]
-FileName=..\..\..\plugins\peopsxgl\gl_ext.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit13]
-FileName=..\..\..\plugins\peopsxgl\gpu.c
-Folder=peopsxgl
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit14]
-FileName=..\..\..\plugins\peopsxgl\gpu.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit15]
-FileName=..\..\..\plugins\peopsxgl\key.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit16]
-FileName=..\..\..\plugins\peopsxgl\menu.c
-Folder=peopsxgl
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit17]
-FileName=..\..\..\plugins\peopsxgl\menu.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit18]
-FileName=..\..\..\plugins\peopsxgl\prim.c
-Folder=peopsxgl
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit19]
-FileName=..\..\..\plugins\peopsxgl\prim.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit20]
-FileName=..\..\..\plugins\peopsxgl\soft.c
-Folder=peopsxgl
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit21]
-FileName=..\..\..\plugins\peopsxgl\soft.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit22]
-FileName=..\..\..\plugins\peopsxgl\stdafx.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit23]
-FileName=..\..\..\plugins\peopsxgl\texture.c
-Folder=peopsxgl
-Compile=1
-CompileCpp=0
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit24]
-FileName=..\..\..\plugins\peopsxgl\texture.h
-Folder=peopsxgl
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit25]
-FileName=gpuPeopsOpenGL.def
-Folder=
-Compile=0
-CompileCpp=0
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit26]
-FileName=gpuPeopsOpenGL.rc
-Folder=Resources
-Compile=1
-CompileCpp=1
-Link=0
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[Unit27]
-FileName=resource.h
-Folder=
-Compile=1
-CompileCpp=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=0.1
-FileDescription=Developed using the Dev-C++ IDE
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=gpuPeopsOpenGL.exe
-ProductName=gpuPeopsOpenGL
-ProductVersion=0.1
-AutoIncBuildNr=0
-
+[Project] +FileName=gpuPeopsOpenGL.dev +Name=gpuPeopsOpenGL +Ver=1 +IsCpp=1 +Type=3 +Compiler=-W -DWIN32 -DNDEBUG -D_WINDOWS_@@_ +CppCompiler=-W -DWIN32 -DNDEBUG -D_WINDOWS_@@_ +Includes=.\\;.\winsrc;..\..\glue;..\..\..\plugins\peopsxgl;..\..\..\libpcsxcore +Linker=-luser32 -lgdi32 -lopengl32 -lwinmm -ladvapi32 -def gpuPeopsOpenGL.def --enable-stdcall-fixup_@@_ +Libs= +UnitCount=27 +Folders=peopsxgl,winsrc +ObjFiles= +PrivateResource=gpuPeopsOpenGL_private.rc +ResourceIncludes= +MakeIncludes= +Icon= +ExeOutput= +ObjectOutput= +OverrideOutput=0 +OverrideOutputName=gpuPeopsOpenGL.exe +HostApplication= +CommandLine= +UseCustomMakefile=0 +CustomMakefile= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=0 +CompilerSettings=0010000001001000000000 + +[Unit1] +FileName=winsrc\cfg.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=winsrc\fps.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=winsrc\key.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=winsrc\ssave.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=winsrc\ssave.h +Folder=winsrc +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit6] +FileName=winsrc\winmain.c +Folder=winsrc +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit7] +FileName=..\..\..\plugins\peopsxgl\cfg.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit8] +FileName=..\..\..\plugins\peopsxgl\draw.c +Folder=peopsxgl +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit9] +FileName=..\..\..\plugins\peopsxgl\draw.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit10] +FileName=..\..\..\plugins\peopsxgl\externals.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit11] +FileName=..\..\..\plugins\peopsxgl\fps.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit12] +FileName=..\..\..\plugins\peopsxgl\gl_ext.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit13] +FileName=..\..\..\plugins\peopsxgl\gpu.c +Folder=peopsxgl +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit14] +FileName=..\..\..\plugins\peopsxgl\gpu.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit15] +FileName=..\..\..\plugins\peopsxgl\key.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit16] +FileName=..\..\..\plugins\peopsxgl\menu.c +Folder=peopsxgl +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit17] +FileName=..\..\..\plugins\peopsxgl\menu.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit18] +FileName=..\..\..\plugins\peopsxgl\prim.c +Folder=peopsxgl +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit19] +FileName=..\..\..\plugins\peopsxgl\prim.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit20] +FileName=..\..\..\plugins\peopsxgl\soft.c +Folder=peopsxgl +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit21] +FileName=..\..\..\plugins\peopsxgl\soft.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit22] +FileName=..\..\..\plugins\peopsxgl\stdafx.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit23] +FileName=..\..\..\plugins\peopsxgl\texture.c +Folder=peopsxgl +Compile=1 +CompileCpp=0 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit24] +FileName=..\..\..\plugins\peopsxgl\texture.h +Folder=peopsxgl +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit25] +FileName=gpuPeopsOpenGL.def +Folder= +Compile=0 +CompileCpp=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit26] +FileName=gpuPeopsOpenGL.rc +Folder=Resources +Compile=1 +CompileCpp=1 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit27] +FileName=resource.h +Folder= +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[VersionInfo] +Major=0 +Minor=1 +Release=1 +Build=1 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion=0.1 +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename=gpuPeopsOpenGL.exe +ProductName=gpuPeopsOpenGL +ProductVersion=0.1 +AutoIncBuildNr=0 + diff --git a/win32/plugins/peopsxgl/gpuPeopsOpenGL.dsp b/win32/plugins/peopsxgl/gpuPeopsOpenGL.dsp index 4862dad7..728b3b77 100644..100755 --- a/win32/plugins/peopsxgl/gpuPeopsOpenGL.dsp +++ b/win32/plugins/peopsxgl/gpuPeopsOpenGL.dsp @@ -1,211 +1,211 @@ -# Microsoft Developer Studio Project File - Name="gpuPeopsOpenGL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=gpuPeopsOpenGL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "gpuPeopsOpenGL.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "gpuPeopsOpenGL.mak" CFG="gpuPeopsOpenGL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "gpuPeopsOpenGL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "gpuPeopsOpenGL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "gpuPeopsOpenGL - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I ".\\" /I ".\winsrc" /I "..\..\glue" /I "..\..\..\plugins\peopsxgl" /I "..\..\..\libpcsxcore" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 user32.lib gdi32.lib opengl32.lib winmm.lib advapi32.lib /nologo /subsystem:windows /dll /machine:I386
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=rem copy release\*.dll d:\emus\epsxe\plugins
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "gpuPeopsOpenGL - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\\" /I ".\winsrc" /I "..\..\glue" /I "..\..\..\plugins\peopsxgl" /I "..\..\..\libpcsxcore" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "gpuPeopsOpenGL - Win32 Release"
-# Name "gpuPeopsOpenGL - Win32 Debug"
-# Begin Group "winsrc"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\winsrc\cfg.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\fps.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\key.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\ssave.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\ssave.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\winsrc\winmain.c
-# End Source File
-# End Group
-# Begin Group "peopsxgl"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\cfg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\draw.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\draw.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\externals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\fps.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\gl_ext.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\gpu.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\gpu.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\key.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\menu.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\menu.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\prim.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\prim.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\soft.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\soft.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\stdafx.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\texture.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\plugins\peopsxgl\texture.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\gpuPeopsOpenGL.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\gpuPeopsOpenGL.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="gpuPeopsOpenGL" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=gpuPeopsOpenGL - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "gpuPeopsOpenGL.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "gpuPeopsOpenGL.mak" CFG="gpuPeopsOpenGL - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "gpuPeopsOpenGL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "gpuPeopsOpenGL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "gpuPeopsOpenGL - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I ".\\" /I ".\winsrc" /I "..\..\glue" /I "..\..\..\plugins\peopsxgl" /I "..\..\..\libpcsxcore" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 user32.lib gdi32.lib opengl32.lib winmm.lib advapi32.lib /nologo /subsystem:windows /dll /machine:I386 +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Cmds=rem copy release\*.dll d:\emus\epsxe\plugins +# End Special Build Tool + +!ELSEIF "$(CFG)" == "gpuPeopsOpenGL - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\\" /I ".\winsrc" /I "..\..\glue" /I "..\..\..\plugins\peopsxgl" /I "..\..\..\libpcsxcore" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "gpuPeopsOpenGL - Win32 Release" +# Name "gpuPeopsOpenGL - Win32 Debug" +# Begin Group "winsrc" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\winsrc\cfg.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\fps.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\key.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\ssave.c +# End Source File +# Begin Source File + +SOURCE=.\winsrc\ssave.h +# End Source File +# Begin Source File + +SOURCE=.\winsrc\winmain.c +# End Source File +# End Group +# Begin Group "peopsxgl" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\cfg.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\draw.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\draw.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\externals.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\fps.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\gl_ext.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\gpu.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\gpu.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\key.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\menu.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\menu.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\prim.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\prim.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\soft.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\soft.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\stdafx.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\texture.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\plugins\peopsxgl\texture.h +# End Source File +# End Group +# Begin Source File + +SOURCE=.\gpuPeopsOpenGL.def +# End Source File +# Begin Source File + +SOURCE=.\gpuPeopsOpenGL.rc +# End Source File +# Begin Source File + +SOURCE=.\resource.h +# End Source File +# End Target +# End Project diff --git a/win32/plugins/peopsxgl/gpuPeopsOpenGL.rc b/win32/plugins/peopsxgl/gpuPeopsOpenGL.rc index cd659600..1f6d8b59 100644..100755 --- a/win32/plugins/peopsxgl/gpuPeopsOpenGL.rc +++ b/win32/plugins/peopsxgl/gpuPeopsOpenGL.rc @@ -1,511 +1,511 @@ -//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Neutral resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
-#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDB_GPU BITMAP DISCARDABLE "res\\gpu.bmp"
-#endif // Neutral resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
- "#define _AFX_NO_OLE_RESOURCES\r\n"
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
- "\r\n"
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
- "#ifdef _WIN32\r\n"
- "LANGUAGE 9, 1\r\n"
- "#pragma code_page(1252)\r\n"
- "#endif\r\n"
- "#endif\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,78,0,0
- PRODUCTVERSION 1,78,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "\0"
- VALUE "FileDescription", "gpuPeopsOpenGL. DLL\0"
- VALUE "FileVersion", "1, 78, 0, 0\0"
- VALUE "InternalName", "P.E.Op.S. PSX OpenGL GPU (mod)\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2009\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "gpuPeopsOpenGL.DLL\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "gpuPeopsOpenGL Dynamic Link Library\0"
- VALUE "ProductVersion", "1, 78, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_ABOUT DIALOG DISCARDABLE 0, 0, 258, 165
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About P.E.Op.S. PSX OpenGL Renderer ..."
-FONT 8, "MS Sans Serif"
-BEGIN
- DEFPUSHBUTTON "OK",IDOK,98,145,50,14
- RTEXT "Version:",IDC_STATIC,8,6,49,10
- RTEXT "Coded by:",IDC_STATIC,8,35,49,10
- RTEXT "Homepage:",IDC_STATIC,8,53,49,10
- LTEXT "1.78",IDC_STATIC,60,6,159,9
- LTEXT "Pete Bernert",IDC_STATIC,60,35,159,10
- LTEXT "www.pbernert.com",IDC_STATIC,60,53,159,10
- RTEXT "Release date:",IDC_STATIC,8,17,49,10
- LTEXT "04/2009",IDC_STATIC,60,17,159,10
- RTEXT "Thanks to:",IDC_STATIC,8,74,49,10
- LTEXT "Lewpy - without his infos this driver wouldn't exist",
- IDC_STATIC,60,74,159,10
- LTEXT "Duddie && FoxPro - for their public sources",IDC_STATIC,
- 60,86,159,10
- LTEXT "My girlfriend Heike - 'Hey, that cloud still looks funny, ",
- IDC_STATIC,60,112,170,10
- LTEXT "go on and change it...'",IDC_STATIC,125,121,117,10
- CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME | SS_SUNKEN,4,68,
- 249,70
- LTEXT "Gamma - thanks for your OpenGL book",IDC_STATIC,60,99,
- 159,10
-END
-
-IDD_CFGDLG DIALOGEX 0, 0, 413, 306
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Configure P.E.Op.S. PSX OpenGL Renderer ..."
-FONT 8, "MS Sans Serif"
-BEGIN
- CONTROL "Fullscreen mode",IDC_DISPMODE1,"Button",BS_AUTORADIOBUTTON,11,11,73,10
- CONTROL "Window mode",IDC_DISPMODE2,"Button",BS_AUTORADIOBUTTON,11,25,63,10
- COMBOBOX IDC_RESOLUTION,150,10,63,64,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_COLORDEPTH,261,10,36,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- EDITTEXT IDC_WINX,150,24,26,12,ES_AUTOHSCROLL
- EDITTEXT IDC_WINY,187,24,26,12,ES_AUTOHSCROLL
- CONTROL "Keep psx aspect ratio",IDC_ARATIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,306,17,95,12
- COMBOBOX IDC_TEXQUALITY,61,50,159,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_FILTERTYPE,61,63,159,83,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_HIRESTEX,275,50,129,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_VRAMSIZE,275,63,62,88,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
- CONTROL "Show FPS display on startup",IDC_SHOWFPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,94,107,10
- PUSHBUTTON "...",IDC_KEYCONFIG,119,94,11,10,0,WS_EX_STATICEDGE
- CONTROL "Use FPS limit",IDC_USELIMIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,149,89,73,10
- CONTROL "Use Frame skipping",IDC_USESKIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,149,101,78,10
- CONTROL "Auto-detect FPS/Frame skipping limit",IDC_FRAMEAUTO,
- "Button",BS_AUTORADIOBUTTON | WS_GROUP,258,89,131,9
- CONTROL "FPS limit (10-200) :",IDC_FRAMEMANUELL,"Button",BS_AUTORADIOBUTTON,258,100,72,10
- EDITTEXT IDC_FRAMELIMIT,334,99,29,12,ES_AUTOHSCROLL
- COMBOBOX IDC_OFFSCREEN,78,123,130,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_FRAMETEX,78,136,130,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- COMBOBOX IDC_FRAMEREAD,78,149,130,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- CONTROL "Alpha MultiPass",IDC_OPAQUE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,219,127,66,10
- CONTROL "Mask bit",IDC_USEMASK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,219,138,47,10
- CONTROL "Advanced blending",IDC_ADVBLEND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,219,149,76,10
- CONTROL "Scanlines",IDC_USESCANLINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,176,46,10
- EDITTEXT IDC_SCANBLEND,375,175,29,12,ES_AUTOHSCROLL
- CONTROL "Line mode",IDC_USELINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,186,48,10
- CONTROL "Unfiltered framebuffer updates",IDC_FASTMDEC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,196,113,10
- CONTROL "Force 15 bit framebuffer updates",IDC_FASTMDEC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,206,121,10
- CONTROL "Color dithering",IDC_DRAWDITHER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,216,81,10
- CONTROL "Screen smoothing",IDC_BLUR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,226,81,10
- CONTROL "Disable screensaver",IDC_SSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,236,81,10
- CONTROL "Special game fixes",IDC_GAMEFIX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,246,75,10
- PUSHBUTTON "...",IDC_SELFIX,89,246,11,10,0,WS_EX_STATICEDGE
- PUSHBUTTON "Fast",IDC_DEF1,10,282,34,14
- PUSHBUTTON "Nice",IDC_DEF2,49,282,34,14
- DEFPUSHBUTTON "OK",IDOK,113,282,84,14
- PUSHBUTTON "Cancel",IDCANCEL,215,282,84,14
- PUSHBUTTON "Copy settings\n to clipboard",IDC_CLIPBOARD,322,276,87,25,BS_MULTILINE,WS_EX_STATICEDGE
- GROUPBOX "Misc",IDC_STATIC,3,166,406,104
- GROUPBOX "Default settings",IDC_STATIC,3,272,88,30
- GROUPBOX "Textures",IDC_STATIC,3,41,406,40
- RTEXT "Desktop resolution:",IDC_STATIC,81,12,65,9
- GROUPBOX "Resolution && Colors",IDC_STATIC,3,1,406,40
- RTEXT "Color depth:",IDC_STATIC,219,12,39,9
- GROUPBOX "Framerate",IDC_STATIC,3,81,406,33
- LTEXT "FPS",IDC_STATIC,367,100,17,9,SS_CENTERIMAGE
- GROUPBOX "Compatibility",IDC_STATIC,3,115,406,51
- RTEXT "Texture quality:",IDC_QUALTXT,6,52,51,9
- RTEXT "Window size:",IDC_STATIC,85,26,61,9
- CTEXT "x",IDC_STATIC,177,26,8,9
- RTEXT "Gfx card vram:",IDC_QUALTXT2,225,65,48,9
- RTEXT "Off-Screen drawing:",IDC_STATIC,11,124,64,10,SS_CENTERIMAGE
- RTEXT "Texture filtering:",IDC_STATIC,6,65,52,10
- RTEXT "Framebuffer textures:",IDC_STATIC,7,137,68,10,SS_CENTERIMAGE
- LTEXT "Some games will need certain special options to work without glitches",IDC_STATIC,135,246,242,9,SS_CENTERIMAGE
- LTEXT "Smoother shading in 16 bit color depth",IDC_STATIC,135,216,242,9,SS_CENTERIMAGE
- LTEXT "Small speed up with mdecs",IDC_STATIC,135,196,242,9,SS_CENTERIMAGE
- LTEXT "Polygons will not get filled",IDC_STATIC,135,186,89,9,SS_CENTERIMAGE
- LTEXT "TV screen alike lines",IDC_STATIC,135,176,69,9,SS_CENTERIMAGE
- LTEXT "Accurate psx color emulation",IDC_STATIC,303,149,97,9,SS_CENTERIMAGE
- LTEXT "Correct opaque texture areas",IDC_STATIC,302,127,97,9,SS_CENTERIMAGE
- LTEXT "Needed by a few games",IDC_STATIC,302,138,97,9,SS_CENTERIMAGE
- RTEXT "Scanline brightness (0...255, -1=Monitor dot matrix):",IDC_STATIC,210,176,162,9,SS_CENTERIMAGE
- EDITTEXT IDC_CLPEDIT,314,293,6,12,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | NOT WS_VISIBLE
- LTEXT "MBytes",IDC_QUALTXT3,340,65,27,9
- LTEXT "The complete screen will get smoothed. Very slow on some cards, lotta vram needed",IDC_STATIC,135,226,269,9,SS_CENTERIMAGE
- RTEXT "Framebuffer access:",IDC_STATIC,7,150,68,10,SS_CENTERIMAGE
- LTEXT "Disable screensavers and power saving modes. Not available in Win95/WinNT",IDC_STATIC,135,236,269,9,SS_CENTERIMAGE
- LTEXT "Speed up with mdecs in 32 bit color depth, but less colorful",IDC_T14_STATIC2,135,206,268,9,SS_CENTERIMAGE
- RTEXT "Hi-Res textures:",IDC_QUALTXT4,223,52,50,9
- COMBOBOX IDC_VSYNC,261,24,36,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- RTEXT "V-Sync:",IDC_STATIC,219,26,39,9,SS_CENTERIMAGE
- CONTROL "Gte accuracy",IDC_GTEACCURACY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,256,59,10
-END
-
-IDD_FIXES DIALOG DISCARDABLE 0, 0, 316, 322
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Special game fixes..."
-FONT 8, "MS Sans Serif"
-BEGIN
- CONTROL "0x00001: Adjust framebuffer access",IDC_FIX1,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,30,133,10
- CONTROL "0x00004: Ignore black brightness",IDC_FIX3,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,60,140,10
- CONTROL "0x00008: Swap front/back detection",IDC_FIX4,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,75,144,10
- CONTROL "0x00010: Disable coord check",IDC_FIX5,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,90,139,10
- CONTROL "0x00020: Remove blue glitches",IDC_FIX6,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,105,139,10
- CONTROL "0x00040: Mixed software FB access",IDC_FIX7,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,120,143,10
- CONTROL "0x00080: Use PC fps calculation",IDC_FIX8,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,135,142,10
- CONTROL "0x00100: Use old frame skipping",IDC_FIX9,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,150,139,10
- CONTROL "0x00002: Direct framebuffer updates",IDC_FIX2,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,45,137,10
- CONTROL "0x00200: G4 polygon cache",IDC_FIX10,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,165,141,10
- CONTROL "0x00400: Fake subtractive blending",IDC_FIX11,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,180,143,10
- CONTROL "0x00800: Lazy upload detection",IDC_FIX12,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,195,144,10
- CONTROL "0x01000: Odd/even bit hack",IDC_FIX13,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,210,143,10
- CONTROL "0x02000: Expand screen width",IDC_FIX14,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,225,144,10
- DEFPUSHBUTTON "OK",IDOK,83,302,50,14
- PUSHBUTTON "Cancel",IDCANCEL,182,302,50,14
- LTEXT "Activate the following options only if you want to play one of the listed games (or if your game is showing similar glitches)!",
- IDC_STATIC,7,4,246,22
- LTEXT "ONLY for FF7 battle cursor/battle swirl",IDC_STATIC,163,
- 30,137,9,SS_CENTERIMAGE
- LTEXT "Speed up in nasty frame upload situations",IDC_STATIC,
- 163,45,137,9,SS_CENTERIMAGE
- LTEXT "Fixes black screens in Lunar",IDC_STATIC,162,60,123,9,
- SS_CENTERIMAGE
- LTEXT "Speed freaks, Killer Loop",IDC_STATIC,162,75,90,9,
- SS_CENTERIMAGE
- LTEXT "Old coord compatibility mode",IDC_STATIC,162,89,99,9,
- SS_CENTERIMAGE
- LTEXT "Leg. o. Dragoon, Alpha Multipass needed",IDC_STATIC,162,
- 105,136,9,SS_CENTERIMAGE
- LTEXT "Faster FB access on some systems/ATI",IDC_STATIC,162,
- 120,125,9,SS_CENTERIMAGE
- LTEXT "Better fps limitation with some games",IDC_STATIC,162,
- 135,117,9,SS_CENTERIMAGE
- LTEXT "Skips only every second frame",IDC_STATIC,162,150,130,9,
- SS_CENTERIMAGE
- LTEXT "ONLY for FF9 battle mode... yellow rect",IDC_STATIC,162,
- 165,132,9,SS_CENTERIMAGE
- LTEXT "Needed by some (buggy) OpenGL ICDs",IDC_STATIC,162,180,
- 132,9,SS_CENTERIMAGE
- LTEXT "DW7 fix (not 100% perfect...)",IDC_STATIC,162,195,132,9,
- SS_CENTERIMAGE
- LTEXT "Needed with epsxe 1.5.2 and older",IDC_STATIC,162,210,
- 138,9,SS_CENTERIMAGE
- LTEXT "Shows the full area in Capcom 2D fighters",IDC_STATIC,
- 162,225,138,9,SS_CENTERIMAGE
- CONTROL "0x04000: Use old texture filtering",IDC_FIX15,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,240,141,10
- LTEXT "Fixes black areas with some cards",IDC_STATIC,162,240,
- 138,9,SS_CENTERIMAGE
- CONTROL "0x08000: Special upload detection",IDC_FIX16,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,255,146,10
- LTEXT "May show some additional splash screens",
- IDC_F14_STATIC3,163,255,137,9,SS_CENTERIMAGE
- CONTROL "0x10000: Use low-res fps timer",IDC_FIX17,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,270,147,10
- LTEXT "For buggy motherboard chipsets",IDC_F14_STATIC4,163,270,
- 137,9,SS_CENTERIMAGE
- CONTROL "0x20000: Fake 'gpu busy' states",IDC_FIX18,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,285,147,10
- LTEXT "Toggles busy flags after drawing",IDC_F14_STATIC5,163,
- 285,137,9,SS_CENTERIMAGE
-END
-
-IDD_KEYS DIALOG DISCARDABLE 0, 0, 186, 162
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
-CAPTION "GPU key configuration"
-FONT 8, "MS Sans Serif"
-BEGIN
- PUSHBUTTON "Default keys",IDC_DEFAULT,107,6,61,13
- COMBOBOX IDC_KEY1,108,25,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY2,108,41,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY3,108,57,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY4,108,73,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY5,108,89,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- COMBOBOX IDC_KEY6,108,105,61,62,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- DEFPUSHBUTTON "OK",IDOK,19,142,50,14
- PUSHBUTTON "Cancel",IDCANCEL,115,142,50,14
- RTEXT "Show/hide gpu menu:",IDC_STATIC,4,26,100,9,
- SS_CENTERIMAGE
- RTEXT "Show/hide gpu infos:",IDC_STATIC,4,42,100,9,
- SS_CENTERIMAGE
- RTEXT "Toggle selected option up:",IDC_STATIC,4,58,100,9,
- SS_CENTERIMAGE
- RTEXT "Toggle selected option down:",IDC_STATIC,4,74,100,9,
- SS_CENTERIMAGE
- RTEXT "Select previous option:",IDC_STATIC,4,90,100,9,
- SS_CENTERIMAGE
- RTEXT "Select next option:",IDC_STATIC,4,106,100,9,
- SS_CENTERIMAGE
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_DIALOG_ABOUT, DIALOG
- BEGIN
- LEFTMARGIN, 2
- RIGHTMARGIN, 253
- TOPMARGIN, 3
- BOTTOMMARGIN, 159
- END
-
- IDD_CFGDLG, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 406
- TOPMARGIN, 7
- BOTTOMMARGIN, 288
- END
-
- IDD_FIXES, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 309
- TOPMARGIN, 7
- BOTTOMMARGIN, 315
- END
-
- IDD_KEYS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 179
- TOPMARGIN, 7
- BOTTOMMARGIN, 155
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog Info
-//
-#ifdef _MSC_VER
-
-IDD_CFGDLG DLGINIT
-BEGIN
- IDC_RESOLUTION, 0x403, 1, 0
-"\000"
- IDC_COLORDEPTH, 0x403, 7, 0
-0x3631, 0x4220, 0x7469, "\000"
- IDC_COLORDEPTH, 0x403, 7, 0
-0x3233, 0x4220, 0x7469, "\000"
- IDC_TEXQUALITY, 0x403, 11, 0
-0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000"
- IDC_TEXQUALITY, 0x403, 12, 0
-0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034,
- IDC_TEXQUALITY, 0x403, 12, 0
-0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031,
- IDC_TEXQUALITY, 0x403, 12, 0
-0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038,
- IDC_FILTERTYPE, 0x403, 9, 0
-0x7453, 0x6e61, 0x6164, 0x6472, "\000"
- IDC_FILTERTYPE, 0x403, 9, 0
-0x7845, 0x6574, 0x646e, 0x6465, "\000"
- IDC_FILTERTYPE, 0x403, 22, 0
-0x7453, 0x6e61, 0x6164, 0x6472, 0x2820, 0x6f6e, 0x5320, 0x7270, 0x7469,
-0x7365, 0x0029,
- IDC_FILTERTYPE, 0x403, 22, 0
-0x7845, 0x6574, 0x646e, 0x6465, 0x2820, 0x6f6e, 0x5320, 0x7270, 0x7469,
-0x7365, 0x0029,
- IDC_HIRESTEX, 0x403, 11, 0
-0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000"
- IDC_HIRESTEX, 0x403, 12, 0
-0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034,
- IDC_HIRESTEX, 0x403, 12, 0
-0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031,
- IDC_HIRESTEX, 0x403, 12, 0
-0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038,
- IDC_OFFSCREEN, 0x403, 11, 0
-0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000"
- IDC_OFFSCREEN, 0x403, 12, 0
-0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034,
- IDC_OFFSCREEN, 0x403, 12, 0
-0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031,
- IDC_OFFSCREEN, 0x403, 12, 0
-0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038,
- IDC_FRAMETEX, 0x403, 11, 0
-0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000"
- IDC_FRAMETEX, 0x403, 12, 0
-0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034,
- IDC_FRAMETEX, 0x403, 12, 0
-0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031,
- IDC_FRAMETEX, 0x403, 12, 0
-0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038,
- IDC_FRAMEREAD, 0x403, 11, 0
-0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000"
- IDC_FRAMEREAD, 0x403, 12, 0
-0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034,
- IDC_FRAMEREAD, 0x403, 12, 0
-0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031,
- IDC_FRAMEREAD, 0x403, 12, 0
-0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038,
- 0
-END
-
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_INFO0 "FL - Frame limitation:\n[Off] - Speed as fast as possible\n[On-1] - Limits speed to manual value\n[On-2] - Limits speed to auto-detected value."
- IDS_INFO1 "FS - Frame skipping:\n[Off] - No frames get skipped\n[On] - Tries to speed up the game by skipping frames. Can cause glitches!"
- IDS_INFO2 "OD - Offscreen drawing:\n[0-4] - The higher the mode, the more checks for uploading screen data/software drawing will be done. Setting depends on the game."
- IDS_INFO3 "FI - Texture filtering:\n[0-6] - Filtering will cause glitches! Mode 2/4/6: black borders vanish. Mode 3/4 will not filter sprites. Mode 5/6 will smooth sprites."
- IDS_INFO4 "DI - Dithering:\n[Off] - No dithering\n[On] - Smoother shading in 16 bit modes."
- IDS_INFO5 "AM - Alpha multipass:\n[Off] - Faster with some games, but opaque texture areas can get transparent.\n[On] - Accurate psx emulation."
- IDS_INFO6 "AB - Advanced blending:\n[0-1] - For accurate psx coloring use mode 1. If your gfx card can't do it in hardware, a software mode will be done automatically (slower)."
- IDS_INFO7 "FA - Framebuffer access:\n[0-4] - Some games read back the framebuffer to create special effects. This can be very slow! In mode 4 everything is done in software."
- IDS_INFO8 "FT - Frame buffer texture:\n[0-3] - Mode 2 is trying to do some effects (whirls, motion blur) in hardware (can be slow). Mode 1 is turning the effects off (fastest emulation)."
- IDS_INFO9 "GF - Special game fixes:\n[Off] - Turn off all fixes\n[On] - Turn on all activated fixes. You have to select the fixes you want to use in the gpu config."
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#define _AFX_NO_SPLITTER_RESOURCES
-#define _AFX_NO_OLE_RESOURCES
-#define _AFX_NO_TRACKER_RESOURCES
-#define _AFX_NO_PROPERTY_RESOURCES
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE 9, 1
-#pragma code_page(1252)
-#endif
-#endif
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+//Microsoft Developer Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Neutral resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_GPU BITMAP DISCARDABLE "res\\gpu.bmp" +#endif // Neutral resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "#define _AFX_NO_SPLITTER_RESOURCES\r\n" + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 9, 1\r\n" + "#pragma code_page(1252)\r\n" + "#endif\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +#ifndef _MAC +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,78,0,0 + PRODUCTVERSION 1,78,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "\0" + VALUE "CompanyName", "\0" + VALUE "FileDescription", "gpuPeopsOpenGL. DLL\0" + VALUE "FileVersion", "1, 78, 0, 0\0" + VALUE "InternalName", "P.E.Op.S. PSX OpenGL GPU (mod)\0" + VALUE "LegalCopyright", "Copyright (C) 1999-2009\0" + VALUE "LegalTrademarks", "\0" + VALUE "OriginalFilename", "gpuPeopsOpenGL.DLL\0" + VALUE "PrivateBuild", "\0" + VALUE "ProductName", "gpuPeopsOpenGL Dynamic Link Library\0" + VALUE "ProductVersion", "1, 78, 0, 0\0" + VALUE "SpecialBuild", "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // !_MAC + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_DIALOG_ABOUT DIALOG DISCARDABLE 0, 0, 258, 165 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About P.E.Op.S. PSX OpenGL Renderer ..." +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "OK",IDOK,98,145,50,14 + RTEXT "Version:",IDC_STATIC,8,6,49,10 + RTEXT "Coded by:",IDC_STATIC,8,35,49,10 + RTEXT "Homepage:",IDC_STATIC,8,53,49,10 + LTEXT "1.78",IDC_STATIC,60,6,159,9 + LTEXT "Pete Bernert",IDC_STATIC,60,35,159,10 + LTEXT "www.pbernert.com",IDC_STATIC,60,53,159,10 + RTEXT "Release date:",IDC_STATIC,8,17,49,10 + LTEXT "04/2009",IDC_STATIC,60,17,159,10 + RTEXT "Thanks to:",IDC_STATIC,8,74,49,10 + LTEXT "Lewpy - without his infos this driver wouldn't exist", + IDC_STATIC,60,74,159,10 + LTEXT "Duddie && FoxPro - for their public sources",IDC_STATIC, + 60,86,159,10 + LTEXT "My girlfriend Heike - 'Hey, that cloud still looks funny, ", + IDC_STATIC,60,112,170,10 + LTEXT "go on and change it...'",IDC_STATIC,125,121,117,10 + CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME | SS_SUNKEN,4,68, + 249,70 + LTEXT "Gamma - thanks for your OpenGL book",IDC_STATIC,60,99, + 159,10 +END + +IDD_CFGDLG DIALOGEX 0, 0, 413, 306 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Configure P.E.Op.S. PSX OpenGL Renderer ..." +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "Fullscreen mode",IDC_DISPMODE1,"Button",BS_AUTORADIOBUTTON,11,11,73,10 + CONTROL "Window mode",IDC_DISPMODE2,"Button",BS_AUTORADIOBUTTON,11,25,63,10 + COMBOBOX IDC_RESOLUTION,150,10,63,64,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_COLORDEPTH,261,10,36,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + EDITTEXT IDC_WINX,150,24,26,12,ES_AUTOHSCROLL + EDITTEXT IDC_WINY,187,24,26,12,ES_AUTOHSCROLL + CONTROL "Keep psx aspect ratio",IDC_ARATIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,306,17,95,12 + COMBOBOX IDC_TEXQUALITY,61,50,159,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERTYPE,61,63,159,83,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_HIRESTEX,275,50,129,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_VRAMSIZE,275,63,62,88,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + CONTROL "Show FPS display on startup",IDC_SHOWFPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,94,107,10 + PUSHBUTTON "...",IDC_KEYCONFIG,119,94,11,10,0,WS_EX_STATICEDGE + CONTROL "Use FPS limit",IDC_USELIMIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,149,89,73,10 + CONTROL "Use Frame skipping",IDC_USESKIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,149,101,78,10 + CONTROL "Auto-detect FPS/Frame skipping limit",IDC_FRAMEAUTO, + "Button",BS_AUTORADIOBUTTON | WS_GROUP,258,89,131,9 + CONTROL "FPS limit (10-200) :",IDC_FRAMEMANUELL,"Button",BS_AUTORADIOBUTTON,258,100,72,10 + EDITTEXT IDC_FRAMELIMIT,334,99,29,12,ES_AUTOHSCROLL + COMBOBOX IDC_OFFSCREEN,78,123,130,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FRAMETEX,78,136,130,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FRAMEREAD,78,149,130,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Alpha MultiPass",IDC_OPAQUE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,219,127,66,10 + CONTROL "Mask bit",IDC_USEMASK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,219,138,47,10 + CONTROL "Advanced blending",IDC_ADVBLEND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,219,149,76,10 + CONTROL "Scanlines",IDC_USESCANLINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,176,46,10 + EDITTEXT IDC_SCANBLEND,375,175,29,12,ES_AUTOHSCROLL + CONTROL "Line mode",IDC_USELINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,186,48,10 + CONTROL "Unfiltered framebuffer updates",IDC_FASTMDEC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,196,113,10 + CONTROL "Force 15 bit framebuffer updates",IDC_FASTMDEC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,206,121,10 + CONTROL "Color dithering",IDC_DRAWDITHER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,216,81,10 + CONTROL "Screen smoothing",IDC_BLUR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,226,81,10 + CONTROL "Disable screensaver",IDC_SSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,236,81,10 + CONTROL "Special game fixes",IDC_GAMEFIX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,246,75,10 + PUSHBUTTON "...",IDC_SELFIX,89,246,11,10,0,WS_EX_STATICEDGE + PUSHBUTTON "Fast",IDC_DEF1,10,282,34,14 + PUSHBUTTON "Nice",IDC_DEF2,49,282,34,14 + DEFPUSHBUTTON "OK",IDOK,113,282,84,14 + PUSHBUTTON "Cancel",IDCANCEL,215,282,84,14 + PUSHBUTTON "Copy settings\n to clipboard",IDC_CLIPBOARD,322,276,87,25,BS_MULTILINE,WS_EX_STATICEDGE + GROUPBOX "Misc",IDC_STATIC,3,166,406,104 + GROUPBOX "Default settings",IDC_STATIC,3,272,88,30 + GROUPBOX "Textures",IDC_STATIC,3,41,406,40 + RTEXT "Desktop resolution:",IDC_STATIC,81,12,65,9 + GROUPBOX "Resolution && Colors",IDC_STATIC,3,1,406,40 + RTEXT "Color depth:",IDC_STATIC,219,12,39,9 + GROUPBOX "Framerate",IDC_STATIC,3,81,406,33 + LTEXT "FPS",IDC_STATIC,367,100,17,9,SS_CENTERIMAGE + GROUPBOX "Compatibility",IDC_STATIC,3,115,406,51 + RTEXT "Texture quality:",IDC_QUALTXT,6,52,51,9 + RTEXT "Window size:",IDC_STATIC,85,26,61,9 + CTEXT "x",IDC_STATIC,177,26,8,9 + RTEXT "Gfx card vram:",IDC_QUALTXT2,225,65,48,9 + RTEXT "Off-Screen drawing:",IDC_STATIC,11,124,64,10,SS_CENTERIMAGE + RTEXT "Texture filtering:",IDC_STATIC,6,65,52,10 + RTEXT "Framebuffer textures:",IDC_STATIC,7,137,68,10,SS_CENTERIMAGE + LTEXT "Some games will need certain special options to work without glitches",IDC_STATIC,135,246,242,9,SS_CENTERIMAGE + LTEXT "Smoother shading in 16 bit color depth",IDC_STATIC,135,216,242,9,SS_CENTERIMAGE + LTEXT "Small speed up with mdecs",IDC_STATIC,135,196,242,9,SS_CENTERIMAGE + LTEXT "Polygons will not get filled",IDC_STATIC,135,186,89,9,SS_CENTERIMAGE + LTEXT "TV screen alike lines",IDC_STATIC,135,176,69,9,SS_CENTERIMAGE + LTEXT "Accurate psx color emulation",IDC_STATIC,303,149,97,9,SS_CENTERIMAGE + LTEXT "Correct opaque texture areas",IDC_STATIC,302,127,97,9,SS_CENTERIMAGE + LTEXT "Needed by a few games",IDC_STATIC,302,138,97,9,SS_CENTERIMAGE + RTEXT "Scanline brightness (0...255, -1=Monitor dot matrix):",IDC_STATIC,210,176,162,9,SS_CENTERIMAGE + EDITTEXT IDC_CLPEDIT,314,293,6,12,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | NOT WS_VISIBLE + LTEXT "MBytes",IDC_QUALTXT3,340,65,27,9 + LTEXT "The complete screen will get smoothed. Very slow on some cards, lotta vram needed",IDC_STATIC,135,226,269,9,SS_CENTERIMAGE + RTEXT "Framebuffer access:",IDC_STATIC,7,150,68,10,SS_CENTERIMAGE + LTEXT "Disable screensavers and power saving modes. Not available in Win95/WinNT",IDC_STATIC,135,236,269,9,SS_CENTERIMAGE + LTEXT "Speed up with mdecs in 32 bit color depth, but less colorful",IDC_T14_STATIC2,135,206,268,9,SS_CENTERIMAGE + RTEXT "Hi-Res textures:",IDC_QUALTXT4,223,52,50,9 + COMBOBOX IDC_VSYNC,261,24,36,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "V-Sync:",IDC_STATIC,219,26,39,9,SS_CENTERIMAGE + CONTROL "Gte accuracy",IDC_GTEACCURACY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,256,59,10 +END + +IDD_FIXES DIALOG DISCARDABLE 0, 0, 316, 322 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Special game fixes..." +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "0x00001: Adjust framebuffer access",IDC_FIX1,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,30,133,10 + CONTROL "0x00004: Ignore black brightness",IDC_FIX3,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,60,140,10 + CONTROL "0x00008: Swap front/back detection",IDC_FIX4,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,75,144,10 + CONTROL "0x00010: Disable coord check",IDC_FIX5,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,90,139,10 + CONTROL "0x00020: Remove blue glitches",IDC_FIX6,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,105,139,10 + CONTROL "0x00040: Mixed software FB access",IDC_FIX7,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,120,143,10 + CONTROL "0x00080: Use PC fps calculation",IDC_FIX8,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,135,142,10 + CONTROL "0x00100: Use old frame skipping",IDC_FIX9,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,150,139,10 + CONTROL "0x00002: Direct framebuffer updates",IDC_FIX2,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,45,137,10 + CONTROL "0x00200: G4 polygon cache",IDC_FIX10,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,165,141,10 + CONTROL "0x00400: Fake subtractive blending",IDC_FIX11,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,180,143,10 + CONTROL "0x00800: Lazy upload detection",IDC_FIX12,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,195,144,10 + CONTROL "0x01000: Odd/even bit hack",IDC_FIX13,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,210,143,10 + CONTROL "0x02000: Expand screen width",IDC_FIX14,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,225,144,10 + DEFPUSHBUTTON "OK",IDOK,83,302,50,14 + PUSHBUTTON "Cancel",IDCANCEL,182,302,50,14 + LTEXT "Activate the following options only if you want to play one of the listed games (or if your game is showing similar glitches)!", + IDC_STATIC,7,4,246,22 + LTEXT "ONLY for FF7 battle cursor/battle swirl",IDC_STATIC,163, + 30,137,9,SS_CENTERIMAGE + LTEXT "Speed up in nasty frame upload situations",IDC_STATIC, + 163,45,137,9,SS_CENTERIMAGE + LTEXT "Fixes black screens in Lunar",IDC_STATIC,162,60,123,9, + SS_CENTERIMAGE + LTEXT "Speed freaks, Killer Loop",IDC_STATIC,162,75,90,9, + SS_CENTERIMAGE + LTEXT "Old coord compatibility mode",IDC_STATIC,162,89,99,9, + SS_CENTERIMAGE + LTEXT "Leg. o. Dragoon, Alpha Multipass needed",IDC_STATIC,162, + 105,136,9,SS_CENTERIMAGE + LTEXT "Faster FB access on some systems/ATI",IDC_STATIC,162, + 120,125,9,SS_CENTERIMAGE + LTEXT "Better fps limitation with some games",IDC_STATIC,162, + 135,117,9,SS_CENTERIMAGE + LTEXT "Skips only every second frame",IDC_STATIC,162,150,130,9, + SS_CENTERIMAGE + LTEXT "ONLY for FF9 battle mode... yellow rect",IDC_STATIC,162, + 165,132,9,SS_CENTERIMAGE + LTEXT "Needed by some (buggy) OpenGL ICDs",IDC_STATIC,162,180, + 132,9,SS_CENTERIMAGE + LTEXT "DW7 fix (not 100% perfect...)",IDC_STATIC,162,195,132,9, + SS_CENTERIMAGE + LTEXT "Needed with epsxe 1.5.2 and older",IDC_STATIC,162,210, + 138,9,SS_CENTERIMAGE + LTEXT "Shows the full area in Capcom 2D fighters",IDC_STATIC, + 162,225,138,9,SS_CENTERIMAGE + CONTROL "0x04000: Use old texture filtering",IDC_FIX15,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,240,141,10 + LTEXT "Fixes black areas with some cards",IDC_STATIC,162,240, + 138,9,SS_CENTERIMAGE + CONTROL "0x08000: Special upload detection",IDC_FIX16,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,255,146,10 + LTEXT "May show some additional splash screens", + IDC_F14_STATIC3,163,255,137,9,SS_CENTERIMAGE + CONTROL "0x10000: Use low-res fps timer",IDC_FIX17,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,270,147,10 + LTEXT "For buggy motherboard chipsets",IDC_F14_STATIC4,163,270, + 137,9,SS_CENTERIMAGE + CONTROL "0x20000: Fake 'gpu busy' states",IDC_FIX18,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,11,285,147,10 + LTEXT "Toggles busy flags after drawing",IDC_F14_STATIC5,163, + 285,137,9,SS_CENTERIMAGE +END + +IDD_KEYS DIALOG DISCARDABLE 0, 0, 186, 162 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION +CAPTION "GPU key configuration" +FONT 8, "MS Sans Serif" +BEGIN + PUSHBUTTON "Default keys",IDC_DEFAULT,107,6,61,13 + COMBOBOX IDC_KEY1,108,25,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY2,108,41,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY3,108,57,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY4,108,73,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY5,108,89,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + COMBOBOX IDC_KEY6,108,105,61,62,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + DEFPUSHBUTTON "OK",IDOK,19,142,50,14 + PUSHBUTTON "Cancel",IDCANCEL,115,142,50,14 + RTEXT "Show/hide gpu menu:",IDC_STATIC,4,26,100,9, + SS_CENTERIMAGE + RTEXT "Show/hide gpu infos:",IDC_STATIC,4,42,100,9, + SS_CENTERIMAGE + RTEXT "Toggle selected option up:",IDC_STATIC,4,58,100,9, + SS_CENTERIMAGE + RTEXT "Toggle selected option down:",IDC_STATIC,4,74,100,9, + SS_CENTERIMAGE + RTEXT "Select previous option:",IDC_STATIC,4,90,100,9, + SS_CENTERIMAGE + RTEXT "Select next option:",IDC_STATIC,4,106,100,9, + SS_CENTERIMAGE +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_DIALOG_ABOUT, DIALOG + BEGIN + LEFTMARGIN, 2 + RIGHTMARGIN, 253 + TOPMARGIN, 3 + BOTTOMMARGIN, 159 + END + + IDD_CFGDLG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 406 + TOPMARGIN, 7 + BOTTOMMARGIN, 288 + END + + IDD_FIXES, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 309 + TOPMARGIN, 7 + BOTTOMMARGIN, 315 + END + + IDD_KEYS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 179 + TOPMARGIN, 7 + BOTTOMMARGIN, 155 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog Info +// +#ifdef _MSC_VER + +IDD_CFGDLG DLGINIT +BEGIN + IDC_RESOLUTION, 0x403, 1, 0 +"\000" + IDC_COLORDEPTH, 0x403, 7, 0 +0x3631, 0x4220, 0x7469, "\000" + IDC_COLORDEPTH, 0x403, 7, 0 +0x3233, 0x4220, 0x7469, "\000" + IDC_TEXQUALITY, 0x403, 11, 0 +0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000" + IDC_TEXQUALITY, 0x403, 12, 0 +0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034, + IDC_TEXQUALITY, 0x403, 12, 0 +0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031, + IDC_TEXQUALITY, 0x403, 12, 0 +0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038, + IDC_FILTERTYPE, 0x403, 9, 0 +0x7453, 0x6e61, 0x6164, 0x6472, "\000" + IDC_FILTERTYPE, 0x403, 9, 0 +0x7845, 0x6574, 0x646e, 0x6465, "\000" + IDC_FILTERTYPE, 0x403, 22, 0 +0x7453, 0x6e61, 0x6164, 0x6472, 0x2820, 0x6f6e, 0x5320, 0x7270, 0x7469, +0x7365, 0x0029, + IDC_FILTERTYPE, 0x403, 22, 0 +0x7845, 0x6574, 0x646e, 0x6465, 0x2820, 0x6f6e, 0x5320, 0x7270, 0x7469, +0x7365, 0x0029, + IDC_HIRESTEX, 0x403, 11, 0 +0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000" + IDC_HIRESTEX, 0x403, 12, 0 +0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034, + IDC_HIRESTEX, 0x403, 12, 0 +0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031, + IDC_HIRESTEX, 0x403, 12, 0 +0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038, + IDC_OFFSCREEN, 0x403, 11, 0 +0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000" + IDC_OFFSCREEN, 0x403, 12, 0 +0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034, + IDC_OFFSCREEN, 0x403, 12, 0 +0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031, + IDC_OFFSCREEN, 0x403, 12, 0 +0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038, + IDC_FRAMETEX, 0x403, 11, 0 +0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000" + IDC_FRAMETEX, 0x403, 12, 0 +0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034, + IDC_FRAMETEX, 0x403, 12, 0 +0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031, + IDC_FRAMETEX, 0x403, 12, 0 +0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038, + IDC_FRAMEREAD, 0x403, 11, 0 +0x6f64, 0x276e, 0x2074, 0x6163, 0x6572, "\000" + IDC_FRAMEREAD, 0x403, 12, 0 +0x3452, 0x4720, 0x2034, 0x3442, 0x4120, 0x0034, + IDC_FRAMEREAD, 0x403, 12, 0 +0x3552, 0x4720, 0x2035, 0x3542, 0x4120, 0x0031, + IDC_FRAMEREAD, 0x403, 12, 0 +0x3852, 0x4720, 0x2038, 0x3842, 0x4120, 0x0038, + 0 +END + +#endif + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INFO0 "FL - Frame limitation:\n[Off] - Speed as fast as possible\n[On-1] - Limits speed to manual value\n[On-2] - Limits speed to auto-detected value." + IDS_INFO1 "FS - Frame skipping:\n[Off] - No frames get skipped\n[On] - Tries to speed up the game by skipping frames. Can cause glitches!" + IDS_INFO2 "OD - Offscreen drawing:\n[0-4] - The higher the mode, the more checks for uploading screen data/software drawing will be done. Setting depends on the game." + IDS_INFO3 "FI - Texture filtering:\n[0-6] - Filtering will cause glitches! Mode 2/4/6: black borders vanish. Mode 3/4 will not filter sprites. Mode 5/6 will smooth sprites." + IDS_INFO4 "DI - Dithering:\n[Off] - No dithering\n[On] - Smoother shading in 16 bit modes." + IDS_INFO5 "AM - Alpha multipass:\n[Off] - Faster with some games, but opaque texture areas can get transparent.\n[On] - Accurate psx emulation." + IDS_INFO6 "AB - Advanced blending:\n[0-1] - For accurate psx coloring use mode 1. If your gfx card can't do it in hardware, a software mode will be done automatically (slower)." + IDS_INFO7 "FA - Framebuffer access:\n[0-4] - Some games read back the framebuffer to create special effects. This can be very slow! In mode 4 everything is done in software." + IDS_INFO8 "FT - Frame buffer texture:\n[0-3] - Mode 2 is trying to do some effects (whirls, motion blur) in hardware (can be slow). Mode 1 is turning the effects off (fastest emulation)." + IDS_INFO9 "GF - Special game fixes:\n[Off] - Turn off all fixes\n[On] - Turn on all activated fixes. You have to select the fixes you want to use in the gpu config." +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +#define _AFX_NO_SPLITTER_RESOURCES +#define _AFX_NO_OLE_RESOURCES +#define _AFX_NO_TRACKER_RESOURCES +#define _AFX_NO_PROPERTY_RESOURCES + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE 9, 1 +#pragma code_page(1252) +#endif +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/win32/plugins/peopsxgl/gpuPeopsOpenGL.vcproj b/win32/plugins/peopsxgl/gpuPeopsOpenGL.vcproj index de479eb9..cfa3ea52 100644..100755 --- a/win32/plugins/peopsxgl/gpuPeopsOpenGL.vcproj +++ b/win32/plugins/peopsxgl/gpuPeopsOpenGL.vcproj @@ -1,560 +1,560 @@ -<?xml version="1.0" encoding="gb2312"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9,00"
- Name="gpuPeopsOpenGL"
- ProjectGUID="{726BDE88-F2AD-4666-A4BC-5858F973976E}"
- RootNamespace="gpuPeopsOpenGL"
- TargetFrameworkVersion="0"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/gpuPeopsOpenGL.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\,.\winsrc,..\..\glue,..\..\..\plugins\peopsxgl,..\..\..\libpcsxcore"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/gpuPeopsOpenGL.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1031"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="opengl32.lib winmm.lib"
- OutputFile=".\Debug/gpuPeopsOpenGL.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ModuleDefinitionFile=".\gpuPeopsOpenGL.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug/gpuPeopsOpenGL.pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary=".\Debug/gpuPeopsOpenGL.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Debug/gpuPeopsOpenGL.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/gpuPeopsOpenGL.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories=".\,.\winsrc,..\..\glue,..\..\..\plugins\peopsxgl,..\..\..\libpcsxcore"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- StringPooling="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- PrecompiledHeaderFile=".\Release/gpuPeopsOpenGL.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1031"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="opengl32.lib winmm.lib"
- OutputFile=".\Release/gpuPeopsOpenGL.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ModuleDefinitionFile=".\gpuPeopsOpenGL.def"
- ProgramDatabaseFile=".\Release/gpuPeopsOpenGL.pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary=".\Release/gpuPeopsOpenGL.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Release/gpuPeopsOpenGL.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="rem copy release\*.dll d:\emus\epsxe\plugins"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="winsrc"
- >
- <File
- RelativePath="winsrc\cfg.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\fps.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\key.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\ssave.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="winsrc\ssave.h"
- >
- </File>
- <File
- RelativePath="winsrc\winmain.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="peopsxgl"
- >
- <File
- RelativePath="..\..\..\plugins\peopsxgl\cfg.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\draw.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\draw.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\externals.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\fps.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\gl_ext.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\gpu.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\gpu.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\gte_accuracy.c"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\gte_accuracy.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\key.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\menu.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\menu.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\prim.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\prim.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\soft.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\soft.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\stdafx.h"
- >
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\texture.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\plugins\peopsxgl\texture.h"
- >
- </File>
- </Filter>
- <File
- RelativePath=".\res\gpu.bmp"
- >
- </File>
- <File
- RelativePath="gpuPeopsOpenGL.def"
- >
- </File>
- <File
- RelativePath="gpuPeopsOpenGL.rc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="resource.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="gb2312"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9,00" + Name="gpuPeopsOpenGL" + ProjectGUID="{726BDE88-F2AD-4666-A4BC-5858F973976E}" + RootNamespace="gpuPeopsOpenGL" + TargetFrameworkVersion="0" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Debug/gpuPeopsOpenGL.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=".\,.\winsrc,..\..\glue,..\..\..\plugins\peopsxgl,..\..\..\libpcsxcore" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + PrecompiledHeaderFile=".\Debug/gpuPeopsOpenGL.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1031" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="opengl32.lib winmm.lib" + OutputFile=".\Debug/gpuPeopsOpenGL.dll" + LinkIncremental="1" + SuppressStartupBanner="true" + ModuleDefinitionFile=".\gpuPeopsOpenGL.def" + GenerateDebugInformation="true" + ProgramDatabaseFile=".\Debug/gpuPeopsOpenGL.pdb" + SubSystem="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary=".\Debug/gpuPeopsOpenGL.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/gpuPeopsOpenGL.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Release/gpuPeopsOpenGL.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories=".\,.\winsrc,..\..\glue,..\..\..\plugins\peopsxgl,..\..\..\libpcsxcore" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + PrecompiledHeaderFile=".\Release/gpuPeopsOpenGL.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + BrowseInformation="1" + WarningLevel="3" + SuppressStartupBanner="true" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1031" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="opengl32.lib winmm.lib" + OutputFile=".\Release/gpuPeopsOpenGL.dll" + LinkIncremental="1" + SuppressStartupBanner="true" + ModuleDefinitionFile=".\gpuPeopsOpenGL.def" + ProgramDatabaseFile=".\Release/gpuPeopsOpenGL.pdb" + SubSystem="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + ImportLibrary=".\Release/gpuPeopsOpenGL.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/gpuPeopsOpenGL.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="rem copy release\*.dll d:\emus\epsxe\plugins" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="winsrc" + > + <File + RelativePath="winsrc\cfg.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\fps.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\key.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\ssave.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="winsrc\ssave.h" + > + </File> + <File + RelativePath="winsrc\winmain.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="peopsxgl" + > + <File + RelativePath="..\..\..\plugins\peopsxgl\cfg.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\draw.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\draw.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\externals.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\fps.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\gl_ext.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\gpu.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\gpu.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\gte_accuracy.c" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\gte_accuracy.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\key.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\menu.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\menu.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\prim.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\prim.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\soft.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\soft.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\stdafx.h" + > + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\texture.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\..\plugins\peopsxgl\texture.h" + > + </File> + </Filter> + <File + RelativePath=".\res\gpu.bmp" + > + </File> + <File + RelativePath="gpuPeopsOpenGL.def" + > + </File> + <File + RelativePath="gpuPeopsOpenGL.rc" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="resource.h" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/win32/plugins/peopsxgl/resource.h b/win32/plugins/peopsxgl/resource.h index 8d59b103..c30e0fb4 100644..100755 --- a/win32/plugins/peopsxgl/resource.h +++ b/win32/plugins/peopsxgl/resource.h @@ -1,134 +1,134 @@ -//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by gpuPeopsOpenGL.rc
-//
-#define IDS_INFO0 1
-#define IDS_INFO1 2
-#define IDS_INFO2 3
-#define IDC_DEFAULT 3
-#define IDS_INFO3 4
-#define IDS_INFO4 5
-#define IDS_INFO5 6
-#define IDS_INFO6 7
-#define IDS_INFO7 8
-#define IDS_INFO8 9
-#define IDS_INFO9 10
-#define IDC_DEF1 127
-#define IDC_DEF2 128
-#define IDD_DIALOG_ABOUT 129
-#define IDD_CFGDLG 130
-#define IDD_FIXES 134
-#define IDB_GPU 135
-#define IDD_KEYS 138
-#define IDC_TEXWINDOWS 1001
-#define IDC_TEXFIX 1002
-#define IDC_TEXLINEAR 1003
-#define IDC_RESOLUTION 1004
-#define IDC_DRAWDITHER 1005
-#define IDC_CACHESIZE 1006
-#define IDC_BLUR 1007
-#define IDC_CACHETXT 1008
-#define IDC_SSAVE 1009
-#define IDC_USELINES 1010
-#define IDC_COLORDEPTH 1011
-#define IDC_CHANGEDESK 1012
-#define IDC_VSYNC 1012
-#define IDC_USELIMIT 1013
-#define IDC_FRAMELIMIT 1014
-#define IDC_FRAMEAUTO 1015
-#define IDC_FRAMEMANUELL 1016
-#define IDC_ADVBLEND 1017
-#define IDC_OFFSCREEN 1018
-#define IDC_OPAQUE 1019
-#define IDC_TEXQUALITY 1020
-#define IDC_USESKIP 1021
-#define IDC_DISPMODE1 1022
-#define IDC_DISPMODE2 1023
-#define IDC_SUBCACHE 1024
-#define IDC_VRAMSIZE 1025
-#define IDC_WINDOWFREE 1026
-#define IDC_EXTCOLCHECK 1027
-#define IDC_FRAMETEX 1028
-#define IDC_WINDOWAUTO 1029
-#define IDC_USETEXPRIO 1030
-#define IDC_SHOWFPS 1031
-#define IDC_WINX 1032
-#define IDC_WINY 1033
-#define IDC_FILTERTYPE 1034
-#define IDC_USEANTIALIAS 1035
-#define IDC_SCANBLEND 1036
-#define IDC_3DGLASSES 1037
-#define IDC_USESCANLINES 1038
-#define IDC_KEY1 1039
-#define IDC_KEY2 1040
-#define IDC_KEY3 1041
-#define IDC_KEY4 1042
-#define IDC_KEY5 1043
-#define IDC_KEY6 1044
-#define IDC_USEMASK 1045
-#define IDC_FASTMDEC 1046
-#define IDC_FULLVRAM 1047
-#define IDC_FRAMEREAD 1048
-#define IDC_ARATIO 1049
-#define IDC_CLIPBOARD 1050
-#define IDC_CLPEDIT 1051
-#define IDC_QUALTXT 1052
-#define IDC_QUALTXT2 1053
-#define IDC_QUALTXT3 1054
-#define IDC_GARBAGE 1055
-#define IDC_PALTEXWND 1056
-#define IDC_HIRESTEX 1057
-#define IDC_GAMEFIX 1058
-#define IDC_SELFIX 1059
-#define IDC_KEYCONFIG 1060
-#define IDC_T14_STATIC2 1061
-#define IDC_FASTMDEC2 1062
-#define IDC_QUALTXT4 1063
-#define IDC_GAMEFIX2 1064
-#define IDC_GTEACCURACY 1065
-#define IDC_F14_STATIC3 1083
-#define IDC_F14_STATIC4 1084
-#define IDC_F14_STATIC5 1085
-#define IDC_FIX1 2038
-#define IDC_FIX2 2039
-#define IDC_FIX3 2040
-#define IDC_FIX4 2041
-#define IDC_FIX5 2042
-#define IDC_FIX6 2043
-#define IDC_FIX7 2044
-#define IDC_FIX8 2045
-#define IDC_FIX9 2046
-#define IDC_FIX10 2047
-#define IDC_FIX11 2048
-#define IDC_FIX12 2049
-#define IDC_FIX13 2050
-#define IDC_FIX14 2051
-#define IDC_FIX15 2052
-#define IDC_FIX16 2053
-#define IDC_FIX17 2054
-#define IDC_FIX18 2055
-#define IDC_FIX19 2056
-#define IDC_FIX20 2057
-#define IDC_FIX21 2058
-#define IDC_FIX22 2059
-#define IDC_FIX23 2060
-#define IDC_FIX24 2061
-#define IDC_FIX25 2062
-#define IDC_FIX26 2063
-#define IDC_FIX27 2064
-#define IDC_FIX28 2065
-#define IDC_FIX29 2066
-#define IDC_FIX30 2067
-#define IDC_FIX31 2068
-#define IDC_FIX32 2069
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 140
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 2070
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by gpuPeopsOpenGL.rc +// +#define IDS_INFO0 1 +#define IDS_INFO1 2 +#define IDS_INFO2 3 +#define IDC_DEFAULT 3 +#define IDS_INFO3 4 +#define IDS_INFO4 5 +#define IDS_INFO5 6 +#define IDS_INFO6 7 +#define IDS_INFO7 8 +#define IDS_INFO8 9 +#define IDS_INFO9 10 +#define IDC_DEF1 127 +#define IDC_DEF2 128 +#define IDD_DIALOG_ABOUT 129 +#define IDD_CFGDLG 130 +#define IDD_FIXES 134 +#define IDB_GPU 135 +#define IDD_KEYS 138 +#define IDC_TEXWINDOWS 1001 +#define IDC_TEXFIX 1002 +#define IDC_TEXLINEAR 1003 +#define IDC_RESOLUTION 1004 +#define IDC_DRAWDITHER 1005 +#define IDC_CACHESIZE 1006 +#define IDC_BLUR 1007 +#define IDC_CACHETXT 1008 +#define IDC_SSAVE 1009 +#define IDC_USELINES 1010 +#define IDC_COLORDEPTH 1011 +#define IDC_CHANGEDESK 1012 +#define IDC_VSYNC 1012 +#define IDC_USELIMIT 1013 +#define IDC_FRAMELIMIT 1014 +#define IDC_FRAMEAUTO 1015 +#define IDC_FRAMEMANUELL 1016 +#define IDC_ADVBLEND 1017 +#define IDC_OFFSCREEN 1018 +#define IDC_OPAQUE 1019 +#define IDC_TEXQUALITY 1020 +#define IDC_USESKIP 1021 +#define IDC_DISPMODE1 1022 +#define IDC_DISPMODE2 1023 +#define IDC_SUBCACHE 1024 +#define IDC_VRAMSIZE 1025 +#define IDC_WINDOWFREE 1026 +#define IDC_EXTCOLCHECK 1027 +#define IDC_FRAMETEX 1028 +#define IDC_WINDOWAUTO 1029 +#define IDC_USETEXPRIO 1030 +#define IDC_SHOWFPS 1031 +#define IDC_WINX 1032 +#define IDC_WINY 1033 +#define IDC_FILTERTYPE 1034 +#define IDC_USEANTIALIAS 1035 +#define IDC_SCANBLEND 1036 +#define IDC_3DGLASSES 1037 +#define IDC_USESCANLINES 1038 +#define IDC_KEY1 1039 +#define IDC_KEY2 1040 +#define IDC_KEY3 1041 +#define IDC_KEY4 1042 +#define IDC_KEY5 1043 +#define IDC_KEY6 1044 +#define IDC_USEMASK 1045 +#define IDC_FASTMDEC 1046 +#define IDC_FULLVRAM 1047 +#define IDC_FRAMEREAD 1048 +#define IDC_ARATIO 1049 +#define IDC_CLIPBOARD 1050 +#define IDC_CLPEDIT 1051 +#define IDC_QUALTXT 1052 +#define IDC_QUALTXT2 1053 +#define IDC_QUALTXT3 1054 +#define IDC_GARBAGE 1055 +#define IDC_PALTEXWND 1056 +#define IDC_HIRESTEX 1057 +#define IDC_GAMEFIX 1058 +#define IDC_SELFIX 1059 +#define IDC_KEYCONFIG 1060 +#define IDC_T14_STATIC2 1061 +#define IDC_FASTMDEC2 1062 +#define IDC_QUALTXT4 1063 +#define IDC_GAMEFIX2 1064 +#define IDC_GTEACCURACY 1065 +#define IDC_F14_STATIC3 1083 +#define IDC_F14_STATIC4 1084 +#define IDC_F14_STATIC5 1085 +#define IDC_FIX1 2038 +#define IDC_FIX2 2039 +#define IDC_FIX3 2040 +#define IDC_FIX4 2041 +#define IDC_FIX5 2042 +#define IDC_FIX6 2043 +#define IDC_FIX7 2044 +#define IDC_FIX8 2045 +#define IDC_FIX9 2046 +#define IDC_FIX10 2047 +#define IDC_FIX11 2048 +#define IDC_FIX12 2049 +#define IDC_FIX13 2050 +#define IDC_FIX14 2051 +#define IDC_FIX15 2052 +#define IDC_FIX16 2053 +#define IDC_FIX17 2054 +#define IDC_FIX18 2055 +#define IDC_FIX19 2056 +#define IDC_FIX20 2057 +#define IDC_FIX21 2058 +#define IDC_FIX22 2059 +#define IDC_FIX23 2060 +#define IDC_FIX24 2061 +#define IDC_FIX25 2062 +#define IDC_FIX26 2063 +#define IDC_FIX27 2064 +#define IDC_FIX28 2065 +#define IDC_FIX29 2066 +#define IDC_FIX30 2067 +#define IDC_FIX31 2068 +#define IDC_FIX32 2069 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 140 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 2070 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/win32/plugins/peopsxgl/winsrc/cfg.c b/win32/plugins/peopsxgl/winsrc/cfg.c index 99c29b27..eef8f650 100644..100755 --- a/win32/plugins/peopsxgl/winsrc/cfg.c +++ b/win32/plugins/peopsxgl/winsrc/cfg.c @@ -1,1041 +1,1041 @@ -/***************************************************************************
- cfg.c - description
- -------------------
- begin : Sun Mar 08 2009
- copyright : (C) 1999-2009 by Pete Bernert
- web : www.pbernert.com
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-#define _IN_CFG
-
-/////////////////////////////////////////////////////////////////////////////
-// Windows config handling
-
-#include "stdafx.h"
-#include "resource.h"
-#include "externals.h"
-#include "cfg.h"
-#include <stdio.h>
-
-char szKeyDefaults[7]={VK_DELETE,VK_INSERT,VK_HOME,VK_END,VK_PRIOR,VK_NEXT,0x00};
-
-/////////////////////////////////////////////////////////////////////////////
-// CCfgDlg dialog
-
-BOOL OnInitCfgDialog(HWND hW);
-void OnCfgOK(HWND hW);
-void OnCfgCancel(HWND hW);
-void OnCfgDef1(HWND hW);
-void OnCfgDef2(HWND hW);
-void OnBugFixes(HWND hW);
-void OnKeyConfig(HWND hW);
-void GetSettings(HWND hW);
-void OnClipboard(HWND hW);
-char * GetConfigInfos(HWND hWE);
-
-BOOL CALLBACK CfgDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch(uMsg)
- {
- case WM_INITDIALOG:
- return OnInitCfgDialog(hW);
-
- case WM_COMMAND:
- {
- switch(LOWORD(wParam))
- {
- case IDC_DEF1: OnCfgDef1(hW); return TRUE;
- case IDC_DEF2: OnCfgDef2(hW); return TRUE;
- case IDC_SELFIX: OnBugFixes(hW); return TRUE;
- case IDC_KEYCONFIG: OnKeyConfig(hW); return TRUE;
- case IDCANCEL: OnCfgCancel(hW); return TRUE;
- case IDOK: OnCfgOK(hW); return TRUE;
- case IDC_CLIPBOARD: OnClipboard(hW); return TRUE;
- }
- }
- }
- return FALSE;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// CCfgDlg message handlers
-
-////////////////////////////////////////////////////////////////////////
-// init dlg
-////////////////////////////////////////////////////////////////////////
-
-void ComboBoxAddRes(HWND hWC,char * cs) // ADD COMBOBOX RESOURCES
-{
- int i=ComboBox_FindString(hWC,-1,cs);
- if(i!=CB_ERR) return;
- ComboBox_AddString(hWC,cs);
-}
-
-
-BOOL OnInitCfgDialog(HWND hW) // INIT CONFIG DIALOG
-{
- HWND hWC;char cs[256];int i;DEVMODE dv;
-
- ReadConfig(); // read registry stuff
-
- //----------------------------------------------------// fill combo with available resolutions
-
- hWC=GetDlgItem(hW,IDC_RESOLUTION);
-
- memset(&dv,0,sizeof(DEVMODE));
- dv.dmSize=sizeof(DEVMODE);
- i=0;
-
- while(EnumDisplaySettings(NULL,i,&dv)) // add all resolutions from the driver
- {
- wsprintf(cs,"%4d x %4d",dv.dmPelsWidth,dv.dmPelsHeight);
- ComboBoxAddRes(hWC,cs);
- i++;
- }
-
- ComboBoxAddRes(hWC," 640 x 480"); // and also add some common ones
- ComboBoxAddRes(hWC," 800 x 600");
- ComboBoxAddRes(hWC,"1024 x 768");
- ComboBoxAddRes(hWC,"1152 x 864");
- ComboBoxAddRes(hWC,"1280 x 1024");
- ComboBoxAddRes(hWC,"1600 x 1200");
-
- wsprintf(cs,"%4d x %4d",iResX,iResY); // search curr resolution in combo
- i=ComboBox_FindString(hWC,-1,cs);
- if(i==CB_ERR) i=0;
- ComboBox_SetCurSel(hWC,i); // and select this one
-
- //----------------------------------------------------// window size
-
- SetDlgItemInt(hW,IDC_WINX,LOWORD(iWinSize),FALSE);
- SetDlgItemInt(hW,IDC_WINY,HIWORD(iWinSize),FALSE);
-
- //----------------------------------------------------// color depth
-
- hWC=GetDlgItem(hW,IDC_COLORDEPTH);
- ComboBox_AddString(hWC,"16 Bit");
- ComboBox_AddString(hWC,"32 Bit");
- wsprintf(cs,"%d Bit",iColDepth);
- i=ComboBox_FindString(hWC,-1,cs);
- if(i==CB_ERR) i=0;
- ComboBox_SetCurSel(hWC,i);
-
- //----------------------------------------------------// vsync
-
- hWC=GetDlgItem(hW,IDC_VSYNC);
- ComboBox_AddString(hWC,"Driver");
- ComboBox_AddString(hWC,"Off");
- ComboBox_AddString(hWC,"On");
- ComboBox_SetCurSel(hWC,iForceVSync+1);
-
- //----------------------------------------------------// vram size
-
- hWC=GetDlgItem(hW,IDC_VRAMSIZE);
- ComboBox_AddString(hWC,"0 (Autodetect)");
- ComboBox_AddString(hWC,"2");
- ComboBox_AddString(hWC,"4");
- ComboBox_AddString(hWC,"8");
- ComboBox_AddString(hWC,"16");
- ComboBox_AddString(hWC,"32");
- ComboBox_AddString(hWC,"64");
- ComboBox_AddString(hWC,"128 (or more)");
-
- if(!iVRamSize) ComboBox_SetCurSel(hWC,0);
- else {wsprintf(cs,"%d",iVRamSize);ComboBox_SetText(hWC,cs);}
-
- //----------------------------------------------------// texture quality
-
- hWC=GetDlgItem(hW,IDC_TEXQUALITY);
- ComboBox_AddString(hWC,"don't care - Use driver's default textures");
- ComboBox_AddString(hWC,"R4 G4 B4 A4 - Fast, but less colorful");
- ComboBox_AddString(hWC,"R5 G5 B5 A1 - Nice colors, bad transparency");
- ComboBox_AddString(hWC,"R8 G8 B8 A8 - Best colors, more ram needed");
- ComboBox_AddString(hWC,"B8 G8 R8 A8 - Slightly faster with some cards");
- ComboBox_SetCurSel(hWC,iTexQuality);
-
- //----------------------------------------------------// all kind of on/off options
-
- if(bDrawDither) CheckDlgButton(hW,IDC_DRAWDITHER,TRUE);
- if(bUseLines) CheckDlgButton(hW,IDC_USELINES,TRUE);
- if(bUseFrameLimit) CheckDlgButton(hW,IDC_USELIMIT,TRUE);
- if(bUseFrameSkip) CheckDlgButton(hW,IDC_USESKIP,TRUE);
- if(bAdvancedBlend) CheckDlgButton(hW,IDC_ADVBLEND,TRUE);
- if(bOpaquePass) CheckDlgButton(hW,IDC_OPAQUE,TRUE);
-// if(bUseAntiAlias) CheckDlgButton(hW,IDC_USEANTIALIAS,TRUE);
- if(bWindowMode) CheckDlgButton(hW,IDC_DISPMODE2,TRUE);
- else CheckDlgButton(hW,IDC_DISPMODE1,TRUE);
- if(iUseMask) CheckDlgButton(hW,IDC_USEMASK,TRUE);
- if(bUseFastMdec) CheckDlgButton(hW,IDC_FASTMDEC,TRUE);
- if(bUse15bitMdec) CheckDlgButton(hW,IDC_FASTMDEC2,TRUE);
- if(bUseFixes) CheckDlgButton(hW,IDC_GAMEFIX,TRUE);
- if(bGteAccuracy) CheckDlgButton(hW,IDC_GTEACCURACY,TRUE);
- if(iUseScanLines) CheckDlgButton(hW,IDC_USESCANLINES,TRUE);
- if(iShowFPS) CheckDlgButton(hW,IDC_SHOWFPS,TRUE);
- if(bKeepRatio) CheckDlgButton(hW,IDC_ARATIO,TRUE);
- if(iBlurBuffer) CheckDlgButton(hW,IDC_BLUR,TRUE);
- if(iNoScreenSaver) CheckDlgButton(hW,IDC_SSAVE,TRUE);
-
- //----------------------------------------------------// texture filter
-
- hWC=GetDlgItem(hW,IDC_FILTERTYPE);
- ComboBox_AddString(hWC,"0: None");
- ComboBox_AddString(hWC,"1: Standard - Glitches will happen");
- ComboBox_AddString(hWC,"2: Extended - Removes black borders");
- ComboBox_AddString(hWC,"3: Standard w/o Sprites - unfiltered 2D");
- ComboBox_AddString(hWC,"4: Extended w/o Sprites - unfiltered 2D");
- ComboBox_AddString(hWC,"5: Standard + smoothed Sprites");
- ComboBox_AddString(hWC,"6: Extended + smoothed Sprites");
- ComboBox_SetCurSel(hWC,iFilterType);
-
- //----------------------------------------------------// hires texture mode
-
- hWC=GetDlgItem(hW,IDC_HIRESTEX);
- ComboBox_AddString(hWC,"0: None (standard)");
- ComboBox_AddString(hWC,"1: 2xSaI (much vram needed)");
- ComboBox_AddString(hWC,"2: Stretched (filtering needed)");
- ComboBox_SetCurSel(hWC,iHiResTextures);
-
- //----------------------------------------------------// offscreen drawing
-
- hWC=GetDlgItem(hW,IDC_OFFSCREEN);
- ComboBox_AddString(hWC,"0: None - Fastest, most glitches");
- ComboBox_AddString(hWC,"1: Minimum - Missing screens");
- ComboBox_AddString(hWC,"2: Standard - OK for most games");
- ComboBox_AddString(hWC,"3: Enhanced - Shows more stuff");
- ComboBox_AddString(hWC,"4: Extended - Can cause garbage");
- ComboBox_SetCurSel(hWC,iOffscreenDrawing);
-
- //----------------------------------------------------// texture quality
-
- hWC=GetDlgItem(hW,IDC_FRAMETEX);
- ComboBox_AddString(hWC,"0: Emulated vram - effects need FVP");
- ComboBox_AddString(hWC,"1: Black - Fast but no special effects");
- ComboBox_AddString(hWC,"2: Gfx card buffer - Can be slow");
- ComboBox_AddString(hWC,"3: Gfx card buffer & software - slow");
- ComboBox_SetCurSel(hWC,iFrameTexType);
-
- //----------------------------------------------------// framebuffer read mode
-
- hWC=GetDlgItem(hW,IDC_FRAMEREAD);
- ComboBox_AddString(hWC,"0: Emulated vram - OK for most games");
- ComboBox_AddString(hWC,"1: Gfx card buffer reads");
- ComboBox_AddString(hWC,"2: Gfx card buffer moves");
- ComboBox_AddString(hWC,"3: Gfx card buffer reads & moves");
- ComboBox_AddString(hWC,"4: Full software drawing (FVP)");
- ComboBox_SetCurSel(hWC,iFrameReadType);
-
- //----------------------------------------------------// framerate stuff
-
- if(iFrameLimit==2)
- CheckDlgButton(hW,IDC_FRAMEAUTO,TRUE);
- else CheckDlgButton(hW,IDC_FRAMEMANUELL,TRUE);
-
- sprintf(cs,"%.2f",fFrameRate);
- SetDlgItemText(hW,IDC_FRAMELIMIT,cs);
- SetDlgItemInt(hW,IDC_SCANBLEND,iScanBlend,TRUE);
-
- return TRUE;
-}
-
-////////////////////////////////////////////////////////////////////////
-// on ok: take vals
-////////////////////////////////////////////////////////////////////////
-
-void GetSettings(HWND hW)
-{
- HWND hWC;char cs[256];int i,j;char * p;
-
- hWC=GetDlgItem(hW,IDC_VRAMSIZE); // get vram size
- ComboBox_GetText(hWC,cs,255);
- iVRamSize=atoi(cs);
- if(iVRamSize<0) iVRamSize=0;
- if(iVRamSize>1024) iVRamSize=1024;
-
- hWC=GetDlgItem(hW,IDC_RESOLUTION); // get resolution
- i=ComboBox_GetCurSel(hWC);
- ComboBox_GetLBText(hWC,i,cs);
- iResX=atol(cs);
- p=strchr(cs,'x');
- if(p) iResY=atol(p+1);
- else iResY=480;
-
- hWC=GetDlgItem(hW,IDC_COLORDEPTH); // get color depth
- i=ComboBox_GetCurSel(hWC);
- ComboBox_GetLBText(hWC,i,cs);
- iColDepth=atol(cs);
-
- hWC=GetDlgItem(hW,IDC_VSYNC); // get vsync
- iForceVSync=ComboBox_GetCurSel(hWC)-1;
-
- i=GetDlgItemInt(hW,IDC_WINX,NULL,FALSE); // get win size
- if(i<100) i=100; if(i>16384) i=16384;
- j=GetDlgItemInt(hW,IDC_WINY,NULL,FALSE);
- if(j<100) j=100; if(j>16384) j=16384;
- iWinSize=MAKELONG(i,j);
-
- hWC=GetDlgItem(hW,IDC_TEXQUALITY); // texture quality
- iTexQuality=ComboBox_GetCurSel(hWC);
-
- hWC=GetDlgItem(hW,IDC_FILTERTYPE); // all kind of options
- iFilterType=ComboBox_GetCurSel(hWC);
-
- if(IsDlgButtonChecked(hW,IDC_DRAWDITHER))
- bDrawDither=TRUE; else bDrawDither=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_USELINES))
- bUseLines=TRUE; else bUseLines=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_DISPMODE2))
- bWindowMode=TRUE; else bWindowMode=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_ADVBLEND))
- bAdvancedBlend=TRUE; else bAdvancedBlend=FALSE;
-
- iOffscreenDrawing=ComboBox_GetCurSel(GetDlgItem(hW,IDC_OFFSCREEN));
-
- iFrameTexType=ComboBox_GetCurSel(GetDlgItem(hW,IDC_FRAMETEX));
- iFrameReadType=ComboBox_GetCurSel(GetDlgItem(hW,IDC_FRAMEREAD));
-
- if(IsDlgButtonChecked(hW,IDC_USELIMIT))
- bUseFrameLimit=TRUE; else bUseFrameLimit=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_USESKIP))
- bUseFrameSkip=TRUE; else bUseFrameSkip=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_OPAQUE))
- bOpaquePass=TRUE; else bOpaquePass=FALSE;
-
-// if(IsDlgButtonChecked(hW,IDC_USEANTIALIAS))
-// bUseAntiAlias=TRUE; else bUseAntiAlias=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_FASTMDEC))
- bUseFastMdec=TRUE; else bUseFastMdec=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_FASTMDEC2))
- bUse15bitMdec=TRUE; else bUse15bitMdec=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_GAMEFIX))
- bUseFixes=TRUE; else bUseFixes=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_GTEACCURACY))
- bGteAccuracy=TRUE; else bGteAccuracy=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_USESCANLINES))
- iUseScanLines=1; else iUseScanLines=0;
-
- if(IsDlgButtonChecked(hW,IDC_SHOWFPS))
- iShowFPS=1; else iShowFPS=0;
-
- if(IsDlgButtonChecked(hW,IDC_ARATIO))
- bKeepRatio=TRUE; else bKeepRatio=FALSE;
-
- if(IsDlgButtonChecked(hW,IDC_BLUR))
- iBlurBuffer=1; else iBlurBuffer=0;
-
- if(IsDlgButtonChecked(hW,IDC_SSAVE))
- iNoScreenSaver=1; else iNoScreenSaver=0;
-
- hWC=GetDlgItem(hW,IDC_HIRESTEX);
- iHiResTextures=ComboBox_GetCurSel(hWC);
-
- if(IsDlgButtonChecked(hW,IDC_USEMASK))
- {iUseMask=1;iZBufferDepth=16;}
- else {iUseMask=0;iZBufferDepth=0; }
-
- iScanBlend=GetDlgItemInt(hW,IDC_SCANBLEND,NULL,TRUE);
- if(iScanBlend>255) iScanBlend=0;
- if(iScanBlend<-1) iScanBlend=-1;
-
- if(IsDlgButtonChecked(hW,IDC_FRAMEAUTO)) // frame rate settings
- iFrameLimit=2;
- else iFrameLimit=1;
-
- GetDlgItemText(hW,IDC_FRAMELIMIT,cs,255);
- fFrameRate=(float)atof(cs);
- if(fFrameRate<10.0f) fFrameRate=10.0f;
- if(fFrameRate>1000.0f) fFrameRate=1000.0f;
-}
-
-////////////////////////////////////////////////////////////////////////
-// OK button
-////////////////////////////////////////////////////////////////////////
-
-void OnCfgOK(HWND hW)
-{
- GetSettings(hW); // get dialog settings
-
- WriteConfig(); // write registry
-
- EndDialog(hW,TRUE); // close dialog
-}
-
-////////////////////////////////////////////////////////////////////////
-// Clipboard button
-////////////////////////////////////////////////////////////////////////
-
-void OnClipboard(HWND hW)
-{
- HWND hWE=GetDlgItem(hW,IDC_CLPEDIT);
- char * pB;
-
- GetSettings(hW); // get dialog setings
- pB=GetConfigInfos(hWE); // get text infos
-
- if(pB) // some text got?
- {
- SetDlgItemText(hW,IDC_CLPEDIT,pB); // -> set text in invisible edit
- SendMessage(hWE,EM_SETSEL,0,-1); // -> sel all in edit
- SendMessage(hWE,WM_COPY,0,0); // -> copy sel to clipboard
- free(pB); // -> free helper text buffer
-
- MessageBox(hW,"Configuration info successfully copied to the clipboard\nJust use the PASTE function in another program to retrieve the data!","Copy Info",MB_ICONINFORMATION|MB_OK);
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-// Cancel button (just closes window)
-////////////////////////////////////////////////////////////////////////
-
-void OnCfgCancel(HWND hW)
-{
- EndDialog(hW,FALSE);
-}
-
-////////////////////////////////////////////////////////////////////////
-// Bug fixes
-////////////////////////////////////////////////////////////////////////
-
-BOOL CALLBACK BugFixesDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch(uMsg)
- {
- case WM_INITDIALOG: // init dialog:
- {
- int i;
-
- for(i=0;i<32;i++) // -> loop all 32 checkboxes
- {
- if(dwCfgFixes&(1<<i)) // --> if fix is active: check box
- CheckDlgButton(hW,IDC_FIX1+i,TRUE);
- }
- }
-
- case WM_COMMAND:
- {
- switch(LOWORD(wParam))
- {
- case IDCANCEL: EndDialog(hW,FALSE);return TRUE; // cancel: close window
-
- case IDOK: // ok: take settings and close
- {
- int i;
- dwCfgFixes=0;
- for(i=0;i<32;i++)
- {
- if(IsDlgButtonChecked(hW,IDC_FIX1+i))
- dwCfgFixes|=(1<<i);
- }
- EndDialog(hW,TRUE);
- return TRUE;
- }
- }
- }
- }
- return FALSE;
-}
-
-void OnBugFixes(HWND hW) // bug fix button:
-{
- DialogBox(hInst,MAKEINTRESOURCE(IDD_FIXES), // show fix window
- hW,(DLGPROC)BugFixesDlgProc);
-}
-
-////////////////////////////////////////////////////////////////////////
-// default 1: fast
-////////////////////////////////////////////////////////////////////////
-
-void OnCfgDef1(HWND hW)
-{
- HWND hWC;
-
- hWC=GetDlgItem(hW,IDC_RESOLUTION);
- ComboBox_SetCurSel(hWC,0);
- hWC=GetDlgItem(hW,IDC_COLORDEPTH);
- ComboBox_SetCurSel(hWC,0);
- hWC=GetDlgItem(hW,IDC_VSYNC);
- ComboBox_SetCurSel(hWC,1);
- hWC=GetDlgItem(hW,IDC_TEXQUALITY);
- ComboBox_SetCurSel(hWC,0);
- hWC=GetDlgItem(hW,IDC_FILTERTYPE);
- ComboBox_SetCurSel(hWC,0);
- hWC=GetDlgItem(hW,IDC_OFFSCREEN);
- ComboBox_SetCurSel(hWC,1);
- hWC=GetDlgItem(hW,IDC_VRAMSIZE);
- ComboBox_SetCurSel(hWC,0);
-
- CheckDlgButton(hW,IDC_TEXLINEAR,FALSE);
- CheckDlgButton(hW,IDC_DRAWDITHER,FALSE);
- CheckDlgButton(hW,IDC_USELINES,FALSE);
- CheckDlgButton(hW,IDC_USELIMIT,FALSE);
- CheckDlgButton(hW,IDC_USESKIP,FALSE);
- CheckDlgButton(hW,IDC_ADVBLEND,FALSE);
- CheckDlgButton(hW,IDC_OPAQUE,TRUE);
-// CheckDlgButton(hW,IDC_USEANTIALIAS,FALSE);
- CheckDlgButton(hW,IDC_DISPMODE2,FALSE);
- CheckDlgButton(hW,IDC_DISPMODE1,TRUE);
- CheckDlgButton(hW,IDC_FRAMEAUTO,TRUE);
- CheckDlgButton(hW,IDC_FRAMEMANUELL,FALSE);
- CheckDlgButton(hW,IDC_SHOWFPS,FALSE);
-
- ComboBox_SetCurSel(GetDlgItem(hW,IDC_SUBCACHE),2);
- ComboBox_SetCurSel(GetDlgItem(hW,IDC_FRAMETEX),1);
- ComboBox_SetCurSel(GetDlgItem(hW,IDC_FRAMEREAD),0);
-
- CheckDlgButton(hW,IDC_USEMASK,FALSE);
- CheckDlgButton(hW,IDC_FASTMDEC,TRUE);
- CheckDlgButton(hW,IDC_FASTMDEC2,TRUE);
- CheckDlgButton(hW,IDC_USESCANLINES,FALSE);
-
- SetDlgItemInt(hW,IDC_FRAMELIMIT,200,FALSE);
- SetDlgItemInt(hW,IDC_WINX,640,FALSE);
- SetDlgItemInt(hW,IDC_WINY,480,FALSE);
-
- CheckDlgButton(hW,IDC_ARATIO,FALSE);
- CheckDlgButton(hW,IDC_BLUR,FALSE);
-
- SetDlgItemInt(hW,IDC_SCANBLEND,0,TRUE);
- ComboBox_SetCurSel(GetDlgItem(hW,IDC_HIRESTEX),0);
- CheckDlgButton(hW,IDC_SSAVE,FALSE);
-}
-
-////////////////////////////////////////////////////////////////////////
-// default 2: nice
-////////////////////////////////////////////////////////////////////////
-
-void OnCfgDef2(HWND hW)
-{
- HWND hWC;
-
- hWC=GetDlgItem(hW,IDC_RESOLUTION);
- ComboBox_SetCurSel(hWC,1);
- hWC=GetDlgItem(hW,IDC_COLORDEPTH);
- ComboBox_SetCurSel(hWC,1);
- hWC=GetDlgItem(hW,IDC_VSYNC);
- ComboBox_SetCurSel(hWC,2);
- hWC=GetDlgItem(hW,IDC_TEXQUALITY);
- ComboBox_SetCurSel(hWC,3);
- hWC=GetDlgItem(hW,IDC_FILTERTYPE);
- ComboBox_SetCurSel(hWC,0);
- hWC=GetDlgItem(hW,IDC_OFFSCREEN);
- ComboBox_SetCurSel(hWC,3);
- hWC=GetDlgItem(hW,IDC_VRAMSIZE);
- ComboBox_SetCurSel(hWC,0);
-
- CheckDlgButton(hW,IDC_TEXLINEAR,FALSE);
- CheckDlgButton(hW,IDC_DRAWDITHER,FALSE);
- CheckDlgButton(hW,IDC_USELINES,FALSE);
- CheckDlgButton(hW,IDC_USELIMIT,TRUE);
- CheckDlgButton(hW,IDC_USESKIP,FALSE);
- CheckDlgButton(hW,IDC_ADVBLEND,TRUE);
- CheckDlgButton(hW,IDC_OPAQUE,TRUE);
-// CheckDlgButton(hW,IDC_USEANTIALIAS,FALSE);
- CheckDlgButton(hW,IDC_DISPMODE2,FALSE);
- CheckDlgButton(hW,IDC_DISPMODE1,TRUE);
- CheckDlgButton(hW,IDC_FRAMEAUTO,TRUE);
- CheckDlgButton(hW,IDC_FRAMEMANUELL,FALSE);
- CheckDlgButton(hW,IDC_SHOWFPS,FALSE);
-
- ComboBox_SetCurSel(GetDlgItem(hW,IDC_SUBCACHE),2);
- ComboBox_SetCurSel(GetDlgItem(hW,IDC_FRAMETEX),2);
- ComboBox_SetCurSel(GetDlgItem(hW,IDC_FRAMEREAD),0);
-
- CheckDlgButton(hW,IDC_USEMASK,TRUE);
- CheckDlgButton(hW,IDC_FASTMDEC,FALSE);
- CheckDlgButton(hW,IDC_FASTMDEC2,FALSE);
- CheckDlgButton(hW,IDC_USESCANLINES,FALSE);
-
- SetDlgItemInt(hW,IDC_FRAMELIMIT,200,FALSE);
- SetDlgItemInt(hW,IDC_WINX,640,FALSE);
- SetDlgItemInt(hW,IDC_WINY,480,FALSE);
- CheckDlgButton(hW,IDC_ARATIO,FALSE);
- CheckDlgButton(hW,IDC_BLUR,FALSE);
- SetDlgItemInt(hW,IDC_SCANBLEND,0,TRUE);
- ComboBox_SetCurSel(GetDlgItem(hW,IDC_HIRESTEX),0);
- CheckDlgButton(hW,IDC_SSAVE,FALSE);
-}
-
-////////////////////////////////////////////////////////////////////////
-// read registry
-////////////////////////////////////////////////////////////////////////
-
-void ReadConfig(void) // read all config vals
-{
- HKEY myKey;
- DWORD temp;
- DWORD type;
- DWORD size;
-
- // pre-init all relevant globals
-
- iResX=800;iResY=600;
- iColDepth=32;
- bChangeRes=FALSE;
- bWindowMode=FALSE;
- bFullVRam=FALSE;
- iFilterType=0;
- bAdvancedBlend=FALSE;
- bDrawDither=FALSE;
- bUseLines=FALSE;
- bUseFrameLimit=TRUE;
- bUseFrameSkip=FALSE;
- iFrameLimit=2;
- fFrameRate=200.0f;
- iOffscreenDrawing=1;
- bOpaquePass=TRUE;
- bUseAntiAlias=FALSE;
- iTexQuality=0;
- iWinSize=MAKELONG(400,300);
- iUseMask=0;
- iZBufferDepth=0;
- bUseFastMdec=FALSE;
- bUse15bitMdec=FALSE;
- dwCfgFixes=0;
- bUseFixes=FALSE;
- bGteAccuracy=FALSE;
- iUseScanLines=0;
- iFrameTexType=0;
- iFrameReadType=0;
- iShowFPS=0;
- bKeepRatio=FALSE;
- iScanBlend=0;
- iVRamSize=0;
- iTexGarbageCollection=1;
- iBlurBuffer=0;
- iHiResTextures=0;
- iNoScreenSaver=1;
- iForceVSync=-1;
-
- lstrcpy(szGPUKeys,szKeyDefaults);
-
- // registry key: still "psemu pro/pete tnt" for compatibility reasons
-
- if (RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\Vision Thing\\PSEmu Pro\\GPU\\PeteTNT",0,KEY_ALL_ACCESS,&myKey)==ERROR_SUCCESS)
- {
- size = 4;
- if(RegQueryValueEx(myKey,"ResX",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iResX=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"ResY",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iResY=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"WinSize",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iWinSize=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"FilterType",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iFilterType=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"DrawDither",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bDrawDither=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"UseLines",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bUseLines=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"WindowMode",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bWindowMode=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"ColDepth",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iColDepth=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"ForceVSync",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iForceVSync=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"UseFrameLimit",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bUseFrameLimit=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"UseFrameSkip",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bUseFrameSkip=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"FrameLimit",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iFrameLimit=(int)temp;
- if(!iFrameLimit) {bUseFrameLimit=TRUE;bUseFrameSkip=FALSE;iFrameLimit=2;}
-
- // try to get the float framerate... if none: take int framerate
- fFrameRate=0.0f;
- size = 4;
- if(RegQueryValueEx(myKey,"FrameRateFloat",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- fFrameRate=*((float *)(&temp));
- if(fFrameRate==0.0f)
- {
- fFrameRate=200.0f;
- size = 4;
- if(RegQueryValueEx(myKey,"FrameRate",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- fFrameRate=(float)temp;
- }
-
- size = 4;
- if(RegQueryValueEx(myKey,"UseMultiPass",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bAdvancedBlend=(int)temp;
- size = 4;
- iOffscreenDrawing=-1;
- if(RegQueryValueEx(myKey,"OffscreenDrawingEx",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iOffscreenDrawing=temp;
- if(iOffscreenDrawing==-1 &&
- RegQueryValueEx(myKey,"OffscreenDrawing",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iOffscreenDrawing=temp*2;
- size = 4;
- if(RegQueryValueEx(myKey,"OpaquePass",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bOpaquePass=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"VRamSize",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iVRamSize=(int)temp;
-// size = 4;
-// if(RegQueryValueEx(myKey,"UseAntiAlias",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
-// bUseAntiAlias=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"TexQuality",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iTexQuality=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"CfgFixes",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- dwCfgFixes=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"UseFixes",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bUseFixes=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"GteAccuracy",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bGteAccuracy=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"UseMask",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iUseMask=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"FastMdec",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bUseFastMdec=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"15BitMdec",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bUse15bitMdec=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"UseScanLines",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iUseScanLines=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"ShowFPS",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iShowFPS=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"KeepRatio",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- bKeepRatio=(BOOL)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"ScanBlend",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iScanBlend=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"FrameTexType",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iFrameTexType=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"FrameReadType",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iFrameReadType=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"FullscreenBlur",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iBlurBuffer=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"HiResTextures",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iHiResTextures=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"NoScreenSaver",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iNoScreenSaver=(int)temp;
-
- size=7;
- RegQueryValueEx(myKey,"GPUKeys",0,&type,(LPBYTE)&szGPUKeys,&size);
-
- RegCloseKey(myKey);
- }
- if(!iColDepth) iColDepth=32; // adjust color info
- if(iUseMask) iZBufferDepth=16; // set zbuffer depth
- else iZBufferDepth=0;
- if(bUseFixes) dwActFixes=dwCfgFixes; // init game fix global
- if(iFrameReadType==4) bFullVRam=TRUE; // set fullvram render flag (soft gpu)
-}
-
-////////////////////////////////////////////////////////////////////////
-// read registry: window size (called on fullscreen/window resize)
-////////////////////////////////////////////////////////////////////////
-
-void ReadWinSizeConfig(void)
-{
- HKEY myKey;
- DWORD temp;
- DWORD type;
- DWORD size;
-
- iResX=800;iResY=600;
- iWinSize=MAKELONG(400,300);
- iBlurBuffer=0;
-
- // registry key: still "psemu pro/pete tnt" for compatibility reasons
-
- if (RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\Vision Thing\\PSEmu Pro\\GPU\\PeteTNT",0,KEY_ALL_ACCESS,&myKey)==ERROR_SUCCESS)
- {
- size = 4;
- if(RegQueryValueEx(myKey,"ResX",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iResX=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"ResY",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iResY=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"WinSize",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iWinSize=(int)temp;
- size = 4;
- if(RegQueryValueEx(myKey,"FullscreenBlur",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
- iBlurBuffer=(int)temp;
- RegCloseKey(myKey);
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-// write registry
-////////////////////////////////////////////////////////////////////////
-
-void WriteConfig(void)
-{
- HKEY myKey;
- DWORD myDisp;
- DWORD temp;
-
- // registry key: still "psemu pro/pete tnt" for compatibility reasons
-
- RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Vision Thing\\PSEmu Pro\\GPU\\PeteTNT",0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&myKey,&myDisp);
- temp=iResX;
- RegSetValueEx(myKey,"ResX",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iResY;
- RegSetValueEx(myKey,"ResY",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iWinSize;
- RegSetValueEx(myKey,"WinSize",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iFilterType;
- RegSetValueEx(myKey,"FilterType",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bDrawDither;
- RegSetValueEx(myKey,"DrawDither",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bUseLines;
- RegSetValueEx(myKey,"UseLines",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bWindowMode;
- RegSetValueEx(myKey,"WindowMode",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iColDepth;
- RegSetValueEx(myKey,"ColDepth",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iForceVSync;
- RegSetValueEx(myKey,"ForceVSync",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bUseFrameLimit;
- RegSetValueEx(myKey,"UseFrameLimit",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bUseFrameSkip;
- RegSetValueEx(myKey,"UseFrameSkip",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iFrameLimit;
- RegSetValueEx(myKey,"FrameLimit",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=(DWORD)fFrameRate;
- RegSetValueEx(myKey,"FrameRate",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=*((DWORD *)&fFrameRate);
- RegSetValueEx(myKey,"FrameRateFloat",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bAdvancedBlend;
- RegSetValueEx(myKey,"UseMultiPass",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iOffscreenDrawing/2;
- RegSetValueEx(myKey,"OffscreenDrawing",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iOffscreenDrawing;
- RegSetValueEx(myKey,"OffscreenDrawingEx",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bOpaquePass;
- RegSetValueEx(myKey,"OpaquePass",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iVRamSize;
- RegSetValueEx(myKey,"VRamSize",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
-// temp=bUseAntiAlias;
-// RegSetValueEx(myKey,"UseAntiAlias",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iTexQuality;
- RegSetValueEx(myKey,"TexQuality",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=dwCfgFixes;
- RegSetValueEx(myKey,"CfgFixes",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bUseFixes;
- RegSetValueEx(myKey,"UseFixes",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bGteAccuracy;
- RegSetValueEx(myKey,"GteAccuracy",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iUseMask;
- RegSetValueEx(myKey,"UseMask",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bUseFastMdec;
- RegSetValueEx(myKey,"FastMdec",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bUse15bitMdec;
- RegSetValueEx(myKey,"15BitMdec",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iUseScanLines;
- RegSetValueEx(myKey,"UseScanLines",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iShowFPS;
- RegSetValueEx(myKey,"ShowFPS",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iFrameTexType;
- RegSetValueEx(myKey,"FrameTexType",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iFrameReadType;
- RegSetValueEx(myKey,"FrameReadType",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=bKeepRatio;
- RegSetValueEx(myKey,"KeepRatio",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iBlurBuffer;
- RegSetValueEx(myKey,"FullscreenBlur",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iHiResTextures;
- RegSetValueEx(myKey,"HiResTextures",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iNoScreenSaver;
- RegSetValueEx(myKey,"NoScreenSaver",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- temp=iScanBlend;
- RegSetValueEx(myKey,"ScanBlend",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
- RegSetValueEx(myKey,"GPUKeys",0,REG_BINARY,(LPBYTE)szGPUKeys,7);
-
- RegCloseKey(myKey);
-}
-
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-// Key definition window
-
-typedef struct
-{
- char szName[10];
- char cCode;
-}
-KEYSETS;
-
-// sepcial keys:
-
-KEYSETS tMKeys[]=
-{
- {"SPACE", 0x20},
- {"PRIOR", 0x21},
- {"NEXT", 0x22},
- {"END", 0x23},
- {"HOME", 0x24},
- {"LEFT", 0x25},
- {"UP", 0x26},
- {"RIGHT", 0x27},
- {"DOWN", 0x28},
- {"SELECT", 0x29},
- {"PRINT", 0x2A},
- {"EXECUTE", 0x2B},
- {"SNAPSHOT", 0x2C},
- {"INSERT", 0x2D},
- {"DELETE", 0x2E},
- {"HELP", 0x2F},
- {"NUMPAD0", 0x60},
- {"NUMPAD1", 0x61},
- {"NUMPAD2", 0x62},
- {"NUMPAD3", 0x63},
- {"NUMPAD4", 0x64},
- {"NUMPAD5", 0x65},
- {"NUMPAD6", 0x66},
- {"NUMPAD7", 0x67},
- {"NUMPAD8", 0x68},
- {"NUMPAD9", 0x69},
- {"MULTIPLY", 0x6A},
- {"ADD", 0x6B},
- {"SEPARATOR", 0x6C},
- {"SUBTRACT", 0x6D},
- {"DECIMAL", 0x6E},
- {"DIVIDE", 0x6F},
- {"", 0x00}
-};
-
-// select key entry in combo box
-
-void SetGPUKey(HWND hWC,char szKey)
-{
- int i,iCnt=ComboBox_GetCount(hWC);
- for(i=0;i<iCnt;i++)
- {
- if(ComboBox_GetItemData(hWC,i)==szKey) break;
- }
- if(i!=iCnt) ComboBox_SetCurSel(hWC,i);
-}
-
-// key window proc
-
-BOOL CALLBACK KeyDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch(uMsg)
- {
- case WM_INITDIALOG: // init dialog
- {
- int i,j,k;char szB[2];HWND hWC;
- for(i=IDC_KEY1;i<=IDC_KEY6;i++)
- {
- hWC=GetDlgItem(hW,i);
-
- for(j=0;tMKeys[j].cCode!=0;j++) // fill special keys in combo
- {
- k=ComboBox_AddString(hWC,tMKeys[j].szName);
- ComboBox_SetItemData(hWC,k,tMKeys[j].cCode);
- }
- for(j=0x30;j<=0x39;j++) // fill numbers in combo
- {
- wsprintf(szB,"%c",j);
- k=ComboBox_AddString(hWC,szB);
- ComboBox_SetItemData(hWC,k,j);
- }
- for(j=0x41;j<=0x5a;j++) // fill alphas in combo
- {
- wsprintf(szB,"%c",j);
- k=ComboBox_AddString(hWC,szB);
- ComboBox_SetItemData(hWC,k,j);
- }
- SetGPUKey(GetDlgItem(hW,i),szGPUKeys[i-IDC_KEY1]);
- }
- }return TRUE;
-
- case WM_COMMAND:
- {
- switch(LOWORD(wParam))
- {
- case IDC_DEFAULT: // default button:
- {
- int i; // -> set defaults
- for(i=IDC_KEY1;i<=IDC_KEY6;i++)
- SetGPUKey(GetDlgItem(hW,i),szKeyDefaults[i-IDC_KEY1]);
- }break;
-
- case IDCANCEL: // cancel: just close window
- EndDialog(hW,FALSE); return TRUE;
-
- case IDOK: // ok: take key bindings
- {
- HWND hWC;int i;
- for(i=IDC_KEY1;i<=IDC_KEY6;i++)
- {
- hWC=GetDlgItem(hW,i);
- szGPUKeys[i-IDC_KEY1]=ComboBox_GetItemData(hWC,ComboBox_GetCurSel(hWC));
- if(szGPUKeys[i-IDC_KEY1]<0x20) szGPUKeys[i-IDC_KEY1]=0x20;
- }
- EndDialog(hW,TRUE);
- return TRUE;
- }
- }
- }
- }
- return FALSE;
-}
-
-void OnKeyConfig(HWND hW) // call key dialog
-{
- DialogBox(hInst,MAKEINTRESOURCE(IDD_KEYS),
- hW,(DLGPROC)KeyDlgProc);
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// AboutDlg dialog (Windows)
-
-BOOL CALLBACK AboutDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch(uMsg)
- {
- case WM_COMMAND:
- {
- switch(LOWORD(wParam))
- {
- case IDOK: EndDialog(hW,TRUE);return TRUE;
- }
- }
- }
- return FALSE;
-}
+/*************************************************************************** + cfg.c - description + ------------------- + begin : Sun Mar 08 2009 + copyright : (C) 1999-2009 by Pete Bernert + web : www.pbernert.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +#define _IN_CFG + +///////////////////////////////////////////////////////////////////////////// +// Windows config handling + +#include "stdafx.h" +#include "resource.h" +#include "externals.h" +#include "cfg.h" +#include <stdio.h> + +char szKeyDefaults[7]={VK_DELETE,VK_INSERT,VK_HOME,VK_END,VK_PRIOR,VK_NEXT,0x00}; + +///////////////////////////////////////////////////////////////////////////// +// CCfgDlg dialog + +BOOL OnInitCfgDialog(HWND hW); +void OnCfgOK(HWND hW); +void OnCfgCancel(HWND hW); +void OnCfgDef1(HWND hW); +void OnCfgDef2(HWND hW); +void OnBugFixes(HWND hW); +void OnKeyConfig(HWND hW); +void GetSettings(HWND hW); +void OnClipboard(HWND hW); +char * GetConfigInfos(HWND hWE); + +BOOL CALLBACK CfgDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + switch(uMsg) + { + case WM_INITDIALOG: + return OnInitCfgDialog(hW); + + case WM_COMMAND: + { + switch(LOWORD(wParam)) + { + case IDC_DEF1: OnCfgDef1(hW); return TRUE; + case IDC_DEF2: OnCfgDef2(hW); return TRUE; + case IDC_SELFIX: OnBugFixes(hW); return TRUE; + case IDC_KEYCONFIG: OnKeyConfig(hW); return TRUE; + case IDCANCEL: OnCfgCancel(hW); return TRUE; + case IDOK: OnCfgOK(hW); return TRUE; + case IDC_CLIPBOARD: OnClipboard(hW); return TRUE; + } + } + } + return FALSE; +} + +///////////////////////////////////////////////////////////////////////////// +// CCfgDlg message handlers + +//////////////////////////////////////////////////////////////////////// +// init dlg +//////////////////////////////////////////////////////////////////////// + +void ComboBoxAddRes(HWND hWC,char * cs) // ADD COMBOBOX RESOURCES +{ + int i=ComboBox_FindString(hWC,-1,cs); + if(i!=CB_ERR) return; + ComboBox_AddString(hWC,cs); +} + + +BOOL OnInitCfgDialog(HWND hW) // INIT CONFIG DIALOG +{ + HWND hWC;char cs[256];int i;DEVMODE dv; + + ReadConfig(); // read registry stuff + + //----------------------------------------------------// fill combo with available resolutions + + hWC=GetDlgItem(hW,IDC_RESOLUTION); + + memset(&dv,0,sizeof(DEVMODE)); + dv.dmSize=sizeof(DEVMODE); + i=0; + + while(EnumDisplaySettings(NULL,i,&dv)) // add all resolutions from the driver + { + wsprintf(cs,"%4d x %4d",dv.dmPelsWidth,dv.dmPelsHeight); + ComboBoxAddRes(hWC,cs); + i++; + } + + ComboBoxAddRes(hWC," 640 x 480"); // and also add some common ones + ComboBoxAddRes(hWC," 800 x 600"); + ComboBoxAddRes(hWC,"1024 x 768"); + ComboBoxAddRes(hWC,"1152 x 864"); + ComboBoxAddRes(hWC,"1280 x 1024"); + ComboBoxAddRes(hWC,"1600 x 1200"); + + wsprintf(cs,"%4d x %4d",iResX,iResY); // search curr resolution in combo + i=ComboBox_FindString(hWC,-1,cs); + if(i==CB_ERR) i=0; + ComboBox_SetCurSel(hWC,i); // and select this one + + //----------------------------------------------------// window size + + SetDlgItemInt(hW,IDC_WINX,LOWORD(iWinSize),FALSE); + SetDlgItemInt(hW,IDC_WINY,HIWORD(iWinSize),FALSE); + + //----------------------------------------------------// color depth + + hWC=GetDlgItem(hW,IDC_COLORDEPTH); + ComboBox_AddString(hWC,"16 Bit"); + ComboBox_AddString(hWC,"32 Bit"); + wsprintf(cs,"%d Bit",iColDepth); + i=ComboBox_FindString(hWC,-1,cs); + if(i==CB_ERR) i=0; + ComboBox_SetCurSel(hWC,i); + + //----------------------------------------------------// vsync + + hWC=GetDlgItem(hW,IDC_VSYNC); + ComboBox_AddString(hWC,"Driver"); + ComboBox_AddString(hWC,"Off"); + ComboBox_AddString(hWC,"On"); + ComboBox_SetCurSel(hWC,iForceVSync+1); + + //----------------------------------------------------// vram size + + hWC=GetDlgItem(hW,IDC_VRAMSIZE); + ComboBox_AddString(hWC,"0 (Autodetect)"); + ComboBox_AddString(hWC,"2"); + ComboBox_AddString(hWC,"4"); + ComboBox_AddString(hWC,"8"); + ComboBox_AddString(hWC,"16"); + ComboBox_AddString(hWC,"32"); + ComboBox_AddString(hWC,"64"); + ComboBox_AddString(hWC,"128 (or more)"); + + if(!iVRamSize) ComboBox_SetCurSel(hWC,0); + else {wsprintf(cs,"%d",iVRamSize);ComboBox_SetText(hWC,cs);} + + //----------------------------------------------------// texture quality + + hWC=GetDlgItem(hW,IDC_TEXQUALITY); + ComboBox_AddString(hWC,"don't care - Use driver's default textures"); + ComboBox_AddString(hWC,"R4 G4 B4 A4 - Fast, but less colorful"); + ComboBox_AddString(hWC,"R5 G5 B5 A1 - Nice colors, bad transparency"); + ComboBox_AddString(hWC,"R8 G8 B8 A8 - Best colors, more ram needed"); + ComboBox_AddString(hWC,"B8 G8 R8 A8 - Slightly faster with some cards"); + ComboBox_SetCurSel(hWC,iTexQuality); + + //----------------------------------------------------// all kind of on/off options + + if(bDrawDither) CheckDlgButton(hW,IDC_DRAWDITHER,TRUE); + if(bUseLines) CheckDlgButton(hW,IDC_USELINES,TRUE); + if(bUseFrameLimit) CheckDlgButton(hW,IDC_USELIMIT,TRUE); + if(bUseFrameSkip) CheckDlgButton(hW,IDC_USESKIP,TRUE); + if(bAdvancedBlend) CheckDlgButton(hW,IDC_ADVBLEND,TRUE); + if(bOpaquePass) CheckDlgButton(hW,IDC_OPAQUE,TRUE); +// if(bUseAntiAlias) CheckDlgButton(hW,IDC_USEANTIALIAS,TRUE); + if(bWindowMode) CheckDlgButton(hW,IDC_DISPMODE2,TRUE); + else CheckDlgButton(hW,IDC_DISPMODE1,TRUE); + if(iUseMask) CheckDlgButton(hW,IDC_USEMASK,TRUE); + if(bUseFastMdec) CheckDlgButton(hW,IDC_FASTMDEC,TRUE); + if(bUse15bitMdec) CheckDlgButton(hW,IDC_FASTMDEC2,TRUE); + if(bUseFixes) CheckDlgButton(hW,IDC_GAMEFIX,TRUE); + if(bGteAccuracy) CheckDlgButton(hW,IDC_GTEACCURACY,TRUE); + if(iUseScanLines) CheckDlgButton(hW,IDC_USESCANLINES,TRUE); + if(iShowFPS) CheckDlgButton(hW,IDC_SHOWFPS,TRUE); + if(bKeepRatio) CheckDlgButton(hW,IDC_ARATIO,TRUE); + if(iBlurBuffer) CheckDlgButton(hW,IDC_BLUR,TRUE); + if(iNoScreenSaver) CheckDlgButton(hW,IDC_SSAVE,TRUE); + + //----------------------------------------------------// texture filter + + hWC=GetDlgItem(hW,IDC_FILTERTYPE); + ComboBox_AddString(hWC,"0: None"); + ComboBox_AddString(hWC,"1: Standard - Glitches will happen"); + ComboBox_AddString(hWC,"2: Extended - Removes black borders"); + ComboBox_AddString(hWC,"3: Standard w/o Sprites - unfiltered 2D"); + ComboBox_AddString(hWC,"4: Extended w/o Sprites - unfiltered 2D"); + ComboBox_AddString(hWC,"5: Standard + smoothed Sprites"); + ComboBox_AddString(hWC,"6: Extended + smoothed Sprites"); + ComboBox_SetCurSel(hWC,iFilterType); + + //----------------------------------------------------// hires texture mode + + hWC=GetDlgItem(hW,IDC_HIRESTEX); + ComboBox_AddString(hWC,"0: None (standard)"); + ComboBox_AddString(hWC,"1: 2xSaI (much vram needed)"); + ComboBox_AddString(hWC,"2: Stretched (filtering needed)"); + ComboBox_SetCurSel(hWC,iHiResTextures); + + //----------------------------------------------------// offscreen drawing + + hWC=GetDlgItem(hW,IDC_OFFSCREEN); + ComboBox_AddString(hWC,"0: None - Fastest, most glitches"); + ComboBox_AddString(hWC,"1: Minimum - Missing screens"); + ComboBox_AddString(hWC,"2: Standard - OK for most games"); + ComboBox_AddString(hWC,"3: Enhanced - Shows more stuff"); + ComboBox_AddString(hWC,"4: Extended - Can cause garbage"); + ComboBox_SetCurSel(hWC,iOffscreenDrawing); + + //----------------------------------------------------// texture quality + + hWC=GetDlgItem(hW,IDC_FRAMETEX); + ComboBox_AddString(hWC,"0: Emulated vram - effects need FVP"); + ComboBox_AddString(hWC,"1: Black - Fast but no special effects"); + ComboBox_AddString(hWC,"2: Gfx card buffer - Can be slow"); + ComboBox_AddString(hWC,"3: Gfx card buffer & software - slow"); + ComboBox_SetCurSel(hWC,iFrameTexType); + + //----------------------------------------------------// framebuffer read mode + + hWC=GetDlgItem(hW,IDC_FRAMEREAD); + ComboBox_AddString(hWC,"0: Emulated vram - OK for most games"); + ComboBox_AddString(hWC,"1: Gfx card buffer reads"); + ComboBox_AddString(hWC,"2: Gfx card buffer moves"); + ComboBox_AddString(hWC,"3: Gfx card buffer reads & moves"); + ComboBox_AddString(hWC,"4: Full software drawing (FVP)"); + ComboBox_SetCurSel(hWC,iFrameReadType); + + //----------------------------------------------------// framerate stuff + + if(iFrameLimit==2) + CheckDlgButton(hW,IDC_FRAMEAUTO,TRUE); + else CheckDlgButton(hW,IDC_FRAMEMANUELL,TRUE); + + sprintf(cs,"%.2f",fFrameRate); + SetDlgItemText(hW,IDC_FRAMELIMIT,cs); + SetDlgItemInt(hW,IDC_SCANBLEND,iScanBlend,TRUE); + + return TRUE; +} + +//////////////////////////////////////////////////////////////////////// +// on ok: take vals +//////////////////////////////////////////////////////////////////////// + +void GetSettings(HWND hW) +{ + HWND hWC;char cs[256];int i,j;char * p; + + hWC=GetDlgItem(hW,IDC_VRAMSIZE); // get vram size + ComboBox_GetText(hWC,cs,255); + iVRamSize=atoi(cs); + if(iVRamSize<0) iVRamSize=0; + if(iVRamSize>1024) iVRamSize=1024; + + hWC=GetDlgItem(hW,IDC_RESOLUTION); // get resolution + i=ComboBox_GetCurSel(hWC); + ComboBox_GetLBText(hWC,i,cs); + iResX=atol(cs); + p=strchr(cs,'x'); + if(p) iResY=atol(p+1); + else iResY=480; + + hWC=GetDlgItem(hW,IDC_COLORDEPTH); // get color depth + i=ComboBox_GetCurSel(hWC); + ComboBox_GetLBText(hWC,i,cs); + iColDepth=atol(cs); + + hWC=GetDlgItem(hW,IDC_VSYNC); // get vsync + iForceVSync=ComboBox_GetCurSel(hWC)-1; + + i=GetDlgItemInt(hW,IDC_WINX,NULL,FALSE); // get win size + if(i<100) i=100; if(i>16384) i=16384; + j=GetDlgItemInt(hW,IDC_WINY,NULL,FALSE); + if(j<100) j=100; if(j>16384) j=16384; + iWinSize=MAKELONG(i,j); + + hWC=GetDlgItem(hW,IDC_TEXQUALITY); // texture quality + iTexQuality=ComboBox_GetCurSel(hWC); + + hWC=GetDlgItem(hW,IDC_FILTERTYPE); // all kind of options + iFilterType=ComboBox_GetCurSel(hWC); + + if(IsDlgButtonChecked(hW,IDC_DRAWDITHER)) + bDrawDither=TRUE; else bDrawDither=FALSE; + + if(IsDlgButtonChecked(hW,IDC_USELINES)) + bUseLines=TRUE; else bUseLines=FALSE; + + if(IsDlgButtonChecked(hW,IDC_DISPMODE2)) + bWindowMode=TRUE; else bWindowMode=FALSE; + + if(IsDlgButtonChecked(hW,IDC_ADVBLEND)) + bAdvancedBlend=TRUE; else bAdvancedBlend=FALSE; + + iOffscreenDrawing=ComboBox_GetCurSel(GetDlgItem(hW,IDC_OFFSCREEN)); + + iFrameTexType=ComboBox_GetCurSel(GetDlgItem(hW,IDC_FRAMETEX)); + iFrameReadType=ComboBox_GetCurSel(GetDlgItem(hW,IDC_FRAMEREAD)); + + if(IsDlgButtonChecked(hW,IDC_USELIMIT)) + bUseFrameLimit=TRUE; else bUseFrameLimit=FALSE; + + if(IsDlgButtonChecked(hW,IDC_USESKIP)) + bUseFrameSkip=TRUE; else bUseFrameSkip=FALSE; + + if(IsDlgButtonChecked(hW,IDC_OPAQUE)) + bOpaquePass=TRUE; else bOpaquePass=FALSE; + +// if(IsDlgButtonChecked(hW,IDC_USEANTIALIAS)) +// bUseAntiAlias=TRUE; else bUseAntiAlias=FALSE; + + if(IsDlgButtonChecked(hW,IDC_FASTMDEC)) + bUseFastMdec=TRUE; else bUseFastMdec=FALSE; + + if(IsDlgButtonChecked(hW,IDC_FASTMDEC2)) + bUse15bitMdec=TRUE; else bUse15bitMdec=FALSE; + + if(IsDlgButtonChecked(hW,IDC_GAMEFIX)) + bUseFixes=TRUE; else bUseFixes=FALSE; + + if(IsDlgButtonChecked(hW,IDC_GTEACCURACY)) + bGteAccuracy=TRUE; else bGteAccuracy=FALSE; + + if(IsDlgButtonChecked(hW,IDC_USESCANLINES)) + iUseScanLines=1; else iUseScanLines=0; + + if(IsDlgButtonChecked(hW,IDC_SHOWFPS)) + iShowFPS=1; else iShowFPS=0; + + if(IsDlgButtonChecked(hW,IDC_ARATIO)) + bKeepRatio=TRUE; else bKeepRatio=FALSE; + + if(IsDlgButtonChecked(hW,IDC_BLUR)) + iBlurBuffer=1; else iBlurBuffer=0; + + if(IsDlgButtonChecked(hW,IDC_SSAVE)) + iNoScreenSaver=1; else iNoScreenSaver=0; + + hWC=GetDlgItem(hW,IDC_HIRESTEX); + iHiResTextures=ComboBox_GetCurSel(hWC); + + if(IsDlgButtonChecked(hW,IDC_USEMASK)) + {iUseMask=1;iZBufferDepth=16;} + else {iUseMask=0;iZBufferDepth=0; } + + iScanBlend=GetDlgItemInt(hW,IDC_SCANBLEND,NULL,TRUE); + if(iScanBlend>255) iScanBlend=0; + if(iScanBlend<-1) iScanBlend=-1; + + if(IsDlgButtonChecked(hW,IDC_FRAMEAUTO)) // frame rate settings + iFrameLimit=2; + else iFrameLimit=1; + + GetDlgItemText(hW,IDC_FRAMELIMIT,cs,255); + fFrameRate=(float)atof(cs); + if(fFrameRate<10.0f) fFrameRate=10.0f; + if(fFrameRate>1000.0f) fFrameRate=1000.0f; +} + +//////////////////////////////////////////////////////////////////////// +// OK button +//////////////////////////////////////////////////////////////////////// + +void OnCfgOK(HWND hW) +{ + GetSettings(hW); // get dialog settings + + WriteConfig(); // write registry + + EndDialog(hW,TRUE); // close dialog +} + +//////////////////////////////////////////////////////////////////////// +// Clipboard button +//////////////////////////////////////////////////////////////////////// + +void OnClipboard(HWND hW) +{ + HWND hWE=GetDlgItem(hW,IDC_CLPEDIT); + char * pB; + + GetSettings(hW); // get dialog setings + pB=GetConfigInfos(hWE); // get text infos + + if(pB) // some text got? + { + SetDlgItemText(hW,IDC_CLPEDIT,pB); // -> set text in invisible edit + SendMessage(hWE,EM_SETSEL,0,-1); // -> sel all in edit + SendMessage(hWE,WM_COPY,0,0); // -> copy sel to clipboard + free(pB); // -> free helper text buffer + + MessageBox(hW,"Configuration info successfully copied to the clipboard\nJust use the PASTE function in another program to retrieve the data!","Copy Info",MB_ICONINFORMATION|MB_OK); + } +} + +//////////////////////////////////////////////////////////////////////// +// Cancel button (just closes window) +//////////////////////////////////////////////////////////////////////// + +void OnCfgCancel(HWND hW) +{ + EndDialog(hW,FALSE); +} + +//////////////////////////////////////////////////////////////////////// +// Bug fixes +//////////////////////////////////////////////////////////////////////// + +BOOL CALLBACK BugFixesDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + switch(uMsg) + { + case WM_INITDIALOG: // init dialog: + { + int i; + + for(i=0;i<32;i++) // -> loop all 32 checkboxes + { + if(dwCfgFixes&(1<<i)) // --> if fix is active: check box + CheckDlgButton(hW,IDC_FIX1+i,TRUE); + } + } + + case WM_COMMAND: + { + switch(LOWORD(wParam)) + { + case IDCANCEL: EndDialog(hW,FALSE);return TRUE; // cancel: close window + + case IDOK: // ok: take settings and close + { + int i; + dwCfgFixes=0; + for(i=0;i<32;i++) + { + if(IsDlgButtonChecked(hW,IDC_FIX1+i)) + dwCfgFixes|=(1<<i); + } + EndDialog(hW,TRUE); + return TRUE; + } + } + } + } + return FALSE; +} + +void OnBugFixes(HWND hW) // bug fix button: +{ + DialogBox(hInst,MAKEINTRESOURCE(IDD_FIXES), // show fix window + hW,(DLGPROC)BugFixesDlgProc); +} + +//////////////////////////////////////////////////////////////////////// +// default 1: fast +//////////////////////////////////////////////////////////////////////// + +void OnCfgDef1(HWND hW) +{ + HWND hWC; + + hWC=GetDlgItem(hW,IDC_RESOLUTION); + ComboBox_SetCurSel(hWC,0); + hWC=GetDlgItem(hW,IDC_COLORDEPTH); + ComboBox_SetCurSel(hWC,0); + hWC=GetDlgItem(hW,IDC_VSYNC); + ComboBox_SetCurSel(hWC,1); + hWC=GetDlgItem(hW,IDC_TEXQUALITY); + ComboBox_SetCurSel(hWC,0); + hWC=GetDlgItem(hW,IDC_FILTERTYPE); + ComboBox_SetCurSel(hWC,0); + hWC=GetDlgItem(hW,IDC_OFFSCREEN); + ComboBox_SetCurSel(hWC,1); + hWC=GetDlgItem(hW,IDC_VRAMSIZE); + ComboBox_SetCurSel(hWC,0); + + CheckDlgButton(hW,IDC_TEXLINEAR,FALSE); + CheckDlgButton(hW,IDC_DRAWDITHER,FALSE); + CheckDlgButton(hW,IDC_USELINES,FALSE); + CheckDlgButton(hW,IDC_USELIMIT,FALSE); + CheckDlgButton(hW,IDC_USESKIP,FALSE); + CheckDlgButton(hW,IDC_ADVBLEND,FALSE); + CheckDlgButton(hW,IDC_OPAQUE,TRUE); +// CheckDlgButton(hW,IDC_USEANTIALIAS,FALSE); + CheckDlgButton(hW,IDC_DISPMODE2,FALSE); + CheckDlgButton(hW,IDC_DISPMODE1,TRUE); + CheckDlgButton(hW,IDC_FRAMEAUTO,TRUE); + CheckDlgButton(hW,IDC_FRAMEMANUELL,FALSE); + CheckDlgButton(hW,IDC_SHOWFPS,FALSE); + + ComboBox_SetCurSel(GetDlgItem(hW,IDC_SUBCACHE),2); + ComboBox_SetCurSel(GetDlgItem(hW,IDC_FRAMETEX),1); + ComboBox_SetCurSel(GetDlgItem(hW,IDC_FRAMEREAD),0); + + CheckDlgButton(hW,IDC_USEMASK,FALSE); + CheckDlgButton(hW,IDC_FASTMDEC,TRUE); + CheckDlgButton(hW,IDC_FASTMDEC2,TRUE); + CheckDlgButton(hW,IDC_USESCANLINES,FALSE); + + SetDlgItemInt(hW,IDC_FRAMELIMIT,200,FALSE); + SetDlgItemInt(hW,IDC_WINX,640,FALSE); + SetDlgItemInt(hW,IDC_WINY,480,FALSE); + + CheckDlgButton(hW,IDC_ARATIO,FALSE); + CheckDlgButton(hW,IDC_BLUR,FALSE); + + SetDlgItemInt(hW,IDC_SCANBLEND,0,TRUE); + ComboBox_SetCurSel(GetDlgItem(hW,IDC_HIRESTEX),0); + CheckDlgButton(hW,IDC_SSAVE,FALSE); +} + +//////////////////////////////////////////////////////////////////////// +// default 2: nice +//////////////////////////////////////////////////////////////////////// + +void OnCfgDef2(HWND hW) +{ + HWND hWC; + + hWC=GetDlgItem(hW,IDC_RESOLUTION); + ComboBox_SetCurSel(hWC,1); + hWC=GetDlgItem(hW,IDC_COLORDEPTH); + ComboBox_SetCurSel(hWC,1); + hWC=GetDlgItem(hW,IDC_VSYNC); + ComboBox_SetCurSel(hWC,2); + hWC=GetDlgItem(hW,IDC_TEXQUALITY); + ComboBox_SetCurSel(hWC,3); + hWC=GetDlgItem(hW,IDC_FILTERTYPE); + ComboBox_SetCurSel(hWC,0); + hWC=GetDlgItem(hW,IDC_OFFSCREEN); + ComboBox_SetCurSel(hWC,3); + hWC=GetDlgItem(hW,IDC_VRAMSIZE); + ComboBox_SetCurSel(hWC,0); + + CheckDlgButton(hW,IDC_TEXLINEAR,FALSE); + CheckDlgButton(hW,IDC_DRAWDITHER,FALSE); + CheckDlgButton(hW,IDC_USELINES,FALSE); + CheckDlgButton(hW,IDC_USELIMIT,TRUE); + CheckDlgButton(hW,IDC_USESKIP,FALSE); + CheckDlgButton(hW,IDC_ADVBLEND,TRUE); + CheckDlgButton(hW,IDC_OPAQUE,TRUE); +// CheckDlgButton(hW,IDC_USEANTIALIAS,FALSE); + CheckDlgButton(hW,IDC_DISPMODE2,FALSE); + CheckDlgButton(hW,IDC_DISPMODE1,TRUE); + CheckDlgButton(hW,IDC_FRAMEAUTO,TRUE); + CheckDlgButton(hW,IDC_FRAMEMANUELL,FALSE); + CheckDlgButton(hW,IDC_SHOWFPS,FALSE); + + ComboBox_SetCurSel(GetDlgItem(hW,IDC_SUBCACHE),2); + ComboBox_SetCurSel(GetDlgItem(hW,IDC_FRAMETEX),2); + ComboBox_SetCurSel(GetDlgItem(hW,IDC_FRAMEREAD),0); + + CheckDlgButton(hW,IDC_USEMASK,TRUE); + CheckDlgButton(hW,IDC_FASTMDEC,FALSE); + CheckDlgButton(hW,IDC_FASTMDEC2,FALSE); + CheckDlgButton(hW,IDC_USESCANLINES,FALSE); + + SetDlgItemInt(hW,IDC_FRAMELIMIT,200,FALSE); + SetDlgItemInt(hW,IDC_WINX,640,FALSE); + SetDlgItemInt(hW,IDC_WINY,480,FALSE); + CheckDlgButton(hW,IDC_ARATIO,FALSE); + CheckDlgButton(hW,IDC_BLUR,FALSE); + SetDlgItemInt(hW,IDC_SCANBLEND,0,TRUE); + ComboBox_SetCurSel(GetDlgItem(hW,IDC_HIRESTEX),0); + CheckDlgButton(hW,IDC_SSAVE,FALSE); +} + +//////////////////////////////////////////////////////////////////////// +// read registry +//////////////////////////////////////////////////////////////////////// + +void ReadConfig(void) // read all config vals +{ + HKEY myKey; + DWORD temp; + DWORD type; + DWORD size; + + // pre-init all relevant globals + + iResX=800;iResY=600; + iColDepth=32; + bChangeRes=FALSE; + bWindowMode=FALSE; + bFullVRam=FALSE; + iFilterType=0; + bAdvancedBlend=FALSE; + bDrawDither=FALSE; + bUseLines=FALSE; + bUseFrameLimit=TRUE; + bUseFrameSkip=FALSE; + iFrameLimit=2; + fFrameRate=200.0f; + iOffscreenDrawing=1; + bOpaquePass=TRUE; + bUseAntiAlias=FALSE; + iTexQuality=0; + iWinSize=MAKELONG(400,300); + iUseMask=0; + iZBufferDepth=0; + bUseFastMdec=FALSE; + bUse15bitMdec=FALSE; + dwCfgFixes=0; + bUseFixes=FALSE; + bGteAccuracy=FALSE; + iUseScanLines=0; + iFrameTexType=0; + iFrameReadType=0; + iShowFPS=0; + bKeepRatio=FALSE; + iScanBlend=0; + iVRamSize=0; + iTexGarbageCollection=1; + iBlurBuffer=0; + iHiResTextures=0; + iNoScreenSaver=1; + iForceVSync=-1; + + lstrcpy(szGPUKeys,szKeyDefaults); + + // registry key: still "psemu pro/pete tnt" for compatibility reasons + + if (RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\Vision Thing\\PSEmu Pro\\GPU\\PeteTNT",0,KEY_ALL_ACCESS,&myKey)==ERROR_SUCCESS) + { + size = 4; + if(RegQueryValueEx(myKey,"ResX",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iResX=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"ResY",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iResY=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"WinSize",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iWinSize=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"FilterType",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iFilterType=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"DrawDither",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bDrawDither=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"UseLines",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bUseLines=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"WindowMode",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bWindowMode=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"ColDepth",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iColDepth=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"ForceVSync",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iForceVSync=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"UseFrameLimit",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bUseFrameLimit=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"UseFrameSkip",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bUseFrameSkip=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"FrameLimit",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iFrameLimit=(int)temp; + if(!iFrameLimit) {bUseFrameLimit=TRUE;bUseFrameSkip=FALSE;iFrameLimit=2;} + + // try to get the float framerate... if none: take int framerate + fFrameRate=0.0f; + size = 4; + if(RegQueryValueEx(myKey,"FrameRateFloat",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + fFrameRate=*((float *)(&temp)); + if(fFrameRate==0.0f) + { + fFrameRate=200.0f; + size = 4; + if(RegQueryValueEx(myKey,"FrameRate",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + fFrameRate=(float)temp; + } + + size = 4; + if(RegQueryValueEx(myKey,"UseMultiPass",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bAdvancedBlend=(int)temp; + size = 4; + iOffscreenDrawing=-1; + if(RegQueryValueEx(myKey,"OffscreenDrawingEx",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iOffscreenDrawing=temp; + if(iOffscreenDrawing==-1 && + RegQueryValueEx(myKey,"OffscreenDrawing",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iOffscreenDrawing=temp*2; + size = 4; + if(RegQueryValueEx(myKey,"OpaquePass",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bOpaquePass=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"VRamSize",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iVRamSize=(int)temp; +// size = 4; +// if(RegQueryValueEx(myKey,"UseAntiAlias",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) +// bUseAntiAlias=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"TexQuality",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iTexQuality=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"CfgFixes",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + dwCfgFixes=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"UseFixes",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bUseFixes=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"GteAccuracy",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bGteAccuracy=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"UseMask",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iUseMask=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"FastMdec",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bUseFastMdec=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"15BitMdec",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bUse15bitMdec=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"UseScanLines",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iUseScanLines=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"ShowFPS",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iShowFPS=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"KeepRatio",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + bKeepRatio=(BOOL)temp; + size = 4; + if(RegQueryValueEx(myKey,"ScanBlend",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iScanBlend=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"FrameTexType",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iFrameTexType=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"FrameReadType",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iFrameReadType=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"FullscreenBlur",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iBlurBuffer=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"HiResTextures",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iHiResTextures=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"NoScreenSaver",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iNoScreenSaver=(int)temp; + + size=7; + RegQueryValueEx(myKey,"GPUKeys",0,&type,(LPBYTE)&szGPUKeys,&size); + + RegCloseKey(myKey); + } + if(!iColDepth) iColDepth=32; // adjust color info + if(iUseMask) iZBufferDepth=16; // set zbuffer depth + else iZBufferDepth=0; + if(bUseFixes) dwActFixes=dwCfgFixes; // init game fix global + if(iFrameReadType==4) bFullVRam=TRUE; // set fullvram render flag (soft gpu) +} + +//////////////////////////////////////////////////////////////////////// +// read registry: window size (called on fullscreen/window resize) +//////////////////////////////////////////////////////////////////////// + +void ReadWinSizeConfig(void) +{ + HKEY myKey; + DWORD temp; + DWORD type; + DWORD size; + + iResX=800;iResY=600; + iWinSize=MAKELONG(400,300); + iBlurBuffer=0; + + // registry key: still "psemu pro/pete tnt" for compatibility reasons + + if (RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\Vision Thing\\PSEmu Pro\\GPU\\PeteTNT",0,KEY_ALL_ACCESS,&myKey)==ERROR_SUCCESS) + { + size = 4; + if(RegQueryValueEx(myKey,"ResX",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iResX=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"ResY",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iResY=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"WinSize",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iWinSize=(int)temp; + size = 4; + if(RegQueryValueEx(myKey,"FullscreenBlur",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS) + iBlurBuffer=(int)temp; + RegCloseKey(myKey); + } +} + +//////////////////////////////////////////////////////////////////////// +// write registry +//////////////////////////////////////////////////////////////////////// + +void WriteConfig(void) +{ + HKEY myKey; + DWORD myDisp; + DWORD temp; + + // registry key: still "psemu pro/pete tnt" for compatibility reasons + + RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Vision Thing\\PSEmu Pro\\GPU\\PeteTNT",0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&myKey,&myDisp); + temp=iResX; + RegSetValueEx(myKey,"ResX",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iResY; + RegSetValueEx(myKey,"ResY",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iWinSize; + RegSetValueEx(myKey,"WinSize",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iFilterType; + RegSetValueEx(myKey,"FilterType",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bDrawDither; + RegSetValueEx(myKey,"DrawDither",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bUseLines; + RegSetValueEx(myKey,"UseLines",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bWindowMode; + RegSetValueEx(myKey,"WindowMode",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iColDepth; + RegSetValueEx(myKey,"ColDepth",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iForceVSync; + RegSetValueEx(myKey,"ForceVSync",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bUseFrameLimit; + RegSetValueEx(myKey,"UseFrameLimit",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bUseFrameSkip; + RegSetValueEx(myKey,"UseFrameSkip",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iFrameLimit; + RegSetValueEx(myKey,"FrameLimit",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=(DWORD)fFrameRate; + RegSetValueEx(myKey,"FrameRate",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=*((DWORD *)&fFrameRate); + RegSetValueEx(myKey,"FrameRateFloat",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bAdvancedBlend; + RegSetValueEx(myKey,"UseMultiPass",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iOffscreenDrawing/2; + RegSetValueEx(myKey,"OffscreenDrawing",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iOffscreenDrawing; + RegSetValueEx(myKey,"OffscreenDrawingEx",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bOpaquePass; + RegSetValueEx(myKey,"OpaquePass",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iVRamSize; + RegSetValueEx(myKey,"VRamSize",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); +// temp=bUseAntiAlias; +// RegSetValueEx(myKey,"UseAntiAlias",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iTexQuality; + RegSetValueEx(myKey,"TexQuality",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=dwCfgFixes; + RegSetValueEx(myKey,"CfgFixes",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bUseFixes; + RegSetValueEx(myKey,"UseFixes",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bGteAccuracy; + RegSetValueEx(myKey,"GteAccuracy",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iUseMask; + RegSetValueEx(myKey,"UseMask",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bUseFastMdec; + RegSetValueEx(myKey,"FastMdec",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bUse15bitMdec; + RegSetValueEx(myKey,"15BitMdec",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iUseScanLines; + RegSetValueEx(myKey,"UseScanLines",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iShowFPS; + RegSetValueEx(myKey,"ShowFPS",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iFrameTexType; + RegSetValueEx(myKey,"FrameTexType",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iFrameReadType; + RegSetValueEx(myKey,"FrameReadType",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=bKeepRatio; + RegSetValueEx(myKey,"KeepRatio",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iBlurBuffer; + RegSetValueEx(myKey,"FullscreenBlur",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iHiResTextures; + RegSetValueEx(myKey,"HiResTextures",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iNoScreenSaver; + RegSetValueEx(myKey,"NoScreenSaver",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + temp=iScanBlend; + RegSetValueEx(myKey,"ScanBlend",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp)); + RegSetValueEx(myKey,"GPUKeys",0,REG_BINARY,(LPBYTE)szGPUKeys,7); + + RegCloseKey(myKey); +} + +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +// Key definition window + +typedef struct +{ + char szName[10]; + char cCode; +} +KEYSETS; + +// sepcial keys: + +KEYSETS tMKeys[]= +{ + {"SPACE", 0x20}, + {"PRIOR", 0x21}, + {"NEXT", 0x22}, + {"END", 0x23}, + {"HOME", 0x24}, + {"LEFT", 0x25}, + {"UP", 0x26}, + {"RIGHT", 0x27}, + {"DOWN", 0x28}, + {"SELECT", 0x29}, + {"PRINT", 0x2A}, + {"EXECUTE", 0x2B}, + {"SNAPSHOT", 0x2C}, + {"INSERT", 0x2D}, + {"DELETE", 0x2E}, + {"HELP", 0x2F}, + {"NUMPAD0", 0x60}, + {"NUMPAD1", 0x61}, + {"NUMPAD2", 0x62}, + {"NUMPAD3", 0x63}, + {"NUMPAD4", 0x64}, + {"NUMPAD5", 0x65}, + {"NUMPAD6", 0x66}, + {"NUMPAD7", 0x67}, + {"NUMPAD8", 0x68}, + {"NUMPAD9", 0x69}, + {"MULTIPLY", 0x6A}, + {"ADD", 0x6B}, + {"SEPARATOR", 0x6C}, + {"SUBTRACT", 0x6D}, + {"DECIMAL", 0x6E}, + {"DIVIDE", 0x6F}, + {"", 0x00} +}; + +// select key entry in combo box + +void SetGPUKey(HWND hWC,char szKey) +{ + int i,iCnt=ComboBox_GetCount(hWC); + for(i=0;i<iCnt;i++) + { + if(ComboBox_GetItemData(hWC,i)==szKey) break; + } + if(i!=iCnt) ComboBox_SetCurSel(hWC,i); +} + +// key window proc + +BOOL CALLBACK KeyDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + switch(uMsg) + { + case WM_INITDIALOG: // init dialog + { + int i,j,k;char szB[2];HWND hWC; + for(i=IDC_KEY1;i<=IDC_KEY6;i++) + { + hWC=GetDlgItem(hW,i); + + for(j=0;tMKeys[j].cCode!=0;j++) // fill special keys in combo + { + k=ComboBox_AddString(hWC,tMKeys[j].szName); + ComboBox_SetItemData(hWC,k,tMKeys[j].cCode); + } + for(j=0x30;j<=0x39;j++) // fill numbers in combo + { + wsprintf(szB,"%c",j); + k=ComboBox_AddString(hWC,szB); + ComboBox_SetItemData(hWC,k,j); + } + for(j=0x41;j<=0x5a;j++) // fill alphas in combo + { + wsprintf(szB,"%c",j); + k=ComboBox_AddString(hWC,szB); + ComboBox_SetItemData(hWC,k,j); + } + SetGPUKey(GetDlgItem(hW,i),szGPUKeys[i-IDC_KEY1]); + } + }return TRUE; + + case WM_COMMAND: + { + switch(LOWORD(wParam)) + { + case IDC_DEFAULT: // default button: + { + int i; // -> set defaults + for(i=IDC_KEY1;i<=IDC_KEY6;i++) + SetGPUKey(GetDlgItem(hW,i),szKeyDefaults[i-IDC_KEY1]); + }break; + + case IDCANCEL: // cancel: just close window + EndDialog(hW,FALSE); return TRUE; + + case IDOK: // ok: take key bindings + { + HWND hWC;int i; + for(i=IDC_KEY1;i<=IDC_KEY6;i++) + { + hWC=GetDlgItem(hW,i); + szGPUKeys[i-IDC_KEY1]=ComboBox_GetItemData(hWC,ComboBox_GetCurSel(hWC)); + if(szGPUKeys[i-IDC_KEY1]<0x20) szGPUKeys[i-IDC_KEY1]=0x20; + } + EndDialog(hW,TRUE); + return TRUE; + } + } + } + } + return FALSE; +} + +void OnKeyConfig(HWND hW) // call key dialog +{ + DialogBox(hInst,MAKEINTRESOURCE(IDD_KEYS), + hW,(DLGPROC)KeyDlgProc); +} + +///////////////////////////////////////////////////////////////////////////// +// AboutDlg dialog (Windows) + +BOOL CALLBACK AboutDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + switch(uMsg) + { + case WM_COMMAND: + { + switch(LOWORD(wParam)) + { + case IDOK: EndDialog(hW,TRUE);return TRUE; + } + } + } + return FALSE; +} diff --git a/win32/plugins/peopsxgl/winsrc/fps.c b/win32/plugins/peopsxgl/winsrc/fps.c index 6faf82c6..2e751107 100644..100755 --- a/win32/plugins/peopsxgl/winsrc/fps.c +++ b/win32/plugins/peopsxgl/winsrc/fps.c @@ -1,641 +1,641 @@ -/***************************************************************************
- fps.c - description
- -------------------
- begin : Sun Mar 08 2009
- copyright : (C) 1999-2009 by Pete Bernert
- web : www.pbernert.com
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2009/03/08 - Pete
-// - generic cleanup for the Peops release
-//
-//*************************************************************************//
-
-#include "stdafx.h"
-
-#define _IN_FPS
-
-#include "externals.h"
-
-////////////////////////////////////////////////////////////////////////
-// FPS stuff
-////////////////////////////////////////////////////////////////////////
-
-BOOL bIsPerformanceCounter=FALSE;
-float fFrameRateHz=0;
-DWORD dwFrameRateTicks=16;
-float fFrameRate;
-int iFrameLimit;
-BOOL bUseFrameLimit=FALSE;
-BOOL bUseFrameSkip=0;
-DWORD dwLaceCnt=0;
-
-LARGE_INTEGER liCPUFrequency;
-
-////////////////////////////////////////////////////////////////////////
-// FPS skipping / limit
-////////////////////////////////////////////////////////////////////////
-
-BOOL bInitCap = TRUE;
-float fps_skip = 0;
-float fps_cur = 0;
-
-void FrameCap (void)
-{
- static DWORD curticks, lastticks, _ticks_since_last_update;
- static DWORD TicksToWait = 0;
- static LARGE_INTEGER CurrentTime;
- static LARGE_INTEGER LastTime;
- static BOOL SkipNextWait = FALSE;
- BOOL Waiting = TRUE;
-
- //---------------------------------------------------------
- // init some static vars...
- // bInitCap is TRUE on startup and everytime the user
- // is toggling the frame limit
- //---------------------------------------------------------
-
- if(bInitCap)
- {
- bInitCap=FALSE;
- if (bIsPerformanceCounter)
- QueryPerformanceCounter(&LastTime);
- lastticks = timeGetTime();
- TicksToWait=0;
- return;
- }
-
- //---------------------------------------------------------
-
- if(bIsPerformanceCounter)
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart;
-
- //---------------------------------------------------------
- // check if diff > 1/2 sec, if yes: take mm timer value
- //---------------------------------------------------------
-
- curticks = timeGetTime();
- if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1))
- {
- if(curticks < lastticks)
- _ticks_since_last_update = dwFrameRateTicks+TicksToWait+1;
- else _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000;
- }
-
- //---------------------------------------------------------
-
- if ((_ticks_since_last_update > TicksToWait) ||
- (CurrentTime.LowPart < LastTime.LowPart))
- {
- LastTime.HighPart = CurrentTime.HighPart;
- LastTime.LowPart = CurrentTime.LowPart;
-
- lastticks=curticks;
-
- if((_ticks_since_last_update-TicksToWait) > dwFrameRateTicks)
- TicksToWait=0;
- else TicksToWait=dwFrameRateTicks-(_ticks_since_last_update-TicksToWait);
- }
- else
- {
- while (Waiting)
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart;
-
- //---------------------------------------------------------
- // check if diff > 1/2 sec, if yes: take mm timer value
- //---------------------------------------------------------
- curticks = timeGetTime();
- if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1))
- {
- if(curticks < lastticks)
- _ticks_since_last_update = TicksToWait+1;
- else _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000;
- }
- //---------------------------------------------------------
-
- if ((_ticks_since_last_update > TicksToWait) ||
- (CurrentTime.LowPart < LastTime.LowPart))
- {
- Waiting = FALSE;
-
- lastticks=curticks;
-
- LastTime.HighPart = CurrentTime.HighPart;
- LastTime.LowPart = CurrentTime.LowPart;
- TicksToWait = dwFrameRateTicks;
- }
- }
- }
- }
- else
- {
- curticks = timeGetTime();
- _ticks_since_last_update = curticks - lastticks;
-
- if ((_ticks_since_last_update > TicksToWait) ||
- (curticks < lastticks))
- {
- lastticks = curticks;
-
- if((_ticks_since_last_update-TicksToWait) > dwFrameRateTicks)
- TicksToWait=0;
- else TicksToWait=dwFrameRateTicks-(_ticks_since_last_update-TicksToWait);
- }
- else
- {
- while (Waiting)
- {
- curticks = timeGetTime();
- _ticks_since_last_update = curticks - lastticks;
- if ((_ticks_since_last_update > TicksToWait) ||
- (curticks < lastticks))
- {
- Waiting = FALSE;
- lastticks = curticks;
- TicksToWait = dwFrameRateTicks;
- }
- }
- }
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-
-#define MAXSKIP 120
-#define MAXLACE 16
-
-void FrameSkip(void)
-{
- static int iNumSkips=0,iAdditionalSkip=0; // number of additional frames to skip
- static DWORD dwLastLace=0; // helper var for frame limitation
- static DWORD curticks, lastticks, _ticks_since_last_update;
- static LARGE_INTEGER CurrentTime;
- static LARGE_INTEGER LastTime;
-
- if(!dwLaceCnt) return; // important: if no updatelace happened, we ignore it completely
-
- if(iNumSkips) // we are in skipping mode?
- {
- dwLastLace+=dwLaceCnt; // -> calc frame limit helper (number of laces)
- bSkipNextFrame = TRUE; // -> we skip next frame
- iNumSkips--; // -> ok, one done
- }
- else // ok, no additional skipping has to be done...
- { // we check now, if some limitation is needed, or a new skipping has to get started
- DWORD dwWaitTime;
-
- if(bInitCap || bSkipNextFrame) // first time or we skipped before?
- {
- if(bUseFrameLimit && !bInitCap) // frame limit wanted and not first time called?
- {
- DWORD dwT=_ticks_since_last_update; // -> that's the time of the last drawn frame
- dwLastLace+=dwLaceCnt; // -> and that's the number of updatelace since the start of the last drawn frame
-
- if(bIsPerformanceCounter) // -> now we calc the time of the last drawn frame + the time we spent skipping
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update= dwT+CurrentTime.LowPart - LastTime.LowPart;
- }
- else
- {
- curticks = timeGetTime();
- _ticks_since_last_update= dwT+curticks - lastticks;
- }
-
- dwWaitTime=dwLastLace*dwFrameRateTicks; // -> and now we calc the time the real psx would have needed
-
- if(_ticks_since_last_update<dwWaitTime) // -> we were too fast?
- {
- if((dwWaitTime-_ticks_since_last_update)> // -> some more security, to prevent
- (60*dwFrameRateTicks)) // wrong waiting times
- _ticks_since_last_update=dwWaitTime;
-
- while(_ticks_since_last_update<dwWaitTime) // -> loop until we have reached the real psx time
- { // (that's the additional limitation, yup)
- if(bIsPerformanceCounter)
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update = dwT+CurrentTime.LowPart - LastTime.LowPart;
- }
- else
- {
- curticks = timeGetTime();
- _ticks_since_last_update = dwT+curticks - lastticks;
- }
- }
- }
- else // we were still too slow ?!!?
- {
- if(iAdditionalSkip<MAXSKIP) // -> well, somewhen we really have to stop skipping on very slow systems
- {
- iAdditionalSkip++; // -> inc our watchdog var
- dwLaceCnt=0; // -> reset lace count
- if(bIsPerformanceCounter) // -> ok, start time of the next frame
- QueryPerformanceCounter(&LastTime);
- lastticks = timeGetTime();
- return; // -> done, we will skip next frame to get more speed
- }
- }
- }
-
- bInitCap=FALSE; // -> ok, we have inited the frameskip func
- iAdditionalSkip=0; // -> init additional skip
- bSkipNextFrame=FALSE; // -> we don't skip the next frame
- if(bIsPerformanceCounter) // -> we store the start time of the next frame
- QueryPerformanceCounter(&LastTime);
- lastticks = timeGetTime();
- dwLaceCnt=0; // -> and we start to count the laces
- dwLastLace=0;
- _ticks_since_last_update=0;
- return; // -> done, the next frame will get drawn
- }
-
- bSkipNextFrame=FALSE; // init the frame skip signal to 'no skipping' first
-
- if(bIsPerformanceCounter) // get the current time (we are now at the end of one drawn frame)
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart;
- }
- else
- {
- curticks = timeGetTime();
- _ticks_since_last_update = curticks - lastticks;
- }
-
- dwLastLace=dwLaceCnt; // store curr count (frame limitation helper)
- dwWaitTime=dwLaceCnt*dwFrameRateTicks; // calc the 'real psx lace time'
-
- if(_ticks_since_last_update>dwWaitTime) // hey, we needed way too long for that frame...
- {
- if(bUseFrameLimit) // if limitation, we skip just next frame,
- { // and decide after, if we need to do more
- iNumSkips=0;
- }
- else
- {
- iNumSkips=_ticks_since_last_update/dwWaitTime; // -> calc number of frames to skip to catch up
- iNumSkips--; // -> since we already skip next frame, one down
- if(iNumSkips>MAXSKIP) iNumSkips=MAXSKIP; // -> well, somewhere we have to draw a line
- }
- bSkipNextFrame = TRUE; // -> signal for skipping the next frame
- }
- else // we were faster than real psx? fine :)
- if(bUseFrameLimit) // frame limit used? so we wait til the 'real psx time' has been reached
- {
- if(dwLaceCnt>MAXLACE) // -> security check
- _ticks_since_last_update=dwWaitTime;
-
- while(_ticks_since_last_update<dwWaitTime) // just do a waiting loop...
- {
- if(bIsPerformanceCounter)
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart;
- }
- else
- {
- curticks = timeGetTime();
- _ticks_since_last_update = curticks - lastticks;
- }
- }
- }
-
- if(bIsPerformanceCounter) // ok, start time of the next frame
- QueryPerformanceCounter(&LastTime);
- lastticks = timeGetTime();
- }
-
- dwLaceCnt=0; // init lace counter
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void calcfps(void)
-{
- static DWORD curticks,_ticks_since_last_update,lastticks;
- static long fps_cnt = 0;
- static DWORD fps_tck = 1;
- static LARGE_INTEGER CurrentTime;
- static LARGE_INTEGER LastTime;
- static long fpsskip_cnt = 0;
- static DWORD fpsskip_tck = 1;
-
- if(bIsPerformanceCounter)
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update=CurrentTime.LowPart-LastTime.LowPart;
-
- //--------------------------------------------------//
- curticks = timeGetTime();
- if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1))
- _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000;
- lastticks=curticks;
- //--------------------------------------------------//
-
- if(bUseFrameSkip && !bUseFrameLimit && _ticks_since_last_update)
- fps_skip=min(fps_skip,(((float)liCPUFrequency.LowPart) / ((float)_ticks_since_last_update) +1.0f));
-
- LastTime.HighPart = CurrentTime.HighPart;
- LastTime.LowPart = CurrentTime.LowPart;
- }
- else
- {
- curticks = timeGetTime();
- _ticks_since_last_update=curticks-lastticks;
-
- if(bUseFrameSkip && !bUseFrameLimit && _ticks_since_last_update)
- fps_skip=min(fps_skip,((float)1000/(float)_ticks_since_last_update+1.0f));
-
- lastticks = curticks;
- }
-
- if(bUseFrameSkip && bUseFrameLimit)
- {
- fpsskip_tck += _ticks_since_last_update;
-
- if(++fpsskip_cnt==2)
- {
- if(bIsPerformanceCounter)
- fps_skip = ((float)liCPUFrequency.LowPart) / ((float)fpsskip_tck) *2.0f;
- else
- fps_skip = (float)2000/(float)fpsskip_tck;
-
- fps_skip +=6.0f;
-
- fpsskip_cnt = 0;
- fpsskip_tck = 1;
- }
- }
-
- fps_tck += _ticks_since_last_update;
-
- if(++fps_cnt==10)
- {
- if(bIsPerformanceCounter)
- fps_cur = ((float)liCPUFrequency.LowPart) / ((float)fps_tck) *10.0f;
- else
- fps_cur = (float)10000/(float)fps_tck;
-
- fps_cnt = 0;
- fps_tck = 1;
-
- if(bUseFrameLimit && fps_cur>fFrameRateHz) // optical adjust ;) avoids flickering fps display
- fps_cur=fFrameRateHz;
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-// PC FPS skipping / limit
-////////////////////////////////////////////////////////////////////////
-
-void PCFrameCap(void)
-{
- static DWORD curticks, lastticks, _ticks_since_last_update;
- static DWORD TicksToWait = 0;
- static LARGE_INTEGER CurrentTime;
- static LARGE_INTEGER LastTime;
- BOOL Waiting = TRUE;
-
- while (Waiting)
- {
- if(bIsPerformanceCounter)
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart;
-
- //------------------------------------------------//
- curticks = timeGetTime();
- if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1))
- {
- if(curticks < lastticks)
- _ticks_since_last_update = TicksToWait+1;
- else _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000;
- }
- //------------------------------------------------//
-
- if ((_ticks_since_last_update > TicksToWait) ||
- (CurrentTime.LowPart < LastTime.LowPart))
- {
- Waiting = FALSE;
-
- lastticks=curticks;
-
- LastTime.HighPart = CurrentTime.HighPart;
- LastTime.LowPart = CurrentTime.LowPart;
- TicksToWait = (liCPUFrequency.LowPart / fFrameRateHz);
- }
- }
- else
- {
- curticks = timeGetTime();
- _ticks_since_last_update = curticks - lastticks;
- if ((_ticks_since_last_update > TicksToWait) ||
- (curticks < lastticks))
- {
- Waiting = FALSE;
- lastticks = curticks;
- TicksToWait = (1000 / (DWORD)fFrameRateHz);
- }
- }
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void PCcalcfps(void)
-{
- static DWORD curticks,_ticks_since_last_update,lastticks;
- static long fps_cnt = 0;
- static float fps_acc = 0;
- static LARGE_INTEGER CurrentTime;
- static LARGE_INTEGER LastTime;
- float CurrentFPS=0;
-
- if(bIsPerformanceCounter)
- {
- QueryPerformanceCounter(&CurrentTime);
- _ticks_since_last_update=CurrentTime.LowPart-LastTime.LowPart;
-
- //--------------------------------------------------//
- curticks = timeGetTime();
- if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1))
- _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000;
- lastticks=curticks;
- //--------------------------------------------------//
-
- if(_ticks_since_last_update)
- {
- CurrentFPS = ((float)liCPUFrequency.LowPart) / ((float)_ticks_since_last_update);
- }
- else CurrentFPS = 0;
- LastTime.HighPart = CurrentTime.HighPart;
- LastTime.LowPart = CurrentTime.LowPart;
- }
- else
- {
- curticks = timeGetTime();
- if(_ticks_since_last_update=curticks-lastticks)
- CurrentFPS=(float)1000/(float)_ticks_since_last_update;
- else CurrentFPS = 0;
- lastticks = curticks;
- }
-
- fps_acc += CurrentFPS;
-
- if(++fps_cnt==10)
- {
- fps_cur = fps_acc / 10;
- fps_acc = 0;
- fps_cnt = 0;
- }
-
- fps_skip=CurrentFPS+1.0f;
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void SetAutoFrameCap(void)
-{
- if(iFrameLimit==1)
- {
- fFrameRateHz = fFrameRate;
- if(bIsPerformanceCounter)
- dwFrameRateTicks=(liCPUFrequency.LowPart / fFrameRateHz);
- else dwFrameRateTicks=(1000 / (DWORD)fFrameRateHz);
- return;
- }
-
- if(dwActFixes&128)
- {
- if (PSXDisplay.Interlaced)
- fFrameRateHz = PSXDisplay.PAL?50.0f:60.0f;
- else fFrameRateHz = PSXDisplay.PAL?25.0f:30.0f;
- }
- else
- {
- //fFrameRateHz = PSXDisplay.PAL?50.0f:59.94f;
-
- if(PSXDisplay.PAL)
- {
- if (STATUSREG&GPUSTATUS_INTERLACED)
- fFrameRateHz=33868800.0f/677343.75f; // 50.00238
- else fFrameRateHz=33868800.0f/680595.00f; // 49.76351
- }
- else
- {
- if (STATUSREG&GPUSTATUS_INTERLACED)
- fFrameRateHz=33868800.0f/565031.25f; // 59.94146
- else fFrameRateHz=33868800.0f/566107.50f; // 59.82750
- }
-
- if(bIsPerformanceCounter)
- dwFrameRateTicks=(liCPUFrequency.LowPart / fFrameRateHz);
- else dwFrameRateTicks=(1000 / (DWORD)fFrameRateHz);
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void InitFrameCap(void) // inits cpu frequency info (on gpu startup)
-{
- if (QueryPerformanceFrequency (&liCPUFrequency))
- bIsPerformanceCounter = TRUE;
- else bIsPerformanceCounter = FALSE;
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void ReInitFrameCap(void)
-{
- BOOL bOldPerformanceCounter=bIsPerformanceCounter; // store curr timer mode
-
- if(dwActFixes&0x10000) // check game fix... high performance counters are bad on some mb chipsets
- bIsPerformanceCounter=FALSE;
- else
- {
- if (QueryPerformanceFrequency (&liCPUFrequency))
- bIsPerformanceCounter = TRUE;
- else bIsPerformanceCounter = FALSE;
- }
-
- if(bOldPerformanceCounter!=bIsPerformanceCounter) // changed?
- {
- bInitCap = TRUE;
- SetAutoFrameCap();
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void SetFrameRateConfig(void)
-{
- if(fFrameRateHz==0)
- {
- if(iFrameLimit==2) fFrameRateHz=59.94f; // auto framerate? set some init val (no pal/ntsc known yet)
- else fFrameRateHz=fFrameRate; // else set user framerate
- }
-
- if(bIsPerformanceCounter)
- dwFrameRateTicks=(liCPUFrequency.LowPart / fFrameRateHz);
- else dwFrameRateTicks=(1000 / (DWORD)fFrameRateHz);
-}
-
-void CheckFrameRate(void) // called in updatelace (on every emulated psx vsync)
-{
- if(bUseFrameSkip)
- {
- if(!(dwActFixes&0x100))
- {
- dwLaceCnt++; // -> and store cnt of vsync between frames
- if(dwLaceCnt>=MAXLACE && bUseFrameLimit)
- {
- if(dwLaceCnt==MAXLACE) bInitCap=TRUE;
- FrameCap();
- }
- }
- else if(bUseFrameLimit) FrameCap();
- calcfps(); // -> calc fps display in skipping mode
- }
- else // -> non-skipping mode:
- {
- if(bUseFrameLimit) FrameCap();
- if(ulKeybits&KEY_SHOWFPS) calcfps();
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void CALLBACK GPUsetframelimit(unsigned long option) // new EPSXE interface func: main emu can enable/disable fps limitation this way
-{
- bInitCap = TRUE;
-
- if(option==1) // emu says: limit
- {
- bUseFrameLimit=TRUE;bUseFrameSkip=FALSE;iFrameLimit=2;
- SetAutoFrameCap();
- }
- else // emu says: no limit
- {
- bUseFrameLimit=FALSE;
- }
-}
-
-////////////////////////////////////////////////////////////////////////
+/*************************************************************************** + fps.c - description + ------------------- + begin : Sun Mar 08 2009 + copyright : (C) 1999-2009 by Pete Bernert + web : www.pbernert.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2009/03/08 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +#include "stdafx.h" + +#define _IN_FPS + +#include "externals.h" + +//////////////////////////////////////////////////////////////////////// +// FPS stuff +//////////////////////////////////////////////////////////////////////// + +BOOL bIsPerformanceCounter=FALSE; +float fFrameRateHz=0; +DWORD dwFrameRateTicks=16; +float fFrameRate; +int iFrameLimit; +BOOL bUseFrameLimit=FALSE; +BOOL bUseFrameSkip=0; +DWORD dwLaceCnt=0; + +LARGE_INTEGER liCPUFrequency; + +//////////////////////////////////////////////////////////////////////// +// FPS skipping / limit +//////////////////////////////////////////////////////////////////////// + +BOOL bInitCap = TRUE; +float fps_skip = 0; +float fps_cur = 0; + +void FrameCap (void) +{ + static DWORD curticks, lastticks, _ticks_since_last_update; + static DWORD TicksToWait = 0; + static LARGE_INTEGER CurrentTime; + static LARGE_INTEGER LastTime; + static BOOL SkipNextWait = FALSE; + BOOL Waiting = TRUE; + + //--------------------------------------------------------- + // init some static vars... + // bInitCap is TRUE on startup and everytime the user + // is toggling the frame limit + //--------------------------------------------------------- + + if(bInitCap) + { + bInitCap=FALSE; + if (bIsPerformanceCounter) + QueryPerformanceCounter(&LastTime); + lastticks = timeGetTime(); + TicksToWait=0; + return; + } + + //--------------------------------------------------------- + + if(bIsPerformanceCounter) + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart; + + //--------------------------------------------------------- + // check if diff > 1/2 sec, if yes: take mm timer value + //--------------------------------------------------------- + + curticks = timeGetTime(); + if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1)) + { + if(curticks < lastticks) + _ticks_since_last_update = dwFrameRateTicks+TicksToWait+1; + else _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000; + } + + //--------------------------------------------------------- + + if ((_ticks_since_last_update > TicksToWait) || + (CurrentTime.LowPart < LastTime.LowPart)) + { + LastTime.HighPart = CurrentTime.HighPart; + LastTime.LowPart = CurrentTime.LowPart; + + lastticks=curticks; + + if((_ticks_since_last_update-TicksToWait) > dwFrameRateTicks) + TicksToWait=0; + else TicksToWait=dwFrameRateTicks-(_ticks_since_last_update-TicksToWait); + } + else + { + while (Waiting) + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart; + + //--------------------------------------------------------- + // check if diff > 1/2 sec, if yes: take mm timer value + //--------------------------------------------------------- + curticks = timeGetTime(); + if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1)) + { + if(curticks < lastticks) + _ticks_since_last_update = TicksToWait+1; + else _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000; + } + //--------------------------------------------------------- + + if ((_ticks_since_last_update > TicksToWait) || + (CurrentTime.LowPart < LastTime.LowPart)) + { + Waiting = FALSE; + + lastticks=curticks; + + LastTime.HighPart = CurrentTime.HighPart; + LastTime.LowPart = CurrentTime.LowPart; + TicksToWait = dwFrameRateTicks; + } + } + } + } + else + { + curticks = timeGetTime(); + _ticks_since_last_update = curticks - lastticks; + + if ((_ticks_since_last_update > TicksToWait) || + (curticks < lastticks)) + { + lastticks = curticks; + + if((_ticks_since_last_update-TicksToWait) > dwFrameRateTicks) + TicksToWait=0; + else TicksToWait=dwFrameRateTicks-(_ticks_since_last_update-TicksToWait); + } + else + { + while (Waiting) + { + curticks = timeGetTime(); + _ticks_since_last_update = curticks - lastticks; + if ((_ticks_since_last_update > TicksToWait) || + (curticks < lastticks)) + { + Waiting = FALSE; + lastticks = curticks; + TicksToWait = dwFrameRateTicks; + } + } + } + } +} + +//////////////////////////////////////////////////////////////////////// + +#define MAXSKIP 120 +#define MAXLACE 16 + +void FrameSkip(void) +{ + static int iNumSkips=0,iAdditionalSkip=0; // number of additional frames to skip + static DWORD dwLastLace=0; // helper var for frame limitation + static DWORD curticks, lastticks, _ticks_since_last_update; + static LARGE_INTEGER CurrentTime; + static LARGE_INTEGER LastTime; + + if(!dwLaceCnt) return; // important: if no updatelace happened, we ignore it completely + + if(iNumSkips) // we are in skipping mode? + { + dwLastLace+=dwLaceCnt; // -> calc frame limit helper (number of laces) + bSkipNextFrame = TRUE; // -> we skip next frame + iNumSkips--; // -> ok, one done + } + else // ok, no additional skipping has to be done... + { // we check now, if some limitation is needed, or a new skipping has to get started + DWORD dwWaitTime; + + if(bInitCap || bSkipNextFrame) // first time or we skipped before? + { + if(bUseFrameLimit && !bInitCap) // frame limit wanted and not first time called? + { + DWORD dwT=_ticks_since_last_update; // -> that's the time of the last drawn frame + dwLastLace+=dwLaceCnt; // -> and that's the number of updatelace since the start of the last drawn frame + + if(bIsPerformanceCounter) // -> now we calc the time of the last drawn frame + the time we spent skipping + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update= dwT+CurrentTime.LowPart - LastTime.LowPart; + } + else + { + curticks = timeGetTime(); + _ticks_since_last_update= dwT+curticks - lastticks; + } + + dwWaitTime=dwLastLace*dwFrameRateTicks; // -> and now we calc the time the real psx would have needed + + if(_ticks_since_last_update<dwWaitTime) // -> we were too fast? + { + if((dwWaitTime-_ticks_since_last_update)> // -> some more security, to prevent + (60*dwFrameRateTicks)) // wrong waiting times + _ticks_since_last_update=dwWaitTime; + + while(_ticks_since_last_update<dwWaitTime) // -> loop until we have reached the real psx time + { // (that's the additional limitation, yup) + if(bIsPerformanceCounter) + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update = dwT+CurrentTime.LowPart - LastTime.LowPart; + } + else + { + curticks = timeGetTime(); + _ticks_since_last_update = dwT+curticks - lastticks; + } + } + } + else // we were still too slow ?!!? + { + if(iAdditionalSkip<MAXSKIP) // -> well, somewhen we really have to stop skipping on very slow systems + { + iAdditionalSkip++; // -> inc our watchdog var + dwLaceCnt=0; // -> reset lace count + if(bIsPerformanceCounter) // -> ok, start time of the next frame + QueryPerformanceCounter(&LastTime); + lastticks = timeGetTime(); + return; // -> done, we will skip next frame to get more speed + } + } + } + + bInitCap=FALSE; // -> ok, we have inited the frameskip func + iAdditionalSkip=0; // -> init additional skip + bSkipNextFrame=FALSE; // -> we don't skip the next frame + if(bIsPerformanceCounter) // -> we store the start time of the next frame + QueryPerformanceCounter(&LastTime); + lastticks = timeGetTime(); + dwLaceCnt=0; // -> and we start to count the laces + dwLastLace=0; + _ticks_since_last_update=0; + return; // -> done, the next frame will get drawn + } + + bSkipNextFrame=FALSE; // init the frame skip signal to 'no skipping' first + + if(bIsPerformanceCounter) // get the current time (we are now at the end of one drawn frame) + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart; + } + else + { + curticks = timeGetTime(); + _ticks_since_last_update = curticks - lastticks; + } + + dwLastLace=dwLaceCnt; // store curr count (frame limitation helper) + dwWaitTime=dwLaceCnt*dwFrameRateTicks; // calc the 'real psx lace time' + + if(_ticks_since_last_update>dwWaitTime) // hey, we needed way too long for that frame... + { + if(bUseFrameLimit) // if limitation, we skip just next frame, + { // and decide after, if we need to do more + iNumSkips=0; + } + else + { + iNumSkips=_ticks_since_last_update/dwWaitTime; // -> calc number of frames to skip to catch up + iNumSkips--; // -> since we already skip next frame, one down + if(iNumSkips>MAXSKIP) iNumSkips=MAXSKIP; // -> well, somewhere we have to draw a line + } + bSkipNextFrame = TRUE; // -> signal for skipping the next frame + } + else // we were faster than real psx? fine :) + if(bUseFrameLimit) // frame limit used? so we wait til the 'real psx time' has been reached + { + if(dwLaceCnt>MAXLACE) // -> security check + _ticks_since_last_update=dwWaitTime; + + while(_ticks_since_last_update<dwWaitTime) // just do a waiting loop... + { + if(bIsPerformanceCounter) + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart; + } + else + { + curticks = timeGetTime(); + _ticks_since_last_update = curticks - lastticks; + } + } + } + + if(bIsPerformanceCounter) // ok, start time of the next frame + QueryPerformanceCounter(&LastTime); + lastticks = timeGetTime(); + } + + dwLaceCnt=0; // init lace counter +} + +//////////////////////////////////////////////////////////////////////// + +void calcfps(void) +{ + static DWORD curticks,_ticks_since_last_update,lastticks; + static long fps_cnt = 0; + static DWORD fps_tck = 1; + static LARGE_INTEGER CurrentTime; + static LARGE_INTEGER LastTime; + static long fpsskip_cnt = 0; + static DWORD fpsskip_tck = 1; + + if(bIsPerformanceCounter) + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update=CurrentTime.LowPart-LastTime.LowPart; + + //--------------------------------------------------// + curticks = timeGetTime(); + if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1)) + _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000; + lastticks=curticks; + //--------------------------------------------------// + + if(bUseFrameSkip && !bUseFrameLimit && _ticks_since_last_update) + fps_skip=min(fps_skip,(((float)liCPUFrequency.LowPart) / ((float)_ticks_since_last_update) +1.0f)); + + LastTime.HighPart = CurrentTime.HighPart; + LastTime.LowPart = CurrentTime.LowPart; + } + else + { + curticks = timeGetTime(); + _ticks_since_last_update=curticks-lastticks; + + if(bUseFrameSkip && !bUseFrameLimit && _ticks_since_last_update) + fps_skip=min(fps_skip,((float)1000/(float)_ticks_since_last_update+1.0f)); + + lastticks = curticks; + } + + if(bUseFrameSkip && bUseFrameLimit) + { + fpsskip_tck += _ticks_since_last_update; + + if(++fpsskip_cnt==2) + { + if(bIsPerformanceCounter) + fps_skip = ((float)liCPUFrequency.LowPart) / ((float)fpsskip_tck) *2.0f; + else + fps_skip = (float)2000/(float)fpsskip_tck; + + fps_skip +=6.0f; + + fpsskip_cnt = 0; + fpsskip_tck = 1; + } + } + + fps_tck += _ticks_since_last_update; + + if(++fps_cnt==10) + { + if(bIsPerformanceCounter) + fps_cur = ((float)liCPUFrequency.LowPart) / ((float)fps_tck) *10.0f; + else + fps_cur = (float)10000/(float)fps_tck; + + fps_cnt = 0; + fps_tck = 1; + + if(bUseFrameLimit && fps_cur>fFrameRateHz) // optical adjust ;) avoids flickering fps display + fps_cur=fFrameRateHz; + } +} + +//////////////////////////////////////////////////////////////////////// +// PC FPS skipping / limit +//////////////////////////////////////////////////////////////////////// + +void PCFrameCap(void) +{ + static DWORD curticks, lastticks, _ticks_since_last_update; + static DWORD TicksToWait = 0; + static LARGE_INTEGER CurrentTime; + static LARGE_INTEGER LastTime; + BOOL Waiting = TRUE; + + while (Waiting) + { + if(bIsPerformanceCounter) + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update = CurrentTime.LowPart - LastTime.LowPart; + + //------------------------------------------------// + curticks = timeGetTime(); + if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1)) + { + if(curticks < lastticks) + _ticks_since_last_update = TicksToWait+1; + else _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000; + } + //------------------------------------------------// + + if ((_ticks_since_last_update > TicksToWait) || + (CurrentTime.LowPart < LastTime.LowPart)) + { + Waiting = FALSE; + + lastticks=curticks; + + LastTime.HighPart = CurrentTime.HighPart; + LastTime.LowPart = CurrentTime.LowPart; + TicksToWait = (liCPUFrequency.LowPart / fFrameRateHz); + } + } + else + { + curticks = timeGetTime(); + _ticks_since_last_update = curticks - lastticks; + if ((_ticks_since_last_update > TicksToWait) || + (curticks < lastticks)) + { + Waiting = FALSE; + lastticks = curticks; + TicksToWait = (1000 / (DWORD)fFrameRateHz); + } + } + } +} + +//////////////////////////////////////////////////////////////////////// + +void PCcalcfps(void) +{ + static DWORD curticks,_ticks_since_last_update,lastticks; + static long fps_cnt = 0; + static float fps_acc = 0; + static LARGE_INTEGER CurrentTime; + static LARGE_INTEGER LastTime; + float CurrentFPS=0; + + if(bIsPerformanceCounter) + { + QueryPerformanceCounter(&CurrentTime); + _ticks_since_last_update=CurrentTime.LowPart-LastTime.LowPart; + + //--------------------------------------------------// + curticks = timeGetTime(); + if(_ticks_since_last_update>(liCPUFrequency.LowPart>>1)) + _ticks_since_last_update = (liCPUFrequency.LowPart * (curticks - lastticks))/1000; + lastticks=curticks; + //--------------------------------------------------// + + if(_ticks_since_last_update) + { + CurrentFPS = ((float)liCPUFrequency.LowPart) / ((float)_ticks_since_last_update); + } + else CurrentFPS = 0; + LastTime.HighPart = CurrentTime.HighPart; + LastTime.LowPart = CurrentTime.LowPart; + } + else + { + curticks = timeGetTime(); + if(_ticks_since_last_update=curticks-lastticks) + CurrentFPS=(float)1000/(float)_ticks_since_last_update; + else CurrentFPS = 0; + lastticks = curticks; + } + + fps_acc += CurrentFPS; + + if(++fps_cnt==10) + { + fps_cur = fps_acc / 10; + fps_acc = 0; + fps_cnt = 0; + } + + fps_skip=CurrentFPS+1.0f; +} + +//////////////////////////////////////////////////////////////////////// + +void SetAutoFrameCap(void) +{ + if(iFrameLimit==1) + { + fFrameRateHz = fFrameRate; + if(bIsPerformanceCounter) + dwFrameRateTicks=(liCPUFrequency.LowPart / fFrameRateHz); + else dwFrameRateTicks=(1000 / (DWORD)fFrameRateHz); + return; + } + + if(dwActFixes&128) + { + if (PSXDisplay.Interlaced) + fFrameRateHz = PSXDisplay.PAL?50.0f:60.0f; + else fFrameRateHz = PSXDisplay.PAL?25.0f:30.0f; + } + else + { + //fFrameRateHz = PSXDisplay.PAL?50.0f:59.94f; + + if(PSXDisplay.PAL) + { + if (STATUSREG&GPUSTATUS_INTERLACED) + fFrameRateHz=33868800.0f/677343.75f; // 50.00238 + else fFrameRateHz=33868800.0f/680595.00f; // 49.76351 + } + else + { + if (STATUSREG&GPUSTATUS_INTERLACED) + fFrameRateHz=33868800.0f/565031.25f; // 59.94146 + else fFrameRateHz=33868800.0f/566107.50f; // 59.82750 + } + + if(bIsPerformanceCounter) + dwFrameRateTicks=(liCPUFrequency.LowPart / fFrameRateHz); + else dwFrameRateTicks=(1000 / (DWORD)fFrameRateHz); + } +} + +//////////////////////////////////////////////////////////////////////// + +void InitFrameCap(void) // inits cpu frequency info (on gpu startup) +{ + if (QueryPerformanceFrequency (&liCPUFrequency)) + bIsPerformanceCounter = TRUE; + else bIsPerformanceCounter = FALSE; +} + +//////////////////////////////////////////////////////////////////////// + +void ReInitFrameCap(void) +{ + BOOL bOldPerformanceCounter=bIsPerformanceCounter; // store curr timer mode + + if(dwActFixes&0x10000) // check game fix... high performance counters are bad on some mb chipsets + bIsPerformanceCounter=FALSE; + else + { + if (QueryPerformanceFrequency (&liCPUFrequency)) + bIsPerformanceCounter = TRUE; + else bIsPerformanceCounter = FALSE; + } + + if(bOldPerformanceCounter!=bIsPerformanceCounter) // changed? + { + bInitCap = TRUE; + SetAutoFrameCap(); + } +} + +//////////////////////////////////////////////////////////////////////// + +void SetFrameRateConfig(void) +{ + if(fFrameRateHz==0) + { + if(iFrameLimit==2) fFrameRateHz=59.94f; // auto framerate? set some init val (no pal/ntsc known yet) + else fFrameRateHz=fFrameRate; // else set user framerate + } + + if(bIsPerformanceCounter) + dwFrameRateTicks=(liCPUFrequency.LowPart / fFrameRateHz); + else dwFrameRateTicks=(1000 / (DWORD)fFrameRateHz); +} + +void CheckFrameRate(void) // called in updatelace (on every emulated psx vsync) +{ + if(bUseFrameSkip) + { + if(!(dwActFixes&0x100)) + { + dwLaceCnt++; // -> and store cnt of vsync between frames + if(dwLaceCnt>=MAXLACE && bUseFrameLimit) + { + if(dwLaceCnt==MAXLACE) bInitCap=TRUE; + FrameCap(); + } + } + else if(bUseFrameLimit) FrameCap(); + calcfps(); // -> calc fps display in skipping mode + } + else // -> non-skipping mode: + { + if(bUseFrameLimit) FrameCap(); + if(ulKeybits&KEY_SHOWFPS) calcfps(); + } +} + +//////////////////////////////////////////////////////////////////////// + +void CALLBACK GPUsetframelimit(unsigned long option) // new EPSXE interface func: main emu can enable/disable fps limitation this way +{ + bInitCap = TRUE; + + if(option==1) // emu says: limit + { + bUseFrameLimit=TRUE;bUseFrameSkip=FALSE;iFrameLimit=2; + SetAutoFrameCap(); + } + else // emu says: no limit + { + bUseFrameLimit=FALSE; + } +} + +//////////////////////////////////////////////////////////////////////// diff --git a/win32/plugins/peopsxgl/winsrc/key.c b/win32/plugins/peopsxgl/winsrc/key.c index f1ad8ca3..5884b040 100644..100755 --- a/win32/plugins/peopsxgl/winsrc/key.c +++ b/win32/plugins/peopsxgl/winsrc/key.c @@ -1,203 +1,203 @@ -/***************************************************************************
- key.c - description
- -------------------
- begin : Sun Mar 08 2009
- copyright : (C) 1999-2009 by Pete Bernert
- web : www.pbernert.com
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2009/03/08 - Pete
-// - generic cleanup for the Peops release
-//
-//*************************************************************************//
-
-#include "stdafx.h"
-
-#define _IN_KEY
-
-#include "externals.h"
-#include "menu.h"
-#include "texture.h"
-#include "draw.h"
-#include "fps.h"
-
-////////////////////////////////////////////////////////////////////////
-// KeyBoard handler stuff
-////////////////////////////////////////////////////////////////////////
-
-uint32_t ulKeybits;
-
-static WNDPROC pOldWinProc=0;
-char szGPUKeys[7];
-
-////////////////////////////////////////////////////////////////////////
-// keyboard handler (WINDOWS)
-////////////////////////////////////////////////////////////////////////
-
-LRESULT CALLBACK key_winproc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
-{
- switch(message)
- {
- case WM_SYSCOMMAND:
- if(iNoScreenSaver && wParam==SC_SCREENSAVE) return 0L;
- break;
-
- case WM_KEYDOWN:
- if(wParam==(WPARAM)szGPUKeys[1]) {ulKeybits|=KEY_RESETTEXSTORE;break;}
- break;
-
- case WM_SYSKEYUP:
- if(wParam==VK_RETURN) bChangeWinMode=TRUE;
- break;
-
- case WM_KEYUP:
- if(wParam==(WPARAM)szGPUKeys[0])
- {
- if(ulKeybits&KEY_SHOWFPS)
- {
- ulKeybits&=~KEY_SHOWFPS;
- HideText();
- DestroyPic();
- }
- else
- {
- ulKeybits|=KEY_SHOWFPS;
- szDispBuf[0]=0;
- BuildDispMenu(0);
- }
- break;
- }
- if(wParam==(WPARAM)szGPUKeys[1]) {ShowGpuPic();break;}
- if(wParam==(WPARAM)szGPUKeys[2]) {SwitchDispMenu(-1); break;}
- if(wParam==(WPARAM)szGPUKeys[3]) {SwitchDispMenu( 1); break;}
- if(wParam==(WPARAM)szGPUKeys[4])
- {
- if(GetAsyncKeyState(VK_SHIFT)&32768)
- {
- if(iBlurBuffer) iBlurBuffer=0;
- else iBlurBuffer=1;
- }
- BuildDispMenu(-1);
- break;
- }
- if(wParam==(WPARAM)szGPUKeys[5]) {BuildDispMenu( 1); break;}
-
- }
- return pOldWinProc( hwnd, message, wParam, lParam );
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void InitKeyHandler(void)
-{
- if(!pOldWinProc)
- {
- pOldWinProc = (WNDPROC)GetWindowLong(hWWindow, GWL_WNDPROC );
- SetWindowLong(hWWindow, GWL_WNDPROC, (long)key_winproc);
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-
-void ExitKeyHandler(void)
-{
- if(pOldWinProc)
- SetWindowLong(hWWindow,GWL_WNDPROC, // set old proc
- (long)pOldWinProc);
- pOldWinProc = 0;
-}
-
-////////////////////////////////////////////////////////////////////////
-// reset stuff on special keyboard commands
-////////////////////////////////////////////////////////////////////////
-
-void ResetStuff(void)
-{
- ResetTextureArea(TRUE);
- ulKeybits&=~KEY_RESETTEXSTORE;
-
- if(ulKeybits&KEY_BLACKWHITE)
- {
- if(bUseFixes) {bUseFixes=FALSE;dwActFixes=0;}
- else {bUseFixes=TRUE; dwActFixes=dwCfgFixes;}
- SetExtGLFuncs();
- if(iFrameLimit==2) SetAutoFrameCap();
- ulKeybits&=~KEY_BLACKWHITE;
- }
-
- if(ulKeybits&KEY_RESETFILTER)
- {
- if(ulKeybits&KEY_STEPDOWN)
- iFilterType--;
- else iFilterType++;
- if(iFilterType>6) iFilterType=0;
- if(iFilterType<0) iFilterType=6;
- SetExtGLFuncs();
- ulKeybits&=~(KEY_RESETFILTER|KEY_STEPDOWN);
- BuildDispMenu(0);
- }
-
- if(ulKeybits&KEY_RESETOPAQUE)
- {
- bOpaquePass=!bOpaquePass;
- SetExtGLFuncs();
- ulKeybits&=~KEY_RESETOPAQUE;
- BuildDispMenu(0);
- }
-
- if(ulKeybits&KEY_RESETADVBLEND)
- {
- bAdvancedBlend=!bAdvancedBlend;
- SetExtGLFuncs();
- ulKeybits&=~KEY_RESETADVBLEND;
- BuildDispMenu(0);
- }
-
- if(ulKeybits&KEY_RESETDITHER)
- {
- bDrawDither=!bDrawDither;
- if(bDrawDither) glEnable(GL_DITHER);
- else glDisable(GL_DITHER);
- ulKeybits&=~KEY_RESETDITHER;
- BuildDispMenu(0);
- }
-
- if(ulKeybits & KEY_TOGGLEFBTEXTURE)
- {
- if(ulKeybits&KEY_STEPDOWN)
- iFrameTexType--;
- else iFrameTexType++;
- if(iFrameTexType>3) iFrameTexType=0;
- if(iFrameTexType<0) iFrameTexType=3;
- if(gTexFrameName!=0)
- glDeleteTextures(1, &gTexFrameName);
- gTexFrameName=0;
- ulKeybits&=~(KEY_TOGGLEFBTEXTURE|KEY_STEPDOWN);
- }
-
- if(ulKeybits & KEY_TOGGLEFBREAD)
- {
- if(ulKeybits&KEY_STEPDOWN)
- iFrameReadType--;
- else iFrameReadType++;
- if(iFrameReadType>4) iFrameReadType=0;
- if(iFrameReadType<0) iFrameReadType=4;
- if(iFrameReadType==4) bFullVRam=TRUE;
- else bFullVRam=FALSE;
- iRenderFVR=0;
- ulKeybits&=~(KEY_TOGGLEFBREAD|KEY_STEPDOWN);
- }
-}
+/*************************************************************************** + key.c - description + ------------------- + begin : Sun Mar 08 2009 + copyright : (C) 1999-2009 by Pete Bernert + web : www.pbernert.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2009/03/08 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +#include "stdafx.h" + +#define _IN_KEY + +#include "externals.h" +#include "menu.h" +#include "texture.h" +#include "draw.h" +#include "fps.h" + +//////////////////////////////////////////////////////////////////////// +// KeyBoard handler stuff +//////////////////////////////////////////////////////////////////////// + +uint32_t ulKeybits; + +static WNDPROC pOldWinProc=0; +char szGPUKeys[7]; + +//////////////////////////////////////////////////////////////////////// +// keyboard handler (WINDOWS) +//////////////////////////////////////////////////////////////////////// + +LRESULT CALLBACK key_winproc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) +{ + switch(message) + { + case WM_SYSCOMMAND: + if(iNoScreenSaver && wParam==SC_SCREENSAVE) return 0L; + break; + + case WM_KEYDOWN: + if(wParam==(WPARAM)szGPUKeys[1]) {ulKeybits|=KEY_RESETTEXSTORE;break;} + break; + + case WM_SYSKEYUP: + if(wParam==VK_RETURN) bChangeWinMode=TRUE; + break; + + case WM_KEYUP: + if(wParam==(WPARAM)szGPUKeys[0]) + { + if(ulKeybits&KEY_SHOWFPS) + { + ulKeybits&=~KEY_SHOWFPS; + HideText(); + DestroyPic(); + } + else + { + ulKeybits|=KEY_SHOWFPS; + szDispBuf[0]=0; + BuildDispMenu(0); + } + break; + } + if(wParam==(WPARAM)szGPUKeys[1]) {ShowGpuPic();break;} + if(wParam==(WPARAM)szGPUKeys[2]) {SwitchDispMenu(-1); break;} + if(wParam==(WPARAM)szGPUKeys[3]) {SwitchDispMenu( 1); break;} + if(wParam==(WPARAM)szGPUKeys[4]) + { + if(GetAsyncKeyState(VK_SHIFT)&32768) + { + if(iBlurBuffer) iBlurBuffer=0; + else iBlurBuffer=1; + } + BuildDispMenu(-1); + break; + } + if(wParam==(WPARAM)szGPUKeys[5]) {BuildDispMenu( 1); break;} + + } + return pOldWinProc( hwnd, message, wParam, lParam ); +} + +//////////////////////////////////////////////////////////////////////// + +void InitKeyHandler(void) +{ + if(!pOldWinProc) + { + pOldWinProc = (WNDPROC)GetWindowLong(hWWindow, GWL_WNDPROC ); + SetWindowLong(hWWindow, GWL_WNDPROC, (long)key_winproc); + } +} + +//////////////////////////////////////////////////////////////////////// + +void ExitKeyHandler(void) +{ + if(pOldWinProc) + SetWindowLong(hWWindow,GWL_WNDPROC, // set old proc + (long)pOldWinProc); + pOldWinProc = 0; +} + +//////////////////////////////////////////////////////////////////////// +// reset stuff on special keyboard commands +//////////////////////////////////////////////////////////////////////// + +void ResetStuff(void) +{ + ResetTextureArea(TRUE); + ulKeybits&=~KEY_RESETTEXSTORE; + + if(ulKeybits&KEY_BLACKWHITE) + { + if(bUseFixes) {bUseFixes=FALSE;dwActFixes=0;} + else {bUseFixes=TRUE; dwActFixes=dwCfgFixes;} + SetExtGLFuncs(); + if(iFrameLimit==2) SetAutoFrameCap(); + ulKeybits&=~KEY_BLACKWHITE; + } + + if(ulKeybits&KEY_RESETFILTER) + { + if(ulKeybits&KEY_STEPDOWN) + iFilterType--; + else iFilterType++; + if(iFilterType>6) iFilterType=0; + if(iFilterType<0) iFilterType=6; + SetExtGLFuncs(); + ulKeybits&=~(KEY_RESETFILTER|KEY_STEPDOWN); + BuildDispMenu(0); + } + + if(ulKeybits&KEY_RESETOPAQUE) + { + bOpaquePass=!bOpaquePass; + SetExtGLFuncs(); + ulKeybits&=~KEY_RESETOPAQUE; + BuildDispMenu(0); + } + + if(ulKeybits&KEY_RESETADVBLEND) + { + bAdvancedBlend=!bAdvancedBlend; + SetExtGLFuncs(); + ulKeybits&=~KEY_RESETADVBLEND; + BuildDispMenu(0); + } + + if(ulKeybits&KEY_RESETDITHER) + { + bDrawDither=!bDrawDither; + if(bDrawDither) glEnable(GL_DITHER); + else glDisable(GL_DITHER); + ulKeybits&=~KEY_RESETDITHER; + BuildDispMenu(0); + } + + if(ulKeybits & KEY_TOGGLEFBTEXTURE) + { + if(ulKeybits&KEY_STEPDOWN) + iFrameTexType--; + else iFrameTexType++; + if(iFrameTexType>3) iFrameTexType=0; + if(iFrameTexType<0) iFrameTexType=3; + if(gTexFrameName!=0) + glDeleteTextures(1, &gTexFrameName); + gTexFrameName=0; + ulKeybits&=~(KEY_TOGGLEFBTEXTURE|KEY_STEPDOWN); + } + + if(ulKeybits & KEY_TOGGLEFBREAD) + { + if(ulKeybits&KEY_STEPDOWN) + iFrameReadType--; + else iFrameReadType++; + if(iFrameReadType>4) iFrameReadType=0; + if(iFrameReadType<0) iFrameReadType=4; + if(iFrameReadType==4) bFullVRam=TRUE; + else bFullVRam=FALSE; + iRenderFVR=0; + ulKeybits&=~(KEY_TOGGLEFBREAD|KEY_STEPDOWN); + } +} diff --git a/win32/plugins/peopsxgl/winsrc/ssave.c b/win32/plugins/peopsxgl/winsrc/ssave.c index 40a75956..8665a5b3 100644..100755 --- a/win32/plugins/peopsxgl/winsrc/ssave.c +++ b/win32/plugins/peopsxgl/winsrc/ssave.c @@ -1,65 +1,65 @@ -/***************************************************************************
- ssave.c - description
- -------------------
- begin : Sun Mar 08 2009
- copyright : (C) 1999-2009 by Pete Bernert
- web : www.pbernert.com
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2009/03/08 - Pete
-// - generic cleanup for the Peops release
-//
-//*************************************************************************//
-
-#include "stdafx.h"
-
-#include "externals.h"
-
-////////////////////////////////////////////////////////////////////////
-// screensaver stuff: dynamically load kernel32.dll to avoid export dependeny
-////////////////////////////////////////////////////////////////////////
-
-#ifdef __MINGW32__
-#define EXECUTION_STATE DWORD
-#endif
-
-void EnableScreenSaver(BOOL bEnab)
-{
- HINSTANCE hKernel32 = NULL;
- EXECUTION_STATE (WINAPI *D_SetThreadExecutionState)(EXECUTION_STATE esFlags);
-
- if(bEnab)
- {
- hKernel32 = LoadLibrary("kernel32.dll");
- if(hKernel32 != NULL)
- {
- if((D_SetThreadExecutionState=(EXECUTION_STATE (WINAPI *)(EXECUTION_STATE))GetProcAddress(hKernel32,"SetThreadExecutionState"))!=NULL)
- D_SetThreadExecutionState(ES_SYSTEM_REQUIRED|ES_DISPLAY_REQUIRED);
- FreeLibrary(hKernel32);
- }
- }
- else
- {
- hKernel32 = LoadLibrary("kernel32.dll");
- if(hKernel32 != NULL)
- {
- if((D_SetThreadExecutionState=(EXECUTION_STATE (WINAPI *)(EXECUTION_STATE))GetProcAddress(hKernel32,"SetThreadExecutionState"))!=NULL)
- D_SetThreadExecutionState(ES_SYSTEM_REQUIRED|ES_DISPLAY_REQUIRED|ES_CONTINUOUS);
- FreeLibrary(hKernel32);
- }
- }
-}
-
+/*************************************************************************** + ssave.c - description + ------------------- + begin : Sun Mar 08 2009 + copyright : (C) 1999-2009 by Pete Bernert + web : www.pbernert.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2009/03/08 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +#include "stdafx.h" + +#include "externals.h" + +//////////////////////////////////////////////////////////////////////// +// screensaver stuff: dynamically load kernel32.dll to avoid export dependeny +//////////////////////////////////////////////////////////////////////// + +#ifdef __MINGW32__ +#define EXECUTION_STATE DWORD +#endif + +void EnableScreenSaver(BOOL bEnab) +{ + HINSTANCE hKernel32 = NULL; + EXECUTION_STATE (WINAPI *D_SetThreadExecutionState)(EXECUTION_STATE esFlags); + + if(bEnab) + { + hKernel32 = LoadLibrary("kernel32.dll"); + if(hKernel32 != NULL) + { + if((D_SetThreadExecutionState=(EXECUTION_STATE (WINAPI *)(EXECUTION_STATE))GetProcAddress(hKernel32,"SetThreadExecutionState"))!=NULL) + D_SetThreadExecutionState(ES_SYSTEM_REQUIRED|ES_DISPLAY_REQUIRED); + FreeLibrary(hKernel32); + } + } + else + { + hKernel32 = LoadLibrary("kernel32.dll"); + if(hKernel32 != NULL) + { + if((D_SetThreadExecutionState=(EXECUTION_STATE (WINAPI *)(EXECUTION_STATE))GetProcAddress(hKernel32,"SetThreadExecutionState"))!=NULL) + D_SetThreadExecutionState(ES_SYSTEM_REQUIRED|ES_DISPLAY_REQUIRED|ES_CONTINUOUS); + FreeLibrary(hKernel32); + } + } +} + diff --git a/win32/plugins/peopsxgl/winsrc/ssave.h b/win32/plugins/peopsxgl/winsrc/ssave.h index 66ac0854..e498c960 100644..100755 --- a/win32/plugins/peopsxgl/winsrc/ssave.h +++ b/win32/plugins/peopsxgl/winsrc/ssave.h @@ -1,29 +1,29 @@ -/***************************************************************************
- ssave.h - description
- -------------------
- begin : Sun Mar 08 2009
- copyright : (C) 1999-2009 by Pete Bernert
- web : www.pbernert.com
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2009/03/08 - Pete
-// - generic cleanup for the Peops release
-//
-//*************************************************************************//
-
-// prototype
-
+/*************************************************************************** + ssave.h - description + ------------------- + begin : Sun Mar 08 2009 + copyright : (C) 1999-2009 by Pete Bernert + web : www.pbernert.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2009/03/08 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +// prototype + void EnableScreenSaver(BOOL bEnab);
\ No newline at end of file diff --git a/win32/plugins/peopsxgl/winsrc/winmain.c b/win32/plugins/peopsxgl/winsrc/winmain.c index e69fe6e3..6b860505 100644..100755 --- a/win32/plugins/peopsxgl/winsrc/winmain.c +++ b/win32/plugins/peopsxgl/winsrc/winmain.c @@ -1,42 +1,42 @@ -/***************************************************************************
- gpuPeopsOpenGL.c - description
- -------------------
- begin : Sun Mar 08 2009
- copyright : (C) 1999-2009 by Pete Bernert
- web : www.pbernert.com
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-//*************************************************************************//
-// History of changes:
-//
-// 2009/03/08 - Pete
-// - generic cleanup for the Peops release
-//
-//*************************************************************************//
-
-#include "stdafx.h"
-
-///////////////////////////////////////////////////////////////////////////
-// GENERIC FUNCS //////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////
-
-HINSTANCE hInst=NULL;
-
-BOOL APIENTRY DllMain(HANDLE hModule, // DLL INIT
- DWORD dwReason,
- LPVOID lpReserved)
-{
- hInst=(HINSTANCE)hModule;
- return TRUE; // very quick :)
-}
-
+/*************************************************************************** + gpuPeopsOpenGL.c - description + ------------------- + begin : Sun Mar 08 2009 + copyright : (C) 1999-2009 by Pete Bernert + web : www.pbernert.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2009/03/08 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +#include "stdafx.h" + +/////////////////////////////////////////////////////////////////////////// +// GENERIC FUNCS ////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////// + +HINSTANCE hInst=NULL; + +BOOL APIENTRY DllMain(HANDLE hModule, // DLL INIT + DWORD dwReason, + LPVOID lpReserved) +{ + hInst=(HINSTANCE)hModule; + return TRUE; // very quick :) +} + |
