Merge pull request #51 from owomomo/master
Updated some features of Cheat Dialog
This commit is contained in:
commit
5dc4f288a3
402
src/cheat.cpp
402
src/cheat.cpp
|
@ -40,7 +40,7 @@ static uint8 *CheatRPtrs[64];
|
||||||
|
|
||||||
vector<uint16> FrozenAddresses; //List of addresses that are currently frozen
|
vector<uint16> FrozenAddresses; //List of addresses that are currently frozen
|
||||||
void UpdateFrozenList(void); //Function that populates the list of frozen addresses
|
void UpdateFrozenList(void); //Function that populates the list of frozen addresses
|
||||||
unsigned int FrozenAddressCount=0; //Keeps up with the Frozen address count, necessary for using in other dialogs (such as hex editor)
|
unsigned int FrozenAddressCount = 0; //Keeps up with the Frozen address count, necessary for using in other dialogs (such as hex editor)
|
||||||
|
|
||||||
void FCEU_CheatResetRAM(void)
|
void FCEU_CheatResetRAM(void)
|
||||||
{
|
{
|
||||||
|
@ -60,9 +60,9 @@ void FCEU_CheatAddRAM(int s, uint32 A, uint8 *p)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
CHEATF_SUBFAST SubCheats[256];
|
CHEATF_SUBFAST SubCheats[256] = { 0 };
|
||||||
uint32 numsubcheats=0;
|
uint32 numsubcheats = 0;
|
||||||
struct CHEATF *cheats=0,*cheatsl=0;
|
struct CHEATF *cheats = 0, *cheatsl = 0;
|
||||||
|
|
||||||
|
|
||||||
#define CHEATC_NONE 0x8000
|
#define CHEATC_NONE 0x8000
|
||||||
|
@ -74,7 +74,7 @@ int savecheats = 0;
|
||||||
|
|
||||||
static DECLFR(SubCheatsRead)
|
static DECLFR(SubCheatsRead)
|
||||||
{
|
{
|
||||||
CHEATF_SUBFAST *s=SubCheats;
|
CHEATF_SUBFAST *s = SubCheats;
|
||||||
int x=numsubcheats;
|
int x=numsubcheats;
|
||||||
|
|
||||||
do
|
do
|
||||||
|
@ -99,40 +99,35 @@ static DECLFR(SubCheatsRead)
|
||||||
void RebuildSubCheats(void)
|
void RebuildSubCheats(void)
|
||||||
{
|
{
|
||||||
uint32 x;
|
uint32 x;
|
||||||
struct CHEATF *c=cheats;
|
struct CHEATF *c = cheats;
|
||||||
for(x=0;x<numsubcheats;x++)
|
for(x = 0; x < numsubcheats; x++)
|
||||||
SetReadHandler(SubCheats[x].addr,SubCheats[x].addr,SubCheats[x].PrevRead);
|
SetReadHandler(SubCheats[x].addr, SubCheats[x].addr, SubCheats[x].PrevRead);
|
||||||
|
|
||||||
numsubcheats=0;
|
numsubcheats = 0;
|
||||||
while(c)
|
while(c)
|
||||||
{
|
{
|
||||||
if(c->type==1 && c->status)
|
if(c->type == 1 && c->status)
|
||||||
{
|
{
|
||||||
if(GetReadHandler(c->addr)==SubCheatsRead)
|
if(GetReadHandler(c->addr) != SubCheatsRead)
|
||||||
{
|
{
|
||||||
/* Prevent a catastrophe by this check. */
|
SubCheats[numsubcheats].PrevRead = GetReadHandler(c->addr);
|
||||||
//FCEU_DispMessage("oops",0);
|
SubCheats[numsubcheats].addr = c->addr;
|
||||||
}
|
SubCheats[numsubcheats].val = c->val;
|
||||||
else
|
SubCheats[numsubcheats].compare = c->compare;
|
||||||
{
|
SetReadHandler(c->addr, c->addr, SubCheatsRead);
|
||||||
SubCheats[numsubcheats].PrevRead=GetReadHandler(c->addr);
|
|
||||||
SubCheats[numsubcheats].addr=c->addr;
|
|
||||||
SubCheats[numsubcheats].val=c->val;
|
|
||||||
SubCheats[numsubcheats].compare=c->compare;
|
|
||||||
SetReadHandler(c->addr,c->addr,SubCheatsRead);
|
|
||||||
numsubcheats++;
|
numsubcheats++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c=c->next;
|
c = c->next;
|
||||||
}
|
}
|
||||||
FrozenAddressCount = numsubcheats; //Update the frozen address list
|
FrozenAddressCount = numsubcheats; //Update the frozen address list
|
||||||
UpdateFrozenList();
|
UpdateFrozenList();
|
||||||
//FCEUI_DispMessage("Active Cheats: %d",0, FrozenAddresses.size()/*FrozenAddressCount*/); //Debug
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FCEU_PowerCheats()
|
void FCEU_PowerCheats()
|
||||||
{
|
{
|
||||||
numsubcheats=0; /* Quick hack to prevent setting of ancient read addresses. */
|
numsubcheats = 0; /* Quick hack to prevent setting of ancient read addresses. */
|
||||||
RebuildSubCheats();
|
RebuildSubCheats();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,41 +139,47 @@ int FCEU_CalcCheatAffectedBytes(uint32 address, uint32 size) {
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int AddCheatEntry(char *name, uint32 addr, uint8 val, int compare, int status, int type);
|
static int AddCheatEntry(const char *name, uint32 addr, uint8 val, int compare, int status, int type);
|
||||||
static void CheatMemErr(void)
|
static void CheatMemErr(void)
|
||||||
{
|
{
|
||||||
FCEUD_PrintError("Error allocating memory for cheat data.");
|
FCEUD_PrintError("Error allocating memory for cheat data.");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This function doesn't allocate any memory for "name" */
|
static int AddCheatEntry(const char *name, uint32 addr, uint8 val, int compare, int status, int type)
|
||||||
static int AddCheatEntry(char *name, uint32 addr, uint8 val, int compare, int status, int type)
|
|
||||||
{
|
{
|
||||||
struct CHEATF *temp;
|
struct CHEATF *temp;
|
||||||
if(!(temp=(struct CHEATF *)FCEU_dmalloc(sizeof(struct CHEATF))))
|
if(!(temp = (struct CHEATF *)FCEU_dmalloc(sizeof(struct CHEATF))))
|
||||||
{
|
{
|
||||||
CheatMemErr();
|
CheatMemErr();
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
temp->name=name;
|
|
||||||
temp->addr=addr;
|
temp->name = strcpy((char*) FCEU_dmalloc(strlen(name) + 1), name);
|
||||||
temp->val=val;
|
temp->addr = addr;
|
||||||
temp->status=status;
|
temp->val = val;
|
||||||
temp->compare=compare;
|
temp->status = status;
|
||||||
temp->type=type;
|
temp->compare = compare;
|
||||||
temp->next=0;
|
temp->type = type;
|
||||||
|
temp->next = 0;
|
||||||
|
|
||||||
if(cheats)
|
if(cheats)
|
||||||
{
|
{
|
||||||
cheatsl->next=temp;
|
cheatsl->next = temp;
|
||||||
cheatsl=temp;
|
cheatsl = temp;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
cheats=cheatsl=temp;
|
cheats = cheatsl = temp;
|
||||||
|
|
||||||
return(1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FCEU_LoadGameCheats(FILE *override)
|
/* The "override_existing" parameter is used only in cheat dialog import.
|
||||||
|
Since the default behaviour will reset numsubcheats to 0 everytime,
|
||||||
|
In game loading, this is absolutely right, but when importing in cheat window,
|
||||||
|
resetting numsubcheats to 0 will override existed cheat items to make them
|
||||||
|
invalid.
|
||||||
|
*/
|
||||||
|
void FCEU_LoadGameCheats(FILE *override, int override_existing)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
unsigned int addr;
|
unsigned int addr;
|
||||||
|
@ -188,85 +189,90 @@ void FCEU_LoadGameCheats(FILE *override)
|
||||||
unsigned int compare;
|
unsigned int compare;
|
||||||
int x;
|
int x;
|
||||||
|
|
||||||
char linebuf[2048];
|
char linebuf[2048] = { 0 };
|
||||||
char *namebuf;
|
char namebuf[128] = { 0 };
|
||||||
int tc=0;
|
int tc = 0;
|
||||||
char *fn;
|
char *fn;
|
||||||
|
|
||||||
numsubcheats=savecheats=0;
|
savecheats = 0;
|
||||||
|
if (override_existing)
|
||||||
|
numsubcheats = 0;
|
||||||
|
|
||||||
if(override)
|
if(override)
|
||||||
fp = override;
|
fp = override;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fn=strdup(FCEU_MakeFName(FCEUMKF_CHEAT,0,0).c_str());
|
fn = strdup(FCEU_MakeFName(FCEUMKF_CHEAT, 0, 0).c_str());
|
||||||
fp=FCEUD_UTF8fopen(fn,"rb");
|
fp = FCEUD_UTF8fopen(fn, "rb");
|
||||||
free(fn);
|
free(fn);
|
||||||
if(!fp) return;
|
if (!fp) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FCEU_DispMessage("Cheats file loaded.",0); //Tells user a cheats file was loaded.
|
while(fgets(linebuf, 2048, fp) != nullptr)
|
||||||
while(fgets(linebuf,2048,fp) != nullptr)
|
|
||||||
{
|
{
|
||||||
char *tbuf=linebuf;
|
char *tbuf = linebuf;
|
||||||
int doc=0;
|
int doc = 0;
|
||||||
|
|
||||||
addr=val=compare=status=type=0;
|
addr = val = compare = status = type = 0;
|
||||||
|
|
||||||
if(tbuf[0]=='S')
|
if(tbuf[0] == 'S')
|
||||||
{
|
{
|
||||||
tbuf++;
|
tbuf++;
|
||||||
type=1;
|
type = 1;
|
||||||
}
|
}
|
||||||
else type=0;
|
else
|
||||||
|
type = 0;
|
||||||
|
|
||||||
if(tbuf[0]=='C')
|
if(tbuf[0] == 'C')
|
||||||
{
|
{
|
||||||
tbuf++;
|
tbuf++;
|
||||||
doc=1;
|
doc = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tbuf[0]==':')
|
if(tbuf[0] == ':')
|
||||||
{
|
{
|
||||||
tbuf++;
|
tbuf++;
|
||||||
status=0;
|
status = 0;
|
||||||
}
|
}
|
||||||
else status=1;
|
else status = 1;
|
||||||
|
|
||||||
if(doc)
|
if(doc)
|
||||||
{
|
{
|
||||||
char *neo=&tbuf[4+2+2+1+1+1];
|
char *neo = &tbuf[4+2+2+1+1+1];
|
||||||
if(sscanf(tbuf,"%04x%*[:]%02x%*[:]%02x",&addr,&val,&compare)!=3)
|
if(sscanf(tbuf, "%04x%*[:]%02x%*[:]%02x", &addr, &val, &compare) != 3)
|
||||||
continue;
|
continue;
|
||||||
if (!(namebuf=(char *)FCEU_dmalloc(strlen(neo)+1)))
|
char namebuf[128];
|
||||||
return;
|
strcpy(namebuf, neo);
|
||||||
strcpy(namebuf,neo);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char *neo=&tbuf[4+2+1+1];
|
char *neo = &tbuf[4+2+1+1];
|
||||||
if(sscanf(tbuf,"%04x%*[:]%02x",&addr,&val)!=2)
|
if(sscanf(tbuf, "%04x%*[:]%02x", &addr, &val) != 2)
|
||||||
continue;
|
continue;
|
||||||
if (!(namebuf=(char *)FCEU_dmalloc(strlen(neo)+1)))
|
strcpy(namebuf, neo);
|
||||||
return;
|
|
||||||
strcpy(namebuf,neo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(x=0;x<(int)strlen(namebuf);x++)
|
for(x = 0; x < (int)strlen(namebuf); x++)
|
||||||
{
|
{
|
||||||
if(namebuf[x]==10 || namebuf[x]==13)
|
if(namebuf[x] == 10 || namebuf[x] == 13)
|
||||||
{
|
{
|
||||||
namebuf[x]=0;
|
namebuf[x] = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if(namebuf[x] > 0x00 && namebuf[x] < 0x20)
|
else if(namebuf[x] > 0x00 && namebuf[x] < 0x20)
|
||||||
namebuf[x]=0x20;
|
namebuf[x] = 0x20;
|
||||||
}
|
}
|
||||||
|
|
||||||
AddCheatEntry(namebuf,addr,val,doc?compare:-1,status,type);
|
AddCheatEntry(namebuf, addr, val, doc ? compare : -1, status, type);
|
||||||
tc++;
|
tc++;
|
||||||
}
|
}
|
||||||
|
|
||||||
RebuildSubCheats();
|
RebuildSubCheats();
|
||||||
|
|
||||||
|
FCEU_DispMessage("Cheats file loaded.", 0); //Tells user a cheats file was loaded.
|
||||||
|
|
||||||
if(!override)
|
if(!override)
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
@ -355,23 +361,13 @@ void FCEU_FlushGameCheats(FILE *override, int nosave)
|
||||||
|
|
||||||
int FCEUI_AddCheat(const char *name, uint32 addr, uint8 val, int compare, int type)
|
int FCEUI_AddCheat(const char *name, uint32 addr, uint8 val, int compare, int type)
|
||||||
{
|
{
|
||||||
char *t;
|
|
||||||
|
|
||||||
if(!(t=(char *)FCEU_dmalloc(strlen(name)+1)))
|
if(!AddCheatEntry(name, addr, val, compare, 1, type))
|
||||||
{
|
return 0;
|
||||||
CheatMemErr();
|
savecheats = 1;
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
strcpy(t,name);
|
|
||||||
if(!AddCheatEntry(t,addr,val,compare,1,type))
|
|
||||||
{
|
|
||||||
free(t);
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
savecheats=1;
|
|
||||||
RebuildSubCheats();
|
RebuildSubCheats();
|
||||||
|
|
||||||
return(1);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FCEUI_DelCheat(uint32 which)
|
int FCEUI_DelCheat(uint32 which)
|
||||||
|
@ -588,43 +584,40 @@ int FCEUI_DecodePAR(const char *str, int *a, int *v, int *c, int *type)
|
||||||
|
|
||||||
int FCEUI_SetCheat(uint32 which, const char *name, int32 a, int32 v, int c, int s, int type)
|
int FCEUI_SetCheat(uint32 which, const char *name, int32 a, int32 v, int c, int s, int type)
|
||||||
{
|
{
|
||||||
struct CHEATF *next=cheats;
|
struct CHEATF *next = cheats;
|
||||||
uint32 x=0;
|
uint32 x = 0;
|
||||||
|
|
||||||
while(next)
|
while(next)
|
||||||
{
|
{
|
||||||
if(x==which)
|
if(x == which)
|
||||||
{
|
{
|
||||||
if(name)
|
if(name)
|
||||||
{
|
{
|
||||||
char *t;
|
char *t;
|
||||||
if((t=(char *)realloc(next->name, strlen(name)+1)))
|
if((t = (char *)realloc(next->name, strlen(name) + 1)))
|
||||||
{
|
strcpy(next->name = t, name);
|
||||||
next->name=t;
|
|
||||||
strcpy(next->name,name);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
return(0);
|
return 0;
|
||||||
}
|
}
|
||||||
if(a>=0)
|
if(a >= 0)
|
||||||
next->addr=a;
|
next->addr = a;
|
||||||
if(v>=0)
|
if(v >= 0)
|
||||||
next->val=v;
|
next->val = v;
|
||||||
if(s>=0)
|
if(s >= 0)
|
||||||
next->status=s;
|
next->status = s;
|
||||||
if(c>=-1)
|
if(c >= -1)
|
||||||
next->compare=c;
|
next->compare = c;
|
||||||
next->type=type;
|
next->type = type;
|
||||||
|
|
||||||
savecheats=1;
|
savecheats = 1;
|
||||||
RebuildSubCheats();
|
RebuildSubCheats();
|
||||||
|
|
||||||
return(1);
|
return 1;
|
||||||
}
|
}
|
||||||
next=next->next;
|
next = next->next;
|
||||||
x++;
|
x++;
|
||||||
}
|
}
|
||||||
return(0);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convenience function. */
|
/* Convenience function. */
|
||||||
|
@ -731,7 +724,7 @@ void FCEUI_CheatSearchGet(int (*callb)(uint32 a, uint8 last, uint8 current, void
|
||||||
void FCEUI_CheatSearchGetRange(uint32 first, uint32 last, int (*callb)(uint32 a, uint8 last, uint8 current))
|
void FCEUI_CheatSearchGetRange(uint32 first, uint32 last, int (*callb)(uint32 a, uint8 last, uint8 current))
|
||||||
{
|
{
|
||||||
uint32 x;
|
uint32 x;
|
||||||
uint32 in=0;
|
uint32 in = 0;
|
||||||
|
|
||||||
if(!CheatComp)
|
if(!CheatComp)
|
||||||
{
|
{
|
||||||
|
@ -740,14 +733,15 @@ void FCEUI_CheatSearchGetRange(uint32 first, uint32 last, int (*callb)(uint32 a,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(x=0;x<0x10000;x++)
|
for(x = 0; x < 0x10000; x++)
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW) && CheatRPtrs[x>>10])
|
if(!(CheatComp[x] & CHEATC_NOSHOW) && CheatRPtrs[x >> 10])
|
||||||
{
|
{
|
||||||
if(in>=first)
|
if(in >= first)
|
||||||
if(!callb(x,CheatComp[x],CheatRPtrs[x>>10][x]))
|
if(!callb(x, CheatComp[x], CheatRPtrs[x >> 10][x]))
|
||||||
break;
|
break;
|
||||||
in++;
|
in++;
|
||||||
if(in>last) return;
|
if(in > last)
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -793,130 +787,56 @@ void FCEUI_CheatSearchEnd(int type, uint8 v1, uint8 v2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (type)
|
||||||
if(!type) // Change to a specific value.
|
|
||||||
{
|
{
|
||||||
for(x=0;x<0x10000;x++)
|
default:
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
case FCEU_SEARCH_SPECIFIC_CHANGE: // Change to a specific value
|
||||||
{
|
for (x = 0; x < 0x10000; ++x)
|
||||||
if(CheatComp[x]==v1 && CheatRPtrs[x>>10][x]==v2)
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && (CheatComp[x] != v1 || CheatRPtrs[x >> 10][x] != v2))
|
||||||
{
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
|
break;
|
||||||
}
|
case FCEU_SEARCH_RELATIVE_CHANGE: // Search for relative change (between values).
|
||||||
else
|
for (x = 0; x < 0x10000; x++)
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && (CheatComp[x] != v1 || CAbs(CheatComp[x] - CheatRPtrs[x >> 10][x]) != v2))
|
||||||
}
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
}
|
break;
|
||||||
else if(type==1) // Search for relative change(between values).
|
case FCEU_SEARCH_PUERLY_RELATIVE_CHANGE: // Purely relative change.
|
||||||
{
|
for (x = 0x000; x<0x10000; x++)
|
||||||
for(x=0;x<0x10000;x++)
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && CAbs(CheatComp[x] - CheatRPtrs[x >> 10][x]) != v2)
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
{
|
break;
|
||||||
if(CheatComp[x]==v1 && CAbs(CheatComp[x]-CheatRPtrs[x>>10][x])==v2)
|
case FCEU_SEARCH_ANY_CHANGE: // Any change.
|
||||||
{
|
for (x = 0x000; x < 0x10000; x++)
|
||||||
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatComp[x] == CheatRPtrs[x >> 10][x])
|
||||||
}
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
else
|
break;
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
case FCEU_SEARCH_NEWVAL_KNOWN: // new value = known
|
||||||
}
|
for (x = 0x000; x < 0x10000; x++)
|
||||||
}
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatRPtrs[x >> 10][x] != v1)
|
||||||
else if(type==2) // Purely relative change.
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
{
|
break;
|
||||||
for(x=0x000;x<0x10000;x++)
|
case FCEU_SEARCH_NEWVAL_GT: // new value greater than
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
for (x = 0x000; x < 0x10000; x++)
|
||||||
{
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatComp[x] >= CheatRPtrs[x >> 10][x])
|
||||||
if(CAbs(CheatComp[x]-CheatRPtrs[x>>10][x])==v2)
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
{
|
break;
|
||||||
|
case FCEU_SEARCH_NEWVAL_LT: // new value less than
|
||||||
}
|
for (x = 0x000; x < 0x10000; x++)
|
||||||
else
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatComp[x] <= CheatRPtrs[x >> 10][x])
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
}
|
break;
|
||||||
}
|
case FCEU_SEARCH_NEWVAL_GT_KNOWN: // new value greater than by known value
|
||||||
else if(type==3) // Any change.
|
for (x = 0x000; x < 0x10000; x++)
|
||||||
{
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatRPtrs[x >> 10][x] - CheatComp[x] != v2)
|
||||||
for(x=0x000;x<0x10000;x++)
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
break;
|
||||||
{
|
case FCEU_SEARCH_NEWVAL_LT_KNOWN: // new value less than by known value
|
||||||
if(CheatComp[x]!=CheatRPtrs[x>>10][x])
|
for (x = 0x000; x < 0x10000; x++)
|
||||||
{
|
if (!(CheatComp[x] & CHEATC_NOSHOW) && (CheatComp[x] - CheatRPtrs[x >> 10][x]) != v2)
|
||||||
|
CheatComp[x] |= CHEATC_EXCLUDED;
|
||||||
}
|
break;
|
||||||
else
|
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
else if(type==4) // new value = known
|
|
||||||
{
|
|
||||||
for(x=0x000;x<0x10000;x++)
|
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
|
||||||
{
|
|
||||||
if(CheatRPtrs[x>>10][x]==v1)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else if(type==5) // new value greater than
|
|
||||||
{
|
|
||||||
for(x=0x000;x<0x10000;x++)
|
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
|
||||||
{
|
|
||||||
if(CheatComp[x]<CheatRPtrs[x>>10][x])
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else if(type==6) // new value less than
|
|
||||||
{
|
|
||||||
for(x=0x000;x<0x10000;x++)
|
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
|
||||||
{
|
|
||||||
if(CheatComp[x]>CheatRPtrs[x>>10][x])
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else if(type==7) // new value greater than by known value
|
|
||||||
{
|
|
||||||
for(x=0x000;x<0x10000;x++)
|
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
|
||||||
{
|
|
||||||
if((CheatRPtrs[x>>10][x]-CheatComp[x])==v2)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else if(type==8) // new value less than by known value
|
|
||||||
{
|
|
||||||
for(x=0x000;x<0x10000;x++)
|
|
||||||
if(!(CheatComp[x]&CHEATC_NOSHOW))
|
|
||||||
{
|
|
||||||
if((CheatComp[x]-CheatRPtrs[x>>10][x])==v2)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CheatComp[x]|=CHEATC_EXCLUDED;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int FCEU_CheatGetByte(uint32 A)
|
int FCEU_CheatGetByte(uint32 A)
|
||||||
|
@ -947,7 +867,7 @@ void UpdateFrozenList(void)
|
||||||
|
|
||||||
uint32 x;
|
uint32 x;
|
||||||
FrozenAddresses.clear(); //Clear vector and repopulate
|
FrozenAddresses.clear(); //Clear vector and repopulate
|
||||||
for(x=0;x<numsubcheats;x++)
|
for(x = 0; x < numsubcheats; x++)
|
||||||
{
|
{
|
||||||
FrozenAddresses.push_back(SubCheats[x].addr);
|
FrozenAddresses.push_back(SubCheats[x].addr);
|
||||||
//FCEU_printf("Address %d: %d \n",x,FrozenAddresses[x]); //Debug
|
//FCEU_printf("Address %d: %d \n",x,FrozenAddresses[x]); //Debug
|
||||||
|
@ -958,7 +878,7 @@ void UpdateFrozenList(void)
|
||||||
// disable all cheats
|
// disable all cheats
|
||||||
int FCEU_DisableAllCheats(){
|
int FCEU_DisableAllCheats(){
|
||||||
int count = 0;
|
int count = 0;
|
||||||
struct CHEATF *next=cheats;
|
struct CHEATF *next = cheats;
|
||||||
while(next)
|
while(next)
|
||||||
{
|
{
|
||||||
if(next->status){
|
if(next->status){
|
||||||
|
@ -967,7 +887,7 @@ int FCEU_DisableAllCheats(){
|
||||||
next->status = 0;
|
next->status = 0;
|
||||||
next = next->next;
|
next = next->next;
|
||||||
}
|
}
|
||||||
savecheats=1;
|
savecheats = 1;
|
||||||
RebuildSubCheats();
|
RebuildSubCheats();
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
23
src/cheat.h
23
src/cheat.h
|
@ -1,7 +1,7 @@
|
||||||
void FCEU_CheatResetRAM(void);
|
void FCEU_CheatResetRAM(void);
|
||||||
void FCEU_CheatAddRAM(int s, uint32 A, uint8 *p);
|
void FCEU_CheatAddRAM(int s, uint32 A, uint8 *p);
|
||||||
|
|
||||||
void FCEU_LoadGameCheats(FILE *override);
|
void FCEU_LoadGameCheats(FILE *override, int override_existing = 1);
|
||||||
void FCEU_FlushGameCheats(FILE *override, int nosave);
|
void FCEU_FlushGameCheats(FILE *override, int nosave);
|
||||||
void FCEU_ApplyPeriodicCheats(void);
|
void FCEU_ApplyPeriodicCheats(void);
|
||||||
void FCEU_PowerCheats(void);
|
void FCEU_PowerCheats(void);
|
||||||
|
@ -24,7 +24,7 @@ typedef struct {
|
||||||
|
|
||||||
struct CHEATF {
|
struct CHEATF {
|
||||||
struct CHEATF *next;
|
struct CHEATF *next;
|
||||||
char *name;
|
char *name = "";
|
||||||
uint16 addr;
|
uint16 addr;
|
||||||
uint8 val;
|
uint8 val;
|
||||||
int compare; /* -1 for no compare. */
|
int compare; /* -1 for no compare. */
|
||||||
|
@ -32,9 +32,26 @@ struct CHEATF {
|
||||||
int status;
|
int status;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct SEARCHPOSSIBLE {
|
||||||
|
uint16 addr;
|
||||||
|
uint8 previous;
|
||||||
|
uint8 current;
|
||||||
|
bool update;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define FCEU_SEARCH_SPECIFIC_CHANGE 0
|
||||||
|
#define FCEU_SEARCH_RELATIVE_CHANGE 1
|
||||||
|
#define FCEU_SEARCH_PUERLY_RELATIVE_CHANGE 2
|
||||||
|
#define FCEU_SEARCH_ANY_CHANGE 3
|
||||||
|
#define FCEU_SEARCH_NEWVAL_KNOWN 4
|
||||||
|
#define FCEU_SEARCH_NEWVAL_GT 5
|
||||||
|
#define FCEU_SEARCH_NEWVAL_LT 6
|
||||||
|
#define FCEU_SEARCH_NEWVAL_GT_KNOWN 7
|
||||||
|
#define FCEU_SEARCH_NEWVAL_LT_KNOWN 8
|
||||||
|
|
||||||
|
|
||||||
#define CalcAddressRangeCheatCount(count, address, size) \
|
#define CalcAddressRangeCheatCount(count, address, size) \
|
||||||
count = 0; \
|
count = 0; \
|
||||||
for (int i = 0; i < numsubcheats && count < size; ++i) \
|
for (int i = 0; i < numsubcheats && count < size; ++i) \
|
||||||
if (SubCheats[i].addr >= address && SubCheats[i].addr < address + size) \
|
if (SubCheats[i].addr >= address && SubCheats[i].addr < address + size) \
|
||||||
++count;
|
++count
|
||||||
|
|
|
@ -14,7 +14,9 @@ inline FILE *FCEUD_UTF8fopen(const std::string &n, const char *mode) { return FC
|
||||||
EMUFILE_FILE* FCEUD_UTF8_fstream(const char *n, const char *m);
|
EMUFILE_FILE* FCEUD_UTF8_fstream(const char *n, const char *m);
|
||||||
inline EMUFILE_FILE* FCEUD_UTF8_fstream(const std::string &n, const char *m) { return FCEUD_UTF8_fstream(n.c_str(),m); }
|
inline EMUFILE_FILE* FCEUD_UTF8_fstream(const std::string &n, const char *m) { return FCEUD_UTF8_fstream(n.c_str(),m); }
|
||||||
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex);
|
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex);
|
||||||
|
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex, bool* userCancel);
|
||||||
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename);
|
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename);
|
||||||
|
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename, bool* userCancel);
|
||||||
ArchiveScanRecord FCEUD_ScanArchive(std::string fname);
|
ArchiveScanRecord FCEUD_ScanArchive(std::string fname);
|
||||||
|
|
||||||
//mbg 7/23/06
|
//mbg 7/23/06
|
||||||
|
|
|
@ -275,10 +275,6 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// indicator for the open in archive dialog that if the load was canceled by the user.
|
|
||||||
// TODO: Since I can't think of a better way to indicate it, hope someone could imporve it.
|
|
||||||
extern bool archiveManuallyCanceled;
|
|
||||||
|
|
||||||
static BOOL CALLBACK ArchiveFileSelectorCallback(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
static BOOL CALLBACK ArchiveFileSelectorCallback(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
|
@ -289,7 +285,7 @@ static BOOL CALLBACK ArchiveFileSelectorCallback(HWND hwndDlg, UINT uMsg, WPARAM
|
||||||
for(uint32 i=0;i<currFileSelectorContext->size();i++)
|
for(uint32 i=0;i<currFileSelectorContext->size();i++)
|
||||||
{
|
{
|
||||||
std::string& name = (*currFileSelectorContext)[i].name;
|
std::string& name = (*currFileSelectorContext)[i].name;
|
||||||
SendMessage(hwndListbox,LB_ADDSTRING,0,(LPARAM)name.c_str());
|
SendMessage(hwndListbox, LB_ADDSTRING, 0, (LPARAM)name.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -310,9 +306,6 @@ static BOOL CALLBACK ArchiveFileSelectorCallback(HWND hwndDlg, UINT uMsg, WPARAM
|
||||||
|
|
||||||
case IDCANCEL:
|
case IDCANCEL:
|
||||||
EndDialog(hwndDlg, LB_ERR);
|
EndDialog(hwndDlg, LB_ERR);
|
||||||
// Tell the parent window that the operation was canceled rather than loading error
|
|
||||||
// TODO: find a better way to do this.
|
|
||||||
archiveManuallyCanceled = true;
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -493,7 +486,7 @@ extern HWND hAppWnd;
|
||||||
|
|
||||||
//TODO - factor out the filesize and name extraction code from below (it is already done once above)
|
//TODO - factor out the filesize and name extraction code from below (it is already done once above)
|
||||||
|
|
||||||
static FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename, int innerIndex)
|
static FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename, int innerIndex, bool* userCancel)
|
||||||
{
|
{
|
||||||
FCEUFILE* fp = 0;
|
FCEUFILE* fp = 0;
|
||||||
|
|
||||||
|
@ -565,7 +558,11 @@ static FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, s
|
||||||
delete ms;
|
delete ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
} //if returned a file from the fileselector
|
}
|
||||||
|
else {
|
||||||
|
if(userCancel)
|
||||||
|
*userCancel = true;
|
||||||
|
}//if returned a file from the fileselector
|
||||||
|
|
||||||
} //if we opened the 7z correctly
|
} //if we opened the 7z correctly
|
||||||
object->Release();
|
object->Release();
|
||||||
|
@ -574,11 +571,26 @@ static FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, s
|
||||||
return fp;
|
return fp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename, int innerIndex)
|
||||||
|
{
|
||||||
|
return FCEUD_OpenArchive(asr, fname, innerFilename, innerIndex, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex, bool* userCancel)
|
||||||
|
{
|
||||||
|
return FCEUD_OpenArchive(asr, fname, 0, innerIndex, userCancel);
|
||||||
|
}
|
||||||
|
|
||||||
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex)
|
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex)
|
||||||
{
|
{
|
||||||
return FCEUD_OpenArchive(asr, fname, 0, innerIndex);
|
return FCEUD_OpenArchive(asr, fname, 0, innerIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename, bool* userCancel)
|
||||||
|
{
|
||||||
|
return FCEUD_OpenArchive(asr, fname, innerFilename, -1, userCancel);
|
||||||
|
}
|
||||||
|
|
||||||
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename)
|
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename)
|
||||||
{
|
{
|
||||||
return FCEUD_OpenArchive(asr, fname, innerFilename, -1);
|
return FCEUD_OpenArchive(asr, fname, innerFilename, -1);
|
||||||
|
|
|
@ -11,8 +11,10 @@ void initArchiveSystem();
|
||||||
|
|
||||||
//if you want to autopilot this, pass in an innerfilename to try and automatically load
|
//if you want to autopilot this, pass in an innerfilename to try and automatically load
|
||||||
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename);
|
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename);
|
||||||
|
FCEUFILE* FCEUD_OpenArchive(ArchiveScanRecord& asr, std::string& fname, std::string* innerFilename, bool* userCancel);
|
||||||
|
|
||||||
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex);
|
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex);
|
||||||
|
FCEUFILE* FCEUD_OpenArchiveIndex(ArchiveScanRecord& asr, std::string& fname, int innerIndex, bool* userCancel);
|
||||||
|
|
||||||
//scans a file to see if it is an archive you can handle
|
//scans a file to see if it is an archive you can handle
|
||||||
ArchiveScanRecord FCEUD_ScanArchive(std::string fname);
|
ArchiveScanRecord FCEUD_ScanArchive(std::string fname);
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,13 +3,21 @@
|
||||||
extern int CheatWindow,CheatStyle; //bbit edited: this line added
|
extern int CheatWindow,CheatStyle; //bbit edited: this line added
|
||||||
extern HWND hCheat;
|
extern HWND hCheat;
|
||||||
|
|
||||||
|
HWND InitializeCheatList(HWND hwndDlg);
|
||||||
void RedoCheatsLB(HWND hwndDlg);
|
void RedoCheatsLB(HWND hwndDlg);
|
||||||
|
|
||||||
|
typedef unsigned int HWAddressType;
|
||||||
|
|
||||||
|
|
||||||
void ConfigCheats(HWND hParent);
|
void ConfigCheats(HWND hParent);
|
||||||
void DoGGConv();
|
void DoGGConv();
|
||||||
void SetGGConvFocus(int address,int compare);
|
void SetGGConvFocus(int address,int compare);
|
||||||
void UpdateCheatList();
|
void UpdateCheatList();
|
||||||
|
void UpdateCheatListGroupBoxUI();
|
||||||
void UpdateCheatsAdded();
|
void UpdateCheatsAdded();
|
||||||
|
void ToggleCheatInputMode(HWND hwndDlg, int modeId);
|
||||||
|
void GetUICheatInfo(HWND hwndDlg, char* name, uint32* a, uint8* v, int* c);
|
||||||
|
inline void GetCheatStr(char* buf, int a, int v, int c);
|
||||||
|
|
||||||
extern unsigned int FrozenAddressCount;
|
extern unsigned int FrozenAddressCount;
|
||||||
extern std::vector<uint16> FrozenAddresses;
|
extern std::vector<uint16> FrozenAddresses;
|
||||||
|
@ -17,4 +25,19 @@ extern std::vector<uint16> FrozenAddresses;
|
||||||
|
|
||||||
void DisableAllCheats();
|
void DisableAllCheats();
|
||||||
|
|
||||||
void UpdateCheatWindowRelatedWindow();
|
void UpdateCheatRelatedWindow();
|
||||||
|
|
||||||
|
// deselect the old one and select the new one
|
||||||
|
#define ListView_MoveSelectionMark(hwnd, prevIndex, newIndex) \
|
||||||
|
LVITEM lvi; \
|
||||||
|
SendMessage(hwnd, LVM_SETITEMSTATE, prevIndex, (LPARAM)&(lvi.mask = LVIF_STATE, lvi.stateMask = LVIS_SELECTED, lvi.state = 0, lvi)), \
|
||||||
|
SendMessage(hwnd, LVM_SETITEMSTATE, newIndex, (LPARAM)&(lvi.state = LVIS_SELECTED, lvi)), \
|
||||||
|
SendMessage(hwnd, LVM_SETSELECTIONMARK, 0, newIndex)
|
||||||
|
|
||||||
|
#define ClearCheatListText(hwnd) \
|
||||||
|
(SetDlgItemText(hwnd, IDC_CHEAT_ADDR, (LPTSTR)"") & \
|
||||||
|
SetDlgItemText(hwnd, IDC_CHEAT_VAL, (LPTSTR)"") & \
|
||||||
|
SetDlgItemText(hwnd, IDC_CHEAT_COM, (LPTSTR)"") & \
|
||||||
|
SetDlgItemText(hwnd, IDC_CHEAT_NAME, (LPTSTR)"") & \
|
||||||
|
SetDlgItemText(hwnd, IDC_CHEAT_TEXT, (LPTSTR)""))
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ else if (filter > EMUCMDTYPE_MISC && filter < EMUCMDTYPE_MAX || filter == EMUCMD
|
||||||
else \
|
else \
|
||||||
lpListView->iSubItem = mapInputSortCol; \
|
lpListView->iSubItem = mapInputSortCol; \
|
||||||
if (SendMessage(hwndListView, LVM_SORTITEMS, (WPARAM)lpListView, (LPARAM)MapInputItemSortFunc)) \
|
if (SendMessage(hwndListView, LVM_SORTITEMS, (WPARAM)lpListView, (LPARAM)MapInputItemSortFunc)) \
|
||||||
UpdateSortColumnIcon(hwndListView, mapInputSortCol, mapInputSortAsc);
|
UpdateSortColumnIcon(hwndListView, mapInputSortCol, mapInputSortAsc)
|
||||||
|
|
||||||
|
|
||||||
void KeyboardUpdateState(void); //mbg merge 7/17/06 yech had to add this
|
void KeyboardUpdateState(void); //mbg merge 7/17/06 yech had to add this
|
||||||
|
@ -602,23 +602,18 @@ HWND InitializeListView(HWND hwndDlg)
|
||||||
|
|
||||||
// Init ListView columns.
|
// Init ListView columns.
|
||||||
memset(&lv, 0, sizeof(lv));
|
memset(&lv, 0, sizeof(lv));
|
||||||
lv.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
|
lv.mask = LVCF_TEXT | LVCF_WIDTH;
|
||||||
lv.fmt = LVCFMT_LEFT;
|
|
||||||
lv.pszText = "Type";
|
lv.pszText = "Type";
|
||||||
lv.cx = 80;
|
lv.cx = 80;
|
||||||
|
|
||||||
SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)0, (LPARAM)&lv);
|
SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)0, (LPARAM)&lv);
|
||||||
|
|
||||||
memset(&lv, 0, sizeof(lv));
|
|
||||||
lv.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
|
|
||||||
lv.fmt = LVCFMT_LEFT;
|
|
||||||
lv.pszText = "Command";
|
lv.pszText = "Command";
|
||||||
lv.cx = 240;
|
lv.cx = 240;
|
||||||
|
|
||||||
SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)1, (LPARAM)&lv);
|
SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)1, (LPARAM)&lv);
|
||||||
|
|
||||||
memset(&lv, 0, sizeof(lv));
|
lv.mask ^= LVCF_WIDTH;
|
||||||
lv.mask = LVCF_FMT | LVCF_TEXT;
|
|
||||||
lv.fmt = LVCFMT_LEFT;
|
lv.fmt = LVCFMT_LEFT;
|
||||||
lv.pszText = "Input";
|
lv.pszText = "Input";
|
||||||
|
|
||||||
|
@ -768,9 +763,10 @@ BOOL CALLBACK MapInputDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_CLOSE:
|
case WM_CLOSE:
|
||||||
|
EndDialog(hwndDlg, 0);
|
||||||
|
break;
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
case WM_QUIT:
|
case WM_QUIT:
|
||||||
EndDialog(hwndDlg, 0);
|
|
||||||
break;
|
break;
|
||||||
case WM_NOTIFY:
|
case WM_NOTIFY:
|
||||||
|
|
||||||
|
|
|
@ -933,23 +933,19 @@ void FreezeRam(int address, int mode, int final){
|
||||||
if (mode == 0 || mode == -1)
|
if (mode == 0 || mode == -1)
|
||||||
{
|
{
|
||||||
//mbg merge 6/29/06 - added argument
|
//mbg merge 6/29/06 - added argument
|
||||||
FCEUI_ListCheats(DeleteCheatCallB,0);
|
FCEUI_ListCheats(DeleteCheatCallB, 0);
|
||||||
if(mode == 0 && cheatwasdeleted != -1)FCEUI_AddCheat("",address,GetMem(address),-1,1);
|
if(mode == 0 && cheatwasdeleted != -1)
|
||||||
|
FCEUI_AddCheat("", address, GetMem(address), -1, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//mbg merge 6/29/06 - added argument
|
//mbg merge 6/29/06 - added argument
|
||||||
FCEUI_ListCheats(DeleteCheatCallB,0);
|
FCEUI_ListCheats(DeleteCheatCallB, 0);
|
||||||
FCEUI_AddCheat("",address,GetMem(address),-1,1);
|
FCEUI_AddCheat("", address, GetMem(address), -1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (final)
|
|
||||||
//{
|
|
||||||
//if(hCheat)RedoCheatsLB(hCheat);
|
|
||||||
UpdateColorTable();
|
|
||||||
//}
|
|
||||||
|
|
||||||
UpdateCheatsAdded();
|
UpdateCheatsAdded();
|
||||||
|
UpdateCheatRelatedWindow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -702,7 +702,7 @@ static BOOL CALLBACK MemWatchCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA
|
||||||
const int FMAX = 6;
|
const int FMAX = 6;
|
||||||
string formula[FMAX] = {"> than", "> by 1", "< than", "< by 1", "equal", "!equal"};
|
string formula[FMAX] = {"> than", "> by 1", "< than", "< by 1", "equal", "!equal"};
|
||||||
|
|
||||||
const int kLabelControls[] = {MW_ValueLabel1,MW_ValueLabel2};
|
const int kLabelControls[] = {MW_VALUELABEL1,MW_VALUELABEL2};
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
|
@ -847,9 +847,6 @@ static BOOL CALLBACK MemWatchCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA
|
||||||
RamChange();
|
RamChange();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MEMW_FILE_RECENT:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MEMW_OPTIONS_LOADSTART: //Load on Start up
|
case MEMW_OPTIONS_LOADSTART: //Load on Start up
|
||||||
MemWatchLoadOnStart ^= 1;
|
MemWatchLoadOnStart ^= 1;
|
||||||
CheckMenuItem(memwmenu, MEMW_OPTIONS_LOADSTART, MemWatchLoadOnStart ? MF_CHECKED : MF_UNCHECKED);
|
CheckMenuItem(memwmenu, MEMW_OPTIONS_LOADSTART, MemWatchLoadOnStart ? MF_CHECKED : MF_UNCHECKED);
|
||||||
|
|
|
@ -32,9 +32,9 @@
|
||||||
#include "../../cheat.h"
|
#include "../../cheat.h"
|
||||||
|
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
#include "cheat.h"
|
||||||
#include "ram_search.h"
|
#include "ram_search.h"
|
||||||
#include "ramwatch.h"
|
#include "ramwatch.h"
|
||||||
#include "cheat.h"
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <list>
|
#include <list>
|
||||||
|
@ -1078,9 +1078,6 @@ void signal_new_frame ()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool RamSearchClosed = false;
|
|
||||||
bool RamWatchClosed = false;
|
|
||||||
|
|
||||||
void ResetResults()
|
void ResetResults()
|
||||||
{
|
{
|
||||||
reset_address_info();
|
reset_address_info();
|
||||||
|
@ -1093,39 +1090,26 @@ void CloseRamWindows() //Close the Ram Search & Watch windows when rom closes
|
||||||
ResetWatches();
|
ResetWatches();
|
||||||
ResetResults();
|
ResetResults();
|
||||||
if (RamSearchHWnd)
|
if (RamSearchHWnd)
|
||||||
{
|
|
||||||
SendMessage(RamSearchHWnd,WM_CLOSE,NULL,NULL);
|
SendMessage(RamSearchHWnd,WM_CLOSE,NULL,NULL);
|
||||||
RamSearchClosed = true;
|
|
||||||
}
|
|
||||||
if (RamWatchHWnd)
|
if (RamWatchHWnd)
|
||||||
{
|
|
||||||
SendMessage(RamWatchHWnd,WM_CLOSE,NULL,NULL);
|
SendMessage(RamWatchHWnd,WM_CLOSE,NULL,NULL);
|
||||||
RamWatchClosed = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
void ReopenRamWindows() //Reopen them when a new Rom is loaded
|
void ReopenRamWindows() //Reopen them when a new Rom is loaded
|
||||||
{
|
{
|
||||||
HWND hwnd = GetActiveWindow();
|
HWND hwnd = GetActiveWindow();
|
||||||
|
|
||||||
if (RamSearchClosed)
|
|
||||||
{
|
|
||||||
RamSearchClosed = false;
|
|
||||||
if(!RamSearchHWnd)
|
if(!RamSearchHWnd)
|
||||||
{
|
{
|
||||||
reset_address_info();
|
reset_address_info();
|
||||||
LRESULT CALLBACK RamSearchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
LRESULT CALLBACK RamSearchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
RamSearchHWnd = CreateDialog(hInst, MAKEINTRESOURCE(IDD_RAMSEARCH), hWnd, (DLGPROC) RamSearchProc);
|
RamSearchHWnd = CreateDialog(hInst, MAKEINTRESOURCE(IDD_RAMSEARCH), hWnd, (DLGPROC) RamSearchProc);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (RamWatchClosed || AutoRWLoad)
|
if (AutoRWLoad)
|
||||||
{
|
OpenRWRecentFile(0);
|
||||||
RamWatchClosed = false;
|
|
||||||
if(!RamWatchHWnd)
|
if (!RamWatchHWnd)
|
||||||
{
|
|
||||||
if (AutoRWLoad) OpenRWRecentFile(0);
|
|
||||||
RamWatchHWnd = CreateDialog(hInst, MAKEINTRESOURCE(IDD_RAMWATCH), hWnd, (DLGPROC) RamWatchProc);
|
RamWatchHWnd = CreateDialog(hInst, MAKEINTRESOURCE(IDD_RAMWATCH), hWnd, (DLGPROC) RamWatchProc);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hwnd == hWnd && hwnd != GetActiveWindow())
|
if (hwnd == hWnd && hwnd != GetActiveWindow())
|
||||||
SetActiveWindow(hWnd); // restore focus to the main window if it had it before
|
SetActiveWindow(hWnd); // restore focus to the main window if it had it before
|
||||||
|
@ -1835,22 +1819,23 @@ LRESULT CALLBACK RamSearchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
// Don't open cheat dialog
|
// Don't open cheat dialog
|
||||||
|
|
||||||
switch (sizeType) {
|
switch (sizeType) {
|
||||||
case 0: {
|
case 0:
|
||||||
FCEUI_AddCheat("",address,curvalue,-1,1);
|
FCEUI_AddCheat("",address,curvalue, -1, 1);
|
||||||
break; }
|
break;
|
||||||
case 1: {
|
case 1:
|
||||||
|
FCEUI_AddCheat("",address,curvalue & 0xFF, -1, 1);
|
||||||
|
FCEUI_AddCheat("",address + 1,(curvalue & 0xFF00) / 0x100, -1, 1);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
FCEUI_AddCheat("",address,curvalue & 0xFF,-1,1);
|
FCEUI_AddCheat("",address,curvalue & 0xFF,-1,1);
|
||||||
FCEUI_AddCheat("",address + 1,(curvalue & 0xFF00) / 0x100,-1,1);
|
FCEUI_AddCheat("",address + 1,(curvalue & 0xFF00) / 0x100, -1, 1);
|
||||||
break; }
|
FCEUI_AddCheat("",address + 2,(curvalue & 0xFF0000) / 0x10000, -1, 1);
|
||||||
case 2: {
|
FCEUI_AddCheat("",address + 3,(curvalue & 0xFF000000) / 0x1000000, -1, 1);
|
||||||
FCEUI_AddCheat("",address,curvalue & 0xFF,-1,1);
|
break;
|
||||||
FCEUI_AddCheat("",address + 1,(curvalue & 0xFF00) / 0x100,-1,1);
|
|
||||||
FCEUI_AddCheat("",address + 2,(curvalue & 0xFF0000) / 0x10000,-1,1);
|
|
||||||
FCEUI_AddCheat("",address + 3,(curvalue & 0xFF000000) / 0x1000000,-1,1);
|
|
||||||
break; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateCheatsAdded();
|
UpdateCheatsAdded();
|
||||||
|
UpdateCheatRelatedWindow();
|
||||||
|
|
||||||
watchItemIndex = ListView_GetNextItem(ramListControl, watchItemIndex, LVNI_SELECTED);
|
watchItemIndex = ListView_GetNextItem(ramListControl, watchItemIndex, LVNI_SELECTED);
|
||||||
|
|
||||||
|
@ -1959,30 +1944,36 @@ invalid_field:
|
||||||
case IDC_C_WATCH:
|
case IDC_C_WATCH:
|
||||||
{
|
{
|
||||||
HWND ramListControl = GetDlgItem(hDlg,IDC_RAMLIST);
|
HWND ramListControl = GetDlgItem(hDlg,IDC_RAMLIST);
|
||||||
int selCount = ListView_GetSelectedCount(ramListControl);
|
int selCount = SendMessage(ramListControl, LVM_GETSELECTEDCOUNT, 0, 0);
|
||||||
|
if (selCount > 0)
|
||||||
bool inserted = false;
|
|
||||||
int watchItemIndex = ListView_GetNextItem(ramListControl, -1, LVNI_SELECTED);
|
|
||||||
while (watchItemIndex >= 0)
|
|
||||||
{
|
{
|
||||||
AddressWatcher tempWatch;
|
AddressWatcher tempWatch;
|
||||||
tempWatch.Address = CALL_WITH_T_SIZE_TYPES_1(GetHardwareAddressFromItemIndex, rs_type_size,rs_t=='s',noMisalign, watchItemIndex);
|
|
||||||
tempWatch.Size = rs_type_size;
|
tempWatch.Size = rs_type_size;
|
||||||
tempWatch.Type = rs_t;
|
tempWatch.Type = rs_t;
|
||||||
tempWatch.WrongEndian = 0; //Replace when I get little endian working
|
tempWatch.WrongEndian = 0; //Replace when I get little endian working
|
||||||
tempWatch.comment = NULL;
|
tempWatch.comment = NULL;
|
||||||
|
|
||||||
if (selCount == 1)
|
bool inserted = false;
|
||||||
inserted |= InsertWatch(tempWatch, hDlg);
|
|
||||||
else
|
|
||||||
inserted |= InsertWatch(tempWatch);
|
|
||||||
|
|
||||||
watchItemIndex = ListView_GetNextItem(ramListControl, watchItemIndex, LVNI_SELECTED);
|
AddressWatcher* watches = (AddressWatcher*)malloc(selCount * sizeof(AddressWatcher));
|
||||||
|
int i = 0;
|
||||||
|
int watchItemIndex = -1;
|
||||||
|
while ((watchItemIndex = SendMessage(ramListControl, LVM_GETNEXTITEM, watchItemIndex, LVNI_SELECTED)) >= 0)
|
||||||
|
{
|
||||||
|
tempWatch.Address = CALL_WITH_T_SIZE_TYPES_1(GetHardwareAddressFromItemIndex, rs_type_size, rs_t == 's', noMisalign, watchItemIndex);
|
||||||
|
watches[i] = tempWatch;
|
||||||
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
// bring up the ram watch window if it's not already showing so the user knows where the watch went
|
// bring up the ram watch window if it's not already showing so the user knows where the watch went
|
||||||
if(inserted && !RamWatchHWnd)
|
if ((selCount == 1 ?
|
||||||
|
InsertWatch(watches[0], hDlg) : InsertWatches(watches, hDlg, selCount))
|
||||||
|
&& !RamWatchHWnd)
|
||||||
SendMessage(hWnd, WM_COMMAND, ID_RAM_WATCH, 0);
|
SendMessage(hWnd, WM_COMMAND, ID_RAM_WATCH, 0);
|
||||||
SetForegroundWindow(RamSearchHWnd);
|
SetForegroundWindow(RamSearchHWnd);
|
||||||
|
|
||||||
|
free(watches);
|
||||||
|
}
|
||||||
{rv = true; break;}
|
{rv = true; break;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2045,15 +2036,6 @@ invalid_field:
|
||||||
signal_new_size();
|
signal_new_size();
|
||||||
{rv = true; break;}
|
{rv = true; break;}
|
||||||
}
|
}
|
||||||
//case IDOK:
|
|
||||||
case IDCANCEL:
|
|
||||||
RamSearchHWnd = NULL;
|
|
||||||
/* if (theApp.pauseDuringCheatSearch)
|
|
||||||
EndDialog(hDlg, true); // this should never be called on a modeless dialog
|
|
||||||
else
|
|
||||||
*/
|
|
||||||
DestroyWindow(hDlg);
|
|
||||||
{rv = true; break;}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// check refresh for comparison preview color update
|
// check refresh for comparison preview color update
|
||||||
|
@ -2097,12 +2079,12 @@ invalid_field:
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
} break;
|
} break;
|
||||||
|
case WM_CLOSE:
|
||||||
// case WM_CLOSE:
|
DestroyWindow(hDlg);
|
||||||
|
break;
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
RamSearchHWnd = NULL;
|
RamSearchHWnd = NULL;
|
||||||
// theApp.modelessCheatDialogIsOpen = false;
|
// theApp.modelessCheatDialogIsOpen = false;
|
||||||
// return true;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
extern char rs_type_size;
|
extern char rs_type_size;
|
||||||
extern int ResultCount;
|
extern int ResultCount;
|
||||||
typedef unsigned int HWAddressType;
|
|
||||||
|
|
||||||
unsigned int sizeConv(unsigned int index,char size, char *prevSize = &rs_type_size, bool usePrev = false);
|
unsigned int sizeConv(unsigned int index,char size, char *prevSize = &rs_type_size, bool usePrev = false);
|
||||||
unsigned int GetRamValue(unsigned int Addr,char Size);
|
unsigned int GetRamValue(unsigned int Addr,char Size);
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "ram_search.h"
|
|
||||||
#include "ramwatch.h"
|
|
||||||
#include "cheat.h"
|
#include "cheat.h"
|
||||||
|
#include "ramwatch.h"
|
||||||
|
#include "ram_search.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
|
@ -34,7 +34,7 @@ bool RWSaveWindowPos = false; //Keeps track of whether Save Window position is c
|
||||||
char currentWatch[1024];
|
char currentWatch[1024];
|
||||||
int ramw_x, ramw_y; //Used to store ramwatch dialog window positions
|
int ramw_x, ramw_y; //Used to store ramwatch dialog window positions
|
||||||
std::map<int, AddressWatcher> rswatches;
|
std::map<int, AddressWatcher> rswatches;
|
||||||
int WatchCount=0;
|
int WatchCount = 0;
|
||||||
|
|
||||||
char applicationPath[2048];
|
char applicationPath[2048];
|
||||||
struct InitRamWatch
|
struct InitRamWatch
|
||||||
|
@ -119,73 +119,18 @@ bool InsertWatch(const AddressWatcher& Watch)
|
||||||
NewWatch.Cheats = FCEU_CalcCheatAffectedBytes(NewWatch.Address, WatchSizeConv(NewWatch));
|
NewWatch.Cheats = FCEU_CalcCheatAffectedBytes(NewWatch.Address, WatchSizeConv(NewWatch));
|
||||||
NewWatch.comment = strcpy((char*)malloc(strlen(Watch.comment) + 2), Watch.comment);
|
NewWatch.comment = strcpy((char*)malloc(strlen(Watch.comment) + 2), Watch.comment);
|
||||||
|
|
||||||
|
// currently it's impossible to add a separator from outside RAM Watch, so no need to check the handle
|
||||||
if (NewWatch.Type == 'S')
|
if (NewWatch.Type == 'S')
|
||||||
separatorCache[i] = SeparatorCache(RamWatchHWnd, NewWatch.comment);
|
separatorCache[i] = SeparatorCache(RamWatchHWnd, NewWatch.comment);
|
||||||
|
|
||||||
ListView_SetItemCount(GetDlgItem(RamWatchHWnd,IDC_WATCHLIST),WatchCount);
|
// In case the window is not open and somebody call this method outside.
|
||||||
|
if (RamWatchHWnd)
|
||||||
|
ListView_SetItemCount(GetDlgItem(RamWatchHWnd, IDC_WATCHLIST), WatchCount);
|
||||||
RWfileChanged = true;
|
RWfileChanged = true;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
LRESULT CALLBACK PromptWatchNameProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) //Gets the description of a watched address
|
|
||||||
{
|
|
||||||
RECT r;
|
|
||||||
RECT r2;
|
|
||||||
int dx1, dy1, dx2, dy2;
|
|
||||||
|
|
||||||
switch(uMsg)
|
|
||||||
{
|
|
||||||
case WM_INITDIALOG:
|
|
||||||
//Clear_Sound_Buffer();
|
|
||||||
|
|
||||||
GetWindowRect(hWnd, &r);
|
|
||||||
dx1 = (r.right - r.left) / 2;
|
|
||||||
dy1 = (r.bottom - r.top) / 2;
|
|
||||||
|
|
||||||
GetWindowRect(hDlg, &r2);
|
|
||||||
dx2 = (r2.right - r2.left) / 2;
|
|
||||||
dy2 = (r2.bottom - r2.top) / 2;
|
|
||||||
|
|
||||||
//SetWindowPos(hDlg, NULL, max(0, r.left + (dx1 - dx2)), max(0, r.top + (dy1 - dy2)), NULL, NULL, SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW);
|
|
||||||
SetWindowPos(hDlg, NULL, r.left, r.top, NULL, NULL, SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW);
|
|
||||||
strcpy(Str_Tmp,"Enter a name for this RAM address.");
|
|
||||||
SendDlgItemMessage(hDlg,IDC_PROMPT_TEXT,WM_SETTEXT,0,(LPARAM)Str_Tmp);
|
|
||||||
strcpy(Str_Tmp,"");
|
|
||||||
SendDlgItemMessage(hDlg,IDC_PROMPT_TEXT2,WM_SETTEXT,0,(LPARAM)Str_Tmp);
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WM_COMMAND:
|
|
||||||
switch(LOWORD(wParam))
|
|
||||||
{
|
|
||||||
case IDOK:
|
|
||||||
{
|
|
||||||
GetDlgItemText(hDlg,IDC_PROMPT_EDIT,Str_Tmp,80);
|
|
||||||
InsertWatch(rswatches[WatchCount],Str_Tmp);
|
|
||||||
EndDialog(hDlg, true);
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case IDCANCEL:
|
|
||||||
EndDialog(hDlg, false);
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WM_CLOSE:
|
|
||||||
EndDialog(hDlg, false);
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
bool InsertWatch(const AddressWatcher& Watch, HWND parent)
|
bool InsertWatch(const AddressWatcher& Watch, HWND parent)
|
||||||
{
|
{
|
||||||
if(!VerifyWatchNotAlreadyAdded(Watch))
|
if(!VerifyWatchNotAlreadyAdded(Watch))
|
||||||
|
@ -198,13 +143,47 @@ bool InsertWatch(const AddressWatcher& Watch, HWND parent)
|
||||||
|
|
||||||
int prevWatchCount = WatchCount;
|
int prevWatchCount = WatchCount;
|
||||||
|
|
||||||
rswatches[WatchCount] = Watch;
|
int tmpWatchIndex;
|
||||||
rswatches[WatchCount].CurValue = GetCurrentValue(rswatches[WatchCount]);
|
if (parent == RamWatchHWnd)
|
||||||
DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_EDITWATCH), parent, (DLGPROC)EditWatchProc, (LPARAM)WatchCount);
|
tmpWatchIndex = WatchCount;
|
||||||
|
else if (parent == RamSearchHWnd)
|
||||||
|
tmpWatchIndex = -2;
|
||||||
|
else if (parent == hCheat)
|
||||||
|
tmpWatchIndex = -3;
|
||||||
|
else
|
||||||
|
tmpWatchIndex = -4;
|
||||||
|
|
||||||
|
rswatches[tmpWatchIndex] = Watch;
|
||||||
|
rswatches[tmpWatchIndex].CurValue = GetCurrentValue(rswatches[tmpWatchIndex]);
|
||||||
|
DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_EDITWATCH), parent, (DLGPROC)EditWatchProc, tmpWatchIndex);
|
||||||
|
rswatches.erase(tmpWatchIndex);
|
||||||
|
|
||||||
return WatchCount > prevWatchCount;
|
return WatchCount > prevWatchCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool InsertWatches(const AddressWatcher* watches, HWND parent, const int count)
|
||||||
|
{
|
||||||
|
if (count == 1)
|
||||||
|
return InsertWatch(watches[0], parent);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool success = false;
|
||||||
|
char comment[256];
|
||||||
|
rswatches[-1] = watches[0];
|
||||||
|
rswatches[-1].comment = comment;
|
||||||
|
if(DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_EDITWATCH), parent, (DLGPROC)EditWatchProc, (LPARAM)-1))
|
||||||
|
for (int i = 0; i < count; ++i)
|
||||||
|
{
|
||||||
|
AddressWatcher watcher = watches[i];
|
||||||
|
watcher.comment = rswatches[-1].comment;
|
||||||
|
success |= InsertWatch(watcher);
|
||||||
|
}
|
||||||
|
rswatches.erase(-1);
|
||||||
|
return success;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void Update_RAM_Watch()
|
void Update_RAM_Watch()
|
||||||
{
|
{
|
||||||
BOOL watchChanged[MAX_WATCH_COUNT] = {0};
|
BOOL watchChanged[MAX_WATCH_COUNT] = {0};
|
||||||
|
@ -800,7 +779,9 @@ void RefreshWatchListSelectedItemControlStatus(HWND hDlg)
|
||||||
LRESULT CALLBACK EditWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) //Gets info for a RAM Watch, and then inserts it into the Watch List
|
LRESULT CALLBACK EditWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) //Gets info for a RAM Watch, and then inserts it into the Watch List
|
||||||
{
|
{
|
||||||
|
|
||||||
static int index;
|
// since there are 3 windows can pops up the add watch dialog, we should store them separately.
|
||||||
|
// 0 for ram watch, 1 for ram search, 2 for cheat dialog.
|
||||||
|
static int indexes[4];
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
|
@ -810,12 +791,18 @@ LRESULT CALLBACK EditWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
GetWindowRect(hWnd, &r);
|
GetWindowRect(hWnd, &r);
|
||||||
SetWindowPos(hDlg, NULL, r.left, r.top, NULL, NULL, SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW);
|
SetWindowPos(hDlg, NULL, r.left, r.top, NULL, NULL, SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW);
|
||||||
|
|
||||||
index = (int)lParam;
|
AddressWatcher& watcher = rswatches[lParam];
|
||||||
AddressWatcher& watcher = rswatches[index];
|
|
||||||
if (watcher.Type != 'S') {
|
if (watcher.Type != 'S') {
|
||||||
char Str_Tmp[1024];
|
char Str_Tmp[1024];
|
||||||
|
// -1 means batch add
|
||||||
|
if (lParam != -1)
|
||||||
|
{
|
||||||
sprintf(Str_Tmp, "%04X", watcher.Address);
|
sprintf(Str_Tmp, "%04X", watcher.Address);
|
||||||
SetDlgItemText(hDlg, IDC_EDIT_COMPAREADDRESS, Str_Tmp);
|
SetDlgItemText(hDlg, IDC_EDIT_COMPAREADDRESS, Str_Tmp);
|
||||||
|
} else
|
||||||
|
// Add multiple watches
|
||||||
|
SetDlgItemText(hDlg, IDC_EDIT_COMPAREADDRESS, "(multiple)");
|
||||||
|
|
||||||
switch (watcher.Size)
|
switch (watcher.Size)
|
||||||
{
|
{
|
||||||
case 'b':
|
case 'b':
|
||||||
|
@ -847,7 +834,9 @@ LRESULT CALLBACK EditWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
SetDlgItemText(hDlg, IDC_PROMPT_EDIT, watcher.comment);
|
SetDlgItemText(hDlg, IDC_PROMPT_EDIT, watcher.comment);
|
||||||
|
|
||||||
HWND parent = GetParent(hDlg);
|
HWND parent = GetParent(hDlg);
|
||||||
if (watcher.Type == 'S' || parent == RamSearchHWnd)
|
indexes[GetDlgStoreIndex(parent)] = lParam;
|
||||||
|
|
||||||
|
if (watcher.Type == 'S' || parent == RamSearchHWnd || parent == hCheat)
|
||||||
{
|
{
|
||||||
EnableWindow(GetDlgItem(hDlg, IDC_SPECIFICADDRESS), FALSE);
|
EnableWindow(GetDlgItem(hDlg, IDC_SPECIFICADDRESS), FALSE);
|
||||||
EnableWindow(GetDlgItem(hDlg, IDC_DATATYPE_GROUPBOX), FALSE);
|
EnableWindow(GetDlgItem(hDlg, IDC_DATATYPE_GROUPBOX), FALSE);
|
||||||
|
@ -871,18 +860,25 @@ LRESULT CALLBACK EditWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
{
|
{
|
||||||
case IDOK:
|
case IDOK:
|
||||||
{
|
{
|
||||||
char Str_Tmp[1024];
|
char Str_Tmp[256];
|
||||||
|
|
||||||
|
HWND parent = GetParent(hDlg);
|
||||||
|
int index = indexes[GetDlgStoreIndex(parent)];
|
||||||
|
|
||||||
|
// not a single watch editing operation
|
||||||
|
if (index != -1)
|
||||||
|
{
|
||||||
// a normal watch, copy it to a temporary one
|
// a normal watch, copy it to a temporary one
|
||||||
AddressWatcher watcher = rswatches[index];
|
AddressWatcher watcher = rswatches[index];
|
||||||
if (watcher.comment != NULL)
|
// if (watcher.comment != NULL)
|
||||||
watcher.comment = strcpy((char*)malloc(strlen(watcher.comment) + 2), watcher.comment);
|
// watcher.comment = strcpy((char*)malloc(strlen(watcher.comment) + 2), watcher.comment);
|
||||||
|
|
||||||
// It's from ram watch window, not a separator
|
// It's from ram watch window, not a separator
|
||||||
// When it's from ram search window, all the information required is already set,
|
// When it's from ram search or cheat window, all the information required is already set,
|
||||||
// so this is also unecessary
|
// so this is also unecessary
|
||||||
if (RamWatchHWnd && RamWatchHWnd == GetParent(hDlg) && watcher.Type != 'S')
|
if (RamWatchHWnd && RamWatchHWnd == GetParent(hDlg) && watcher.Type != 'S')
|
||||||
{
|
{
|
||||||
GetDlgItemText(hDlg, IDC_PROMPT_EDIT, Str_Tmp, 1024);
|
GetDlgItemText(hDlg, IDC_PROMPT_EDIT, Str_Tmp, 256);
|
||||||
|
|
||||||
// type
|
// type
|
||||||
if (SendDlgItemMessage(hDlg, IDC_SIGNED, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
if (SendDlgItemMessage(hDlg, IDC_SIGNED, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||||
|
@ -933,14 +929,22 @@ LRESULT CALLBACK EditWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
watcher.comment = Str_Tmp;
|
watcher.comment = Str_Tmp;
|
||||||
|
|
||||||
// finallly update the watch list
|
// finallly update the watch list
|
||||||
if (index < WatchCount)
|
if (index >= 0 && index < WatchCount)
|
||||||
// it's a watch editing operation.
|
// it's a watch editing operation.
|
||||||
// Only ram watch window can edit a watch, the ram search window only add watch.
|
// Only ram watch window can edit a watch, the ram search window and cheat window only add watch.
|
||||||
EditWatch(index, watcher);
|
EditWatch(index, watcher);
|
||||||
else
|
else
|
||||||
InsertWatch(watcher);
|
InsertWatch(watcher);
|
||||||
if (RamWatchHWnd)
|
if (RamWatchHWnd)
|
||||||
ListView_SetItemCount(GetDlgItem(RamWatchHWnd, IDC_WATCHLIST), WatchCount);
|
ListView_SetItemCount(GetDlgItem(RamWatchHWnd, IDC_WATCHLIST), WatchCount);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// a multiple watches insert operation, just asking for a comment
|
||||||
|
AddressWatcher& watcher = rswatches[index];
|
||||||
|
// comment
|
||||||
|
GetDlgItemText(hDlg, IDC_PROMPT_EDIT, Str_Tmp, 80);
|
||||||
|
strcpy(watcher.comment, Str_Tmp);
|
||||||
|
}
|
||||||
EndDialog(hDlg, true);
|
EndDialog(hDlg, true);
|
||||||
|
|
||||||
RWfileChanged = true;
|
RWfileChanged = true;
|
||||||
|
@ -1021,7 +1025,8 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
//regSetDwordValue(RAMWY, ramw_y); TODO
|
//regSetDwordValue(RAMWY, ramw_y); TODO
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case WM_INITDIALOG: {
|
case WM_INITDIALOG:
|
||||||
|
{
|
||||||
RECT r, r2;
|
RECT r, r2;
|
||||||
int dx1, dy1, dx2, dy2;
|
int dx1, dy1, dx2, dy2;
|
||||||
|
|
||||||
|
@ -1126,20 +1131,18 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
{
|
{
|
||||||
case LVN_ITEMCHANGED: // selection changed event
|
case LVN_ITEMCHANGED: // selection changed event
|
||||||
{
|
{
|
||||||
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)lP;
|
NMLISTVIEW* pNMListView = (NMLISTVIEW*)lP;
|
||||||
|
|
||||||
if(pNMListView->uNewState & LVIS_FOCUSED ||
|
if(pNMListView->uNewState & LVIS_FOCUSED ||
|
||||||
(pNMListView->uNewState ^ pNMListView->uOldState) & LVIS_SELECTED)
|
(pNMListView->uNewState ^ pNMListView->uOldState) & LVIS_SELECTED)
|
||||||
{
|
|
||||||
// disable buttons that we don't have the right number of selected items for
|
// disable buttons that we don't have the right number of selected items for
|
||||||
RefreshWatchListSelectedCountControlStatus(hDlg, pNMListView->iItem);
|
RefreshWatchListSelectedCountControlStatus(hDlg, pNMListView->iItem);
|
||||||
}
|
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case LVN_GETDISPINFO:
|
case LVN_GETDISPINFO:
|
||||||
{
|
{
|
||||||
LV_DISPINFO *Item = (LV_DISPINFO *)lParam;
|
NMLVDISPINFO *Item = (NMLVDISPINFO*)lParam;
|
||||||
const unsigned int iNum = Item->item.iItem;
|
const unsigned int iNum = Item->item.iItem;
|
||||||
if (rswatches[iNum].Type != 'S')
|
if (rswatches[iNum].Type != 'S')
|
||||||
{
|
{
|
||||||
|
@ -1278,17 +1281,13 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
case RAMMENU_FILE_SAVE:
|
case RAMMENU_FILE_SAVE:
|
||||||
QuickSaveWatches();
|
QuickSaveWatches();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RAMMENU_FILE_SAVEAS:
|
case RAMMENU_FILE_SAVEAS:
|
||||||
//case IDC_C_SAVE:
|
|
||||||
return Save_Watches();
|
return Save_Watches();
|
||||||
case RAMMENU_FILE_OPEN:
|
case RAMMENU_FILE_OPEN:
|
||||||
return Load_Watches(true);
|
return Load_Watches(true);
|
||||||
case RAMMENU_FILE_APPEND:
|
case RAMMENU_FILE_APPEND:
|
||||||
//case IDC_C_LOAD:
|
|
||||||
return Load_Watches(false);
|
return Load_Watches(false);
|
||||||
case RAMMENU_FILE_NEW:
|
case RAMMENU_FILE_NEW:
|
||||||
//case IDC_C_RESET:
|
|
||||||
ResetWatches();
|
ResetWatches();
|
||||||
return true;
|
return true;
|
||||||
case IDC_C_WATCH_REMOVE:
|
case IDC_C_WATCH_REMOVE:
|
||||||
|
@ -1301,7 +1300,7 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
ListView_DeleteItem(watchListControl, watchIndex);
|
ListView_DeleteItem(watchListControl, watchIndex);
|
||||||
watchIndex = ListView_GetNextItem(watchListControl, -1, LVNI_ALL | LVNI_SELECTED);
|
watchIndex = ListView_GetNextItem(watchListControl, -1, LVNI_ALL | LVNI_SELECTED);
|
||||||
}
|
}
|
||||||
RWfileChanged=true;
|
RWfileChanged = true;
|
||||||
SetFocus(GetDlgItem(hDlg,IDC_WATCHLIST));
|
SetFocus(GetDlgItem(hDlg,IDC_WATCHLIST));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1309,7 +1308,7 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
watchIndex = ListView_GetSelectionMark(GetDlgItem(hDlg,IDC_WATCHLIST));
|
watchIndex = ListView_GetSelectionMark(GetDlgItem(hDlg,IDC_WATCHLIST));
|
||||||
if(watchIndex != -1)
|
if(watchIndex != -1)
|
||||||
{
|
{
|
||||||
DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_EDITWATCH), hDlg, (DLGPROC) EditWatchProc,(LPARAM)watchIndex);
|
DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_EDITWATCH), hDlg, (DLGPROC)EditWatchProc, watchIndex);
|
||||||
SetFocus(GetDlgItem(hDlg,IDC_WATCHLIST));
|
SetFocus(GetDlgItem(hDlg,IDC_WATCHLIST));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1320,7 +1319,7 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
target.WrongEndian = 0;
|
target.WrongEndian = 0;
|
||||||
target.Size = 'b';
|
target.Size = 'b';
|
||||||
target.Type = 's';
|
target.Type = 's';
|
||||||
DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_EDITWATCH), hDlg, (DLGPROC)EditWatchProc, (LPARAM)WatchCount);
|
DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_EDITWATCH), hDlg, (DLGPROC)EditWatchProc, WatchCount);
|
||||||
SetFocus(GetDlgItem(hDlg, IDC_WATCHLIST));
|
SetFocus(GetDlgItem(hDlg, IDC_WATCHLIST));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1462,8 +1461,10 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
FCEUI_AddCheat("", address + 3, (rswatches[watchIndex].CurValue & 0xFF000000) / 0x1000000, -1, 1);
|
FCEUI_AddCheat("", address + 3, (rswatches[watchIndex].CurValue & 0xFF000000) / 0x1000000, -1, 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateCheatsAdded();
|
UpdateCheatsAdded();
|
||||||
UpdateCheatWindowRelatedWindow();
|
UpdateCheatRelatedWindow();
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
MessageBox(hDlg, "Sorry, you can't add cheat to a separator.", "Ram Watch", MB_ICONERROR | MB_OK);
|
MessageBox(hDlg, "Sorry, you can't add cheat to a separator.", "Ram Watch", MB_ICONERROR | MB_OK);
|
||||||
|
@ -1493,12 +1494,9 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
return true;
|
return true;
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
// case WM_CLOSE:
|
case WM_CLOSE:
|
||||||
// RamWatchHWnd = NULL;
|
DestroyWindow(hDlg);
|
||||||
// DragAcceptFiles(hDlg, FALSE);
|
break;
|
||||||
// DestroyWindow(hDlg);
|
|
||||||
// return false;
|
|
||||||
|
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
// this is the correct place
|
// this is the correct place
|
||||||
RamWatchHWnd = NULL;
|
RamWatchHWnd = NULL;
|
||||||
|
@ -1507,7 +1505,6 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
|
|
||||||
// release the hdc related objects
|
// release the hdc related objects
|
||||||
SeparatorCache::DeInit();
|
SeparatorCache::DeInit();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_DROPFILES:
|
case WM_DROPFILES:
|
||||||
|
@ -1532,6 +1529,8 @@ void UpdateWatchCheats() {
|
||||||
|
|
||||||
void SeparatorCache::Init(HWND hBox)
|
void SeparatorCache::Init(HWND hBox)
|
||||||
{
|
{
|
||||||
|
if (!iHeight)
|
||||||
|
{
|
||||||
RECT ir;
|
RECT ir;
|
||||||
ir.left = LVIR_BOUNDS;
|
ir.left = LVIR_BOUNDS;
|
||||||
|
|
||||||
|
@ -1540,14 +1539,23 @@ void SeparatorCache::Init(HWND hBox)
|
||||||
SendMessage(hBox, LVM_GETITEMRECT, 0, (LPARAM)&ir);
|
SendMessage(hBox, LVM_GETITEMRECT, 0, (LPARAM)&ir);
|
||||||
SendMessage(hBox, LVM_SETITEMCOUNT, count, 0);
|
SendMessage(hBox, LVM_SETITEMCOUNT, count, 0);
|
||||||
|
|
||||||
sepOffY = (iHeight = ir.bottom - ir.top) / 2;
|
iHeight = ir.bottom - ir.top;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!sepOffY)
|
||||||
|
sepOffY = iHeight / 2;
|
||||||
|
|
||||||
|
if (!sepPen)
|
||||||
sepPen = CreatePen(PS_SOLID, 1, RGB(160, 160, 160));
|
sepPen = CreatePen(PS_SOLID, 1, RGB(160, 160, 160));
|
||||||
|
if (!sepPenSel)
|
||||||
sepPenSel = CreatePen(PS_SOLID, 1, RGB(224, 224, 224));
|
sepPenSel = CreatePen(PS_SOLID, 1, RGB(224, 224, 224));
|
||||||
|
|
||||||
|
if (!sepFon)
|
||||||
|
{
|
||||||
LOGFONT logFont;
|
LOGFONT logFont;
|
||||||
GetObject((HANDLE)SendMessage(hBox, WM_GETFONT, NULL, NULL), sizeof(logFont), &logFont);
|
GetObject((HANDLE)SendMessage(hBox, WM_GETFONT, NULL, NULL), sizeof(logFont), &logFont);
|
||||||
sepFon = (HFONT)CreateFontIndirect((logFont.lfWeight = FW_SEMIBOLD, &logFont));
|
sepFon = (HFONT)CreateFontIndirect((logFont.lfWeight = FW_SEMIBOLD, &logFont));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SeparatorCache::DeInit()
|
void SeparatorCache::DeInit()
|
||||||
|
@ -1555,6 +1563,10 @@ void SeparatorCache::DeInit()
|
||||||
DeleteObject(sepPen);
|
DeleteObject(sepPen);
|
||||||
DeleteObject(sepPenSel);
|
DeleteObject(sepPenSel);
|
||||||
DeleteObject(sepFon);
|
DeleteObject(sepFon);
|
||||||
|
|
||||||
|
sepPen = NULL;
|
||||||
|
sepPenSel = NULL;
|
||||||
|
sepFon = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,18 +17,6 @@ extern bool RWfileChanged;
|
||||||
#define RAMWX "RamwX"
|
#define RAMWX "RamwX"
|
||||||
#define RAMWY "RamwY"
|
#define RAMWY "RamwY"
|
||||||
|
|
||||||
// AddressWatcher is self-contained now
|
|
||||||
struct AddressWatcher
|
|
||||||
{
|
|
||||||
unsigned int Address; // hardware address
|
|
||||||
unsigned int CurValue;
|
|
||||||
char* comment = NULL; // NULL means no comment, non-NULL means allocated comment
|
|
||||||
bool WrongEndian;
|
|
||||||
char Size; //'d' = 4 bytes, 'w' = 2 bytes, 'b' = 1 byte, and 'S' means it's a separator.
|
|
||||||
char Type;//'s' = signed integer, 'u' = unsigned, 'h' = hex, 'S' = separator
|
|
||||||
short Cheats; // how many bytes are affected by cheat
|
|
||||||
};
|
|
||||||
|
|
||||||
// Cache all the things required for drawing separator
|
// Cache all the things required for drawing separator
|
||||||
// to prevent creating and destroying them repeatedly when painting
|
// to prevent creating and destroying them repeatedly when painting
|
||||||
struct SeparatorCache
|
struct SeparatorCache
|
||||||
|
@ -58,9 +46,23 @@ extern char Watch_Dir[1024];
|
||||||
extern HWND RamWatchHWnd;
|
extern HWND RamWatchHWnd;
|
||||||
extern HACCEL RamWatchAccels;
|
extern HACCEL RamWatchAccels;
|
||||||
|
|
||||||
|
// AddressWatcher is self-contained now
|
||||||
|
struct AddressWatcher
|
||||||
|
{
|
||||||
|
unsigned int Address; // hardware address
|
||||||
|
unsigned int CurValue;
|
||||||
|
char* comment = NULL; // NULL means no comment, non-NULL means allocated comment
|
||||||
|
bool WrongEndian;
|
||||||
|
char Size; //'d' = 4 bytes, 'w' = 2 bytes, 'b' = 1 byte, and 'S' means it's a separator.
|
||||||
|
char Type;//'s' = signed integer, 'u' = unsigned, 'h' = hex, 'S' = separator
|
||||||
|
short Cheats; // how many bytes are affected by cheat
|
||||||
|
};
|
||||||
|
|
||||||
bool InsertWatch(const AddressWatcher& Watch);
|
bool InsertWatch(const AddressWatcher& Watch);
|
||||||
bool InsertWatch(const AddressWatcher& Watch, HWND parent); // asks user for comment)
|
bool InsertWatch(const AddressWatcher& Watch, HWND parent); // asks user for comment
|
||||||
bool EditWatch(int watchIndex, AddressWatcher& watcher);
|
bool InsertWatches(const AddressWatcher* watches, HWND parent, const int count);
|
||||||
|
bool InsertWatch(int watchIndex, const AddressWatcher& watcher);
|
||||||
|
bool EditWatch(int watchIndex, const AddressWatcher& watcher);
|
||||||
bool RemoveWatch(int watchIndex);
|
bool RemoveWatch(int watchIndex);
|
||||||
|
|
||||||
void Update_RAM_Watch();
|
void Update_RAM_Watch();
|
||||||
|
@ -76,4 +78,9 @@ extern HWND RamWatchHWnd;
|
||||||
#define WatchSizeConv(watch) (watch.Type == 'S' ? 0 : watch.Size == 'd' ? 4 : watch.Size == 'w' ? 2 : watch.Size == 'b' ? 1 : 0)
|
#define WatchSizeConv(watch) (watch.Type == 'S' ? 0 : watch.Size == 'd' ? 4 : watch.Size == 'w' ? 2 : watch.Size == 'b' ? 1 : 0)
|
||||||
#define SizeConvWatch(size) (size == 4 ? 'd' : size == 2 ? 'w' : size == 1 : 'b' : 0)
|
#define SizeConvWatch(size) (size == 4 ? 'd' : size == 2 ? 'w' : size == 1 : 'b' : 0)
|
||||||
|
|
||||||
|
#define GetDlgStoreIndex(parent) \
|
||||||
|
(parent == RamWatchHWnd ? 0 : \
|
||||||
|
parent == RamSearchHWnd ? 1 : \
|
||||||
|
parent == hCheat ? 2 : 3)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -269,11 +269,6 @@ void UpdateReplayDialog(HWND hwndDlg)
|
||||||
|
|
||||||
free(fn);
|
free(fn);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
EnableWindow(GetDlgItem(hwndDlg,IDC_EDIT_OFFSET),FALSE);
|
|
||||||
EnableWindow(GetDlgItem(hwndDlg,IDC_EDIT_FROM),FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(doClear)
|
if(doClear)
|
||||||
{
|
{
|
||||||
|
@ -731,8 +726,8 @@ BOOL CALLBACK ReplayDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lP
|
||||||
case IDYES:
|
case IDYES:
|
||||||
extern void DisableAllCheats();
|
extern void DisableAllCheats();
|
||||||
DisableAllCheats();
|
DisableAllCheats();
|
||||||
extern void UpdateCheatWindowRelatedWindow();
|
extern void UpdateCheatRelatedWindow();
|
||||||
UpdateCheatWindowRelatedWindow();
|
UpdateCheatRelatedWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -957,6 +952,23 @@ static BOOL CALLBACK RecordDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LP
|
||||||
{
|
{
|
||||||
case IDOK:
|
case IDOK:
|
||||||
{
|
{
|
||||||
|
extern unsigned int FrozenAddressCount;
|
||||||
|
if (FrozenAddressCount)
|
||||||
|
{
|
||||||
|
char ch[512];
|
||||||
|
sprintf(ch, "You have %d activated cheats. If this is not your intentional, it can cause playback prblems! Do you want to disable all of them and continue?", FrozenAddressCount);
|
||||||
|
switch (MessageBox(hwndDlg, ch, "Movie recording problem", MB_YESNOCANCEL | MB_ICONEXCLAMATION))
|
||||||
|
{
|
||||||
|
case IDCANCEL:
|
||||||
|
return TRUE;
|
||||||
|
case IDYES:
|
||||||
|
extern void DisableAllCheats();
|
||||||
|
DisableAllCheats();
|
||||||
|
extern void UpdateCheatRelatedWindow();
|
||||||
|
UpdateCheatRelatedWindow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LONG lIndex = SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_GETCURSEL, 0, 0);
|
LONG lIndex = SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_GETCURSEL, 0, 0);
|
||||||
p->szFilename = GetRecordPath(hwndDlg);
|
p->szFilename = GetRecordPath(hwndDlg);
|
||||||
p->recordFrom = (int)lIndex;
|
p->recordFrom = (int)lIndex;
|
||||||
|
|
|
@ -12,8 +12,7 @@
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
#undef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
// Neutral resources
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
|
||||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
#pragma code_page(1252)
|
#pragma code_page(1252)
|
||||||
|
@ -25,8 +24,8 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
|
|
||||||
// Icon with lowest ID value placed first to ensure application icon
|
// Icon with lowest ID value placed first to ensure application icon
|
||||||
// remains consistent on all systems.
|
// remains consistent on all systems.
|
||||||
IDI_ICON3 ICON "res\\taseditor-icon.ico"
|
IDI_ICON3 ICON "res/taseditor-icon.ico"
|
||||||
IDI_ICON4 ICON "res\\taseditor-icon32.ico"
|
IDI_ICON4 ICON "res/taseditor-icon32.ico"
|
||||||
ICON_1 ICON "res/ICON_1.ico"
|
ICON_1 ICON "res/ICON_1.ico"
|
||||||
ICON_2 ICON "res/ICON_2.ico"
|
ICON_2 ICON "res/ICON_2.ico"
|
||||||
|
|
||||||
|
@ -206,14 +205,14 @@ BEGIN
|
||||||
MENUITEM "1 on, 1 off", MENU_AUTOFIRE_PATTERN_1
|
MENUITEM "1 on, 1 off", MENU_AUTOFIRE_PATTERN_1
|
||||||
MENUITEM "1 on, 2 off", MENU_AUTOFIRE_PATTERN_2
|
MENUITEM "1 on, 2 off", MENU_AUTOFIRE_PATTERN_2
|
||||||
MENUITEM "1 on, 3 off", MENU_AUTOFIRE_PATTERN_3
|
MENUITEM "1 on, 3 off", MENU_AUTOFIRE_PATTERN_3
|
||||||
MENUITEM "1 on, 4 off", ID_DEBUG_DEBUGGER
|
MENUITEM "1 on, 4 off", MENU_AUTOFIRE_PATTERN_4
|
||||||
MENUITEM "1 on, 5 off", ID_DEBUG_PPUVIEWER
|
MENUITEM "1 on, 5 off", MENU_AUTOFIRE_PATTERN_5
|
||||||
MENUITEM "2 on, 1 off", ID_DEBUG_NAMETABLEVIEWER
|
MENUITEM "2 on, 1 off", MENU_AUTOFIRE_PATTERN_6
|
||||||
MENUITEM "2 on, 2 off", ID_DEBUG_HEXEDITOR
|
MENUITEM "2 on, 2 off", MENU_AUTOFIRE_PATTERN_7
|
||||||
MENUITEM "2 on, 3 off", ID_DEBUG_TRACELOGGER
|
MENUITEM "2 on, 3 off", MENU_AUTOFIRE_PATTERN_8
|
||||||
MENUITEM "2 on, 4 off", MENU_AUTOFIRE_PATTERN_9
|
MENUITEM "2 on, 4 off", MENU_AUTOFIRE_PATTERN_9
|
||||||
MENUITEM "3 on, 1 off", ID_DEBUG_GAMEGENIEDECODER
|
MENUITEM "3 on, 1 off", MENU_AUTOFIRE_PATTERN_10
|
||||||
MENUITEM "3 on, 2 off", ID_DEBUG_CDLOGGER
|
MENUITEM "3 on, 2 off", MENU_AUTOFIRE_PATTERN_11
|
||||||
MENUITEM "3 on, 3 off", MENU_AUTOFIRE_PATTERN_12
|
MENUITEM "3 on, 3 off", MENU_AUTOFIRE_PATTERN_12
|
||||||
MENUITEM "4 on, 1 off", MENU_AUTOFIRE_PATTERN_13
|
MENUITEM "4 on, 1 off", MENU_AUTOFIRE_PATTERN_13
|
||||||
MENUITEM "4 on, 2 off", MENU_AUTOFIRE_PATTERN_14
|
MENUITEM "4 on, 2 off", MENU_AUTOFIRE_PATTERN_14
|
||||||
|
@ -633,10 +632,17 @@ CHEATCONTEXTMENUS MENU
|
||||||
BEGIN
|
BEGIN
|
||||||
POPUP "CheatListPopup"
|
POPUP "CheatListPopup"
|
||||||
BEGIN
|
BEGIN
|
||||||
MENUITEM "Toggle selected Cheats\tDbl-Clk", CHEAT_CONTEXT_TOGGLECHEAT
|
MENUITEM "Toggle selected Cheats", CHEAT_CONTEXT_LIST_TOGGLECHEAT
|
||||||
MENUITEM "Poke Cheat Value", CHEAT_CONTEXT_POKECHEATVALUE
|
MENUITEM "Poke Cheat Value", CHEAT_CONTEXT_LIST_POKECHEATVALUE
|
||||||
MENUITEM "Goto in Hex Editor", CHEAT_CONTEXT_GOTOINHEXEDITOR
|
MENUITEM "Goto in Hex Editor", CHEAT_CONTEXT_LIST_GOTOINHEXEDITOR
|
||||||
MENUITEM "Delete selected Cheats", ID_CHEATLISTPOPUP_DELETESELECTEDCHEATS
|
MENUITEM "Delete selected Cheats", CHEAT_CONTEXT_LIST_DELETESELECTEDCHEATS
|
||||||
|
END
|
||||||
|
POPUP "CheatPossiPopup"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "Add to Memory Watch", CHEAT_CONTEXT_POSSI_ADDTOMEMORYWATCH
|
||||||
|
MENUITEM "Add cheat", CHEAT_CONTEXT_POSSI_ADDCHEAT
|
||||||
|
MENUITEM "Add to RAM Watch", CHEAT_CONTEXT_POSSI_ADDTORAMWATCH
|
||||||
|
MENUITEM "Go to in Hex Editor", CHEAT_CONTEXT_POSSI_GOTOINHEXEDITOR
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -1071,7 +1077,7 @@ BEGIN
|
||||||
GROUPBOX "Output/Output Format:",302,10,9,131,93,WS_GROUP
|
GROUPBOX "Output/Output Format:",302,10,9,131,93,WS_GROUP
|
||||||
CONTROL "Sound enabled.",CHECK_SOUND_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,22,117,12
|
CONTROL "Sound enabled.",CHECK_SOUND_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,22,117,12
|
||||||
GROUPBOX "Buffering:",127,150,9,131,93,WS_GROUP
|
GROUPBOX "Buffering:",127,150,9,131,93,WS_GROUP
|
||||||
CONTROL "Use Global Focus",124,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,157,22,100,12
|
CONTROL "Use Global Focus",CHECK_SOUND_GLOBAL_FOCUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,157,22,100,12
|
||||||
CTEXT "Sound Latency",65459,162,50,107,8
|
CTEXT "Sound Latency",65459,162,50,107,8
|
||||||
CONTROL "",CTL_LATENCY_TRACKBAR,"msctls_trackbar32",WS_TABSTOP,162,70,107,13
|
CONTROL "",CTL_LATENCY_TRACKBAR,"msctls_trackbar32",WS_TABSTOP,162,70,107,13
|
||||||
GROUPBOX "Master",125,19,142,44,93,WS_GROUP
|
GROUPBOX "Master",125,19,142,44,93,WS_GROUP
|
||||||
|
@ -1327,10 +1333,10 @@ BEGIN
|
||||||
EDITTEXT 1069,171,182,55,14,ES_AUTOHSCROLL
|
EDITTEXT 1069,171,182,55,14,ES_AUTOHSCROLL
|
||||||
LTEXT "Name",65428,41,7,20,8
|
LTEXT "Name",65428,41,7,20,8
|
||||||
LTEXT "Address",65427,6,7,26,8
|
LTEXT "Address",65427,6,7,26,8
|
||||||
LTEXT "Value",MW_ValueLabel1,101,7,19,8
|
LTEXT "Value",MW_VALUELABEL1,101,7,19,8
|
||||||
LTEXT "Name",65425,171,7,20,8
|
LTEXT "Name",65425,171,7,20,8
|
||||||
LTEXT "Address",65424,135,7,26,8
|
LTEXT "Address",65424,135,7,26,8
|
||||||
LTEXT "Value",MW_ValueLabel2,231,7,19,8
|
LTEXT "Value",MW_VALUELABEL2,231,7,19,8
|
||||||
LTEXT " ",EDIT00_RESULTS,89,225,26,8
|
LTEXT " ",EDIT00_RESULTS,89,225,26,8
|
||||||
GROUPBOX "Memory Change Monitoring",IDC_STATIC,0,202,129,57,BS_CENTER
|
GROUPBOX "Memory Change Monitoring",IDC_STATIC,0,202,129,57,BS_CENTER
|
||||||
LTEXT "Address",IDC_STATIC,6,213,26,8
|
LTEXT "Address",IDC_STATIC,6,213,26,8
|
||||||
|
@ -1560,7 +1566,7 @@ STYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS
|
||||||
CAPTION "Game Genie Encoder/Decoder Tool"
|
CAPTION "Game Genie Encoder/Decoder Tool"
|
||||||
FONT 8, "Tahoma", 0, 0, 0x0
|
FONT 8, "Tahoma", 0, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
EDITTEXT IDC_GAME_GENIE_CODE,115,22,53,14,ES_AUTOHSCROLL
|
EDITTEXT IDC_GAME_GENIE_CODE,115,22,53,14,ES_UPPERCASE | ES_AUTOHSCROLL
|
||||||
GROUPBOX "Game Genie Code",-1,107,5,69,42
|
GROUPBOX "Game Genie Code",-1,107,5,69,42
|
||||||
GROUPBOX "Address/Compare/Value",65534,9,5,91,75
|
GROUPBOX "Address/Compare/Value",65534,9,5,91,75
|
||||||
LTEXT "Address:",65533,18,24,35,8
|
LTEXT "Address:",65533,18,24,35,8
|
||||||
|
@ -1820,10 +1826,10 @@ BEGIN
|
||||||
CONTROL " Piano Roll",IDC_CHECK_PIANO_ROLL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,68,67,10
|
CONTROL " Piano Roll",IDC_CHECK_PIANO_ROLL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,68,67,10
|
||||||
CONTROL " Selection",IDC_CHECK_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,83,67,10
|
CONTROL " Selection",IDC_CHECK_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,83,67,10
|
||||||
GROUPBOX "Greenzone saving options",IDC_STATIC,13,98,97,72
|
GROUPBOX "Greenzone saving options",IDC_STATIC,13,98,97,72
|
||||||
CONTROL " all frames",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,23,109,77,10
|
CONTROL " all frames",IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES,"Button",BS_AUTORADIOBUTTON,23,109,77,10
|
||||||
CONTROL " every 16th frame",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,23,124,77,10
|
CONTROL " every 16th frame",IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME,"Button",BS_AUTORADIOBUTTON,23,124,77,10
|
||||||
CONTROL " marked frames",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,23,139,77,10
|
CONTROL " marked frames",IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES,"Button",BS_AUTORADIOBUTTON,23,139,77,10
|
||||||
CONTROL " don't save",IDC_RADIO4,"Button",BS_AUTORADIOBUTTON,23,154,77,10
|
CONTROL " don't save",IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE,"Button",BS_AUTORADIOBUTTON,23,154,77,10
|
||||||
END
|
END
|
||||||
|
|
||||||
ASSEMBLER DIALOGEX 0, 0, 202, 135
|
ASSEMBLER DIALOGEX 0, 0, 202, 135
|
||||||
|
@ -1966,46 +1972,47 @@ BEGIN
|
||||||
LTEXT "New Selection Name:",-1,5,240,68,8
|
LTEXT "New Selection Name:",-1,5,240,68,8
|
||||||
END
|
END
|
||||||
|
|
||||||
CHEATCONSOLE DIALOGEX 0, 0, 379, 189
|
CHEATCONSOLE DIALOGEX 0, 0, 386, 217
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Cheat Search"
|
CAPTION "Cheat Search"
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
GROUPBOX "Active Cheats",201,5,2,129,182,WS_TABSTOP
|
GROUPBOX "Active Cheats",IDC_GROUPBOX_CHEATLIST,5,2,169,209,WS_TABSTOP
|
||||||
GROUPBOX "Cheat Search",202,140,2,233,182,WS_TABSTOP
|
GROUPBOX "Cheat Search",IDC_GROUPBOX_CHEATSEARCH,179,2,201,209,WS_TABSTOP
|
||||||
LISTBOX IDC_LIST_CHEATS,11,11,118,98,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL
|
CONTROL "",IDC_LIST_CHEATS,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,11,11,157,133
|
||||||
LTEXT "Name:",IDC_STATIC,12,114,22,10
|
LTEXT "Name:",IDC_STATIC,12,149,22,10
|
||||||
LTEXT "Addr:",IDC_STATIC,12,130,18,10
|
LTEXT "Value:",IDC_CHEAT_VAL_LABEL,73,163,22,8
|
||||||
LTEXT "Val:",IDC_STATIC,61,130,12,10
|
LTEXT "Compare:",IDC_CHEAT_COM_LABEL,117,163,34,8
|
||||||
LTEXT "Cmp:",IDC_STATIC,95,130,16,10
|
EDITTEXT IDC_CHEAT_NAME,37,147,131,12,ES_AUTOHSCROLL | ES_WANTRETURN
|
||||||
EDITTEXT IDC_CHEAT_NAME,35,112,94,12,ES_AUTOHSCROLL | ES_WANTRETURN
|
EDITTEXT IDC_CHEAT_ADDR,44,161,25,12,ES_UPPERCASE | ES_WANTRETURN
|
||||||
EDITTEXT IDC_CHEAT_ADDR,31,128,25,12,ES_UPPERCASE | ES_WANTRETURN
|
EDITTEXT IDC_CHEAT_VAL,97,161,16,12,ES_UPPERCASE | ES_WANTRETURN
|
||||||
EDITTEXT IDC_CHEAT_VAL,74,128,16,12,ES_UPPERCASE | ES_WANTRETURN
|
EDITTEXT IDC_CHEAT_COM,152,161,16,12,ES_UPPERCASE | ES_WANTRETURN
|
||||||
EDITTEXT IDC_CHEAT_COM,113,128,16,12,ES_UPPERCASE | ES_WANTRETURN
|
DEFPUSHBUTTON "Add",IDC_BTN_CHEAT_ADD,9,192,36,16
|
||||||
DEFPUSHBUTTON "Add",IDC_BTN_CHEAT_ADD,11,144,36,16
|
PUSHBUTTON "Delete",IDC_BTN_CHEAT_DEL,45,192,36,16
|
||||||
PUSHBUTTON "Delete",IDC_BTN_CHEAT_DEL,52,144,36,16
|
PUSHBUTTON "Update",IDC_BTN_CHEAT_UPD,81,192,36,16
|
||||||
PUSHBUTTON "Update",IDC_BTN_CHEAT_UPD,93,144,36,16
|
PUSHBUTTON "Reset",IDC_BTN_CHEAT_RESET,191,12,55,15
|
||||||
PUSHBUTTON "Reset",IDC_BTN_CHEAT_RESET,146,12,55,15
|
PUSHBUTTON "Known Value:",IDC_BTN_CHEAT_KNOWN,191,32,55,15
|
||||||
PUSHBUTTON "Known Value:",IDC_BTN_CHEAT_KNOWN,146,31,55,15
|
LTEXT "0x",IDC_CHEAT_LABEL_KNOWN,216,51,9,8
|
||||||
LTEXT "0x",IDC_STATIC,205,34,9,8
|
EDITTEXT IDC_CHEAT_VAL_KNOWN,227,49,18,12,ES_UPPERCASE
|
||||||
EDITTEXT IDC_CHEAT_VAL_KNOWN,215,32,18,12,ES_UPPERCASE
|
GROUPBOX "Previous Compare",IDC_GROUP_PREV_COM,184,63,69,132
|
||||||
GROUPBOX "Previous Compare",204,145,49,113,115
|
PUSHBUTTON "Equal",IDC_BTN_CHEAT_EQ,191,75,55,15,WS_GROUP
|
||||||
PUSHBUTTON "Equal",IDC_BTN_CHEAT_EQ,151,62,55,15,WS_GROUP
|
PUSHBUTTON "Not Equal",IDC_BTN_CHEAT_NE,191,96,55,15
|
||||||
PUSHBUTTON "Not Equal",IDC_BTN_CHEAT_NE,151,87,55,15
|
CONTROL "By:",IDC_CHEAT_CHECK_NE_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,114,22,10
|
||||||
CONTROL "By:",IDC_CHEAT_CHECK_NE_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,90,22,10
|
EDITTEXT IDC_CHEAT_VAL_NE_BY,227,113,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||||
EDITTEXT IDC_CHEAT_VAL_NE_BY,234,89,18,12,ES_UPPERCASE | ES_WANTRETURN
|
PUSHBUTTON "Greater Than",IDC_BTN_CHEAT_GT,191,129,55,15
|
||||||
PUSHBUTTON "Greater Than",IDC_BTN_CHEAT_GT,151,114,55,15
|
CONTROL "By:",IDC_CHEAT_CHECK_GT_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,147,22,10
|
||||||
CONTROL "By:",IDC_CHEAT_CHECK_GT_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,117,22,10
|
EDITTEXT IDC_CHEAT_VAL_GT_BY,227,146,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||||
EDITTEXT IDC_CHEAT_VAL_GT_BY,234,116,18,12,ES_UPPERCASE | ES_WANTRETURN
|
PUSHBUTTON "Less Than",IDC_BTN_CHEAT_LT,191,162,55,15
|
||||||
PUSHBUTTON "Less Than",IDC_BTN_CHEAT_LT,151,141,55,15
|
CONTROL "By:",IDC_CHEAT_CHECK_LT_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,180,22,10
|
||||||
CONTROL "By:",IDC_CHEAT_CHECK_LT_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,144,22,10
|
EDITTEXT IDC_CHEAT_VAL_LT_BY,227,179,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||||
EDITTEXT IDC_CHEAT_VAL_LT_BY,234,143,18,12,ES_UPPERCASE | ES_WANTRETURN
|
GROUPBOX "Possibilities",IDC_CHEAT_BOX_POSSIBILITIES,257,8,117,187,WS_TABSTOP
|
||||||
GROUPBOX "Possibilities",IDC_CHEAT_BOX_POSSIBILITIES,263,8,105,156,WS_TABSTOP
|
CONTROL "",IDC_CHEAT_LIST_POSSIBILITIES,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,263,18,106,172
|
||||||
LISTBOX IDC_CHEAT_LIST_POSSIBILITIES,268,18,85,142,LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_WANTKEYBOARDINPUT | WS_TABSTOP
|
|
||||||
SCROLLBAR IDC_CHEAT_SCRL_POSSIBILITIES,354,18,10,142,SBS_VERT
|
|
||||||
CONTROL " Pause emulation when this window is active",IDC_CHEAT_PAUSEWHENACTIVE,
|
CONTROL " Pause emulation when this window is active",IDC_CHEAT_PAUSEWHENACTIVE,
|
||||||
"Button",BS_AUTOCHECKBOX,147,169,157,10
|
"Button",BS_AUTOCHECKBOX,185,198,157,10
|
||||||
PUSHBUTTON "Add from CHT file...",IDC_BTN_CHEAT_ADDFROMFILE,23,163,93,16
|
PUSHBUTTON "Import...",IDC_BTN_CHEAT_ADDFROMFILE,126,192,43,16
|
||||||
|
EDITTEXT IDC_CHEAT_TEXT,105,175,63,12,ES_UPPERCASE | ES_AUTOHSCROLL
|
||||||
|
LTEXT "Address:",IDC_CHEAT_ADDRESS_LABEL,12,163,30,8
|
||||||
|
LTEXT "Cheat code / Game Genie:",IDC_CHEAT_CODE_GG_LABEL,12,177,87,8
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_LUA DIALOGEX 0, 0, 270, 150
|
IDD_LUA DIALOGEX 0, 0, 270, 150
|
||||||
|
@ -2142,7 +2149,7 @@ END
|
||||||
|
|
||||||
IDD_RAMWATCH DIALOGEX 0, 0, 269, 298
|
IDD_RAMWATCH DIALOGEX 0, 0, 269, 298
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION " RAM Watch"
|
CAPTION "RAM Watch"
|
||||||
MENU RAMWATCH_MENU
|
MENU RAMWATCH_MENU
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -2214,10 +2221,10 @@ BEGIN
|
||||||
CONTROL " Selection",IDC_CHECK_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,92,67,10
|
CONTROL " Selection",IDC_CHECK_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,92,67,10
|
||||||
GROUPBOX "File contents",IDC_STATIC,105,4,111,177
|
GROUPBOX "File contents",IDC_STATIC,105,4,111,177
|
||||||
GROUPBOX "Greenzone saving options",IDC_STATIC,112,106,97,69
|
GROUPBOX "Greenzone saving options",IDC_STATIC,112,106,97,69
|
||||||
CONTROL " all frames",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,122,117,77,10
|
CONTROL " all frames",IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES,"Button",BS_AUTORADIOBUTTON,122,117,77,10
|
||||||
CONTROL " every 16th frame",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,122,131,77,10
|
CONTROL " every 16th frame", IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME,"Button",BS_AUTORADIOBUTTON,122,131,77,10
|
||||||
CONTROL " marked frames",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,122,145,77,10
|
CONTROL " marked frames", IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES,"Button",BS_AUTORADIOBUTTON,122,145,77,10
|
||||||
CONTROL " don't save",IDC_RADIO4,"Button",BS_AUTORADIOBUTTON,122,159,77,10
|
CONTROL " don't save", IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE,"Button",BS_AUTORADIOBUTTON,122,159,77,10
|
||||||
CONTROL " Autosave project",IDC_AUTOSAVE_PROJECT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,17,81,10
|
CONTROL " Autosave project",IDC_AUTOSAVE_PROJECT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,17,81,10
|
||||||
CONTROL " silently",IDC_SILENT_AUTOSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,47,42,10
|
CONTROL " silently",IDC_SILENT_AUTOSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,47,42,10
|
||||||
LTEXT "every",IDC_AUTOSAVE_PERIOD_EVERY_TEXT,14,32,21,8
|
LTEXT "every",IDC_AUTOSAVE_PERIOD_EVERY_TEXT,14,32,21,8
|
||||||
|
@ -2425,7 +2432,8 @@ BEGIN
|
||||||
|
|
||||||
"CHEATCONSOLE", DIALOG
|
"CHEATCONSOLE", DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
BOTTOMMARGIN, 188
|
RIGHTMARGIN, 385
|
||||||
|
BOTTOMMARGIN, 216
|
||||||
END
|
END
|
||||||
|
|
||||||
"VIDEOCONFIG", DIALOG
|
"VIDEOCONFIG", DIALOG
|
||||||
|
@ -2499,6 +2507,11 @@ BEGIN
|
||||||
0
|
0
|
||||||
END
|
END
|
||||||
|
|
||||||
|
CHEATCONSOLE AFX_DIALOG_LAYOUT
|
||||||
|
BEGIN
|
||||||
|
0
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
|
@ -2670,12 +2683,12 @@ IDB_BITMAP_SELECTED17 BITMAP "res\\te_17_selected.bmp"
|
||||||
IDB_BITMAP_SELECTED18 BITMAP "res\\te_18_selected.bmp"
|
IDB_BITMAP_SELECTED18 BITMAP "res\\te_18_selected.bmp"
|
||||||
IDB_BITMAP_SELECTED19 BITMAP "res\\te_19_selected.bmp"
|
IDB_BITMAP_SELECTED19 BITMAP "res\\te_19_selected.bmp"
|
||||||
IDB_BRANCH_SPRITESHEET BITMAP "res\\branch_spritesheet.bmp"
|
IDB_BRANCH_SPRITESHEET BITMAP "res\\branch_spritesheet.bmp"
|
||||||
#endif
|
#endif // Neutral resources
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// English(U.S.) resources
|
// English (U.S) resources
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
@ -2704,7 +2717,7 @@ END
|
||||||
|
|
||||||
#endif // APSTUDIO_INVOKED
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
#endif // English(U.S.) resources
|
#endif // English (U.S) resources
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
//{{NO_DEPENDENCIES}}
|
//{{NO_DEPENDENCIES}}
|
||||||
// Microsoft Visual C++ 生成的包含文件。
|
// Microsoft Visual C++ generated file
|
||||||
// 供 res.rc 使用
|
// for res.rc
|
||||||
//
|
//
|
||||||
#define CLOSE_BUTTON 1
|
#define CLOSE_BUTTON 1
|
||||||
#define BUTTON_CLOSE 1
|
#define BUTTON_CLOSE 1
|
||||||
#define BTN_CLOSE 1
|
#define BTN_CLOSE 1
|
||||||
#define IDB_CLOSE_LOG 1
|
|
||||||
#define MENU_OPEN_FILE 100
|
#define MENU_OPEN_FILE 100
|
||||||
#define EDIT_ROMS 100
|
#define EDIT_ROMS 100
|
||||||
#define LBL_LOG_TEXT 100
|
#define LBL_LOG_TEXT 100
|
||||||
|
@ -16,11 +15,9 @@
|
||||||
#define GRP_GAMEPAD1 100
|
#define GRP_GAMEPAD1 100
|
||||||
#define IDC_TRACER_LOG 100
|
#define IDC_TRACER_LOG 100
|
||||||
#define MENU_MV_FILE_SAVE 100
|
#define MENU_MV_FILE_SAVE 100
|
||||||
#define IDC_VIDEOCONFIG_MODE 100
|
|
||||||
#define IDC_ROMPATCHER_OFFSET_BOX 100
|
#define IDC_ROMPATCHER_OFFSET_BOX 100
|
||||||
#define IDC_ASSEMBLER_HISTORY 100
|
#define IDC_ASSEMBLER_HISTORY 100
|
||||||
#define MENU_CLOSE_FILE 101
|
#define MENU_CLOSE_FILE 101
|
||||||
#define IDI_ICON1 101
|
|
||||||
#define CB_DISABLE_SPEED_THROTTLING 101
|
#define CB_DISABLE_SPEED_THROTTLING 101
|
||||||
#define LBL_CDLOGGER_DATACOUNT 101
|
#define LBL_CDLOGGER_DATACOUNT 101
|
||||||
#define GRP_PPUVIEW_TABLES 101
|
#define GRP_PPUVIEW_TABLES 101
|
||||||
|
@ -34,7 +31,6 @@
|
||||||
#define IDC_ROMPATCHER_DOTNES_OFFSET 101
|
#define IDC_ROMPATCHER_DOTNES_OFFSET 101
|
||||||
#define IDC_NTVIEW_TABLE_BOX 101
|
#define IDC_NTVIEW_TABLE_BOX 101
|
||||||
#define IDC_ASSEMBLER_DISASSEMBLY 101
|
#define IDC_ASSEMBLER_DISASSEMBLY 101
|
||||||
#define IDI_ICON2 102
|
|
||||||
#define MENU_RECENT_FILES 102
|
#define MENU_RECENT_FILES 102
|
||||||
#define CB_LOAD_FILE_OPEN 102
|
#define CB_LOAD_FILE_OPEN 102
|
||||||
#define LBL_CDLOGGER_UNDEFCOUNT 102
|
#define LBL_CDLOGGER_UNDEFCOUNT 102
|
||||||
|
@ -95,7 +91,6 @@
|
||||||
#define IDC_TEXT_LINES_TO_THIS_WINDOW 106
|
#define IDC_TEXT_LINES_TO_THIS_WINDOW 106
|
||||||
#define BTN_PORT2 107
|
#define BTN_PORT2 107
|
||||||
#define BTN_CDLOGGER_SAVE 107
|
#define BTN_CDLOGGER_SAVE 107
|
||||||
#define IDC_CHEAT_SCRL_POSSIBILITIES 107
|
|
||||||
#define IDC_DEBUGGER_STEP_OVER 107
|
#define IDC_DEBUGGER_STEP_OVER 107
|
||||||
#define IDC_ADDBP_MEM_SPR 107
|
#define IDC_ADDBP_MEM_SPR 107
|
||||||
#define IDC_ROMPATCHER_DISASSEMBLY 107
|
#define IDC_ROMPATCHER_DISASSEMBLY 107
|
||||||
|
@ -109,10 +104,8 @@
|
||||||
#define IDC_CHEAT_VAL_GT_BY 109
|
#define IDC_CHEAT_VAL_GT_BY 109
|
||||||
#define IDC_DEBUGGER_SEEK_TO 109
|
#define IDC_DEBUGGER_SEEK_TO 109
|
||||||
#define IDC_ROMPATCHER_PATCH_DATA 109
|
#define IDC_ROMPATCHER_PATCH_DATA 109
|
||||||
#define IDC_ADDBP_MODE_X2 109
|
|
||||||
#define IDC_ADDBP_MODE_F 109
|
#define IDC_ADDBP_MODE_F 109
|
||||||
#define BTN_CDLOGGER_SAVE_UNUSED 109
|
#define BTN_CDLOGGER_SAVE_UNUSED 109
|
||||||
#define IDC_VIDEOCONFIG_43 109
|
|
||||||
#define IDC_VIDEOCONFIG_TVASPECT 109
|
#define IDC_VIDEOCONFIG_TVASPECT 109
|
||||||
#define IDC_GROUP_LOG_OPTIONS 109
|
#define IDC_GROUP_LOG_OPTIONS 109
|
||||||
#define IDC_CHEAT_VAL_LT_BY 110
|
#define IDC_CHEAT_VAL_LT_BY 110
|
||||||
|
@ -131,7 +124,6 @@
|
||||||
#define IDC_CHECK_LOG_PROCESSOR_STATUS 111
|
#define IDC_CHECK_LOG_PROCESSOR_STATUS 111
|
||||||
#define IDC_DEBUGGER_RELOAD_SYMS 111
|
#define IDC_DEBUGGER_RELOAD_SYMS 111
|
||||||
#define IDC_ROMPATCHER_BTN_SAVE 111
|
#define IDC_ROMPATCHER_BTN_SAVE 111
|
||||||
#define IDC_CHEAT_VAL2 111
|
|
||||||
#define IDC_CHEAT_COM 111
|
#define IDC_CHEAT_COM 111
|
||||||
#define IDC_VIDEOCONFIG_DIRECTDRAW_FS 111
|
#define IDC_VIDEOCONFIG_DIRECTDRAW_FS 111
|
||||||
#define BTN_AUTO_HOLD 112
|
#define BTN_AUTO_HOLD 112
|
||||||
|
@ -142,49 +134,36 @@
|
||||||
#define IDC_EXTRA_LOG_OPTIONS 113
|
#define IDC_EXTRA_LOG_OPTIONS 113
|
||||||
#define BTN_CLEAR_AH 114
|
#define BTN_CLEAR_AH 114
|
||||||
#define IDC_CHECK_LOG_NEW_INSTRUCTIONS 114
|
#define IDC_CHECK_LOG_NEW_INSTRUCTIONS 114
|
||||||
#define IDD_DIALOG1 114
|
|
||||||
#define IDC_DEBUGGER_RUN_LINE 114
|
#define IDC_DEBUGGER_RUN_LINE 114
|
||||||
#define LBL_CDLOGGER_VROMREADCOUNT 114
|
#define LBL_CDLOGGER_VROMREADCOUNT 114
|
||||||
#define LBL_AUTO_HOLD 115
|
#define LBL_AUTO_HOLD 115
|
||||||
#define IDC_CHECK_LOG_NEW_DATA 115
|
#define IDC_CHECK_LOG_NEW_DATA 115
|
||||||
#define IDD_DIALOG2 115
|
|
||||||
#define IDC_DEBUGGER_STEP_OUT3 115
|
|
||||||
#define IDC_DEBUGGER_RUN_FRAME2 115
|
#define IDC_DEBUGGER_RUN_FRAME2 115
|
||||||
#define LBL_CDLOGGER_UNDEFVROMCOUNT 115
|
#define LBL_CDLOGGER_UNDEFVROMCOUNT 115
|
||||||
#define LBL_CLEAR_AH 116
|
#define LBL_CLEAR_AH 116
|
||||||
#define IDC_CHECK_LOG_UPDATE_WINDOW 116
|
#define IDC_CHECK_LOG_UPDATE_WINDOW 116
|
||||||
#define IDC_DEBUGGER_RESET_CYCLES_COUNTER 116
|
|
||||||
#define IDC_DEBUGGER_RESET_COUNTERS 116
|
#define IDC_DEBUGGER_RESET_COUNTERS 116
|
||||||
#define CHEAT_CONTEXT_TOGGLECHEAT 117
|
#define CHEAT_CONTEXT_LIST_TOGGLECHEAT 117
|
||||||
#define IDC_DEBUGGER_RESET_ON_STEP 117
|
|
||||||
#define IDC_DEBUGGER_BREAK_ON_CYCLES 117
|
#define IDC_DEBUGGER_BREAK_ON_CYCLES 117
|
||||||
#define IDC_CHECK_LINES_TABBING 117
|
|
||||||
#define IDC_CHECK_CODE_TABBING 117
|
#define IDC_CHECK_CODE_TABBING 117
|
||||||
#define CHEAT_CONTEXT_POKECHEATVALUE 118
|
#define CHEAT_CONTEXT_LIST_POKECHEATVALUE 118
|
||||||
#define IDC_DEBUGGER_RESET_ON_BP0 118
|
|
||||||
#define IDC_CHECK_LOG_STATUSES_TO_THE_LEFT 118
|
#define IDC_CHECK_LOG_STATUSES_TO_THE_LEFT 118
|
||||||
#define IDC_DEBUGGER_BOOKMARK_DEL2 118
|
|
||||||
#define IDC_DEBUGGER_BOOKMARK_NAME 118
|
#define IDC_DEBUGGER_BOOKMARK_NAME 118
|
||||||
#define CHEAT_CONTEXT_GOTOINHEXEDITOR 119
|
#define CHEAT_CONTEXT_LIST_GOTOINHEXEDITOR 119
|
||||||
#define IDC_DEBUGGER_BREAK_ON_INSTRUCTIONS 119
|
#define IDC_DEBUGGER_BREAK_ON_INSTRUCTIONS 119
|
||||||
#define IDC_CHECK_LOG_FRAME_NUMBER 119
|
|
||||||
#define IDC_CHECK_LOG_FRAMES_COUNT 119
|
#define IDC_CHECK_LOG_FRAMES_COUNT 119
|
||||||
#define IDC_CHECK_LOG_CYCLES_COUNT 120
|
#define IDC_CHECK_LOG_CYCLES_COUNT 120
|
||||||
#define IDC_CHECK_LOG_FRAME_NUMBER3 121
|
#define CHEAT_CONTEXT_LIST_DELETESELECTEDCHEATS 120
|
||||||
#define IDC_CHECK_LOG_INSTRUCTIONS_COUNT 121
|
#define IDC_CHECK_LOG_INSTRUCTIONS_COUNT 121
|
||||||
#define COMBO_SOUND_8BIT 122
|
#define COMBO_SOUND_8BIT 122
|
||||||
#define IDD_DIALOG3 123
|
|
||||||
#define IDC_CHECK_SYMBOLIC_TRACING 123
|
#define IDC_CHECK_SYMBOLIC_TRACING 123
|
||||||
#define CHECK_SOUND_GLOBAL_FOCUS 124
|
#define CHECK_SOUND_GLOBAL_FOCUS 124
|
||||||
#define INSERTCOMMENTSUBTITLE 124
|
|
||||||
#define IDC_CHECK_LOG_MESSAGES 124
|
#define IDC_CHECK_LOG_MESSAGES 124
|
||||||
#define IDC_CHECK_LOG_BREAKPOINTS 125
|
#define IDC_CHECK_LOG_BREAKPOINTS 125
|
||||||
#define CHECK_SOUND_ENABLED 126
|
#define CHECK_SOUND_ENABLED 126
|
||||||
#define CTL_LATENCY_TRACKBAR 128
|
#define CTL_LATENCY_TRACKBAR 128
|
||||||
#define COMBO_SOUND_QUALITY 129
|
#define COMBO_SOUND_QUALITY 129
|
||||||
#define CHECK_SOUND_MUTEFA 130
|
#define CHECK_SOUND_MUTEFA 130
|
||||||
#define IDC_DISABLE_HW_ACCEL_WIN 130
|
|
||||||
#define IDC_DISABLE_HW_ACCEL_FS 131
|
|
||||||
#define DEBUGGER_CONTEXT_TOGGLEBREAK 132
|
#define DEBUGGER_CONTEXT_TOGGLEBREAK 132
|
||||||
#define MENU_RECORD_MOVIE 141
|
#define MENU_RECORD_MOVIE 141
|
||||||
#define MENU_REPLAY_MOVIE 142
|
#define MENU_REPLAY_MOVIE 142
|
||||||
|
@ -238,6 +217,7 @@
|
||||||
#define IDC_DEBUGGER_FLAG_N 200
|
#define IDC_DEBUGGER_FLAG_N 200
|
||||||
#define IDC_ADDBP_ADDR_START 200
|
#define IDC_ADDBP_ADDR_START 200
|
||||||
#define MENU_POWER 201
|
#define MENU_POWER 201
|
||||||
|
#define IDC_GROUPBOX_CHEATLIST 201
|
||||||
#define TXT_PAD2 201
|
#define TXT_PAD2 201
|
||||||
#define IDC_BUTTON_BROWSEFILE 201
|
#define IDC_BUTTON_BROWSEFILE 201
|
||||||
#define IDC_CHECK_READONLY 201
|
#define IDC_CHECK_READONLY 201
|
||||||
|
@ -260,6 +240,7 @@
|
||||||
#define IDC_ADDBP_CONDITION 202
|
#define IDC_ADDBP_CONDITION 202
|
||||||
#define IDC_ASSEMBLER_SAVE 202
|
#define IDC_ASSEMBLER_SAVE 202
|
||||||
#define IDD_TASEDITOR_NEWPROJECT 202
|
#define IDD_TASEDITOR_NEWPROJECT 202
|
||||||
|
#define IDC_GROUPBOX_CHEATSEARCH 202
|
||||||
#define MENU_SWITCH_DISK 203
|
#define MENU_SWITCH_DISK 203
|
||||||
#define IDC_NETMOO_NICK 203
|
#define IDC_NETMOO_NICK 203
|
||||||
#define IDC_CHEAT_BOX_POSSIBILITIES 203
|
#define IDC_CHEAT_BOX_POSSIBILITIES 203
|
||||||
|
@ -269,11 +250,10 @@
|
||||||
#define IDC_ASSEMBLER_UNDO 203
|
#define IDC_ASSEMBLER_UNDO 203
|
||||||
#define MENU_INSERT_COIN 204
|
#define MENU_INSERT_COIN 204
|
||||||
#define COMBO_NETMOO_LOCAL_PLAYERS 204
|
#define COMBO_NETMOO_LOCAL_PLAYERS 204
|
||||||
#define MENU_MV_EDIT_FIND_NEXT 204
|
|
||||||
#define IDC_DEBUGGER_FLAG_D 204
|
#define IDC_DEBUGGER_FLAG_D 204
|
||||||
|
#define IDC_GROUP_PREV_COM 204
|
||||||
#define IDC_NETMOO_KEY 205
|
#define IDC_NETMOO_KEY 205
|
||||||
#define IDC_DEBUGGER_FLAG_I 205
|
#define IDC_DEBUGGER_FLAG_I 205
|
||||||
#define IDB_BITMAP20 205
|
|
||||||
#define IDB_TE_GREEN_ARROW 205
|
#define IDB_TE_GREEN_ARROW 205
|
||||||
#define IDC_NETMOO_PASS 206
|
#define IDC_NETMOO_PASS 206
|
||||||
#define IDC_DEBUGGER_FLAG_Z 206
|
#define IDC_DEBUGGER_FLAG_Z 206
|
||||||
|
@ -365,13 +345,10 @@
|
||||||
#define IDD_TASEDITOR_SAVINGOPTIONS 289
|
#define IDD_TASEDITOR_SAVINGOPTIONS 289
|
||||||
#define IDD_SYMBOLIC_DEBUG_NAMING 290
|
#define IDD_SYMBOLIC_DEBUG_NAMING 290
|
||||||
#define DLG_SNESPAD 291
|
#define DLG_SNESPAD 291
|
||||||
#define IDB_PNG2 298
|
|
||||||
#define MENU_HIDE_MENU 300
|
#define MENU_HIDE_MENU 300
|
||||||
#define COMBO_FILTER 300
|
#define COMBO_FILTER 300
|
||||||
#define IDC_EDIT_AUTHORINFO 300
|
|
||||||
#define IDC_LABEL_LENGTH 300
|
#define IDC_LABEL_LENGTH 300
|
||||||
#define MENU_MV_VIEW_RAM 300
|
#define MENU_MV_VIEW_RAM 300
|
||||||
#define IDC_RADIO_SCALE 300
|
|
||||||
#define IDC_DEBUGGER_DISASSEMBLY 300
|
#define IDC_DEBUGGER_DISASSEMBLY 300
|
||||||
#define IDC_ASSEMBLER_DEFPUSHBUTTON 300
|
#define IDC_ASSEMBLER_DEFPUSHBUTTON 300
|
||||||
#define MENU_RUN_IN_BACKGROUND 301
|
#define MENU_RUN_IN_BACKGROUND 301
|
||||||
|
@ -379,20 +356,14 @@
|
||||||
#define IDC_LABEL_FRAMES 301
|
#define IDC_LABEL_FRAMES 301
|
||||||
#define IDC_BTN_CHEAT_ADD 301
|
#define IDC_BTN_CHEAT_ADD 301
|
||||||
#define MENU_MV_VIEW_PPU 301
|
#define MENU_MV_VIEW_PPU 301
|
||||||
#define IDC_RADIO_STRETCH 301
|
|
||||||
#define IDC_DEBUGGER_DISASSEMBLY_VSCR 301
|
#define IDC_DEBUGGER_DISASSEMBLY_VSCR 301
|
||||||
#define MENU_BACKGROUND_INPUT 302
|
#define MENU_BACKGROUND_INPUT 302
|
||||||
#define IDC_LABEL_UNDOCOUNT 302
|
#define IDC_LABEL_UNDOCOUNT 302
|
||||||
#define IDC_BTN_CHEAT_DEL 302
|
#define IDC_BTN_CHEAT_DEL 302
|
||||||
#define IDC_VIDEOCONFIG_XSCALE 302
|
|
||||||
#define IDC_DEBUGGER_BP_LIST 302
|
#define IDC_DEBUGGER_BP_LIST 302
|
||||||
#define MENU_MV_VIEW_OAM 302
|
#define MENU_MV_VIEW_OAM 302
|
||||||
#define MENU_MV_VIEW_ROM 303
|
#define MENU_MV_VIEW_ROM 303
|
||||||
#define MENU_SHOW_STATUS_ICON 303
|
|
||||||
#define IDC_LABEL_AUTHORINFO 303
|
|
||||||
#define IDC_BTN_CHEAT_UPD 303
|
#define IDC_BTN_CHEAT_UPD 303
|
||||||
#define IDC_VIDEOCONFIG_YSCALE 303
|
|
||||||
#define IDC_DEBUGGER_DISASSEMBLY2 303
|
|
||||||
#define IDC_DEBUGGER_DISASSEMBLY_LEFT_PANEL 303
|
#define IDC_DEBUGGER_DISASSEMBLY_LEFT_PANEL 303
|
||||||
#define MENU_ENABLE_AUTOSAVE 304
|
#define MENU_ENABLE_AUTOSAVE 304
|
||||||
#define IDC_LABEL_ROMUSED 304
|
#define IDC_LABEL_ROMUSED 304
|
||||||
|
@ -416,10 +387,8 @@
|
||||||
#define IDC_LABEL_PALUSED 309
|
#define IDC_LABEL_PALUSED 309
|
||||||
#define MENU_GAME_GENIE 310
|
#define MENU_GAME_GENIE 310
|
||||||
#define IDC_DEBUGGER_VAL_PPU 310
|
#define IDC_DEBUGGER_VAL_PPU 310
|
||||||
#define IDC_LABEL_PALUSED2 310
|
|
||||||
#define IDC_LABEL_NEWPPUUSED 310
|
#define IDC_LABEL_NEWPPUUSED 310
|
||||||
#define IDC_DEBUGGER_VAL_SPR 311
|
#define IDC_DEBUGGER_VAL_SPR 311
|
||||||
#define IDC_LABEL_TWEAKCOUNT 311
|
|
||||||
#define IDC_BTN_CHEAT_ADDFROMFILE 311
|
#define IDC_BTN_CHEAT_ADDFROMFILE 311
|
||||||
#define IDC_DEBUGGER_BOOKMARK 312
|
#define IDC_DEBUGGER_BOOKMARK 312
|
||||||
#define IDC_DEBUGGER_CYCLES_EXCEED 313
|
#define IDC_DEBUGGER_CYCLES_EXCEED 313
|
||||||
|
@ -430,7 +399,6 @@
|
||||||
#define MENU_NTSC 330
|
#define MENU_NTSC 330
|
||||||
#define MENU_PAL 331
|
#define MENU_PAL 331
|
||||||
#define MENU_DENDY 332
|
#define MENU_DENDY 332
|
||||||
#define CHECK_DISABLE_FOURSCORE 400
|
|
||||||
#define MENU_MV_BOOKMARKS_RM_ALL 400
|
#define MENU_MV_BOOKMARKS_RM_ALL 400
|
||||||
#define IDC_WINSIZE_MUL_X 400
|
#define IDC_WINSIZE_MUL_X 400
|
||||||
#define IDC_CHEAT_CHECK_NE_BY 401
|
#define IDC_CHEAT_CHECK_NE_BY 401
|
||||||
|
@ -442,9 +410,7 @@
|
||||||
#define IDC_CHEAT_CHECK_LT_BY 403
|
#define IDC_CHEAT_CHECK_LT_BY 403
|
||||||
#define IDC_FORCE_ASPECT_CORRECTION 403
|
#define IDC_FORCE_ASPECT_CORRECTION 403
|
||||||
#define IDC_DEBUGGER_VAL_S 403
|
#define IDC_DEBUGGER_VAL_S 403
|
||||||
#define IDC_VIDEOCONFIG_ASPECT_X 404
|
|
||||||
#define IDC_TVASPECT_X 404
|
#define IDC_TVASPECT_X 404
|
||||||
#define IDC_VIDEOCONFIG_ASPECT_Y 405
|
|
||||||
#define IDC_DEBUGGER_VAL_S2 405
|
#define IDC_DEBUGGER_VAL_S2 405
|
||||||
#define IDC_TVASPECT_Y 405
|
#define IDC_TVASPECT_Y 405
|
||||||
#define IDC_VIDEOCONFIG_SCALER_WIN 406
|
#define IDC_VIDEOCONFIG_SCALER_WIN 406
|
||||||
|
@ -464,29 +430,23 @@
|
||||||
#define IDC_DEBUGGER_VAL_CYCLES_COUNT 503
|
#define IDC_DEBUGGER_VAL_CYCLES_COUNT 503
|
||||||
#define CTL_VOLUME_TRACKBAR_NOISE 504
|
#define CTL_VOLUME_TRACKBAR_NOISE 504
|
||||||
#define IDC_DEBUGGER_VAL_PPUPIXEL 504
|
#define IDC_DEBUGGER_VAL_PPUPIXEL 504
|
||||||
#define IDC_SCANLINE_FIRST_NTSC2 504
|
|
||||||
#define CTL_VOLUME_TRACKBAR_NOISE2 505
|
|
||||||
#define CTL_VOLUME_TRACKBAR_PCM 505
|
#define CTL_VOLUME_TRACKBAR_PCM 505
|
||||||
#define IDC_DEBUGGER_VAL_CYCLES_COUNT2 505
|
#define IDC_DEBUGGER_VAL_CYCLES_COUNT2 505
|
||||||
#define IDC_DEBUGGER_VAL_CYCLES_COUNT3 506
|
|
||||||
#define IDC_DEBUGGER_VAL_INSTRUCTIONS_COUNT 506
|
#define IDC_DEBUGGER_VAL_INSTRUCTIONS_COUNT 506
|
||||||
#define IDC_DEBUGGER_VAL_INSTRUCTIONS_COUNT2 507
|
#define IDC_DEBUGGER_VAL_INSTRUCTIONS_COUNT2 507
|
||||||
#define IDC_VIDEOCONFIG_NO8LIM 600
|
#define IDC_VIDEOCONFIG_NO8LIM 600
|
||||||
#define IDC_DEBUGGER_ROM_PATCHER 602
|
#define IDC_DEBUGGER_ROM_PATCHER 602
|
||||||
#define LIST_DEBUGGER_BOOKMARKS 701
|
#define LIST_DEBUGGER_BOOKMARKS 701
|
||||||
#define BTN_CANCEL 800
|
#define BTN_CANCEL 800
|
||||||
#define IDC_EDIT_OFFSET 1000
|
|
||||||
#define IDC_GAME_GENIE_CODE 1000
|
#define IDC_GAME_GENIE_CODE 1000
|
||||||
#define IDC_MEMVIEWFIND_WHAT 1000
|
#define IDC_MEMVIEWFIND_WHAT 1000
|
||||||
#define IDC_BOOKMARK_DESCRIPTION 1000
|
#define IDC_BOOKMARK_DESCRIPTION 1000
|
||||||
#define MW_ADDR00 1001
|
#define MW_ADDR00 1001
|
||||||
#define IDC_EDIT_FROM 1001
|
|
||||||
#define IDC_GAME_GENIE_ADDR 1001
|
#define IDC_GAME_GENIE_ADDR 1001
|
||||||
#define IDC_MEMVIEWFIND_TYPE_HEX 1001
|
#define IDC_MEMVIEWFIND_TYPE_HEX 1001
|
||||||
#define IDC_NTVIEW_MIRROR_HORIZONTAL 1001
|
#define IDC_NTVIEW_MIRROR_HORIZONTAL 1001
|
||||||
#define IDC_CHECK_STOPMOVIE 1002
|
#define IDC_CHECK_STOPMOVIE 1002
|
||||||
#define IDC_GAME_GENIE_COMP 1002
|
#define IDC_GAME_GENIE_COMP 1002
|
||||||
#define IDC_TRACER_STATS 1002
|
|
||||||
#define IDC_MEMVIEWFIND_TYPE_TEXT 1002
|
#define IDC_MEMVIEWFIND_TYPE_TEXT 1002
|
||||||
#define IDC_NTVIEW_MIRROR_VERTICAL 1002
|
#define IDC_NTVIEW_MIRROR_VERTICAL 1002
|
||||||
#define LV_MAPPING 1003
|
#define LV_MAPPING 1003
|
||||||
|
@ -512,7 +472,6 @@
|
||||||
#define MW_ADDR05 1016
|
#define MW_ADDR05 1016
|
||||||
#define MW_ADDR06 1019
|
#define MW_ADDR06 1019
|
||||||
#define MW_ADDR07 1022
|
#define MW_ADDR07 1022
|
||||||
#define GUI_BOT_BOTMODE 1025
|
|
||||||
#define MW_ADDR08 1025
|
#define MW_ADDR08 1025
|
||||||
#define MW_ADDR09 1028
|
#define MW_ADDR09 1028
|
||||||
#define MW_ADDR10 1031
|
#define MW_ADDR10 1031
|
||||||
|
@ -529,7 +488,6 @@
|
||||||
#define MW_ADDR21 1064
|
#define MW_ADDR21 1064
|
||||||
#define MW_ADDR22 1067
|
#define MW_ADDR22 1067
|
||||||
#define MW_ADDR23 1070
|
#define MW_ADDR23 1070
|
||||||
#define GUI_BOT_PART_LAST 1090
|
|
||||||
#define BTN_ALLOW_LRUD 1117
|
#define BTN_ALLOW_LRUD 1117
|
||||||
#define BTN_PRESET_SET1 1119
|
#define BTN_PRESET_SET1 1119
|
||||||
#define BTN_PRESET_SET2 1120
|
#define BTN_PRESET_SET2 1120
|
||||||
|
@ -541,48 +499,36 @@
|
||||||
#define BTN_PRESET_EXPORT2 1126
|
#define BTN_PRESET_EXPORT2 1126
|
||||||
#define BTN_PRESET_EXPORT3 1127
|
#define BTN_PRESET_EXPORT3 1127
|
||||||
#define IDC_LIST1 1130
|
#define IDC_LIST1 1130
|
||||||
#define IDC_HACKY2 1131
|
|
||||||
#define IDC_HACKY1 1132
|
|
||||||
#define IDC_BUTTON_METADATA 1132
|
#define IDC_BUTTON_METADATA 1132
|
||||||
#define IDC_HACKYEXPORT 1133
|
|
||||||
#define IDC_BUTTON1 1133
|
|
||||||
#define MEMW_EXPANDCOLLAPSE 1133
|
#define MEMW_EXPANDCOLLAPSE 1133
|
||||||
#define IDC_SOUND_RESTOREDEFAULTVOL 1133
|
#define IDC_SOUND_RESTOREDEFAULTVOL 1133
|
||||||
#define TASEDITOR_REWIND 1133
|
#define TASEDITOR_REWIND 1133
|
||||||
#define IDC_BUTTON2 1134
|
|
||||||
#define TASEDITOR_FORWARD 1134
|
#define TASEDITOR_FORWARD 1134
|
||||||
#define IDC_BUTTON3 1135
|
|
||||||
#define TASEDITOR_REWIND_FULL 1135
|
#define TASEDITOR_REWIND_FULL 1135
|
||||||
#define IDC_BUTTON4 1136
|
|
||||||
#define TASEDITOR_FORWARD_FULL 1136
|
#define TASEDITOR_FORWARD_FULL 1136
|
||||||
#define TASEDITOR_PLAYSTOP 1137
|
#define TASEDITOR_PLAYSTOP 1137
|
||||||
#define IDC_RADIO1 1138
|
#define IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES 1138
|
||||||
#define IDC_RADIO_UP 1138
|
#define IDC_RADIO_UP 1138
|
||||||
#define IDC_RADIO2 1139
|
|
||||||
#define IDC_RADIO_ALL 1139
|
#define IDC_RADIO_ALL 1139
|
||||||
#define IDC_RADIO3 1140
|
#define IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME 1139
|
||||||
#define IDC_RADIO_1P 1140
|
#define IDC_RADIO_1P 1140
|
||||||
#define IDC_RADIO4 1141
|
#define IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES 1140
|
||||||
#define IDC_RADIO_2P 1141
|
#define IDC_RADIO_2P 1141
|
||||||
|
#define IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE 1141
|
||||||
#define MEMW_EDIT00FORMULA 1142
|
#define MEMW_EDIT00FORMULA 1142
|
||||||
#define IDC_RADIO5 1142
|
|
||||||
#define IDC_RADIO_3P 1142
|
#define IDC_RADIO_3P 1142
|
||||||
#define MEMW_EDIT01FORMULA 1143
|
#define MEMW_EDIT01FORMULA 1143
|
||||||
#define IDC_RADIO6 1143
|
|
||||||
#define IDC_RADIO_4P 1143
|
#define IDC_RADIO_4P 1143
|
||||||
#define IDC_PROGRESS_BUTTON 1144
|
#define IDC_PROGRESS_BUTTON 1144
|
||||||
#define MEMW_EDIT02FORMULA 1144
|
#define MEMW_EDIT02FORMULA 1144
|
||||||
#define IDC_BUTTON7 1145
|
|
||||||
#define MEMW_EDIT03FORMULA 1145
|
#define MEMW_EDIT03FORMULA 1145
|
||||||
#define TASEDITOR_PREV_MARKER 1145
|
#define TASEDITOR_PREV_MARKER 1145
|
||||||
#define IDC_BUTTON8 1146
|
|
||||||
#define TASEDITOR_FIND_BEST_SIMILAR_MARKER 1146
|
#define TASEDITOR_FIND_BEST_SIMILAR_MARKER 1146
|
||||||
#define IDC_EDIT1 1147
|
|
||||||
#define IDC_SELECTION_MARKER_EDIT 1147
|
#define IDC_SELECTION_MARKER_EDIT 1147
|
||||||
#define IDC_NOTE_TO_FIND 1147
|
#define IDC_NOTE_TO_FIND 1147
|
||||||
#define IDC_AUTOSAVE_PERIOD 1147
|
#define IDC_AUTOSAVE_PERIOD 1147
|
||||||
#define IDC_EXTRA_SCANLINES 1147
|
#define IDC_EXTRA_SCANLINES 1147
|
||||||
#define IDC_BUTTON9 1148
|
#define IDC_CHEAT_TEXT 1147
|
||||||
#define TASEDITOR_FIND_NEXT_SIMILAR_MARKER 1148
|
#define TASEDITOR_FIND_NEXT_SIMILAR_MARKER 1148
|
||||||
#define IDC_SYMBOLIC_ADDRESS 1148
|
#define IDC_SYMBOLIC_ADDRESS 1148
|
||||||
#define IDC_VBLANK_SCANLINES 1148
|
#define IDC_VBLANK_SCANLINES 1148
|
||||||
|
@ -593,15 +539,10 @@
|
||||||
#define TASEDITOR_NEXT_MARKER 1151
|
#define TASEDITOR_NEXT_MARKER 1151
|
||||||
#define IDC_SYMBOLIC_COMMENT 1151
|
#define IDC_SYMBOLIC_COMMENT 1151
|
||||||
#define IDC_BRANCHES_BUTTON 1152
|
#define IDC_BRANCHES_BUTTON 1152
|
||||||
#define IDC_JUMP_PLAYBACK_BUTTON 1153
|
|
||||||
#define IDC_EDIT2 1154
|
|
||||||
#define IDC_PLAYBACK_MARKER_EDIT 1154
|
#define IDC_PLAYBACK_MARKER_EDIT 1154
|
||||||
#define IDC_JUMP_SELECTION_BUTTON 1155
|
|
||||||
#define TASEDITOR_RUN_MANUAL 1156
|
#define TASEDITOR_RUN_MANUAL 1156
|
||||||
#define CHECK_SOUND_MUTETURBO 1179
|
#define CHECK_SOUND_MUTETURBO 1179
|
||||||
#define IDC_EDIT_AUTHOR 1180
|
#define IDC_EDIT_AUTHOR 1180
|
||||||
#define MEMW_STATIC 1181
|
|
||||||
#define MEMW_RESULTS 1184
|
|
||||||
#define MEMW_EDIT00RESET 1184
|
#define MEMW_EDIT00RESET 1184
|
||||||
#define MEMW_EDIT01RESET 1185
|
#define MEMW_EDIT01RESET 1185
|
||||||
#define MEMW_EDIT02RESET 1186
|
#define MEMW_EDIT02RESET 1186
|
||||||
|
@ -611,24 +552,19 @@
|
||||||
#define MEMW_EDIT02RMADDRESS 1190
|
#define MEMW_EDIT02RMADDRESS 1190
|
||||||
#define MEMW_EDIT03RMADDRESS 1191
|
#define MEMW_EDIT03RMADDRESS 1191
|
||||||
#define IDC_DEBUGGER_RESTORESIZE 1191
|
#define IDC_DEBUGGER_RESTORESIZE 1191
|
||||||
#define MEMW_EDIT04RMADDRESS 1192
|
|
||||||
#define IDC_MOVIE_CLOSE 1192
|
#define IDC_MOVIE_CLOSE 1192
|
||||||
#define EDIT00_RESULTS 1193
|
#define EDIT00_RESULTS 1193
|
||||||
#define IDC_MOVIE_PAUSEAFTERPLAYBACK 1193
|
#define IDC_MOVIE_PAUSEAFTERPLAYBACK 1193
|
||||||
#define EDIT01_RESULTS 1194
|
#define EDIT01_RESULTS 1194
|
||||||
#define IDC_MOVIE_BINDSAVESTATES 1194
|
#define IDC_MOVIE_BINDSAVESTATES 1194
|
||||||
#define EDIT02_RESULTS 1195
|
#define EDIT02_RESULTS 1195
|
||||||
#define IDC_MOVIE_DISPLAYSTATUSICON 1195
|
|
||||||
#define EDIT03_RESULTS 1196
|
#define EDIT03_RESULTS 1196
|
||||||
#define IDC_MOVIE_DISPLAYSUBTITLES 1196
|
#define IDC_MOVIE_DISPLAYSUBTITLES 1196
|
||||||
#define IDC_MOVIE_SUBTITLESINAVI 1197
|
#define IDC_MOVIE_SUBTITLESINAVI 1197
|
||||||
#define IDC_MOVIE_AUTOBACKUP 1198
|
#define IDC_MOVIE_AUTOBACKUP 1198
|
||||||
#define IDC_SOUNDS_RESTOREDEFAULTS 1199
|
|
||||||
#define BTN_CANCELED 1200
|
|
||||||
#define ID_SOUND_TRITOP 1201
|
#define ID_SOUND_TRITOP 1201
|
||||||
#define IDC_MOVIE_SUGGEST_READONLY 1201
|
#define IDC_MOVIE_SUGGEST_READONLY 1201
|
||||||
#define ID_SOUND_QUALITYNOTIFY 1202
|
#define ID_SOUND_QUALITYNOTIFY 1202
|
||||||
#define IDC_CHECK1 1203
|
|
||||||
#define CB_ENABLECONTEXTMENU 1203
|
#define CB_ENABLECONTEXTMENU 1203
|
||||||
#define DEBUGAUTOLOAD 1203
|
#define DEBUGAUTOLOAD 1203
|
||||||
#define IDC_CHEAT_PAUSEWHENACTIVE 1203
|
#define IDC_CHEAT_PAUSEWHENACTIVE 1203
|
||||||
|
@ -645,36 +581,24 @@
|
||||||
#define CHECK_DEEMPH_SWAP 1203
|
#define CHECK_DEEMPH_SWAP 1203
|
||||||
#define IDC_CHECK_LOG_BANK_NUMBER 1203
|
#define IDC_CHECK_LOG_BANK_NUMBER 1203
|
||||||
#define IDC_VOLUMEGROUP 1204
|
#define IDC_VOLUMEGROUP 1204
|
||||||
#define IDC_OMITBLANK 1204
|
|
||||||
#define IDC_CHECK3 1204
|
|
||||||
#define IDC_CHECK_MARKERS 1204
|
#define IDC_CHECK_MARKERS 1204
|
||||||
#define IDC_RECORDING 1204
|
#define IDC_RECORDING 1204
|
||||||
#define IDC_COPY_MARKERS 1204
|
#define IDC_COPY_MARKERS 1204
|
||||||
#define IDC_AUTORESUMECDLOGGING2 1204
|
|
||||||
#define IDC_AUTOSAVECDL 1204
|
#define IDC_AUTOSAVECDL 1204
|
||||||
#define IDC_INVERT_THE_MASK 1204
|
#define IDC_INVERT_THE_MASK 1204
|
||||||
#define IDC_DEBUGGER_PREDEFINEDREGS 1204
|
|
||||||
#define IDC_DEBUGGER_PREDEFINED_REGS 1204
|
#define IDC_DEBUGGER_PREDEFINED_REGS 1204
|
||||||
#define IDC_RAMLIST 1205
|
#define IDC_RAMLIST 1205
|
||||||
#define IDC_CHECK4 1205
|
|
||||||
#define IDC_CHECK_BOOKMARKS 1205
|
#define IDC_CHECK_BOOKMARKS 1205
|
||||||
#define IDC_SUPERIMPOSE2 1205
|
|
||||||
#define IDC_RUN_AUTO 1205
|
#define IDC_RUN_AUTO 1205
|
||||||
#define IDC_AUTOLOADCDL 1205
|
#define IDC_AUTOLOADCDL 1205
|
||||||
#define IDC_INVERT_THE_MASK2 1205
|
|
||||||
#define IDC_SPRITE16_MODE 1205
|
#define IDC_SPRITE16_MODE 1205
|
||||||
#define IDC_C_SEARCH 1206
|
#define IDC_C_SEARCH 1206
|
||||||
#define IDC_CHECK5 1206
|
|
||||||
#define IDC_CHECK_GREENZONE 1206
|
|
||||||
#define IDC_USEPATTERN 1206
|
#define IDC_USEPATTERN 1206
|
||||||
#define IDC_C_ADDCHEAT 1207
|
#define IDC_C_ADDCHEAT 1207
|
||||||
#define IDC_CHECK6 1207
|
|
||||||
#define IDC_CHECK_HISTORY 1207
|
#define IDC_CHECK_HISTORY 1207
|
||||||
#define IDC_C_WATCH 1208
|
#define IDC_C_WATCH 1208
|
||||||
#define IDC_CHECK7 1208
|
|
||||||
#define IDC_CHECK_SELECTION 1208
|
#define IDC_CHECK_SELECTION 1208
|
||||||
#define IDC_C_RESET 1209
|
#define IDC_C_RESET 1209
|
||||||
#define IDC_CHECK8 1209
|
|
||||||
#define IDC_CHECK_PIANO_ROLL 1209
|
#define IDC_CHECK_PIANO_ROLL 1209
|
||||||
#define IDC_C_ELIMINATE 1210
|
#define IDC_C_ELIMINATE 1210
|
||||||
#define IDC_LESSTHAN 1211
|
#define IDC_LESSTHAN 1211
|
||||||
|
@ -705,18 +629,14 @@
|
||||||
#define IDC_C_RESET_CHANGES 1236
|
#define IDC_C_RESET_CHANGES 1236
|
||||||
#define IDC_C_UNDO 1237
|
#define IDC_C_UNDO 1237
|
||||||
#define IDC_WATCHLIST 1238
|
#define IDC_WATCHLIST 1238
|
||||||
#define IDC_C_ELIMINATE2 1238
|
|
||||||
#define IDC_C_HEXEDITOR 1238
|
#define IDC_C_HEXEDITOR 1238
|
||||||
#define IDC_C_WATCH_EDIT 1239
|
#define IDC_C_WATCH_EDIT 1239
|
||||||
#define IDC_C_WATCH_REMOVE 1240
|
#define IDC_C_WATCH_REMOVE 1240
|
||||||
#define IDC_C_WATCH_DUPLICATE 1241
|
#define IDC_C_WATCH_DUPLICATE 1241
|
||||||
#define ID_WATCHES_UPDOWN 1242
|
#define ID_WATCHES_UPDOWN 1242
|
||||||
#define IDC_C_WATCH_UP 1243
|
#define IDC_C_WATCH_UP 1243
|
||||||
#define IDC_C_WATCH_DUPLICATE2 1243
|
|
||||||
#define IDC_C_WATCH_Separator 1243
|
|
||||||
#define IDC_C_WATCH_DOWN 1244
|
#define IDC_C_WATCH_DOWN 1244
|
||||||
#define IDC_PROMPT_TEXT 1245
|
#define IDC_PROMPT_TEXT 1245
|
||||||
#define IDC_PROMPT_TEXT2 1246
|
|
||||||
#define IDC_PROMPT_EDIT 1247
|
#define IDC_PROMPT_EDIT 1247
|
||||||
#define IDC_BUTTON_LUABROWSE 1248
|
#define IDC_BUTTON_LUABROWSE 1248
|
||||||
#define IDC_BUTTON_LUARUN 1249
|
#define IDC_BUTTON_LUARUN 1249
|
||||||
|
@ -733,26 +653,20 @@
|
||||||
#define IDC_SINGLEINSTANCE 1258
|
#define IDC_SINGLEINSTANCE 1258
|
||||||
#define IDC_MOVIE_CLOSEAFTERPLAYBACK 1258
|
#define IDC_MOVIE_CLOSEAFTERPLAYBACK 1258
|
||||||
#define IDC_C_WATCH_SEPARATE 1259
|
#define IDC_C_WATCH_SEPARATE 1259
|
||||||
#define IDC_TWEAKCOUNT 1260
|
|
||||||
#define CHECK_AUTORESTORE_PLAYBACK 1261
|
#define CHECK_AUTORESTORE_PLAYBACK 1261
|
||||||
#define CB_FS_BY_DOUBLECLICK 1261
|
#define CB_FS_BY_DOUBLECLICK 1261
|
||||||
#define IDC_PROGRESS1 1262
|
#define IDC_PROGRESS1 1262
|
||||||
#define CHECK_FOLLOW_CURSOR 1263
|
#define CHECK_FOLLOW_CURSOR 1263
|
||||||
#define IDC_BOOKMARKS_BOX 1264
|
#define IDC_BOOKMARKS_BOX 1264
|
||||||
#define IDC_BRANCHES_BITMAP 1265
|
#define IDC_BRANCHES_BITMAP 1265
|
||||||
#define IDC_SCREENSHOT_BITMAP 1266
|
|
||||||
#define CHECK_TURBO_SEEK 1266
|
#define CHECK_TURBO_SEEK 1266
|
||||||
#define IDC_TEXT_SELECTION 1267
|
#define IDC_TEXT_SELECTION 1267
|
||||||
#define IDC_TEXT_CLIPBOARD 1268
|
#define IDC_TEXT_CLIPBOARD 1268
|
||||||
#define IDC_RADIO_1PLAYER 1269
|
#define IDC_RADIO_1PLAYER 1269
|
||||||
#define IDC_TEXT_SELECTION2 1269
|
|
||||||
#define CHECK_AUTOADJUSTINPUTDUETOLAG 1269
|
|
||||||
#define IDC_RADIO_2PLAYERS 1270
|
#define IDC_RADIO_2PLAYERS 1270
|
||||||
#define IDC_PLAYBACK_MARKER 1270
|
#define IDC_PLAYBACK_MARKER 1270
|
||||||
#define IDC_RADIO_FOURSCORE 1271
|
#define IDC_RADIO_FOURSCORE 1271
|
||||||
#define IDC_SELECTION_MARKER 1271
|
#define IDC_SELECTION_MARKER 1271
|
||||||
#define IDC_NOTE_TOOLTIP_EDIT 1272
|
|
||||||
#define IDC_SELECTION_MARKER2 1272
|
|
||||||
#define IDC_RADIO_DOWN 1273
|
#define IDC_RADIO_DOWN 1273
|
||||||
#define IDC_PLAYBACK_BOX 1275
|
#define IDC_PLAYBACK_BOX 1275
|
||||||
#define IDC_RECORDER_BOX 1276
|
#define IDC_RECORDER_BOX 1276
|
||||||
|
@ -767,8 +681,6 @@
|
||||||
#define ID_CHR2 1284
|
#define ID_CHR2 1284
|
||||||
#define ID_CHR3 1285
|
#define ID_CHR3 1285
|
||||||
#define ID_STATIC 1286
|
#define ID_STATIC 1286
|
||||||
#define ID_CDL_OPTIONS 1287
|
|
||||||
#define ID_CDL_GENERATEROM 1288
|
|
||||||
#define CTL_PALSAT_TRACKBAR 1291
|
#define CTL_PALSAT_TRACKBAR 1291
|
||||||
#define CB_SKIP_7BIT 1293
|
#define CB_SKIP_7BIT 1293
|
||||||
#define STATIC_SATVALUE 1294
|
#define STATIC_SATVALUE 1294
|
||||||
|
@ -780,9 +692,6 @@
|
||||||
#define STATIC_CONTRASTVALUE 1300
|
#define STATIC_CONTRASTVALUE 1300
|
||||||
#define CTL_PALBRIGHT_TRACKBAR 1301
|
#define CTL_PALBRIGHT_TRACKBAR 1301
|
||||||
#define STATIC_BRIGHTVALUE 1302
|
#define STATIC_BRIGHTVALUE 1302
|
||||||
#define IDC_RICHEDIT21 1304
|
|
||||||
#define IDC_RICHEDIT_DISASM 1304
|
|
||||||
#define IDC_CHECK2 1305
|
|
||||||
#define DEBUGIDAFONT 1305
|
#define DEBUGIDAFONT 1305
|
||||||
#define IDC_AUTOSAVE_PERIOD_EVERY_TEXT 1306
|
#define IDC_AUTOSAVE_PERIOD_EVERY_TEXT 1306
|
||||||
#define IDC_AUTOSAVE_PERIOD_MINUTES_TEXT 1307
|
#define IDC_AUTOSAVE_PERIOD_MINUTES_TEXT 1307
|
||||||
|
@ -790,6 +699,11 @@
|
||||||
#define IDC_EXTRA_SCANLINES_TEXT 1309
|
#define IDC_EXTRA_SCANLINES_TEXT 1309
|
||||||
#define IDC_DATASIZE_GROUPBOX 1310
|
#define IDC_DATASIZE_GROUPBOX 1310
|
||||||
#define IDC_DATATYPE_GROUPBOX 1311
|
#define IDC_DATATYPE_GROUPBOX 1311
|
||||||
|
#define IDC_CHEAT_CODE_GG_LABEL 1312
|
||||||
|
#define IDC_CHEAT_ADDRESS_LABEL 1313
|
||||||
|
#define IDC_CHEAT_VAL_LABEL 1314
|
||||||
|
#define IDC_CHEAT_COM_LABEL 1315
|
||||||
|
#define IDC_CHEAT_LABEL_KNOWN 1316
|
||||||
#define MENU_NETWORK 40040
|
#define MENU_NETWORK 40040
|
||||||
#define MENU_PALETTE 40041
|
#define MENU_PALETTE 40041
|
||||||
#define MENU_SOUND 40042
|
#define MENU_SOUND 40042
|
||||||
|
@ -799,7 +713,6 @@
|
||||||
#define MENU_ABOUT 40046
|
#define MENU_ABOUT 40046
|
||||||
#define MENU_MSGLOG 40047
|
#define MENU_MSGLOG 40047
|
||||||
#define MENU_CHEATS 40048
|
#define MENU_CHEATS 40048
|
||||||
#define MENU_BASIC_BOT 40049
|
|
||||||
#define MENU_AUTOFIRE_PATTERN_1 40050
|
#define MENU_AUTOFIRE_PATTERN_1 40050
|
||||||
#define MENU_AUTOFIRE_PATTERN_2 40051
|
#define MENU_AUTOFIRE_PATTERN_2 40051
|
||||||
#define MENU_AUTOFIRE_PATTERN_3 40052
|
#define MENU_AUTOFIRE_PATTERN_3 40052
|
||||||
|
@ -829,7 +742,6 @@
|
||||||
#define MENU_AUTOFIRE_OFFSET_5 40069
|
#define MENU_AUTOFIRE_OFFSET_5 40069
|
||||||
#define MENU_AUTOFIRE_OFFSET_6 40070
|
#define MENU_AUTOFIRE_OFFSET_6 40070
|
||||||
#define MENU_ALTERNATE_AB 40071
|
#define MENU_ALTERNATE_AB 40071
|
||||||
#define MENU_EXTERNAL_INPUT 40072
|
|
||||||
#define MENU_PPUVIEWER 40074
|
#define MENU_PPUVIEWER 40074
|
||||||
#define MENU_NAMETABLEVIEWER 40075
|
#define MENU_NAMETABLEVIEWER 40075
|
||||||
#define MENU_HEXEDITOR 40076
|
#define MENU_HEXEDITOR 40076
|
||||||
|
@ -838,7 +750,6 @@
|
||||||
#define MENU_GAMEGENIEDECODER 40079
|
#define MENU_GAMEGENIEDECODER 40079
|
||||||
#define MENU_DEBUGGER 40080
|
#define MENU_DEBUGGER 40080
|
||||||
#define MENU_MEMORY_WATCH 40081
|
#define MENU_MEMORY_WATCH 40081
|
||||||
#define MENU_RAMFILTER 40082
|
|
||||||
#define ID_FILE_RECENT 40100
|
#define ID_FILE_RECENT 40100
|
||||||
#define MEMW_HELP_WCOMMANDS 40101
|
#define MEMW_HELP_WCOMMANDS 40101
|
||||||
#define MEMW_OPTIONS_LOADLASTFILE 40102
|
#define MEMW_OPTIONS_LOADLASTFILE 40102
|
||||||
|
@ -846,71 +757,33 @@
|
||||||
#define MEMW_FILE_OPEN 40104
|
#define MEMW_FILE_OPEN 40104
|
||||||
#define MEMW_FILE_SAVE 40105
|
#define MEMW_FILE_SAVE 40105
|
||||||
#define MEMW_FILE_SAVEAS 40106
|
#define MEMW_FILE_SAVEAS 40106
|
||||||
#define MEMW_FILE_RECENT 40107
|
|
||||||
#define MEMW_FILE_CLOSE 40108
|
#define MEMW_FILE_CLOSE 40108
|
||||||
#define MEMW_OPTIONS_LOADSTART 40109
|
#define MEMW_OPTIONS_LOADSTART 40109
|
||||||
#define ID_FILE_RECORDMODE_TRUNCATE 40110
|
#define ID_FILE_RECORDMODE_TRUNCATE 40110
|
||||||
#define ID_FILE_RECORDMODE_OVERWRITE 40111
|
#define ID_FILE_RECORDMODE_OVERWRITE 40111
|
||||||
#define ID_FILE_RECORDMODE_INSERT 40112
|
#define ID_FILE_RECORDMODE_INSERT 40112
|
||||||
#define ID_FILE_RECORDMODE_XOR 40113
|
|
||||||
#define FCEUX_CONTEXT_RECORDMODE_TRUNCATE 40115
|
#define FCEUX_CONTEXT_RECORDMODE_TRUNCATE 40115
|
||||||
#define FCEUX_CONTEXT_RECORDMODE_OVERWRITE 40116
|
#define FCEUX_CONTEXT_RECORDMODE_OVERWRITE 40116
|
||||||
#define FCEUX_CONTEXT_RECORDMODE_INSERT 40117
|
#define FCEUX_CONTEXT_RECORDMODE_INSERT 40117
|
||||||
#define FCEUX_CONTEXT_RECORDMODE_XOR 40118
|
|
||||||
#define MENU_RECORD_WAV 40120
|
#define MENU_RECORD_WAV 40120
|
||||||
#define MENU_STOP_WAV 40121
|
#define MENU_STOP_WAV 40121
|
||||||
#define MENU_TASEDIT 40124
|
|
||||||
#define MENU_PAUSEAFTERPLAYBACK 40126
|
|
||||||
#define ID_FILE_NEXTRECORDMODE 40127
|
#define ID_FILE_NEXTRECORDMODE 40127
|
||||||
#define ID_FILE_PREVRECORDMODE 40128
|
#define ID_FILE_PREVRECORDMODE 40128
|
||||||
#define ACCEL_CTRL_O 40130
|
#define ACCEL_CTRL_O 40130
|
||||||
#define ACCEL_CTRL_E 40131
|
|
||||||
#define ACCEL_CTRL_W 40132
|
#define ACCEL_CTRL_W 40132
|
||||||
#define ACCEL_CTRL_S 40134
|
#define ACCEL_CTRL_S 40134
|
||||||
#define ACCEL_CTRL_SHIFT_S 40135
|
#define ACCEL_CTRL_SHIFT_S 40135
|
||||||
#define ACCEL_CTRL_N 40136
|
#define ACCEL_CTRL_N 40136
|
||||||
#define ACCEL_CTRL_C 40138
|
#define ACCEL_CTRL_C 40138
|
||||||
#define MENU_HELP 40140
|
#define MENU_HELP 40140
|
||||||
#define ID_FILE_OOADFM2 40141
|
|
||||||
#define ID_FILE_OPENFM2 40142
|
|
||||||
#define ID_FILE_SAVEFM2 40143
|
|
||||||
#define ID_TWEAKS_DISPLAYBG 40144
|
|
||||||
#define ID_TWEAKS_DISPLAYOBJ 40145
|
|
||||||
#define ID_ 40146
|
|
||||||
#define MENU_DISPLAY_BG 40147
|
#define MENU_DISPLAY_BG 40147
|
||||||
#define MENU_DISPLAY_OBJ 40148
|
#define MENU_DISPLAY_OBJ 40148
|
||||||
#define ID_FILE_CONVERTMOVIE 40149
|
|
||||||
#define MENU_CONVERT_MOVIE 40150
|
#define MENU_CONVERT_MOVIE 40150
|
||||||
#define ID_STRAY_INSERTFRAMES 40151
|
|
||||||
#define MENU_INSERTFRAMES 40152
|
|
||||||
#define ID_SELECTED_INSERTFRAME 40153
|
|
||||||
#define ID_SELECTED_DELETEFRAME 40154
|
|
||||||
#define MENU_DELETEFRAME 40155
|
|
||||||
#define MENU_DELETEFRAMES 40156
|
|
||||||
#define MENU_STRAY_INSERTFRAMES 40157
|
|
||||||
#define ID_TOOLS_TEXTHOOKER 40158
|
#define ID_TOOLS_TEXTHOOKER 40158
|
||||||
#define ID_Menu 40159
|
|
||||||
#define ID_STRAY_TRUNCATE 40160
|
|
||||||
#define ID_SELECTED_BRANCH 40161
|
|
||||||
#define ID_SELECTED_INSERTMARKER 40162
|
|
||||||
#define ID_SELECTED_CREATEMACRO 40163
|
|
||||||
#define ID_EDIT 40164
|
|
||||||
#define ID_EDIT_COPY40165 40165
|
|
||||||
#define ID_EDIT_PASTE40166 40166
|
|
||||||
#define ID_EDIT_CUT40167 40167
|
|
||||||
#define ID_EDIT_COPYTONEW 40168
|
|
||||||
#define ID_EDIT_DELETE 40169
|
#define ID_EDIT_DELETE 40169
|
||||||
#define ID_HELP_TASEDITHELP 40170
|
|
||||||
#define ID_FILE_NEWPROJECTCTRL 40171
|
|
||||||
#define ID_FILE_SAVEPROJECT 40172
|
#define ID_FILE_SAVEPROJECT 40172
|
||||||
#define ID_FILE_SAVEAS 40173
|
|
||||||
#define ID_FILE_CLOSECTRL 40174
|
|
||||||
#define ID_Menu40175 40175
|
|
||||||
#define ID_Menu40176 40176
|
|
||||||
#define ID_EDIT_TRUNCATE 40177
|
#define ID_EDIT_TRUNCATE 40177
|
||||||
#define ID_FILE_IMPORT 40178
|
#define ID_FILE_IMPORT 40178
|
||||||
#define ID_FILE_NEWPROJECT 40179
|
|
||||||
#define ID_FILE_OPEN_PROJECT 40180
|
|
||||||
#define ID_FILE_OPENPROJECT 40181
|
#define ID_FILE_OPENPROJECT 40181
|
||||||
#define ID_FILE_SAVEPROJECTAS 40182
|
#define ID_FILE_SAVEPROJECTAS 40182
|
||||||
#define ID_FILE_EXPORTFM2 40183
|
#define ID_FILE_EXPORTFM2 40183
|
||||||
|
@ -918,27 +791,13 @@
|
||||||
#define ACCEL_CTRL_V 40195
|
#define ACCEL_CTRL_V 40195
|
||||||
#define ACCEL_CTRL_SHIFT_V 40196
|
#define ACCEL_CTRL_SHIFT_V 40196
|
||||||
#define ACCEL_CTRL_DELETE 40197
|
#define ACCEL_CTRL_DELETE 40197
|
||||||
#define ID_ACCEL_CTRL_T 40198
|
|
||||||
#define ACCEL_CTRL_T 40198
|
|
||||||
#define ACCEL_CTRL_B 40199
|
#define ACCEL_CTRL_B 40199
|
||||||
#define ID_CONTEXT_SELECTED_TRUNCATE 40200
|
#define ID_CONTEXT_SELECTED_TRUNCATE 40200
|
||||||
#define ID_CONTEXT_STRAY_TRUNCATE 40201
|
|
||||||
#define ID_VIEW 40202
|
|
||||||
#define MENU_CONTEXT_STRAY_INSERTFRAMES 40203
|
|
||||||
#define ID_CONTEXT_SELECTED_INSERTFRAMES 40204
|
#define ID_CONTEXT_SELECTED_INSERTFRAMES 40204
|
||||||
#define ID_CONTEXT_SELECTED_DELETEFRAMES 40205
|
#define ID_CONTEXT_SELECTED_DELETEFRAMES 40205
|
||||||
#define ID_SELECTED_REMOVEMARKER 40206
|
|
||||||
#define ID_CONTEXT_SELECTED_PASTETONEW 40207
|
|
||||||
#define ID_CONTEXT_SELECTED_BRANCH 40210
|
|
||||||
#define ID_EDIT_BRANCHCTRL 40211
|
|
||||||
#define ID_EDIT_BRANCH 40212
|
|
||||||
#define ID_EDIT_SELECTALL 40214
|
#define ID_EDIT_SELECTALL 40214
|
||||||
#define ID_EDIT_REMOVEMARKER 40215
|
|
||||||
#define ID_FILE_CLOSECTRL40216 40216
|
|
||||||
#define ID_MEMWVIEW_FILE_CLOSE 40217
|
#define ID_MEMWVIEW_FILE_CLOSE 40217
|
||||||
#define ID_FILE_CLOSE40218 40218
|
|
||||||
#define MENU_MV_FILE_GOTO_ADDRESS 40219
|
#define MENU_MV_FILE_GOTO_ADDRESS 40219
|
||||||
#define MENU_BASIC_BOT2 40220
|
|
||||||
#define ID_FILE_TRUNCATE_MOVIE 40221
|
#define ID_FILE_TRUNCATE_MOVIE 40221
|
||||||
#define FCEUX_CONTEXT_TRUNCATE_MOVIE 40222
|
#define FCEUX_CONTEXT_TRUNCATE_MOVIE 40222
|
||||||
#define ID_FILE_INSERT_1_FRAME 40223
|
#define ID_FILE_INSERT_1_FRAME 40223
|
||||||
|
@ -947,140 +806,54 @@
|
||||||
#define FCEUX_CONTEXT_DELETE_1_FRAME 40226
|
#define FCEUX_CONTEXT_DELETE_1_FRAME 40226
|
||||||
#define ID_FILE_OPENLUAWINDOW 40229
|
#define ID_FILE_OPENLUAWINDOW 40229
|
||||||
#define ID_FILE_CLOSELUAWINDOWS 40230
|
#define ID_FILE_CLOSELUAWINDOWS 40230
|
||||||
#define ID_CONFIG_DISPLAY 40231
|
|
||||||
#define ID_DISPLAY_INPUTDISPLAY 40232
|
|
||||||
#define ID_DISPLAY_LAGCOUNTER 40233
|
|
||||||
#define FCUE_DISPLAY_INPUTDISPLAY 40234
|
|
||||||
#define FCEU_DISPLAY_LAGCOUNTER 40235
|
|
||||||
#define MENU_DISPLAY_INPUTDISPLAY 40236
|
|
||||||
#define MENU_DISPLAY_LAGCOUNTER 40237
|
#define MENU_DISPLAY_LAGCOUNTER 40237
|
||||||
#define ID_DISPLAY_FRAMEADV 40238
|
|
||||||
#define MENU_DISPLAY_FA_LAGSKIP 40239
|
#define MENU_DISPLAY_FA_LAGSKIP 40239
|
||||||
#define ID_DISPLAY_INPUTDISPLAY40240 40240
|
|
||||||
#define ID_LAGCOUNTER_OFF 40241
|
|
||||||
#define ID_LAGCOUNTER_1PLAYER 40242
|
|
||||||
#define ID_LAGCOUNTER_2PLAYER 40243
|
|
||||||
#define ID_LAGCOUNTER_4PLAYER 40244
|
|
||||||
#define ID_DISPLAY_LAGCOUNTER40245 40245
|
|
||||||
#define MENU_INPUTDISPLAY_OFF 40246
|
|
||||||
#define MENU_INPUTDISPLAY_1P 40247
|
|
||||||
#define MENU_INPUTDISPLAY_2P 40248
|
|
||||||
#define MENU_INPUTDISPLAY_4P 40249
|
|
||||||
#define MENU_INPUTDISPLAY_0 40250
|
#define MENU_INPUTDISPLAY_0 40250
|
||||||
#define MENU_INPUTDISPLAY_1 40251
|
#define MENU_INPUTDISPLAY_1 40251
|
||||||
#define MENU_INPUTDISPLAY_2 40252
|
#define MENU_INPUTDISPLAY_2 40252
|
||||||
#define MENU_INPUTDISPLAY_4 40253
|
#define MENU_INPUTDISPLAY_4 40253
|
||||||
#define ID_DISPLAY_FRAMECOUNTER 40254
|
#define ID_DISPLAY_FRAMECOUNTER 40254
|
||||||
#define ID_CONFIG_BINDSAVESTATESTOMOVIE 40255
|
|
||||||
#define MENU_CONFIG_BINDSAVES 40256
|
#define MENU_CONFIG_BINDSAVES 40256
|
||||||
#define MEMVIEW_HELP 40257
|
|
||||||
#define MENU_MV_HELP 40258
|
#define MENU_MV_HELP 40258
|
||||||
#define ID_DISPLAY_MOVESUBTITLES 40259
|
|
||||||
#define ID_DISPLAY_MOVIESUBTITLES 40260
|
|
||||||
#define ID_DISPLAY_MOVIESUBTITLESINAVI 40261
|
|
||||||
#define ID_DISPLAY_MOVIESUBTITLES_AVI 40262
|
|
||||||
#define ID_NES_PAUSE 40263
|
#define ID_NES_PAUSE 40263
|
||||||
#define ID_NES_FRAMEADVANCE 40264
|
|
||||||
#define ID_NES_SPEEDUP 40265
|
#define ID_NES_SPEEDUP 40265
|
||||||
#define ID_NES_SLOWDOWN 40266
|
#define ID_NES_SLOWDOWN 40266
|
||||||
#define ID_NES_FASTESTSPEED 40267
|
|
||||||
#define ID_NES_NORMALSPEED 40268
|
#define ID_NES_NORMALSPEED 40268
|
||||||
#define ID_NES_TURBO 40269
|
#define ID_NES_TURBO 40269
|
||||||
#define ID_NES_SLOWESTSPEED 40270
|
#define ID_NES_SLOWESTSPEED 40270
|
||||||
#define ID_NES_EMULATIONSPEED 40271
|
|
||||||
#define ID_FILE_SCREENSHOT 40272
|
#define ID_FILE_SCREENSHOT 40272
|
||||||
#define ID_FILE_RESTARTMOVIE 40273
|
|
||||||
#define ID_FILE_PLAYMOVIEFROMBEGINNING 40274
|
#define ID_FILE_PLAYMOVIEFROMBEGINNING 40274
|
||||||
#define ID_GAME_INSERTSUBTITLE 40275
|
|
||||||
#define ID_GAME_INSERTCOMMENT 40276
|
|
||||||
#define ID_GAME_HELP 40277
|
|
||||||
#define ID_GAME_REPLAYMOVIE 40278
|
|
||||||
#define ID_GAME_HELP40279 40279
|
|
||||||
#define FCEU_CONTEXT_INSERTSUBTITLE 40280
|
|
||||||
#define FCEU_CONTEXT_MOVIEHELP 40281
|
#define FCEU_CONTEXT_MOVIEHELP 40281
|
||||||
#define FCEUX_CONTEXT_REPLAYMOVIE 40282
|
#define FCEUX_CONTEXT_REPLAYMOVIE 40282
|
||||||
#define FCEU_CONTEXT_ROMHELP 40283
|
|
||||||
#define ID_NOGAME_OPENROM 40284
|
|
||||||
#define ID_NOGAME_HELP 40285
|
|
||||||
#define FCEU_CONTEXT_OPENROM 40286
|
#define FCEU_CONTEXT_OPENROM 40286
|
||||||
#define FCEU_CONTEXT_FCEUHELP 40287
|
#define FCEU_CONTEXT_FCEUHELP 40287
|
||||||
#define FCEU_CONTEXT_INSERTCOMMENT 40288
|
|
||||||
#define ID_FILE_MOVIE 40289
|
|
||||||
#define ID_FILE_RECORDAVI 40290
|
|
||||||
#define ID_FILE_LUA 40291
|
|
||||||
#define ID_NES_EMULATION 40292
|
|
||||||
#define ID_GAME_PLAYMOVIEFROMBEGINNING 40293
|
|
||||||
#define ID_GAME_STOPMOVIE 40294
|
|
||||||
#define FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING 40295
|
#define FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING 40295
|
||||||
#define FCEU_CONTEXT_STOPMOVIE 40296
|
#define FCEU_CONTEXT_STOPMOVIE 40296
|
||||||
#define ID_GAME_CLOSEROM 40297
|
|
||||||
#define FCEU_CONTEXT_CLOSEROM 40298
|
#define FCEU_CONTEXT_CLOSEROM 40298
|
||||||
#define ID_GAME_PLAYMOVIEFROMBEGINNING40299 40299
|
|
||||||
#define ID_GAME_STOPMOVIERECORDING 40300
|
|
||||||
#define ID_GAME_HELP40301 40301
|
|
||||||
#define ID_GAME_RECORDMOVIE 40302
|
|
||||||
#define FCEUX_CONTEXT_RECORDMOVIE 40303
|
#define FCEUX_CONTEXT_RECORDMOVIE 40303
|
||||||
#define ID_GAME_SCREENSHOT 40304
|
|
||||||
#define FCEUX_CONTEXT_SCREENSHOT 40305
|
#define FCEUX_CONTEXT_SCREENSHOT 40305
|
||||||
#define ID_GAME_REWINDTOLASTAUTO 40306
|
|
||||||
#define FCEUX_CONTEXT_REWINDTOLASTAUTO 40307
|
#define FCEUX_CONTEXT_REWINDTOLASTAUTO 40307
|
||||||
#define ID_GAME_REWINDTOLASTAUTO40308 40308
|
|
||||||
#define ID_GAME_REWINDTOLASTAUTO40309 40309
|
|
||||||
#define ID_GAME_VIEWCOMMENTSSUBTITLES 40310
|
|
||||||
#define FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES 40311
|
#define FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES 40311
|
||||||
#define ID_GAME_VIEWCOMMENTSSUBTITLES40312 40312
|
|
||||||
#define ID_OPTIONS_COLLAPSETO1COLUMN 40313
|
|
||||||
#define MEMW_OPTIONS_EXPANDCOLLAPSE 40314
|
#define MEMW_OPTIONS_EXPANDCOLLAPSE 40314
|
||||||
#define ID_GAME_UNDOLOADSTATE 40315
|
|
||||||
#define FCEUX_CONTEXT_UNDOLOADSTATE 40316
|
#define FCEUX_CONTEXT_UNDOLOADSTATE 40316
|
||||||
#define ID_GAME_UNDOLOADSTATE40317 40317
|
|
||||||
#define ID_GAME_UNDOLOADSTATE40318 40318
|
|
||||||
#define ID_GAME_MAKEBACKUP 40319
|
|
||||||
#define FCEUX_CONTEXT_MAKEBACKUP 40320
|
#define FCEUX_CONTEXT_MAKEBACKUP 40320
|
||||||
#define ID_CONFIG_MOVIEOPTIONS 40321
|
|
||||||
#define MENU_MOVIEOPTIONS 40322
|
#define MENU_MOVIEOPTIONS 40322
|
||||||
#define ID_GAME_UNDOSAVESTATE 40323
|
|
||||||
#define FCEUX_CONTEXT_UNDOSAVESTATE 40324
|
#define FCEUX_CONTEXT_UNDOSAVESTATE 40324
|
||||||
#define ID_GAME_UNDOSAVESTATE40325 40325
|
|
||||||
#define ID_GAME_UNDOSAVESTATE40326 40326
|
|
||||||
#define ID_NOGAME_OPENMOSTRECENTROM 40327
|
|
||||||
#define FCEUX_CONTEXT_RECENTROM1 40328
|
#define FCEUX_CONTEXT_RECENTROM1 40328
|
||||||
#define ID_NES_EMULATION40329 40329
|
|
||||||
#define ID_MOVIE_TOGGLEREAD 40330
|
|
||||||
#define ID_FILE_MOVIE_TOGGLEREAD 40331
|
#define ID_FILE_MOVIE_TOGGLEREAD 40331
|
||||||
#define ID_LUA_RELOADLUASCRIPT 40332
|
|
||||||
#define ID_FILE_LUA_RELOADLUASCRIPT 40333
|
|
||||||
#define ID_GAME_SWITCHTOREAD 40334
|
|
||||||
#define FCEUX_CONTEXT_READONLYTOGGLE 40335
|
#define FCEUX_CONTEXT_READONLYTOGGLE 40335
|
||||||
#define ID_GAME_TOGGLETOREAD 40336
|
|
||||||
#define ID_FILE_SAVESTATE 40337
|
|
||||||
#define ID_CONFIG_ENABLE 40338
|
|
||||||
#define ID_SAVESTATE_QUICKSAVE 40339
|
|
||||||
#define ID_SAVESTATE_QUICKLOAD 40340
|
|
||||||
#define ID_SAVESTATE 40341
|
|
||||||
#define ID_LOADSTATE 40342
|
|
||||||
#define MENU_LOADSTATE 40343
|
#define MENU_LOADSTATE 40343
|
||||||
#define MENU_SAVESTATE 40344
|
#define MENU_SAVESTATE 40344
|
||||||
#define ID_SAVESTATE_NEXTSAVESLOT 40345
|
|
||||||
#define ID_SAVESTATE_PREVIOUSSAVESLOT 40346
|
|
||||||
#define MENU_NEXTSAVESTATE 40347
|
#define MENU_NEXTSAVESTATE 40347
|
||||||
#define MENU_PREVIOUSSAVESTATE 40348
|
#define MENU_PREVIOUSSAVESTATE 40348
|
||||||
#define ID_SAVESTATE_VIEWSAVESLOTS 40349
|
|
||||||
#define MENU_VIEWSAVESLOTS 40350
|
#define MENU_VIEWSAVESLOTS 40350
|
||||||
#define ID_LUA_RECENT 40351
|
|
||||||
#define MENU_LUA_RECENT 40352
|
#define MENU_LUA_RECENT 40352
|
||||||
#define ID_Menu40353 40353
|
|
||||||
#define MENU_MOVIE_RECENT 40354
|
#define MENU_MOVIE_RECENT 40354
|
||||||
#define ID_GAME_LOADLASTMOVIE 40355
|
|
||||||
#define FCEUX_CONTEXT_LOADLASTMOVIE 40356
|
#define FCEUX_CONTEXT_LOADLASTMOVIE 40356
|
||||||
#define ID_GAME_SAVEMOVIEAS 40357
|
|
||||||
#define FCEUX_CONTEXT_SAVEMOVIEAS 40358
|
#define FCEUX_CONTEXT_SAVEMOVIEAS 40358
|
||||||
#define ID_FILE_TOGGLE_RECORDING_MOVIE 40359
|
#define ID_FILE_TOGGLE_RECORDING_MOVIE 40359
|
||||||
#define FCEUX_CONTEXT_TOGGLE_RECORDING 40360
|
#define FCEUX_CONTEXT_TOGGLE_RECORDING 40360
|
||||||
#define ID_OPTIONS_BINDTOMAINWINDOW 40361
|
#define ID_OPTIONS_BINDTOMAINWINDOW 40361
|
||||||
#define ID_CONFIG_PPU 40362
|
|
||||||
#define ID_PPU_NEWPPU 40363
|
|
||||||
#define ID_PPU_OLDPPU 40364
|
|
||||||
#define ID_NEWPPU 40365
|
#define ID_NEWPPU 40365
|
||||||
#define ID_OLDPPU 40366
|
#define ID_OLDPPU 40366
|
||||||
#define ID_CONFIG_SAVECONFIGFILE 40367
|
#define ID_CONFIG_SAVECONFIGFILE 40367
|
||||||
|
@ -1098,67 +871,40 @@
|
||||||
#define RW_MENU_LAST_RECENT_FILE 40400
|
#define RW_MENU_LAST_RECENT_FILE 40400
|
||||||
#define ID_ENABLE_BACKUPSAVESTATES 40401
|
#define ID_ENABLE_BACKUPSAVESTATES 40401
|
||||||
#define ID_ENABLE_COMPRESSSAVESTATES 40402
|
#define ID_ENABLE_COMPRESSSAVESTATES 40402
|
||||||
#define ID_AVI_DISABLEMOV 40403
|
|
||||||
#define ID_AVI_DISMOVIEMESS 40404
|
|
||||||
#define ID_AVI_DISMOVIEMESSAGE 40405
|
#define ID_AVI_DISMOVIEMESSAGE 40405
|
||||||
#define ID_INPUTDISPLAY_OLDSTYLEDISP 40406
|
#define ID_INPUTDISPLAY_OLDSTYLEDISP 40406
|
||||||
#define ID_GAME_RECOVERY 40407
|
|
||||||
#define ID_SAVESTATE_RECOVERY 40408
|
|
||||||
#define ID_CONTEXT_FULLSAVESTATES 40409
|
#define ID_CONTEXT_FULLSAVESTATES 40409
|
||||||
#define ID_CHEATLISTPOPUP_DELETESELECTEDCHEATS 40410
|
|
||||||
#define ID_FILE_SAVESCREENSHOTAS 40411
|
#define ID_FILE_SAVESCREENSHOTAS 40411
|
||||||
#define ID_WATCHES_ADDSEPARATOR 40412
|
|
||||||
#define ID_WATCHES_SEPARATOR 40413
|
|
||||||
#define IDC_C_WATCHES_SEPARATOR 40414
|
|
||||||
#define IDC_C_WATCH_SEPARATORS 40415
|
|
||||||
#define IDC_C_WATCH_Separa 40416
|
|
||||||
#define ID_GAME_USECONFIG 40417
|
|
||||||
#define FCEUX_CONTEXT_GUICONFIG 40418
|
#define FCEUX_CONTEXT_GUICONFIG 40418
|
||||||
#define ID_SELECTED_INSERTFRAMES 40422
|
|
||||||
#define ID_CONTEXT_SELECTED_INSERTFRAME 40423
|
|
||||||
#define ID_SELECTED_INSERTFRAMES40424 40424
|
|
||||||
#define ID_CONTEXT_SELECTED_INSERTFRAMES2 40425
|
#define ID_CONTEXT_SELECTED_INSERTFRAMES2 40425
|
||||||
#define ACCEL_CTRL_F 40429
|
#define ACCEL_CTRL_F 40429
|
||||||
#define ACCEL_CTRL_P 40430
|
|
||||||
#define ID_CONFIG_SETGREENZONECAPACITY 40432
|
#define ID_CONFIG_SETGREENZONECAPACITY 40432
|
||||||
#define ACCEL_CTRL_INSERT 40433
|
#define ACCEL_CTRL_INSERT 40433
|
||||||
#define ID_DISPLAY_RERECORDCOUNTER 40436
|
#define ID_DISPLAY_RERECORDCOUNTER 40436
|
||||||
#define ID_DISPLAY_MOVIESTATUSICON 40437
|
#define ID_DISPLAY_MOVIESTATUSICON 40437
|
||||||
#define ID_AVI_DISPLAYHUD 40438
|
|
||||||
#define ID_AVI_STOPWAV 40439
|
|
||||||
#define ID_AVI_ENABLEHUDRECORDING 40440
|
#define ID_AVI_ENABLEHUDRECORDING 40440
|
||||||
#define ID_VIEW_SHOWDOTINEMPTYCELLS 40441
|
|
||||||
#define ACCEL_INS 40442
|
#define ACCEL_INS 40442
|
||||||
#define ACCEL_DEL 40443
|
#define ACCEL_DEL 40443
|
||||||
#define ID_SELECTED_CLEARSELECTION 40445
|
|
||||||
#define ID_CONTEXT_SELECTED_CLEARSELECTION 40446
|
|
||||||
#define ID_CONTEXT_SELECTED_CLEARFRAMES 40447
|
#define ID_CONTEXT_SELECTED_CLEARFRAMES 40447
|
||||||
#define ID_VIEW_SHOW 40448
|
|
||||||
#define ID_EDIT_CLEAR 40450
|
#define ID_EDIT_CLEAR 40450
|
||||||
#define ID_EDIT_INSERTFRAMES 40451
|
#define ID_EDIT_INSERTFRAMES 40451
|
||||||
#define ID_EDIT_INSERT 40452
|
#define ID_EDIT_INSERT 40452
|
||||||
#define ID_EDIT_SELECTBETWEENMARKERS 40453
|
|
||||||
#define ID_CONFIG_BINDMARKERSTOINPUT 40454
|
#define ID_CONFIG_BINDMARKERSTOINPUT 40454
|
||||||
#define ACCEL_CTRL_A 40455
|
#define ACCEL_CTRL_A 40455
|
||||||
#define ID_EDIT_SELECTMIDMARKERS 40457
|
#define ID_EDIT_SELECTMIDMARKERS 40457
|
||||||
#define ID_SELECTED_SELECTMIDMARKERS 40458
|
#define ID_SELECTED_SELECTMIDMARKERS 40458
|
||||||
#define ID_EDIT_CLONEFRAME 40459
|
|
||||||
#define ID_EDIT_CLONEFRAMES 40460
|
#define ID_EDIT_CLONEFRAMES 40460
|
||||||
#define ACCEL_SHIFT_INS 40461
|
|
||||||
#define ACCEL_CTRL_SHIFT_INS 40461
|
#define ACCEL_CTRL_SHIFT_INS 40461
|
||||||
#define ID_SELECTED_CLONE 40463
|
#define ID_SELECTED_CLONE 40463
|
||||||
#define ID_CONFIG_Q 40464
|
|
||||||
#define ACCEL_CTRL_Z 40465
|
#define ACCEL_CTRL_Z 40465
|
||||||
#define ACCEL_CTRL_Y 40466
|
#define ACCEL_CTRL_Y 40466
|
||||||
#define ID_EDIT_UNDO 40468
|
#define ID_EDIT_UNDO 40468
|
||||||
#define ID_EDIT_REDO 40469
|
#define ID_EDIT_REDO 40469
|
||||||
#define ID_CONFIG_SETMAXUNDOLEVELS 40470
|
#define ID_CONFIG_SETMAXUNDOLEVELS 40470
|
||||||
#define ID_VIEW_X 40471
|
|
||||||
#define ID_VIEW_JUMPWHENMAKINGUNDO 40472
|
#define ID_VIEW_JUMPWHENMAKINGUNDO 40472
|
||||||
#define ID_CONFIG_BRANCHESRESTOREFULLMOVIE 40473
|
#define ID_CONFIG_BRANCHESRESTOREFULLMOVIE 40473
|
||||||
#define ID_CONFIG_OLDBRANCHINGCONTROLS 40474
|
#define ID_CONFIG_OLDBRANCHINGCONTROLS 40474
|
||||||
#define ID_CONFIG_HUDINBRANCHSCREENSHOTS 40475
|
#define ID_CONFIG_HUDINBRANCHSCREENSHOTS 40475
|
||||||
#define ID_CONFIG_SETAUTOSAVEPERIOD 40476
|
|
||||||
#define ACCEL_CTRL_Q 40478
|
#define ACCEL_CTRL_Q 40478
|
||||||
#define ID_EDIT_SELECTIONUNDO 40481
|
#define ID_EDIT_SELECTIONUNDO 40481
|
||||||
#define ID_EDIT_SELECTIONREDO 40482
|
#define ID_EDIT_SELECTIONREDO 40482
|
||||||
|
@ -1167,49 +913,29 @@
|
||||||
#define ID_HELP_ABOUT 40485
|
#define ID_HELP_ABOUT 40485
|
||||||
#define ID_VIEW_ENABLEHOTCHANGES 40488
|
#define ID_VIEW_ENABLEHOTCHANGES 40488
|
||||||
#define ID_VIEW_SHOWBRANCHSCREENSHOTS 40489
|
#define ID_VIEW_SHOWBRANCHSCREENSHOTS 40489
|
||||||
#define ID_CONFIG_USE1PFORRECORDING2P 40490
|
|
||||||
#define ID_CONFIG_USE1PFORRECORDING 40491
|
#define ID_CONFIG_USE1PFORRECORDING 40491
|
||||||
#define ID_CONFIG_COMBINECONSECUTIVERECORDINGS 40492
|
#define ID_CONFIG_COMBINECONSECUTIVERECORDINGS 40492
|
||||||
#define ACCEL_SHIFT_V 40493
|
|
||||||
#define ID_EDIT_PASTEINSERT 40495
|
#define ID_EDIT_PASTEINSERT 40495
|
||||||
#define ID_SELECTED_SETMARKER 40498
|
|
||||||
#define ID_SELECTED_CLEARMARKER 40499
|
|
||||||
#define ID_SELECTED_REMOVEMARKER40500 40500
|
|
||||||
#define ID_CONFIG_KEYBOARDCONTROLSINPIANOROLL 40501
|
|
||||||
#define ACCEL_CTRL_PGUP 40502
|
#define ACCEL_CTRL_PGUP 40502
|
||||||
#define ACCEL_CTRL_PGDN 40503
|
#define ACCEL_CTRL_PGDN 40503
|
||||||
#define ACCEL_SHIFT_PGUP 40504
|
#define ACCEL_SHIFT_PGUP 40504
|
||||||
#define ACCEL_SHIFT_PGDN 40505
|
#define ACCEL_SHIFT_PGDN 40505
|
||||||
#define ID_ACCELERATOR40506 40506
|
|
||||||
#define ID_VIEW_FOLLOWMARKERNOTECONTEXT 40507
|
#define ID_VIEW_FOLLOWMARKERNOTECONTEXT 40507
|
||||||
#define ID_VIEW_SHOWBRANCHTOOLTIPS 40508
|
#define ID_VIEW_SHOWBRANCHTOOLTIPS 40508
|
||||||
#define ID_CONFIG_USEINPUTKEYSFORCOLUMNSET 40509
|
#define ID_CONFIG_USEINPUTKEYSFORCOLUMNSET 40509
|
||||||
#define ID_CONFIG_EMPTYNEWMARKERNOTES 40510
|
#define ID_CONFIG_EMPTYNEWMARKERNOTES 40510
|
||||||
#define ID_EDIT_FINDNOTE 40513
|
|
||||||
#define ID_CONFIG_REAPPEARINGFINDNOTEDIALOG 40514
|
|
||||||
#define ID_VIEW_FINDNOTE 40515
|
#define ID_VIEW_FINDNOTE 40515
|
||||||
#define ID_CONFIG_SILENTAUTOSAVE 40516
|
|
||||||
#define ID_FILE_CLOSE 40517
|
#define ID_FILE_CLOSE 40517
|
||||||
#define ID_EDIT_PASTE 40520
|
#define ID_EDIT_PASTE 40520
|
||||||
#define ID_EDIT_COPY 40521
|
#define ID_EDIT_COPY 40521
|
||||||
#define ID_EDIT_CUT 40522
|
#define ID_EDIT_CUT 40522
|
||||||
#define ID_HELP_TASEDITORHELP 40523
|
|
||||||
#define MENU_TASEDITOR 40524
|
#define MENU_TASEDITOR 40524
|
||||||
#define ID_FILE_NEW 40525
|
#define ID_FILE_NEW 40525
|
||||||
#define ID_HELP_SHOWTOOLTIPS 40526
|
|
||||||
#define ID_HELP_TOOLTIPS 40527
|
#define ID_HELP_TOOLTIPS 40527
|
||||||
#define ID_STRAY_UNPAUSEEMULATOR 40528
|
|
||||||
#define ID_STRAY_UNPAUSE 40529
|
|
||||||
#define ID_STRAY_TRUNCATE40530 40530
|
|
||||||
#define ID_PATTERN 40531
|
|
||||||
#define ID_PATTERN_TESTPATTERN 40532
|
|
||||||
#define ID_PATTERN40533 40533
|
|
||||||
#define ID_PATTERN_TEST 40534
|
#define ID_PATTERN_TEST 40534
|
||||||
#define ID_CONFIG_COLUMNSETPATTERNSKIPSLAG 40535
|
|
||||||
#define ID_EDIT_DESELECT 40536
|
#define ID_EDIT_DESELECT 40536
|
||||||
#define ID_SELECTED_DESELECT 40537
|
#define ID_SELECTED_DESELECT 40537
|
||||||
#define ID_CONFIG_DRAWINPUTBYDRAGGING 40539
|
#define ID_CONFIG_DRAWINPUTBYDRAGGING 40539
|
||||||
#define ID_CONFIG_DOUBLECLICKONFRAME 40540
|
|
||||||
#define ACCEL_CTRL_UP 40541
|
#define ACCEL_CTRL_UP 40541
|
||||||
#define ACCEL_CTRL_DOWN 40542
|
#define ACCEL_CTRL_DOWN 40542
|
||||||
#define ACCEL_CTRL_LEFT 40543
|
#define ACCEL_CTRL_LEFT 40543
|
||||||
|
@ -1229,54 +955,42 @@
|
||||||
#define ID_CONFIG_AUTOPAUSEATTHEENDOFMOVIE 40559
|
#define ID_CONFIG_AUTOPAUSEATTHEENDOFMOVIE 40559
|
||||||
#define ID_SELECTED_SETMARKERS 40560
|
#define ID_SELECTED_SETMARKERS 40560
|
||||||
#define ID_SELECTED_REMOVEMARKERS 40561
|
#define ID_SELECTED_REMOVEMARKERS 40561
|
||||||
#define ACCEL_CTRL_SPACEBAR 40563
|
|
||||||
#define ACCEL_CTRL_SPACE 40563
|
|
||||||
#define ID_HELP_OPEN_MANUAL 40564
|
#define ID_HELP_OPEN_MANUAL 40564
|
||||||
#define ID_DISPLAY_FPS 40565
|
#define ID_DISPLAY_FPS 40565
|
||||||
#define ID_CONFIG_AUTO 40566
|
|
||||||
#define ID_CONFIG_ADJUSTLAG 40567
|
#define ID_CONFIG_ADJUSTLAG 40567
|
||||||
#define ID_CONFIG_PATTERNSKIPSLAG 40568
|
#define ID_CONFIG_PATTERNSKIPSLAG 40568
|
||||||
#define CLEAR_LOG 40569
|
#define CLEAR_LOG 40569
|
||||||
#define CLOSE_LOG 40570
|
#define CLOSE_LOG 40570
|
||||||
#define ID_SELECTED_UNGREENZONE 40571
|
#define ID_SELECTED_UNGREENZONE 40571
|
||||||
#define ID_SELECTED_F 40572
|
#define CHEAT_CONTEXT_POSSI_GOTOINHEXEDITOR 40572
|
||||||
#define ID_CONFIG_ENABLEGREENZONING 40573
|
#define ID_CONFIG_ENABLEGREENZONING 40573
|
||||||
#define ID_EMULATIONSPEED_SETFRAMEADVANCEDELAY 40574
|
#define ID_EMULATIONSPEED_SETFRAMEADVANCEDELAY 40574
|
||||||
#define ID_Menu40575 40575
|
|
||||||
#define ID_EMULATIONSPEED_SETCUSTOMSPEEDFORFRAMEADVANCE 40576
|
#define ID_EMULATIONSPEED_SETCUSTOMSPEEDFORFRAMEADVANCE 40576
|
||||||
#define ID_EMULATIONSPEED_CUSTOMSPEED 40577
|
#define ID_EMULATIONSPEED_CUSTOMSPEED 40577
|
||||||
#define ID_ENABLE_AUTO 40578
|
|
||||||
#define ID_ENABLE_AUTORESUME 40579
|
#define ID_ENABLE_AUTORESUME 40579
|
||||||
#define ID_CONFIG_COMPACTQUICKSAVING 40580
|
|
||||||
#define ID_CONFIG_SAVING_OPTIONS 40581
|
#define ID_CONFIG_SAVING_OPTIONS 40581
|
||||||
#define ID_CDLFILENAME 40582
|
#define ID_CDLFILENAME 40582
|
||||||
#define ID_VIEW_A 40583
|
|
||||||
#define ID_VIEW_HIGHLIGHT 40584
|
|
||||||
#define ID_VIEW_HIGHLIGHT_ACTIVITY 40585
|
|
||||||
#define ID_HIGHLIGHTING_FADEWHENPAUSED 40586
|
#define ID_HIGHLIGHTING_FADEWHENPAUSED 40586
|
||||||
#define ID_HIGHLIGHTING_SETFADINGPERIOD 40587
|
#define ID_HIGHLIGHTING_SETFADINGPERIOD 40587
|
||||||
#define ID_HIGHLIGHTING_HIGHLIGHT_ACTIVITY 40588
|
#define ID_HIGHLIGHTING_HIGHLIGHT_ACTIVITY 40588
|
||||||
#define ID_DUMPTOFILE_CPUBUS 40589
|
|
||||||
#define MENU_MV_FILE_DUMP_64K 40590
|
#define MENU_MV_FILE_DUMP_64K 40590
|
||||||
#define ID_CONFIG_REGION 40591
|
|
||||||
#define MENU_MV_FILE_DUMP_OAM 40592
|
#define MENU_MV_FILE_DUMP_OAM 40592
|
||||||
#define MENU_RAMINIT_DEFAULT 40593
|
#define MENU_RAMINIT_DEFAULT 40593
|
||||||
#define MENU_RAMINIT_FF 40594
|
#define MENU_RAMINIT_FF 40594
|
||||||
#define MENU_RAMINIT_00 40595
|
#define MENU_RAMINIT_00 40595
|
||||||
#define MENU_RAMINIT_RANDOM 40596
|
#define MENU_RAMINIT_RANDOM 40596
|
||||||
#define ID_COPY_SELECTALL 40596
|
|
||||||
#define MENU_MV_FILE_LOAD_RAM 40597
|
#define MENU_MV_FILE_LOAD_RAM 40597
|
||||||
#define ID_COPY_COPY 40597
|
|
||||||
#define MENU_MV_FILE_LOAD_PPU 40598
|
#define MENU_MV_FILE_LOAD_PPU 40598
|
||||||
#define DISASM_CONTEXT_COPY 40598
|
#define DISASM_CONTEXT_COPY 40598
|
||||||
#define MENU_MV_FILE_LOAD_OAM 40599
|
#define MENU_MV_FILE_LOAD_OAM 40599
|
||||||
#define DISASM_CONTEXT_SELECTALL 40599
|
#define DISASM_CONTEXT_SELECTALL 40599
|
||||||
#define IDC_DEBUGGER_ICONTRAY 55535
|
#define CHEAT_CONTEXT_POSSI_ADDTOMEMORYWATCH 40600
|
||||||
#define MW_ValueLabel2 65423
|
#define CHEAT_CONTEXT_POSSI_ADDCHEAT 40601
|
||||||
#define MW_ValueLabel1 65426
|
#define CHEAT_CONTEXT_POSSI_ADDTORAMWATCH 40603
|
||||||
|
#define MW_VALUELABEL2 65423
|
||||||
|
#define MW_VALUELABEL1 65426
|
||||||
#define IDC_STATIC_SLASHTEXT 65442
|
#define IDC_STATIC_SLASHTEXT 65442
|
||||||
#define IDC_BOOKMARK_NAME_TEXT 65532
|
#define IDC_BOOKMARK_NAME_TEXT 65532
|
||||||
#define ID_CDL 65533
|
|
||||||
#define IDC_NTVIEW_SCANLINE_TEXT 65534
|
#define IDC_NTVIEW_SCANLINE_TEXT 65534
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
|
@ -1284,8 +998,8 @@
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 303
|
#define _APS_NEXT_RESOURCE_VALUE 303
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40600
|
#define _APS_NEXT_COMMAND_VALUE 40000
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1312
|
#define _APS_NEXT_CONTROL_VALUE 1011
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -485,7 +485,21 @@ void SaveCompact_SetDialogItems(HWND hwndDlg)
|
||||||
CheckDlgButton(hwndDlg, IDC_CHECK_HISTORY, taseditorConfig.saveCompact_SaveHistory?BST_CHECKED : BST_UNCHECKED);
|
CheckDlgButton(hwndDlg, IDC_CHECK_HISTORY, taseditorConfig.saveCompact_SaveHistory?BST_CHECKED : BST_UNCHECKED);
|
||||||
CheckDlgButton(hwndDlg, IDC_CHECK_PIANO_ROLL, taseditorConfig.saveCompact_SavePianoRoll?BST_CHECKED : BST_UNCHECKED);
|
CheckDlgButton(hwndDlg, IDC_CHECK_PIANO_ROLL, taseditorConfig.saveCompact_SavePianoRoll?BST_CHECKED : BST_UNCHECKED);
|
||||||
CheckDlgButton(hwndDlg, IDC_CHECK_SELECTION, taseditorConfig.saveCompact_SaveSelection?BST_CHECKED : BST_UNCHECKED);
|
CheckDlgButton(hwndDlg, IDC_CHECK_SELECTION, taseditorConfig.saveCompact_SaveSelection?BST_CHECKED : BST_UNCHECKED);
|
||||||
CheckRadioButton(hwndDlg, IDC_RADIO1, IDC_RADIO4, IDC_RADIO1 + (taseditorConfig.saveCompact_GreenzoneSavingMode % GREENZONE_SAVING_MODES_TOTAL));
|
switch (taseditorConfig.saveCompact_GreenzoneSavingMode % GREENZONE_SAVING_MODES_TOTAL)
|
||||||
|
{
|
||||||
|
case GREENZONE_SAVING_MODE_ALL:
|
||||||
|
CheckRadioButton(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES);
|
||||||
|
break;
|
||||||
|
case GREENZONE_SAVING_MODE_16TH:
|
||||||
|
CheckRadioButton(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE, IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME);
|
||||||
|
break;
|
||||||
|
case GREENZONE_SAVING_MODE_MARKED:
|
||||||
|
CheckRadioButton(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE, IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES);
|
||||||
|
break;
|
||||||
|
case GREENZONE_SAVING_MODE_NO:
|
||||||
|
default:
|
||||||
|
CheckRadioButton(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void SaveCompact_GetDialogItems(HWND hwndDlg)
|
void SaveCompact_GetDialogItems(HWND hwndDlg)
|
||||||
{
|
{
|
||||||
|
@ -495,11 +509,11 @@ void SaveCompact_GetDialogItems(HWND hwndDlg)
|
||||||
taseditorConfig.saveCompact_SaveHistory = (SendDlgItemMessage(hwndDlg, IDC_CHECK_HISTORY, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
taseditorConfig.saveCompact_SaveHistory = (SendDlgItemMessage(hwndDlg, IDC_CHECK_HISTORY, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
||||||
taseditorConfig.saveCompact_SavePianoRoll = (SendDlgItemMessage(hwndDlg, IDC_CHECK_PIANO_ROLL, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
taseditorConfig.saveCompact_SavePianoRoll = (SendDlgItemMessage(hwndDlg, IDC_CHECK_PIANO_ROLL, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
||||||
taseditorConfig.saveCompact_SaveSelection = (SendDlgItemMessage(hwndDlg, IDC_CHECK_SELECTION, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
taseditorConfig.saveCompact_SaveSelection = (SendDlgItemMessage(hwndDlg, IDC_CHECK_SELECTION, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
||||||
if (SendDlgItemMessage(hwndDlg, IDC_RADIO1, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
if (SendDlgItemMessage(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||||
taseditorConfig.saveCompact_GreenzoneSavingMode = GREENZONE_SAVING_MODE_ALL;
|
taseditorConfig.saveCompact_GreenzoneSavingMode = GREENZONE_SAVING_MODE_ALL;
|
||||||
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO2, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||||
taseditorConfig.saveCompact_GreenzoneSavingMode = GREENZONE_SAVING_MODE_16TH;
|
taseditorConfig.saveCompact_GreenzoneSavingMode = GREENZONE_SAVING_MODE_16TH;
|
||||||
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO3, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||||
taseditorConfig.saveCompact_GreenzoneSavingMode = GREENZONE_SAVING_MODE_MARKED;
|
taseditorConfig.saveCompact_GreenzoneSavingMode = GREENZONE_SAVING_MODE_MARKED;
|
||||||
else
|
else
|
||||||
taseditorConfig.saveCompact_GreenzoneSavingMode = GREENZONE_SAVING_MODE_NO;
|
taseditorConfig.saveCompact_GreenzoneSavingMode = GREENZONE_SAVING_MODE_NO;
|
||||||
|
@ -681,7 +695,21 @@ BOOL CALLBACK savingOptionsWndProc(HWND hwndDlg, UINT message, WPARAM wParam, LP
|
||||||
CheckDlgButton(hwndDlg, IDC_CHECK_HISTORY, taseditorConfig.projectSavingOptions_SaveHistory?BST_CHECKED : BST_UNCHECKED);
|
CheckDlgButton(hwndDlg, IDC_CHECK_HISTORY, taseditorConfig.projectSavingOptions_SaveHistory?BST_CHECKED : BST_UNCHECKED);
|
||||||
CheckDlgButton(hwndDlg, IDC_CHECK_PIANO_ROLL, taseditorConfig.projectSavingOptions_SavePianoRoll?BST_CHECKED : BST_UNCHECKED);
|
CheckDlgButton(hwndDlg, IDC_CHECK_PIANO_ROLL, taseditorConfig.projectSavingOptions_SavePianoRoll?BST_CHECKED : BST_UNCHECKED);
|
||||||
CheckDlgButton(hwndDlg, IDC_CHECK_SELECTION, taseditorConfig.projectSavingOptions_SaveSelection?BST_CHECKED : BST_UNCHECKED);
|
CheckDlgButton(hwndDlg, IDC_CHECK_SELECTION, taseditorConfig.projectSavingOptions_SaveSelection?BST_CHECKED : BST_UNCHECKED);
|
||||||
CheckRadioButton(hwndDlg, IDC_RADIO1, IDC_RADIO4, IDC_RADIO1 + (taseditorConfig.projectSavingOptions_GreenzoneSavingMode % GREENZONE_SAVING_MODES_TOTAL));
|
switch (taseditorConfig.saveCompact_GreenzoneSavingMode % GREENZONE_SAVING_MODES_TOTAL)
|
||||||
|
{
|
||||||
|
case GREENZONE_SAVING_MODE_ALL:
|
||||||
|
CheckRadioButton(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES);
|
||||||
|
break;
|
||||||
|
case GREENZONE_SAVING_MODE_16TH:
|
||||||
|
CheckRadioButton(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE, IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME);
|
||||||
|
break;
|
||||||
|
case GREENZONE_SAVING_MODE_MARKED:
|
||||||
|
CheckRadioButton(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE, IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES);
|
||||||
|
break;
|
||||||
|
case GREENZONE_SAVING_MODE_NO:
|
||||||
|
default:
|
||||||
|
CheckRadioButton(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE, IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE);
|
||||||
|
}
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_AUTOSAVE_PERIOD), taseditorConfig.autosaveEnabled);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_AUTOSAVE_PERIOD), taseditorConfig.autosaveEnabled);
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_AUTOSAVE_PERIOD_EVERY_TEXT), taseditorConfig.autosaveEnabled);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_AUTOSAVE_PERIOD_EVERY_TEXT), taseditorConfig.autosaveEnabled);
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_AUTOSAVE_PERIOD_MINUTES_TEXT), taseditorConfig.autosaveEnabled);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_AUTOSAVE_PERIOD_MINUTES_TEXT), taseditorConfig.autosaveEnabled);
|
||||||
|
@ -719,11 +747,11 @@ BOOL CALLBACK savingOptionsWndProc(HWND hwndDlg, UINT message, WPARAM wParam, LP
|
||||||
taseditorConfig.projectSavingOptions_SaveHistory = (SendDlgItemMessage(hwndDlg, IDC_CHECK_HISTORY, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
taseditorConfig.projectSavingOptions_SaveHistory = (SendDlgItemMessage(hwndDlg, IDC_CHECK_HISTORY, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
||||||
taseditorConfig.projectSavingOptions_SavePianoRoll = (SendDlgItemMessage(hwndDlg, IDC_CHECK_PIANO_ROLL, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
taseditorConfig.projectSavingOptions_SavePianoRoll = (SendDlgItemMessage(hwndDlg, IDC_CHECK_PIANO_ROLL, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
||||||
taseditorConfig.projectSavingOptions_SaveSelection = (SendDlgItemMessage(hwndDlg, IDC_CHECK_SELECTION, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
taseditorConfig.projectSavingOptions_SaveSelection = (SendDlgItemMessage(hwndDlg, IDC_CHECK_SELECTION, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
||||||
if (SendDlgItemMessage(hwndDlg, IDC_RADIO1, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
if (SendDlgItemMessage(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||||
taseditorConfig.projectSavingOptions_GreenzoneSavingMode = GREENZONE_SAVING_MODE_ALL;
|
taseditorConfig.projectSavingOptions_GreenzoneSavingMode = GREENZONE_SAVING_MODE_ALL;
|
||||||
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO2, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||||
taseditorConfig.projectSavingOptions_GreenzoneSavingMode = GREENZONE_SAVING_MODE_16TH;
|
taseditorConfig.projectSavingOptions_GreenzoneSavingMode = GREENZONE_SAVING_MODE_16TH;
|
||||||
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO3, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||||
taseditorConfig.projectSavingOptions_GreenzoneSavingMode = GREENZONE_SAVING_MODE_MARKED;
|
taseditorConfig.projectSavingOptions_GreenzoneSavingMode = GREENZONE_SAVING_MODE_MARKED;
|
||||||
else
|
else
|
||||||
taseditorConfig.projectSavingOptions_GreenzoneSavingMode = GREENZONE_SAVING_MODE_NO;
|
taseditorConfig.projectSavingOptions_GreenzoneSavingMode = GREENZONE_SAVING_MODE_NO;
|
||||||
|
|
|
@ -1138,19 +1138,19 @@ BOOL CALLBACK TASEditorWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
FCEUI_MovieToggleReadOnly();
|
FCEUI_MovieToggleReadOnly();
|
||||||
CheckDlgButton(taseditorWindow.hwndTASEditor, IDC_RECORDING, movie_readonly?BST_UNCHECKED : BST_CHECKED);
|
CheckDlgButton(taseditorWindow.hwndTASEditor, IDC_RECORDING, movie_readonly?BST_UNCHECKED : BST_CHECKED);
|
||||||
break;
|
break;
|
||||||
case IDC_RADIO2:
|
case IDC_RADIO_ALL:
|
||||||
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_ALL;
|
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_ALL;
|
||||||
break;
|
break;
|
||||||
case IDC_RADIO3:
|
case IDC_RADIO_1P:
|
||||||
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_1P;
|
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_1P;
|
||||||
break;
|
break;
|
||||||
case IDC_RADIO4:
|
case IDC_RADIO_2P:
|
||||||
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_2P;
|
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_2P;
|
||||||
break;
|
break;
|
||||||
case IDC_RADIO5:
|
case IDC_RADIO_3P:
|
||||||
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_3P;
|
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_3P;
|
||||||
break;
|
break;
|
||||||
case IDC_RADIO6:
|
case IDC_RADIO_4P:
|
||||||
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_4P;
|
recorder.multitrackRecordingJoypadNumber = MULTITRACK_RECORDING_4P;
|
||||||
break;
|
break;
|
||||||
case IDC_SUPERIMPOSE:
|
case IDC_SUPERIMPOSE:
|
||||||
|
|
|
@ -39,12 +39,12 @@
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "fceu.h"
|
#include "fceu.h"
|
||||||
|
|
||||||
|
#include "cheat.h"
|
||||||
#include "ram_search.h"
|
#include "ram_search.h"
|
||||||
#include "ramwatch.h"
|
#include "ramwatch.h"
|
||||||
#include "memwatch.h"
|
#include "memwatch.h"
|
||||||
#include "ppuview.h"
|
#include "ppuview.h"
|
||||||
#include "debugger.h"
|
#include "debugger.h"
|
||||||
#include "cheat.h"
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "ntview.h"
|
#include "ntview.h"
|
||||||
#include "memview.h"
|
#include "memview.h"
|
||||||
|
@ -408,7 +408,7 @@ void UpdateCheckedMenuItems()
|
||||||
FCEUI_GetRenderPlanes(spr,bg);
|
FCEUI_GetRenderPlanes(spr,bg);
|
||||||
|
|
||||||
static int *polo[] = { &genie, &status_icon};
|
static int *polo[] = { &genie, &status_icon};
|
||||||
static int polo2[]={ MENU_GAME_GENIE, MENU_SHOW_STATUS_ICON };
|
static int polo2[]={ MENU_GAME_GENIE, ID_DISPLAY_MOVIESTATUSICON };
|
||||||
int x;
|
int x;
|
||||||
|
|
||||||
// Check or uncheck the necessary menu items
|
// Check or uncheck the necessary menu items
|
||||||
|
|
33
src/fceu.cpp
33
src/fceu.cpp
|
@ -114,10 +114,6 @@ bool AutoResumePlay = false;
|
||||||
char romNameWhenClosingEmulator[2048] = {0};
|
char romNameWhenClosingEmulator[2048] = {0};
|
||||||
|
|
||||||
|
|
||||||
// indicator for the open in archive dialog that if the load was canceled by the user.
|
|
||||||
// TODO: Since I can't think of a better way to indicate it, hope someone could imporve it.
|
|
||||||
bool archiveManuallyCanceled = false;
|
|
||||||
|
|
||||||
FCEUGI::FCEUGI()
|
FCEUGI::FCEUGI()
|
||||||
: filename(0),
|
: filename(0),
|
||||||
archiveFilename(0) {
|
archiveFilename(0) {
|
||||||
|
@ -404,9 +400,6 @@ int iNESLoad(const char *name, FCEUFILE *fp, int OverwriteVidMode);
|
||||||
int FDSLoad(const char *name, FCEUFILE *fp);
|
int FDSLoad(const char *name, FCEUFILE *fp);
|
||||||
int NSFLoad(const char *name, FCEUFILE *fp);
|
int NSFLoad(const char *name, FCEUFILE *fp);
|
||||||
|
|
||||||
//char lastLoadedGameName [2048] = {0,}; // hack for movie WRAM clearing on record from poweron
|
|
||||||
extern bool archiveManuallyCanceled;
|
|
||||||
|
|
||||||
//name should be UTF-8, hopefully, or else there may be trouble
|
//name should be UTF-8, hopefully, or else there may be trouble
|
||||||
FCEUGI *FCEUI_LoadGameVirtual(const char *name, int OverwriteVidMode, bool silent)
|
FCEUGI *FCEUI_LoadGameVirtual(const char *name, int OverwriteVidMode, bool silent)
|
||||||
{
|
{
|
||||||
|
@ -418,16 +411,18 @@ FCEUGI *FCEUI_LoadGameVirtual(const char *name, int OverwriteVidMode, bool silen
|
||||||
int lastdendy = dendy;
|
int lastdendy = dendy;
|
||||||
|
|
||||||
const char* romextensions[] = { "nes", "fds", 0 };
|
const char* romextensions[] = { "nes", "fds", 0 };
|
||||||
fp = FCEU_fopen(name, 0, "rb", 0, -1, romextensions);
|
|
||||||
|
// indicator for if the operaton was canceled by user
|
||||||
|
// currently there's only one situation:
|
||||||
|
// the user clicked cancel form the open from archive dialog
|
||||||
|
bool userCancel = false;
|
||||||
|
fp = FCEU_fopen(name, 0, "rb", 0, -1, romextensions, &userCancel);
|
||||||
|
|
||||||
if (!fp)
|
if (!fp)
|
||||||
{
|
{
|
||||||
// Although !fp, if the operation was canceled from archive select dialog box, don't show the error message;
|
// Although !fp, if the operation was canceled from archive select dialog box, don't show the error message;
|
||||||
if (!silent && !archiveManuallyCanceled)
|
if (!silent && !userCancel)
|
||||||
FCEU_PrintError("Error opening \"%s\"!", name);
|
FCEU_PrintError("Error opening \"%s\"!", name);
|
||||||
// Set it back to false, since user might not load ROM from dialog the next time.
|
|
||||||
// TODO: find a better way to do this.
|
|
||||||
archiveManuallyCanceled = false;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -441,10 +436,11 @@ FCEUGI *FCEUI_LoadGameVirtual(const char *name, int OverwriteVidMode, bool silen
|
||||||
strcpy(fullname, name);
|
strcpy(fullname, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// reset loaded game BEFORE it's loading.
|
||||||
|
ResetGameLoaded();
|
||||||
//file opened ok. start loading.
|
//file opened ok. start loading.
|
||||||
FCEU_printf("Loading %s...\n\n", fullname);
|
FCEU_printf("Loading %s...\n\n", fullname);
|
||||||
GetFileBase(fp->filename.c_str());
|
GetFileBase(fp->filename.c_str());
|
||||||
ResetGameLoaded();
|
|
||||||
//reset parameters so they're cleared just in case a format's loader doesn't know to do the clearing
|
//reset parameters so they're cleared just in case a format's loader doesn't know to do the clearing
|
||||||
MasterRomInfoParams = TMasterRomInfoParams();
|
MasterRomInfoParams = TMasterRomInfoParams();
|
||||||
|
|
||||||
|
@ -561,7 +557,11 @@ FCEUGI *FCEUI_LoadGameVirtual(const char *name, int OverwriteVidMode, bool silen
|
||||||
DoDebuggerDataReload(); // Reloads data without reopening window
|
DoDebuggerDataReload(); // Reloads data without reopening window
|
||||||
CDLoggerROMChanged();
|
CDLoggerROMChanged();
|
||||||
if (hMemView) UpdateColorTable();
|
if (hMemView) UpdateColorTable();
|
||||||
if (hCheat) UpdateCheatsAdded();
|
if (hCheat)
|
||||||
|
{
|
||||||
|
UpdateCheatsAdded();
|
||||||
|
UpdateCheatRelatedWindow();
|
||||||
|
}
|
||||||
if (FrozenAddressCount)
|
if (FrozenAddressCount)
|
||||||
FCEU_DispMessage("%d cheats active", 0, FrozenAddressCount);
|
FCEU_DispMessage("%d cheats active", 0, FrozenAddressCount);
|
||||||
#endif
|
#endif
|
||||||
|
@ -739,7 +739,10 @@ void FCEUI_Emulate(uint8 **pXBuf, int32 **SoundBuf, int32 *SoundBufSize, int ski
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
//These Windows only dialogs need to be updated only once per frame so they are included here
|
//These Windows only dialogs need to be updated only once per frame so they are included here
|
||||||
UpdateCheatList(); // CaH4e3: can't see why, this is only cause problems with selection - adelikat: selection is only a problem when not paused, it shoudl be paused to select, we want to see the values update
|
// CaH4e3: can't see why, this is only cause problems with selection
|
||||||
|
// adelikat: selection is only a problem when not paused, it should be paused to select, we want to see the values update
|
||||||
|
// owomomo: use an OWNERDATA CListCtrl to partially solve the problem
|
||||||
|
UpdateCheatList();
|
||||||
UpdateTextHooker();
|
UpdateTextHooker();
|
||||||
Update_RAM_Search(); // Update_RAM_Watch() is also called.
|
Update_RAM_Search(); // Update_RAM_Watch() is also called.
|
||||||
RamChange();
|
RamChange();
|
||||||
|
|
|
@ -256,7 +256,7 @@ zpfail:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
FCEUFILE * FCEU_fopen(const char *path, const char *ipsfn, char *mode, char *ext, int index, const char** extensions)
|
FCEUFILE * FCEU_fopen(const char *path, const char *ipsfn, char *mode, char *ext, int index, const char** extensions, bool* userCancel)
|
||||||
{
|
{
|
||||||
FILE *ipsfile=0;
|
FILE *ipsfile=0;
|
||||||
FCEUFILE *fceufp=0;
|
FCEUFILE *fceufp=0;
|
||||||
|
@ -360,11 +360,11 @@ FCEUFILE * FCEU_fopen(const char *path, const char *ipsfn, char *mode, char *ext
|
||||||
//open an archive file
|
//open an archive file
|
||||||
if(archive == "")
|
if(archive == "")
|
||||||
if(index != -1)
|
if(index != -1)
|
||||||
fceufp = FCEUD_OpenArchiveIndex(asr, fileToOpen, index);
|
fceufp = FCEUD_OpenArchiveIndex(asr, fileToOpen, index, userCancel);
|
||||||
else
|
else
|
||||||
fceufp = FCEUD_OpenArchive(asr, fileToOpen, 0);
|
fceufp = FCEUD_OpenArchive(asr, fileToOpen, 0, userCancel);
|
||||||
else
|
else
|
||||||
fceufp = FCEUD_OpenArchive(asr, archive, &fname);
|
fceufp = FCEUD_OpenArchive(asr, archive, &fname, userCancel);
|
||||||
|
|
||||||
if(!fceufp) return 0;
|
if(!fceufp) return 0;
|
||||||
|
|
||||||
|
|
|
@ -11,11 +11,6 @@
|
||||||
|
|
||||||
extern bool bindSavestate;
|
extern bool bindSavestate;
|
||||||
|
|
||||||
// indicator for the open in archive dialog that if the load was canceled by the user.
|
|
||||||
// TODO: Since I can't think of a better way to indicate it, hope someone could imporve it.
|
|
||||||
extern bool archiveManuallyCanceled;
|
|
||||||
|
|
||||||
|
|
||||||
struct FCEUFILE {
|
struct FCEUFILE {
|
||||||
//the stream you can use to access the data
|
//the stream you can use to access the data
|
||||||
//std::iostream *stream;
|
//std::iostream *stream;
|
||||||
|
@ -127,7 +122,7 @@ struct ArchiveScanRecord
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
FCEUFILE *FCEU_fopen(const char *path, const char *ipsfn, char *mode, char *ext, int index=-1, const char** extensions = 0);
|
FCEUFILE *FCEU_fopen(const char *path, const char *ipsfn, char *mode, char *ext, int index=-1, const char** extensions = 0, bool* userCancel = NULL);
|
||||||
bool FCEU_isFileInArchive(const char *path);
|
bool FCEU_isFileInArchive(const char *path);
|
||||||
int FCEU_fclose(FCEUFILE*);
|
int FCEU_fclose(FCEUFILE*);
|
||||||
uint64 FCEU_fread(void *ptr, size_t size, size_t nmemb, FCEUFILE*);
|
uint64 FCEU_fread(void *ptr, size_t size, size_t nmemb, FCEUFILE*);
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
//TODO - we really need some kind of global platform-specific options api
|
//TODO - we really need some kind of global platform-specific options api
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include "drivers/win/main.h"
|
#include "drivers/win/main.h"
|
||||||
|
#include "drivers/win/cheat.h"
|
||||||
#include "drivers/win/ram_search.h"
|
#include "drivers/win/ram_search.h"
|
||||||
#include "drivers/win/ramwatch.h"
|
#include "drivers/win/ramwatch.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue