From 2567f250ecb9c97ced2227713a8152cfb0ea229f Mon Sep 17 00:00:00 2001 From: shuffle2 Date: Tue, 16 Mar 2010 23:19:54 +0000 Subject: [PATCH] Quiet some compile warnings (gcc likes to make sure you know operator precedence...) git-svn-id: https://svn.code.sf.net/p/vbam/code/trunk@944 a31d4220-a93d-0410-bf67-fe4944624d44 --- src/Util.cpp | 2 +- src/filters/hq/c/hq_base.h | 2 +- src/gb/GB.cpp | 79 +++++++++++++++++++++++++++----------- src/gba/Cheats.cpp | 20 +++++----- 4 files changed, 67 insertions(+), 36 deletions(-) diff --git a/src/Util.cpp b/src/Util.cpp index 831dce26..aed4d895 100644 --- a/src/Util.cpp +++ b/src/Util.cpp @@ -73,7 +73,7 @@ bool utilWritePNGFile(const char *fileName, int w, int h, u8 *pix) return false; } - if(setjmp(png_ptr->jmpbuf)) { + if(setjmp(png_jmpbuf(png_ptr))) { png_destroy_write_struct(&png_ptr,NULL); fclose(fp); return false; diff --git a/src/filters/hq/c/hq_base.h b/src/filters/hq/c/hq_base.h index ca0e9d4d..b63c6144 100644 --- a/src/filters/hq/c/hq_base.h +++ b/src/filters/hq/c/hq_base.h @@ -308,7 +308,7 @@ unsigned char *, unsigned char *pOut, unsigned int dstPitch, int Xres, int Yres ) { - unsigned int yuv[10]; // yuv[0] not used + unsigned int yuv[10] = {0}; // yuv[0] not used // yuv[1-9] allows reusage of calculated YUV values int x, y; unsigned int linePlus, lineMinus; diff --git a/src/gb/GB.cpp b/src/gb/GB.cpp index c2637f96..1bdfe7f1 100644 --- a/src/gb/GB.cpp +++ b/src/gb/GB.cpp @@ -1570,17 +1570,33 @@ u8 gbReadOpcode(register u16 address) if(address < 0x8000) return gbMemoryMap[address>>12][address&0x0fff]; - if(address < 0xa000) + if (address < 0xa000) { // A lot of 'ugly' checks... But only way to emulate this particular behaviour... - if (((gbHardware & 0xa) && ((gbLcdModeDelayed !=3) || ((register_LY == 0) && - (gbScreenOn==false) && (register_LCDC & 0x80)) && - (gbLcdLYIncrementTicksDelayed ==(GBLY_INCREMENT_CLOCK_TICKS-GBLCD_MODE_2_CLOCK_TICKS)))) || - ((gbHardware & 0x5) && (gbLcdModeDelayed !=3) && - ((gbLcdMode !=3) || ((register_LY == 0) && ((gbScreenOn==false) && - (register_LCDC & 0x80)) && - (gbLcdLYIncrementTicks ==(GBLY_INCREMENT_CLOCK_TICKS-GBLCD_MODE_2_CLOCK_TICKS)))))) - return gbMemoryMap[address>>12][address&0x0fff]; + if ( + ( + (gbHardware & 0xa) && + ( + (gbLcdModeDelayed != 3) || + ( + ((register_LY == 0) && (gbScreenOn == false) && (register_LCDC & 0x80)) && + (gbLcdLYIncrementTicksDelayed == (GBLY_INCREMENT_CLOCK_TICKS - GBLCD_MODE_2_CLOCK_TICKS)) + ) + ) + ) + || + ( + (gbHardware & 0x5) && + (gbLcdModeDelayed != 3) && + ( + (gbLcdMode != 3) || + ((register_LY == 0) && ((gbScreenOn == false) && (register_LCDC & 0x80)) && + (gbLcdLYIncrementTicks == (GBLY_INCREMENT_CLOCK_TICKS - GBLCD_MODE_2_CLOCK_TICKS))) + ) + ) + ) + return gbMemoryMap[address >> 12][address & 0x0fff]; + return 0xff; } @@ -1624,7 +1640,7 @@ u8 gbReadOpcode(register u16 address) case 0x41: // This is a GB/C only bug (ie. not GBA/SP). if ((gbHardware & 7) && (gbLcdMode == 2) && (gbLcdModeDelayed == 1) && (!gbSpeed)) - return (0x80 | gbMemory[0xff41] & 0xFC); + return (0x80 | (gbMemory[0xff41] & 0xFC)); else return (0x80 | gbMemory[0xff41]); case 0x42: @@ -1720,17 +1736,34 @@ u8 gbReadMemory(register u16 address) if(address < 0x8000) return gbMemoryMap[address>>12][address&0x0fff]; - if(address < 0xa000) + + if (address < 0xa000) { // A lot of 'ugly' checks... But only way to emulate this particular behaviour... - if (((gbHardware & 0xa) && ((gbLcdModeDelayed !=3) || ((register_LY == 0) && - (gbScreenOn==false) && (register_LCDC & 0x80)) && - (gbLcdLYIncrementTicksDelayed ==(GBLY_INCREMENT_CLOCK_TICKS-GBLCD_MODE_2_CLOCK_TICKS)))) || - ((gbHardware & 0x5) && (gbLcdModeDelayed !=3) && - ((gbLcdMode !=3) || ((register_LY == 0) && ((gbScreenOn==false) && - (register_LCDC & 0x80)) && - (gbLcdLYIncrementTicks ==(GBLY_INCREMENT_CLOCK_TICKS-GBLCD_MODE_2_CLOCK_TICKS)))))) - return gbMemoryMap[address>>12][address&0x0fff]; + if ( + ( + (gbHardware & 0xa) && + ( + (gbLcdModeDelayed != 3) || + ( + ((register_LY == 0) && (gbScreenOn == false) && (register_LCDC & 0x80)) && + (gbLcdLYIncrementTicksDelayed == (GBLY_INCREMENT_CLOCK_TICKS - GBLCD_MODE_2_CLOCK_TICKS)) + ) + ) + ) + || + ( + (gbHardware & 0x5) && + (gbLcdModeDelayed != 3) && + ( + (gbLcdMode != 3) || + ((register_LY == 0) && ((gbScreenOn == false) && (register_LCDC & 0x80)) && + (gbLcdLYIncrementTicks == (GBLY_INCREMENT_CLOCK_TICKS - GBLCD_MODE_2_CLOCK_TICKS))) + ) + ) + ) + return gbMemoryMap[address >> 12][address & 0x0fff]; + return 0xff; } @@ -1887,7 +1920,7 @@ u8 gbReadMemory(register u16 address) case 0x41: // This is a GB/C only bug (ie. not GBA/SP). if ((gbHardware & 7) && (gbLcdMode == 2) && (gbLcdModeDelayed == 1) && (!gbSpeed)) - return (0x80 | gbMemory[0xff41] & 0xFC); + return (0x80 | (gbMemory[0xff41] & 0xFC)); else return (0x80 | gbMemory[0xff41]); case 0x42: @@ -1952,10 +1985,10 @@ u8 gbReadMemory(register u16 address) } // OAM not accessible during mode 2 & 3. if(((address >= 0xfe00) && (address<0xfea0)) && - (((gbLcdMode | gbLcdModeDelayed) &2) && - (!(gbSpeed && (gbHardware & 0x2) && !(gbLcdModeDelayed & 2) && (gbLcdMode == 2))) || + ((((gbLcdMode | gbLcdModeDelayed) & 2) && + (!(gbSpeed && (gbHardware & 0x2) && !(gbLcdModeDelayed & 2) && (gbLcdMode == 2)))) || (gbSpeed && (gbHardware & 0x2) && (gbLcdModeDelayed == 0) && (gbLcdTicksDelayed == (GBLCD_MODE_0_CLOCK_TICKS-gbSpritesTicks[299]))))) - return 0xff; + return 0xff; if ((address >= 0xfea0) && (address < 0xff00)) { diff --git a/src/gba/Cheats.cpp b/src/gba/Cheats.cpp index 8f32071e..a601fa78 100644 --- a/src/gba/Cheats.cpp +++ b/src/gba/Cheats.cpp @@ -910,24 +910,24 @@ int cheatsCheckKeys(u32 keys, u32 extended) } break; case GSA_8_BIT_POINTER : - if ((CPUReadMemory(cheatsList[i].address)>=0x02000000) && (CPUReadMemory(cheatsList[i].address)<0x02040000) || - (CPUReadMemory(cheatsList[i].address)>=0x03000000) && (CPUReadMemory(cheatsList[i].address)<0x03008000)) + if (((CPUReadMemory(cheatsList[i].address)>=0x02000000) && (CPUReadMemory(cheatsList[i].address)<0x02040000)) || + ((CPUReadMemory(cheatsList[i].address)>=0x03000000) && (CPUReadMemory(cheatsList[i].address)<0x03008000))) { CPUWriteByte(CPUReadMemory(cheatsList[i].address)+((cheatsList[i].value & 0xFFFFFF00) >> 8), cheatsList[i].value & 0xFF); } break; case GSA_16_BIT_POINTER : - if ((CPUReadMemory(cheatsList[i].address)>=0x02000000) && (CPUReadMemory(cheatsList[i].address)<0x02040000) || - (CPUReadMemory(cheatsList[i].address)>=0x03000000) && (CPUReadMemory(cheatsList[i].address)<0x03008000)) + if (((CPUReadMemory(cheatsList[i].address)>=0x02000000) && (CPUReadMemory(cheatsList[i].address)<0x02040000)) || + ((CPUReadMemory(cheatsList[i].address)>=0x03000000) && (CPUReadMemory(cheatsList[i].address)<0x03008000))) { CPUWriteHalfWord(CPUReadMemory(cheatsList[i].address)+((cheatsList[i].value & 0xFFFF0000) >> 15), cheatsList[i].value & 0xFFFF); } break; case GSA_32_BIT_POINTER : - if ((CPUReadMemory(cheatsList[i].address)>=0x02000000) && (CPUReadMemory(cheatsList[i].address)<0x02040000) || - (CPUReadMemory(cheatsList[i].address)>=0x03000000) && (CPUReadMemory(cheatsList[i].address)<0x03008000)) + if (((CPUReadMemory(cheatsList[i].address)>=0x02000000) && (CPUReadMemory(cheatsList[i].address)<0x02040000)) || + ((CPUReadMemory(cheatsList[i].address)>=0x03000000) && (CPUReadMemory(cheatsList[i].address)<0x03008000))) { CPUWriteMemory(CPUReadMemory(cheatsList[i].address), cheatsList[i].value); @@ -935,15 +935,15 @@ int cheatsCheckKeys(u32 keys, u32 extended) break; case GSA_8_BIT_ADD : CPUWriteByte(cheatsList[i].address, - (cheatsList[i].value & 0xFF) + CPUReadMemory(cheatsList[i].address) & 0xFF); + ((cheatsList[i].value & 0xFF) + CPUReadMemory(cheatsList[i].address)) & 0xFF); break; case GSA_16_BIT_ADD : CPUWriteHalfWord(cheatsList[i].address, - (cheatsList[i].value & 0xFFFF) + CPUReadMemory(cheatsList[i].address) & 0xFFFF); + ((cheatsList[i].value & 0xFFFF) + CPUReadMemory(cheatsList[i].address)) & 0xFFFF); break; case GSA_32_BIT_ADD : CPUWriteMemory(cheatsList[i].address , - cheatsList[i].value + CPUReadMemory(cheatsList[i].address) & 0xFFFFFFFF); + (cheatsList[i].value + CPUReadMemory(cheatsList[i].address)) & 0xFFFFFFFF); break; case GSA_8_BIT_IF_LOWER_U: if (!(CPUReadByte(cheatsList[i].address) < (cheatsList[i].value & 0xFF))) { @@ -2678,8 +2678,6 @@ void cheatsReadGameSkip( gzFile file, int version ) utilGzSeek( file, sizeof( cheatsList ), SEEK_CUR ); } - bool firstCodeBreaker = true; - for( int i = 0; i < nCheats; i++ ) { if( version < 9 ) { utilGzSeek( file, ( 7 * sizeof(int) ) + ( 52 * sizeof(char) ), SEEK_CUR );