fix windows release build. fix windows inputconfig. fix a bug in 4x4 texture decoding introduced during c++ conversion.
This commit is contained in:
parent
121cfb01ac
commit
f11b11b18e
|
@ -5,11 +5,12 @@
|
||||||
- Really minor memory access speed up (mainly added for clarity) [shash]
|
- 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]
|
- 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]
|
- 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 fixes in core (New SMB don't freeze now) [CrazyMax]
|
||||||
- Some optimizations in code [CrazyMax]
|
- Some optimizations in code [CrazyMax]
|
||||||
- Make matrix 4x4 multiply routines use W-coordinate. [zeromus]
|
- Make matrix 4x4 multiply routines use W-coordinate. [zeromus]
|
||||||
- Add many matrix and vector functions to matrix.c [zeromus]
|
- Add many matrix and vector functions to matrix.c [zeromus]
|
||||||
|
- Convert to c++!
|
||||||
Mac OS X port:
|
Mac OS X port:
|
||||||
- Fixed: Filenames and paths with unicode characters now work. [Jeff]
|
- Fixed: Filenames and paths with unicode characters now work. [Jeff]
|
||||||
- Fixed: Load state from file button works again. [Jeff]
|
- Fixed: Load state from file button works again. [Jeff]
|
||||||
|
@ -25,7 +26,7 @@
|
||||||
Windows port:
|
Windows port:
|
||||||
- Removed the bug report link with a define, to avoid reports from betas/external builds [shash]
|
- 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]
|
- 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]
|
- Some fixes in 3D core OGL (fixed textures) [CrazyMax]
|
||||||
- Added texture caching (speedup 3D core) [CrazyMax]
|
- Added texture caching (speedup 3D core) [CrazyMax]
|
||||||
- Fixes clear depth (ex. Castlevania now don't flipping) [NHerve]
|
- 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 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]
|
- Fix error in command unpacking which caused some display lists to totally blow up [zeromus]
|
||||||
- Render shadow volumes [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]
|
- 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]
|
- 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]
|
- Toon shading infrastructure and a demo implementation [zeromus]
|
||||||
|
|
|
@ -244,18 +244,18 @@ BOOL CALLBACK ConfigView_Proc(HWND dialog,UINT komunikat,WPARAM wparam,LPARAM lp
|
||||||
if (g_pKeyboard)
|
if (g_pKeyboard)
|
||||||
for(i=0;i<48;i++)
|
for(i=0;i<48;i++)
|
||||||
for(j=0;j<12;j++)
|
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)
|
if (g_pJoystick)
|
||||||
{
|
{
|
||||||
for(i=0;i<4;i++)
|
for(i=0;i<4;i++)
|
||||||
for(j=0;j<12;j++)
|
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(i=0;i<g_DIJoycap.dwButtons;i++)
|
||||||
for(j=0;j<12;j++)
|
for(j=0;j<12;j++)
|
||||||
{
|
{
|
||||||
char buf[30];
|
char buf[30];
|
||||||
sprintf(buf,"Joystick B%i",i+1);
|
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);
|
SendDlgItemMessage(dialog,IDC_COMBO1,CB_SETCURSEL,KEY_UP,0);
|
||||||
|
|
|
@ -735,6 +735,14 @@
|
||||||
Name="MASM"
|
Name="MASM"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="MASM"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
|
|
|
@ -816,6 +816,8 @@ __forceinline void setTexture(unsigned int format, unsigned int texpal)
|
||||||
adr=(unsigned char *)(ARM9Mem.textureSlotAddr[txt_slot_current]+((format&0x3FFF)<<3));
|
adr=(unsigned char *)(ARM9Mem.textureSlotAddr[txt_slot_current]+((format&0x3FFF)<<3));
|
||||||
|
|
||||||
i=texcache_start;
|
i=texcache_start;
|
||||||
|
|
||||||
|
if(false)
|
||||||
while (TRUE)
|
while (TRUE)
|
||||||
{
|
{
|
||||||
if (texcache_stop==i) break;
|
if (texcache_stop==i) break;
|
||||||
|
@ -974,6 +976,8 @@ __forceinline void setTexture(unsigned int format, unsigned int texpal)
|
||||||
else
|
else
|
||||||
slot1=(unsigned short*)&ARM9Mem.textureSlotAddr[1][(texcache[i].frm&0x3FFF)<<2];
|
slot1=(unsigned short*)&ARM9Mem.textureSlotAddr[1][(texcache[i].frm&0x3FFF)<<2];
|
||||||
|
|
||||||
|
bool dead = false;
|
||||||
|
|
||||||
for (y = 0; y < (texcache[i].sizeY>>2); y ++)
|
for (y = 0; y < (texcache[i].sizeY>>2); y ++)
|
||||||
{
|
{
|
||||||
u32 tmpPos[4]={(y<<2)*texcache[i].sizeX,((y<<2)+1)*texcache[i].sizeX,
|
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+2] = tmp_col[(currRow>>4)&3];
|
||||||
dst[currentPos+3] = tmp_col[(currRow>>6)&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;;
|
txt_slot_current_size-=4;;
|
||||||
if (txt_slot_current_size<=0)
|
if (txt_slot_current_size<=0)
|
||||||
{
|
{
|
||||||
|
//dead = true;
|
||||||
txt_slot_current++;
|
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=(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;
|
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)
|
if (txt_slot_current_size<=0)
|
||||||
{
|
{
|
||||||
txt_slot_current++;
|
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=(unsigned short *)ARM9Mem.textureSlotAddr[txt_slot_current];
|
||||||
map-=txt_slot_size>>1;
|
map-=txt_slot_size>>1;
|
||||||
txt_slot_size=txt_slot_current_size=0x020000;
|
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,
|
texcache[i].sizeX, texcache[i].sizeY, 0,
|
||||||
GL_RGBA, GL_UNSIGNED_BYTE, texMAP);
|
GL_RGBA, GL_UNSIGNED_BYTE, texMAP);
|
||||||
|
|
||||||
DebugDumpTexture(i);
|
|
||||||
|
|
||||||
//============================================================================================
|
//============================================================================================
|
||||||
|
|
||||||
texcache_count=i;
|
texcache_count=i;
|
||||||
|
|
Loading…
Reference in New Issue