fix windows release build. fix windows inputconfig. fix a bug in 4x4 texture decoding introduced during c++ conversion.

This commit is contained in:
zeromus 2008-09-09 02:46:54 +00:00
parent 121cfb01ac
commit f11b11b18e
4 changed files with 29 additions and 12 deletions

View File

@ -5,11 +5,12 @@
- Really minor memory access speed up (mainly added for clarity) [shash]
- Added transparency and fixed material alpha support and alpha testing on the 3D core [shash]
- Changed how depth initial values are calculated (fixes SM64DS skybox) [shash]
- Added SSE2 version for matrix [CrazyMax]
- Added SSE2 version for some matrix routines [CrazyMax]
- Some fixes in core (New SMB don't freeze now) [CrazyMax]
- Some optimizations in code [CrazyMax]
- Make matrix 4x4 multiply routines use W-coordinate. [zeromus]
- Add many matrix and vector functions to matrix.c [zeromus]
- Convert to c++!
Mac OS X port:
- Fixed: Filenames and paths with unicode characters now work. [Jeff]
- Fixed: Load state from file button works again. [Jeff]
@ -25,7 +26,7 @@
Windows port:
- Removed the bug report link with a define, to avoid reports from betas/external builds [shash]
- Added the version on window bar to recognize versions from screenshots [shash]
- Changed graphics render core to DirectDraw (work fastest) [CrazyMax]
- Changed graphics render core to DirectDraw (work faster) [CrazyMax]
- Some fixes in 3D core OGL (fixed textures) [CrazyMax]
- Added texture caching (speedup 3D core) [CrazyMax]
- Fixes clear depth (ex. Castlevania now don't flipping) [NHerve]
@ -35,7 +36,7 @@
- Fix errors in matrix operations regarding projection mode and pos-vector mode [zeromus]
- Fix error in command unpacking which caused some display lists to totally blow up [zeromus]
- Render shadow volumes [zeromus]
- Convert alpha and material values from [0,31] ranges to opengl ranges in a more precise way [zeromus]
- Convert alpha and material values from [0,31], [0,7] etc ranges to opengl [0,maxint] ranges in a more precise way [zeromus]
- Fix a race condition in NDS_3D_Reset and NDS_glInit [zeromus]
- Add many of NHerve's improvements into OGLRender because I was trying to fix all the 3d issues. [zeromus]
- Toon shading infrastructure and a demo implementation [zeromus]

View File

@ -244,18 +244,18 @@ BOOL CALLBACK ConfigView_Proc(HWND dialog,UINT komunikat,WPARAM wparam,LPARAM lp
if (g_pKeyboard)
for(i=0;i<48;i++)
for(j=0;j<12;j++)
SendDlgItemMessage(dialog,key_combos[j],CB_ADDSTRING,0,(LPARAM)&tabkeytext[i]);
SendDlgItemMessage(dialog,key_combos[j],CB_ADDSTRING,0,(LPARAM)tabkeytext[i]);
if (g_pJoystick)
{
for(i=0;i<4;i++)
for(j=0;j<12;j++)
SendDlgItemMessage(dialog,key_combos[j],CB_ADDSTRING,0,(LPARAM)&tabkeytext[i+48]);
SendDlgItemMessage(dialog,key_combos[j],CB_ADDSTRING,0,(LPARAM)tabkeytext[i+48]);
for(i=0;i<g_DIJoycap.dwButtons;i++)
for(j=0;j<12;j++)
{
char buf[30];
sprintf(buf,"Joystick B%i",i+1);
SendDlgItemMessage(dialog,key_combos[j],CB_ADDSTRING,0,(LPARAM)&buf);
SendDlgItemMessage(dialog,key_combos[j],CB_ADDSTRING,0,(LPARAM)buf);
}
}
SendDlgItemMessage(dialog,IDC_COMBO1,CB_SETCURSEL,KEY_UP,0);

View File

@ -735,6 +735,14 @@
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
ExcludedFromBuild="true"

View File

@ -816,6 +816,8 @@ __forceinline void setTexture(unsigned int format, unsigned int texpal)
adr=(unsigned char *)(ARM9Mem.textureSlotAddr[txt_slot_current]+((format&0x3FFF)<<3));
i=texcache_start;
if(false)
while (TRUE)
{
if (texcache_stop==i) break;
@ -974,6 +976,8 @@ __forceinline void setTexture(unsigned int format, unsigned int texpal)
else
slot1=(unsigned short*)&ARM9Mem.textureSlotAddr[1][(texcache[i].frm&0x3FFF)<<2];
bool dead = false;
for (y = 0; y < (texcache[i].sizeY>>2); y ++)
{
u32 tmpPos[4]={(y<<2)*texcache[i].sizeX,((y<<2)+1)*texcache[i].sizeX,
@ -1043,13 +1047,20 @@ __forceinline void setTexture(unsigned int format, unsigned int texpal)
dst[currentPos+2] = tmp_col[(currRow>>4)&3];
dst[currentPos+3] = tmp_col[(currRow>>6)&3];
if(dead) {
dst[currentPos] = 0;
dst[currentPos+1] = 0;
dst[currentPos+2] = 0;
dst[currentPos+3] = 0;
}
txt_slot_current_size-=4;;
if (txt_slot_current_size<=0)
{
//dead = true;
txt_slot_current++;
//zero 9/7/08 - changed *adr= to adr= while changing from c++. was that a bug?
map=(unsigned int*)ARM9Mem.textureSlotAddr[txt_slot_current];
//map-=txt_slot_size>>2; //zero 8/25/08 - I dont understand this. it broke my game.
map-=txt_slot_size>>2; //this is weird, but necessary since we use map[d] above
txt_slot_size=txt_slot_current_size=0x020000;
}
}
@ -1092,7 +1103,6 @@ __forceinline void setTexture(unsigned int format, unsigned int texpal)
if (txt_slot_current_size<=0)
{
txt_slot_current++;
//zero 9/7/08 - changed *adr= to adr= while changing from c++. was that a bug?
map=(unsigned short *)ARM9Mem.textureSlotAddr[txt_slot_current];
map-=txt_slot_size>>1;
txt_slot_size=txt_slot_current_size=0x020000;
@ -1107,8 +1117,6 @@ __forceinline void setTexture(unsigned int format, unsigned int texpal)
texcache[i].sizeX, texcache[i].sizeY, 0,
GL_RGBA, GL_UNSIGNED_BYTE, texMAP);
DebugDumpTexture(i);
//============================================================================================
texcache_count=i;