just a bunch of propsets for svn:eol-style=native
This commit is contained in:
parent
ffb5de877d
commit
305eb40c1e
|
@ -1,5 +1,5 @@
|
|||
bool DRV_AviBegin(const char* fname);
|
||||
void DRV_AviEnd();
|
||||
void DRV_AviSoundUpdate(void* soundData, int soundLen);
|
||||
bool DRV_AviIsRecording();
|
||||
bool DRV_AviBegin(const char* fname);
|
||||
void DRV_AviEnd();
|
||||
void DRV_AviSoundUpdate(void* soundData, int soundLen);
|
||||
bool DRV_AviIsRecording();
|
||||
void DRV_AviVideoUpdate(const u16* buffer);
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef _CONFIG_H
|
||||
#define _CONFIG_H
|
||||
|
||||
#include "userconfig.h"
|
||||
|
||||
#endif
|
||||
#ifndef _CONFIG_H
|
||||
#define _CONFIG_H
|
||||
|
||||
#include "userconfig.h"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#ifndef _USERCONFIG_H
|
||||
#define _USERCONFIG_H
|
||||
|
||||
//this is a default file. it should not be edited, or else you will mess up the defaults.
|
||||
//to customize your build, place a customized copy in the userconfig directory
|
||||
//(alongside this defaultconfig directory)
|
||||
|
||||
//#define NOSSE2 //disables SSE2 optimizations (better change it in the vc++ codegen options too)
|
||||
//#define DEVELOPER //enables dev+ features
|
||||
|
||||
|
||||
#endif //_USERCONFIG_H
|
||||
#ifndef _USERCONFIG_H
|
||||
#define _USERCONFIG_H
|
||||
|
||||
//this is a default file. it should not be edited, or else you will mess up the defaults.
|
||||
//to customize your build, place a customized copy in the userconfig directory
|
||||
//(alongside this defaultconfig directory)
|
||||
|
||||
//#define NOSSE2 //disables SSE2 optimizations (better change it in the vc++ codegen options too)
|
||||
//#define DEVELOPER //enables dev+ features
|
||||
|
||||
|
||||
#endif //_USERCONFIG_H
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,52 +1,52 @@
|
|||
//RamSearch dialog was copied and adapted from GENS11: http://code.google.com/p/gens-rerecording/
|
||||
//Authors: Upthorn, Nitsuja, adelikat
|
||||
|
||||
#ifndef RAM_SEARCH_H
|
||||
#define RAM_SEARCH_H
|
||||
|
||||
|
||||
//64k in Ram_68k[], 8k in Ram_Z80[]
|
||||
//#define _68K_RAM_SIZE 64*1024
|
||||
//#define Z80_RAM_SIZE 8*1024
|
||||
/*#define SRAM_SIZE (((SRAM_End - SRAM_Start) > 2) ? SRAM_End - SRAM_Start : 0)
|
||||
#define BRAM_SIZE ((8 << BRAM_Ex_Size) * 1024)*/
|
||||
//#define GENESIS_RAM_SIZE (_68K_RAM_SIZE + Z80_RAM_SIZE)
|
||||
|
||||
//_32X_Ram[]
|
||||
//#define _32X_RAM_SIZE 256*1024
|
||||
|
||||
//512k in Ram_Prg, 256k in Ram_Word_1M and Ram_Word_2M
|
||||
//(docs say 6Mbit of ram, but I'm not sure what's used when)
|
||||
//#define SEGACD_RAM_PRG_SIZE 512*1024
|
||||
//#define SEGACD_1M_RAM_SIZE 256*1024
|
||||
//#define SEGACD_2M_RAM_SIZE 256*1024
|
||||
//#define SEGACD_RAM_SIZE (SEGACD_RAM_PRG_SIZE + SEGACD_2M_RAM_SIZE)
|
||||
|
||||
|
||||
//#define MAX_RAM_SIZE (0x112000)
|
||||
//#define MAX_RAM_SIZE (0xD2000)
|
||||
#define MAX_RAM_SIZE (0x400000)
|
||||
|
||||
extern char rs_type_size;
|
||||
extern int ResultCount;
|
||||
|
||||
unsigned int sizeConv(unsigned int index,char size, char *prevSize = &rs_type_size, bool usePrev = false);
|
||||
unsigned int GetRamValue(unsigned int Addr,char Size);
|
||||
void prune(char Search, char Operater, char Type, int Value, int OperatorParameter);
|
||||
void CompactAddrs();
|
||||
void reset_address_info();
|
||||
void signal_new_frame();
|
||||
void signal_new_size();
|
||||
void UpdateRamSearchTitleBar(int percent = 0);
|
||||
void Update_RAM_Search();
|
||||
void SetRamSearchUndoType(HWND hDlg, int type);
|
||||
unsigned int ReadValueAtHardwareAddress(unsigned int address, unsigned int size);
|
||||
bool WriteValueAtHardwareRAMAddress(unsigned int address, unsigned int value, unsigned int size, bool hookless=false);
|
||||
bool IsHardwareRAMAddressValid(unsigned int address);
|
||||
extern int curr_ram_size;
|
||||
extern bool noMisalign;
|
||||
extern bool littleEndian;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
//RamSearch dialog was copied and adapted from GENS11: http://code.google.com/p/gens-rerecording/
|
||||
//Authors: Upthorn, Nitsuja, adelikat
|
||||
|
||||
#ifndef RAM_SEARCH_H
|
||||
#define RAM_SEARCH_H
|
||||
|
||||
|
||||
//64k in Ram_68k[], 8k in Ram_Z80[]
|
||||
//#define _68K_RAM_SIZE 64*1024
|
||||
//#define Z80_RAM_SIZE 8*1024
|
||||
/*#define SRAM_SIZE (((SRAM_End - SRAM_Start) > 2) ? SRAM_End - SRAM_Start : 0)
|
||||
#define BRAM_SIZE ((8 << BRAM_Ex_Size) * 1024)*/
|
||||
//#define GENESIS_RAM_SIZE (_68K_RAM_SIZE + Z80_RAM_SIZE)
|
||||
|
||||
//_32X_Ram[]
|
||||
//#define _32X_RAM_SIZE 256*1024
|
||||
|
||||
//512k in Ram_Prg, 256k in Ram_Word_1M and Ram_Word_2M
|
||||
//(docs say 6Mbit of ram, but I'm not sure what's used when)
|
||||
//#define SEGACD_RAM_PRG_SIZE 512*1024
|
||||
//#define SEGACD_1M_RAM_SIZE 256*1024
|
||||
//#define SEGACD_2M_RAM_SIZE 256*1024
|
||||
//#define SEGACD_RAM_SIZE (SEGACD_RAM_PRG_SIZE + SEGACD_2M_RAM_SIZE)
|
||||
|
||||
|
||||
//#define MAX_RAM_SIZE (0x112000)
|
||||
//#define MAX_RAM_SIZE (0xD2000)
|
||||
#define MAX_RAM_SIZE (0x400000)
|
||||
|
||||
extern char rs_type_size;
|
||||
extern int ResultCount;
|
||||
|
||||
unsigned int sizeConv(unsigned int index,char size, char *prevSize = &rs_type_size, bool usePrev = false);
|
||||
unsigned int GetRamValue(unsigned int Addr,char Size);
|
||||
void prune(char Search, char Operater, char Type, int Value, int OperatorParameter);
|
||||
void CompactAddrs();
|
||||
void reset_address_info();
|
||||
void signal_new_frame();
|
||||
void signal_new_size();
|
||||
void UpdateRamSearchTitleBar(int percent = 0);
|
||||
void Update_RAM_Search();
|
||||
void SetRamSearchUndoType(HWND hDlg, int type);
|
||||
unsigned int ReadValueAtHardwareAddress(unsigned int address, unsigned int size);
|
||||
bool WriteValueAtHardwareRAMAddress(unsigned int address, unsigned int value, unsigned int size, bool hookless=false);
|
||||
bool IsHardwareRAMAddressValid(unsigned int address);
|
||||
extern int curr_ram_size;
|
||||
extern bool noMisalign;
|
||||
extern bool littleEndian;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,42 +1,42 @@
|
|||
//RamWatch dialog was copied and adapted from GENS11: http://code.google.com/p/gens-rerecording/
|
||||
//Authors: Upthorn, Nitsuja, adelikat
|
||||
|
||||
#ifndef RAMWATCH_H
|
||||
#define RAMWATCH_H
|
||||
#include "windows.h"
|
||||
bool ResetWatches();
|
||||
void OpenRWRecentFile(int memwRFileNumber);
|
||||
extern bool AutoRWLoad;
|
||||
extern bool RWSaveWindowPos;
|
||||
#define MAX_RECENT_WATCHES 5
|
||||
extern char rw_recent_files[MAX_RECENT_WATCHES][1024];
|
||||
extern bool AskSave();
|
||||
extern int ramw_x;
|
||||
extern int ramw_y;
|
||||
extern bool RWfileChanged;
|
||||
|
||||
// AddressWatcher is self-contained now
|
||||
struct AddressWatcher
|
||||
{
|
||||
unsigned int Address; // hardware address
|
||||
char Size;
|
||||
char Type;
|
||||
char* comment; // NULL means no comment, non-NULL means allocated comment
|
||||
bool WrongEndian;
|
||||
unsigned int CurValue;
|
||||
};
|
||||
#define MAX_WATCH_COUNT 256
|
||||
extern AddressWatcher rswatches[MAX_WATCH_COUNT];
|
||||
extern int WatchCount; // number of valid items in rswatches
|
||||
|
||||
extern char Watch_Dir[1024];
|
||||
|
||||
bool InsertWatch(const AddressWatcher& Watch, char *Comment);
|
||||
bool InsertWatch(const AddressWatcher& Watch, HWND parent=NULL); // asks user for comment
|
||||
void Update_RAM_Watch();
|
||||
bool Load_Watches(bool clear, const char* filename);
|
||||
|
||||
LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
extern HWND RamWatchHWnd;
|
||||
|
||||
#endif
|
||||
//RamWatch dialog was copied and adapted from GENS11: http://code.google.com/p/gens-rerecording/
|
||||
//Authors: Upthorn, Nitsuja, adelikat
|
||||
|
||||
#ifndef RAMWATCH_H
|
||||
#define RAMWATCH_H
|
||||
#include "windows.h"
|
||||
bool ResetWatches();
|
||||
void OpenRWRecentFile(int memwRFileNumber);
|
||||
extern bool AutoRWLoad;
|
||||
extern bool RWSaveWindowPos;
|
||||
#define MAX_RECENT_WATCHES 5
|
||||
extern char rw_recent_files[MAX_RECENT_WATCHES][1024];
|
||||
extern bool AskSave();
|
||||
extern int ramw_x;
|
||||
extern int ramw_y;
|
||||
extern bool RWfileChanged;
|
||||
|
||||
// AddressWatcher is self-contained now
|
||||
struct AddressWatcher
|
||||
{
|
||||
unsigned int Address; // hardware address
|
||||
char Size;
|
||||
char Type;
|
||||
char* comment; // NULL means no comment, non-NULL means allocated comment
|
||||
bool WrongEndian;
|
||||
unsigned int CurValue;
|
||||
};
|
||||
#define MAX_WATCH_COUNT 256
|
||||
extern AddressWatcher rswatches[MAX_WATCH_COUNT];
|
||||
extern int WatchCount; // number of valid items in rswatches
|
||||
|
||||
extern char Watch_Dir[1024];
|
||||
|
||||
bool InsertWatch(const AddressWatcher& Watch, char *Comment);
|
||||
bool InsertWatch(const AddressWatcher& Watch, HWND parent=NULL); // asks user for comment
|
||||
void Update_RAM_Watch();
|
||||
bool Load_Watches(bool clear, const char* filename);
|
||||
|
||||
LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
extern HWND RamWatchHWnd;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,157 +1,157 @@
|
|||
#include <io.h>
|
||||
#include "resource.h"
|
||||
#include "replay.h"
|
||||
#include "common.h"
|
||||
#include "main.h"
|
||||
#include "movie.h"
|
||||
#include "utils/xstring.h"
|
||||
|
||||
bool replayreadonly=1;
|
||||
|
||||
//adelikat: TODO: put this in one of the header files
|
||||
template<int BUFSIZE>
|
||||
inline std::wstring GetDlgItemTextW(HWND hDlg, int nIDDlgItem) {
|
||||
wchar_t buf[BUFSIZE];
|
||||
GetDlgItemTextW(hDlg, nIDDlgItem, buf, BUFSIZE);
|
||||
return buf;
|
||||
}
|
||||
|
||||
template<int BUFSIZE>
|
||||
inline std::string GetDlgItemText(HWND hDlg, int nIDDlgItem) {
|
||||
char buf[BUFSIZE];
|
||||
GetDlgItemText(hDlg, nIDDlgItem, buf, BUFSIZE);
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
||||
char playfilename[MAX_PATH] = "";
|
||||
|
||||
//Replay movie dialog
|
||||
BOOL CALLBACK ReplayDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
char szChoice[MAX_PATH]={0};
|
||||
char filename[MAX_PATH] = "";
|
||||
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
SendDlgItemMessage(hwndDlg, IDC_CHECK_READONLY, BM_SETCHECK, replayreadonly?BST_CHECKED:BST_UNCHECKED, 0);
|
||||
return FALSE;
|
||||
|
||||
case WM_COMMAND:
|
||||
int wID = LOWORD(wParam);
|
||||
switch(wID)
|
||||
{
|
||||
case ID_BROWSE:
|
||||
|
||||
ZeroMemory(&ofn, sizeof(ofn));
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.hwndOwner = MainWindow->getHWnd();
|
||||
ofn.lpstrFilter = "Desmume Movie File (*.dsm)\0*.dsm\0All files(*.*)\0*.*\0\0";
|
||||
ofn.nFilterIndex = 1;
|
||||
ofn.lpstrFile = filename;
|
||||
ofn.lpstrTitle = "Replay Movie from File";
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.lpstrDefExt = "dsm";
|
||||
GetOpenFileName(&ofn);
|
||||
strcpy(playfilename, filename);
|
||||
SetDlgItemText(hwndDlg, PM_FILENAME, playfilename);
|
||||
return true;
|
||||
|
||||
case IDC_CHECK_READONLY:
|
||||
replayreadonly ^= 1;
|
||||
return true;
|
||||
|
||||
case IDOK:
|
||||
FCEUI_LoadMovie(playfilename, replayreadonly, false, 80000);
|
||||
ZeroMemory(&playfilename, sizeof(playfilename));
|
||||
EndDialog(hwndDlg, 0);
|
||||
return true;
|
||||
|
||||
case IDCANCEL:
|
||||
ZeroMemory(&playfilename, sizeof(playfilename));
|
||||
EndDialog(hwndDlg, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//Record movie dialog
|
||||
static BOOL CALLBACK RecordDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static struct CreateMovieParameters* p = NULL;
|
||||
std::wstring author = L"";
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
|
||||
return false;
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDOK: {
|
||||
author = GetDlgItemTextW<500>(hwndDlg,IDC_EDIT_AUTHOR);
|
||||
std::string fname = GetDlgItemText<MAX_PATH>(hwndDlg,IDC_EDIT_FILENAME);
|
||||
FCEUI_SaveMovie(fname.c_str(), author);
|
||||
EndDialog(hwndDlg, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
case IDCANCEL:
|
||||
EndDialog(hwndDlg, 0);
|
||||
return true;
|
||||
|
||||
case IDC_BUTTON_BROWSEFILE:
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
char szChoice[MAX_PATH]={0};
|
||||
char recordfilename[MAX_PATH];
|
||||
|
||||
// browse button
|
||||
ZeroMemory(&ofn, sizeof(ofn));
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.hwndOwner = MainWindow->getHWnd();
|
||||
ofn.lpstrFilter = "Desmume Movie File (*.dsm)\0*.dsm\0All files(*.*)\0*.*\0\0";
|
||||
ofn.lpstrFile = szChoice;
|
||||
ofn.lpstrTitle = "Record a new movie";
|
||||
ofn.lpstrDefExt = "dsm";
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
|
||||
GetSaveFileName(&ofn);
|
||||
strcpy(recordfilename, szChoice);
|
||||
SetDlgItemText(hwndDlg, IDC_EDIT_FILENAME, recordfilename);
|
||||
//if(GetSaveFileName(&ofn))
|
||||
// UpdateRecordDialogPath(hwndDlg,szChoice);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//Show the play movie dialog and play a movie
|
||||
void Replay_LoadMovie()
|
||||
{
|
||||
char* fn = (char*)DialogBoxParam(hAppInst, "IDD_REPLAYINP", MainWindow->getHWnd(), ReplayDialogProc, false);
|
||||
|
||||
if(fn)
|
||||
{
|
||||
FCEUI_LoadMovie(fn, movie_readonly, false, 100000);
|
||||
|
||||
free(fn);
|
||||
}
|
||||
}
|
||||
|
||||
//Show the record movie dialog and record a movie.
|
||||
void MovieRecordTo()
|
||||
{
|
||||
DialogBoxParam(hAppInst, MAKEINTRESOURCE(IDD_RECORDMOVIE), MainWindow->getHWnd(), RecordDialogProc, (LPARAM)0);
|
||||
}
|
||||
#include <io.h>
|
||||
#include "resource.h"
|
||||
#include "replay.h"
|
||||
#include "common.h"
|
||||
#include "main.h"
|
||||
#include "movie.h"
|
||||
#include "utils/xstring.h"
|
||||
|
||||
bool replayreadonly=1;
|
||||
|
||||
//adelikat: TODO: put this in one of the header files
|
||||
template<int BUFSIZE>
|
||||
inline std::wstring GetDlgItemTextW(HWND hDlg, int nIDDlgItem) {
|
||||
wchar_t buf[BUFSIZE];
|
||||
GetDlgItemTextW(hDlg, nIDDlgItem, buf, BUFSIZE);
|
||||
return buf;
|
||||
}
|
||||
|
||||
template<int BUFSIZE>
|
||||
inline std::string GetDlgItemText(HWND hDlg, int nIDDlgItem) {
|
||||
char buf[BUFSIZE];
|
||||
GetDlgItemText(hDlg, nIDDlgItem, buf, BUFSIZE);
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
||||
char playfilename[MAX_PATH] = "";
|
||||
|
||||
//Replay movie dialog
|
||||
BOOL CALLBACK ReplayDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
char szChoice[MAX_PATH]={0};
|
||||
char filename[MAX_PATH] = "";
|
||||
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
SendDlgItemMessage(hwndDlg, IDC_CHECK_READONLY, BM_SETCHECK, replayreadonly?BST_CHECKED:BST_UNCHECKED, 0);
|
||||
return FALSE;
|
||||
|
||||
case WM_COMMAND:
|
||||
int wID = LOWORD(wParam);
|
||||
switch(wID)
|
||||
{
|
||||
case ID_BROWSE:
|
||||
|
||||
ZeroMemory(&ofn, sizeof(ofn));
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.hwndOwner = MainWindow->getHWnd();
|
||||
ofn.lpstrFilter = "Desmume Movie File (*.dsm)\0*.dsm\0All files(*.*)\0*.*\0\0";
|
||||
ofn.nFilterIndex = 1;
|
||||
ofn.lpstrFile = filename;
|
||||
ofn.lpstrTitle = "Replay Movie from File";
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.lpstrDefExt = "dsm";
|
||||
GetOpenFileName(&ofn);
|
||||
strcpy(playfilename, filename);
|
||||
SetDlgItemText(hwndDlg, PM_FILENAME, playfilename);
|
||||
return true;
|
||||
|
||||
case IDC_CHECK_READONLY:
|
||||
replayreadonly ^= 1;
|
||||
return true;
|
||||
|
||||
case IDOK:
|
||||
FCEUI_LoadMovie(playfilename, replayreadonly, false, 80000);
|
||||
ZeroMemory(&playfilename, sizeof(playfilename));
|
||||
EndDialog(hwndDlg, 0);
|
||||
return true;
|
||||
|
||||
case IDCANCEL:
|
||||
ZeroMemory(&playfilename, sizeof(playfilename));
|
||||
EndDialog(hwndDlg, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//Record movie dialog
|
||||
static BOOL CALLBACK RecordDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static struct CreateMovieParameters* p = NULL;
|
||||
std::wstring author = L"";
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
|
||||
return false;
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDOK: {
|
||||
author = GetDlgItemTextW<500>(hwndDlg,IDC_EDIT_AUTHOR);
|
||||
std::string fname = GetDlgItemText<MAX_PATH>(hwndDlg,IDC_EDIT_FILENAME);
|
||||
FCEUI_SaveMovie(fname.c_str(), author);
|
||||
EndDialog(hwndDlg, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
case IDCANCEL:
|
||||
EndDialog(hwndDlg, 0);
|
||||
return true;
|
||||
|
||||
case IDC_BUTTON_BROWSEFILE:
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
char szChoice[MAX_PATH]={0};
|
||||
char recordfilename[MAX_PATH];
|
||||
|
||||
// browse button
|
||||
ZeroMemory(&ofn, sizeof(ofn));
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.hwndOwner = MainWindow->getHWnd();
|
||||
ofn.lpstrFilter = "Desmume Movie File (*.dsm)\0*.dsm\0All files(*.*)\0*.*\0\0";
|
||||
ofn.lpstrFile = szChoice;
|
||||
ofn.lpstrTitle = "Record a new movie";
|
||||
ofn.lpstrDefExt = "dsm";
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
|
||||
GetSaveFileName(&ofn);
|
||||
strcpy(recordfilename, szChoice);
|
||||
SetDlgItemText(hwndDlg, IDC_EDIT_FILENAME, recordfilename);
|
||||
//if(GetSaveFileName(&ofn))
|
||||
// UpdateRecordDialogPath(hwndDlg,szChoice);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//Show the play movie dialog and play a movie
|
||||
void Replay_LoadMovie()
|
||||
{
|
||||
char* fn = (char*)DialogBoxParam(hAppInst, "IDD_REPLAYINP", MainWindow->getHWnd(), ReplayDialogProc, false);
|
||||
|
||||
if(fn)
|
||||
{
|
||||
FCEUI_LoadMovie(fn, movie_readonly, false, 100000);
|
||||
|
||||
free(fn);
|
||||
}
|
||||
}
|
||||
|
||||
//Show the record movie dialog and record a movie.
|
||||
void MovieRecordTo()
|
||||
{
|
||||
DialogBoxParam(hAppInst, MAKEINTRESOURCE(IDD_RECORDMOVIE), MainWindow->getHWnd(), RecordDialogProc, (LPARAM)0);
|
||||
}
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
void Replay_LoadMovie();
|
||||
void MovieRecordTo();
|
||||
void Replay_LoadMovie();
|
||||
void MovieRecordTo();
|
||||
|
|
Loading…
Reference in New Issue