merge 3814-3816, 3819-3822, 3824, 3831, 3832 to release branch

This commit is contained in:
zeromus 2010-10-27 01:48:02 +00:00
parent c68d27e738
commit 79bd9ae0c1
15 changed files with 32 additions and 25 deletions

View File

@ -196,6 +196,12 @@ void GPU_Reset(GPU *g, u8 l)
{ {
memset(g, 0, sizeof(GPU)); memset(g, 0, sizeof(GPU));
//important for emulator stability for this to initialize, since we have to setup a table based on it
g->BLDALPHA_EVA = 0;
g->BLDALPHA_EVB = 0;
//make sure we have our blend table setup even if the game blends without setting the blend variables
g->updateBLDALPHA();
g->setFinalColorBck_funcNum = 0; g->setFinalColorBck_funcNum = 0;
g->setFinalColor3d_funcNum = 0; g->setFinalColor3d_funcNum = 0;
g->setFinalColorSpr_funcNum = 0; g->setFinalColorSpr_funcNum = 0;

View File

@ -74,7 +74,6 @@ libdesmume_a_SOURCES = \
utils/libfat/lock.cpp \ utils/libfat/lock.cpp \
utils/libfat/lock.h \ utils/libfat/lock.h \
utils/libfat/mem_allocate.h \ utils/libfat/mem_allocate.h \
utils/libfat/ndstypes.h \
utils/libfat/partition.cpp \ utils/libfat/partition.cpp \
utils/libfat/partition.h \ utils/libfat/partition.h \
addons.cpp addons.h \ addons.cpp addons.h \

View File

@ -215,8 +215,6 @@ void armcpu_t::changeCPSR()
void armcpu_init(armcpu_t *armcpu, u32 adr) void armcpu_init(armcpu_t *armcpu, u32 adr)
{ {
u32 i;
armcpu->LDTBit = (armcpu->proc_ID==0); //Si ARM9 utiliser le syte v5 pour le load armcpu->LDTBit = (armcpu->proc_ID==0); //Si ARM9 utiliser le syte v5 pour le load
armcpu->intVector = 0xFFFF0000 * (armcpu->proc_ID==0); armcpu->intVector = 0xFFFF0000 * (armcpu->proc_ID==0);
armcpu->waitIRQ = FALSE; armcpu->waitIRQ = FALSE;
@ -227,12 +225,12 @@ void armcpu_init(armcpu_t *armcpu, u32 adr)
// armcpu->irq_flag = 0; // armcpu->irq_flag = 0;
//#endif //#endif
for(i = 0; i < 15; ++i) for(int i = 0; i < 16; ++i)
{ {
armcpu->R[i] = 0; armcpu->R[i] = 0;
if(armcpu->coproc[i]) free(armcpu->coproc[i]); if(armcpu->coproc[i]) free(armcpu->coproc[i]);
armcpu->coproc[i] = NULL; armcpu->coproc[i] = NULL;
} }
armcpu->CPSR.val = armcpu->SPSR.val = SYS; armcpu->CPSR.val = armcpu->SPSR.val = SYS;

View File

@ -30,8 +30,6 @@
#ifndef NDS_DISC_IO_INCLUDE #ifndef NDS_DISC_IO_INCLUDE
#define NDS_DISC_IO_INCLUDE #define NDS_DISC_IO_INCLUDE
#include "ndstypes.h"
#define FEATURE_MEDIUM_CANREAD 0x00000001 #define FEATURE_MEDIUM_CANREAD 0x00000001
#define FEATURE_MEDIUM_CANWRITE 0x00000002 #define FEATURE_MEDIUM_CANWRITE 0x00000002
#define FEATURE_SLOT_GBA 0x00000010 #define FEATURE_SLOT_GBA 0x00000010

View File

@ -656,12 +656,9 @@ ssize_t _FAT_write_r (struct _reent *r, intptr_t fd, const char *ptr, size_t len
_FAT_lock(&partition->lock); _FAT_lock(&partition->lock);
// Only write up to the maximum file size, taking into account wrap-around of ints // Only write up to the maximum file size, taking into account wrap-around of ints
// <zeromus> first `len` here was changed from `remain` which was a bug due to being used before being defined.
// this was a blind stab in the dark, I didnt think about it much. need to update this file when it is fixed in libnds trunk
if (len + file->filesize > FILE_MAX_SIZE || len + file->filesize < file->filesize) { if (len + file->filesize > FILE_MAX_SIZE || len + file->filesize < file->filesize) {
len = FILE_MAX_SIZE - file->filesize; len = FILE_MAX_SIZE - file->filesize;
} }
remain = len;
// Short circuit cases where len is 0 (or less) // Short circuit cases where len is 0 (or less)
if (len <= 0) { if (len <= 0) {
@ -669,6 +666,8 @@ ssize_t _FAT_write_r (struct _reent *r, intptr_t fd, const char *ptr, size_t len
return 0; return 0;
} }
remain = len;
// Get a new cluster for the start of the file if required // Get a new cluster for the start of the file if required
if (file->startCluster == CLUSTER_FREE) { if (file->startCluster == CLUSTER_FREE) {
tempNextCluster = _FAT_fat_linkFreeCluster (partition, CLUSTER_FREE); tempNextCluster = _FAT_fat_linkFreeCluster (partition, CLUSTER_FREE);

View File

@ -1592,10 +1592,6 @@
RelativePath="..\utils\libfat\mem_allocate.h" RelativePath="..\utils\libfat\mem_allocate.h"
> >
</File> </File>
<File
RelativePath="..\utils\libfat\ndstypes.h"
>
</File>
<File <File
RelativePath="..\utils\libfat\partition.cpp" RelativePath="..\utils\libfat\partition.cpp"
> >

View File

@ -1233,10 +1233,6 @@
RelativePath="..\utils\libfat\mem_allocate.h" RelativePath="..\utils\libfat\mem_allocate.h"
> >
</File> </File>
<File
RelativePath="..\utils\libfat\ndstypes.h"
>
</File>
<File <File
RelativePath="..\utils\libfat\partition.cpp" RelativePath="..\utils\libfat\partition.cpp"
> >

View File

@ -155,7 +155,9 @@
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectName)_x64_release</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectName)_x64_release</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Dev+|x64'">$(ProjectName)_x64_dev+</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Dev+|x64'">$(ProjectName)_x64_dev+</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_x64_debug</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_x64_debug</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)_release</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Dev+|Win32'">$(ProjectName)_dev+</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_debug</TargetName>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEvent> <PreBuildEvent>
@ -208,7 +210,7 @@
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>.;..;lua\include;glib-2.20.1\build;glib-2.20.1\build\glib;.\zlib123;.\zziplib;.\winpcap;userconfig;defaultconfig;.\7z;.\agg\include;.\agg\examples;.\wx\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..;lua\include;glib-2.20.1\build;glib-2.20.1\build\glib;.\zlib123;.\zziplib;.\winpcap;userconfig;defaultconfig;.\7z;.\agg\include;.\agg\examples;.\wx\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;GLIB_STATIC_COMPILATION;WIN32;HAVE_LIBZ;NOMINMAX;RELEASE;NDEBUG;EXPERIMENTAL_WIFI_COMM;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;GLIB_STATIC_COMPILATION;WIN32;HAVE_LIBZ;NOMINMAX;RELEASE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling> <ExceptionHandling>Sync</ExceptionHandling>
<StructMemberAlignment>Default</StructMemberAlignment> <StructMemberAlignment>Default</StructMemberAlignment>
@ -254,7 +256,7 @@
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>false</WholeProgramOptimization> <WholeProgramOptimization>false</WholeProgramOptimization>
<AdditionalIncludeDirectories>.;..;lua\include;glib-2.20.1\build;glib-2.20.1\build\glib;.\zlib123;.\zziplib;.\winpcap;userconfig;defaultconfig;.\7z;.\agg\include;.\agg\examples;.\wx\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..;lua\include;glib-2.20.1\build;glib-2.20.1\build\glib;.\zlib123;.\zziplib;.\winpcap;userconfig;defaultconfig;.\7z;.\agg\include;.\agg\examples;.\wx\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;GLIB_STATIC_COMPILATION;WIN32;HAVE_LIBZ;NOMINMAX;RELEASE;NDEBUG;FASTBUILD;DEVELOPER;EXPERIMENTAL_WIFI_COMM;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;GLIB_STATIC_COMPILATION;WIN32;HAVE_LIBZ;NOMINMAX;RELEASE;NDEBUG;FASTBUILD;DEVELOPER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling> <ExceptionHandling>Sync</ExceptionHandling>
<StructMemberAlignment>Default</StructMemberAlignment> <StructMemberAlignment>Default</StructMemberAlignment>
@ -621,7 +623,6 @@
<ClInclude Include="..\utils\libfat\libfat_public_api.h" /> <ClInclude Include="..\utils\libfat\libfat_public_api.h" />
<ClInclude Include="..\utils\libfat\lock.h" /> <ClInclude Include="..\utils\libfat\lock.h" />
<ClInclude Include="..\utils\libfat\mem_allocate.h" /> <ClInclude Include="..\utils\libfat\mem_allocate.h" />
<ClInclude Include="..\utils\libfat\ndstypes.h" />
<ClInclude Include="..\utils\libfat\partition.h" /> <ClInclude Include="..\utils\libfat\partition.h" />
<ClInclude Include="..\version.h" /> <ClInclude Include="..\version.h" />
<ClInclude Include="..\wifi.h" /> <ClInclude Include="..\wifi.h" />

View File

@ -771,9 +771,6 @@
<ClInclude Include="..\utils\datetime.h"> <ClInclude Include="..\utils\datetime.h">
<Filter>Core\utils</Filter> <Filter>Core\utils</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\utils\libfat\ndstypes.h">
<Filter>Core\utils\libfat</Filter>
</ClInclude>
<ClInclude Include="..\utils\libfat\partition.h"> <ClInclude Include="..\utils\libfat\partition.h">
<Filter>Core\utils\libfat</Filter> <Filter>Core\utils\libfat</Filter>
</ClInclude> </ClInclude>

View File

@ -21,6 +21,7 @@
#include "hotkey.h" #include "hotkey.h"
#include "main.h" #include "main.h"
#include "CheatsWin.h"
#include "NDSSystem.h" #include "NDSSystem.h"
#include "saves.h" #include "saves.h"
#include "inputdx.h" #include "inputdx.h"
@ -91,6 +92,11 @@ void HK_ReloadROM(int, bool justPressed)
void OpenRecentROM(int listNum); void OpenRecentROM(int listNum);
OpenRecentROM(0); OpenRecentROM(0);
} }
void HK_SearchCheats(int, bool justPressed)
{
if (romloaded)
CheatsSearchDialog(MainWindow->getHWnd());
}
void HK_QuickScreenShot(int param, bool justPressed) void HK_QuickScreenShot(int param, bool justPressed)
{ {
char buffer[MAX_PATH]; char buffer[MAX_PATH];
@ -703,6 +709,13 @@ void InitCustomKeys (SCustomKeys *keys)
keys->LCDsSwap.page = HOTKEY_PAGE_MOVIE; keys->LCDsSwap.page = HOTKEY_PAGE_MOVIE;
keys->LCDsSwap.key = VK_NEXT; keys->LCDsSwap.key = VK_NEXT;
keys->SearchCheats.handleKeyDown = HK_SearchCheats;
keys->SearchCheats.code = "SearchCheats";
keys->SearchCheats.name = STRW(ID_LABEL_HK54);
keys->SearchCheats.page = HOTKEY_PAGE_MOVIE;
keys->SearchCheats.key = 'S';
keys->SearchCheats.modifiers = CUSTKEY_CTRL_MASK;
keys->IncreaseVolume.handleKeyDown = HK_IncreaseVolume; keys->IncreaseVolume.handleKeyDown = HK_IncreaseVolume;
keys->IncreaseVolume.code = "IncreaseVolume"; keys->IncreaseVolume.code = "IncreaseVolume";
keys->IncreaseVolume.name = STRW(ID_LABEL_HK32); keys->IncreaseVolume.name = STRW(ID_LABEL_HK32);

View File

@ -94,6 +94,7 @@ struct SCustomKeys
SCustomKey StylusAutoHold; SCustomKey StylusAutoHold;
SCustomKey LCDsMode; SCustomKey LCDsMode;
SCustomKey LCDsSwap; SCustomKey LCDsSwap;
SCustomKey SearchCheats;
SCustomKey IncreaseVolume; SCustomKey IncreaseVolume;
SCustomKey DecreaseVolume; SCustomKey DecreaseVolume;
SCustomKey LastItem; // dummy, must be last SCustomKey LastItem; // dummy, must be last

View File

@ -1077,6 +1077,7 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
memcpy(&(rswatches[watchIndex]),&(rswatches[watchIndex - 1]),sizeof(AddressWatcher)); memcpy(&(rswatches[watchIndex]),&(rswatches[watchIndex - 1]),sizeof(AddressWatcher));
memcpy(&(rswatches[watchIndex - 1]),tmp,sizeof(AddressWatcher)); memcpy(&(rswatches[watchIndex - 1]),tmp,sizeof(AddressWatcher));
free(tmp); free(tmp);
ListView_SetItemState(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex,0,LVIS_FOCUSED|LVIS_SELECTED);
ListView_SetSelectionMark(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex-1); ListView_SetSelectionMark(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex-1);
ListView_SetItemState(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex-1,LVIS_FOCUSED|LVIS_SELECTED,LVIS_FOCUSED|LVIS_SELECTED); ListView_SetItemState(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex-1,LVIS_FOCUSED|LVIS_SELECTED,LVIS_FOCUSED|LVIS_SELECTED);
ListView_SetItemCount(GetDlgItem(hDlg,IDC_WATCHLIST),WatchCount); ListView_SetItemCount(GetDlgItem(hDlg,IDC_WATCHLIST),WatchCount);
@ -1093,6 +1094,7 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
memcpy(&(rswatches[watchIndex]),&(rswatches[watchIndex + 1]),sizeof(AddressWatcher)); memcpy(&(rswatches[watchIndex]),&(rswatches[watchIndex + 1]),sizeof(AddressWatcher));
memcpy(&(rswatches[watchIndex + 1]),tmp,sizeof(AddressWatcher)); memcpy(&(rswatches[watchIndex + 1]),tmp,sizeof(AddressWatcher));
free(tmp); free(tmp);
ListView_SetItemState(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex,0,LVIS_FOCUSED|LVIS_SELECTED);
ListView_SetSelectionMark(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex+1); ListView_SetSelectionMark(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex+1);
ListView_SetItemState(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex+1,LVIS_FOCUSED|LVIS_SELECTED,LVIS_FOCUSED|LVIS_SELECTED); ListView_SetItemState(GetDlgItem(hDlg,IDC_WATCHLIST),watchIndex+1,LVIS_FOCUSED|LVIS_SELECTED,LVIS_FOCUSED|LVIS_SELECTED);
ListView_SetItemCount(GetDlgItem(hDlg,IDC_WATCHLIST),WatchCount); ListView_SetItemCount(GetDlgItem(hDlg,IDC_WATCHLIST),WatchCount);

View File

@ -770,6 +770,7 @@
#define ID_LABEL_HK51 4515 #define ID_LABEL_HK51 4515
#define ID_LABEL_HK52 4516 #define ID_LABEL_HK52 4516
#define ID_LABEL_HK53 4517 #define ID_LABEL_HK53 4517
#define ID_LABEL_HK54 4519
#define ID_LABEL_HK13b 4518 #define ID_LABEL_HK13b 4518
#define IDD_MICROPHONE 5000 #define IDD_MICROPHONE 5000
#define IDM_MICROPHONESETTINGS 5001 #define IDM_MICROPHONESETTINGS 5001

Binary file not shown.