Skip to content

Commit

Permalink
- glN64 - Fixed a texture warping issue.
Browse files Browse the repository at this point in the history
- Fixed assigning no controller.
(from extremscorner/not64@1cfbaa3)
- glN64 - Fixed viewport flipping.
- Fixed RSP DMA memory alignment.
(from extremscorner/not64@d7ca5e9)
  • Loading branch information
emukidid committed Aug 20, 2021
1 parent 61697d3 commit d01855a
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 22 deletions.
10 changes: 5 additions & 5 deletions gc_memory/dma.c
Expand Up @@ -128,7 +128,7 @@ void dma_pi_read()
if (flashRAMInfo.use_flashram != 1)
{
sramWritten = TRUE;
memcpy( &sram[((pi_register.pi_cart_addr_reg-0x08000000))^S8],
memcpy( &sram[((pi_register.pi_cart_addr_reg-0x08000000)&0xFFFE)^S8],
&rdramb[(pi_register.pi_dram_addr_reg)^S8],
(pi_register.pi_rd_len_reg & 0xFFFFFE)+2);
flashRAMInfo.use_flashram = -1;
Expand Down Expand Up @@ -285,8 +285,8 @@ void dma_sp_write()
{
spMemType = (unsigned char*)SP_IMEM;
}
memcpy( &spMemType[((sp_register.sp_mem_addr_reg & 0xFFF))^S8],
&rdramb[((sp_register.sp_dram_addr_reg & 0xFFFFFF))^S8],
memcpy( &spMemType[((sp_register.sp_mem_addr_reg & 0xFF8))^S8],
&rdramb[((sp_register.sp_dram_addr_reg & 0xFFFFF8))^S8],
((sp_register.sp_rd_len_reg & 0xFFF)+1));
}

Expand All @@ -297,8 +297,8 @@ void dma_sp_read()
{
spMemType = (unsigned char*)SP_IMEM;
}
memcpy( &rdramb[((sp_register.sp_dram_addr_reg & 0xFFFFFF))^S8],
&spMemType[((sp_register.sp_mem_addr_reg & 0xFFF))^S8],
memcpy( &rdramb[((sp_register.sp_dram_addr_reg & 0xFFFFF8))^S8],
&spMemType[((sp_register.sp_mem_addr_reg & 0xFF8))^S8],
((sp_register.sp_wr_len_reg & 0xFFF)+1));
}

Expand Down
10 changes: 5 additions & 5 deletions glN64_GX/OpenGL.cpp
Expand Up @@ -807,12 +807,12 @@ void OGL_UpdateStates()
(int)((gDP.scissor.lrx - gDP.scissor.ulx) * OGL.scaleX), (int)((gDP.scissor.lry - gDP.scissor.uly) * OGL.scaleY) );
}
#else // !__GX__
if ((gDP.changed & CHANGED_SCISSOR) || (gSP.changed & CHANGED_VIEWPORT))
if (gDP.changed & CHANGED_SCISSOR)
{
float ulx = max(OGL.GXorigX + max(gDP.scissor.ulx,gSP.viewport.x) * OGL.GXscaleX, 0);
float uly = max(OGL.GXorigY + max(gDP.scissor.uly,gSP.viewport.y) * OGL.GXscaleY, 0);
float lrx = max(OGL.GXorigX + min(min(gDP.scissor.lrx,gSP.viewport.x + gSP.viewport.width) * OGL.GXscaleX,OGL.GXwidth), 0);
float lry = max(OGL.GXorigY + min(min(gDP.scissor.lry,gSP.viewport.y + gSP.viewport.height) * OGL.GXscaleY,OGL.GXheight), 0);
float ulx = max(OGL.GXorigX + gDP.scissor.ulx * OGL.GXscaleX, 0);
float uly = max(OGL.GXorigY + gDP.scissor.uly * OGL.GXscaleY, 0);
float lrx = max(OGL.GXorigX + min(gDP.scissor.lrx * OGL.GXscaleX,OGL.GXwidth), 0);
float lry = max(OGL.GXorigY + min(gDP.scissor.lry * OGL.GXscaleY,OGL.GXheight), 0);
GX_SetScissor((u32) ulx,(u32) uly,(u32) (lrx - ulx),(u32) (lry - uly));
}
#endif // __GX__
Expand Down
8 changes: 4 additions & 4 deletions glN64_GX/gSP.cpp
Expand Up @@ -392,8 +392,8 @@ void gSPViewport( u32 v )

gSP.viewport.x = gSP.viewport.vtrans[0] - gSP.viewport.vscale[0];
gSP.viewport.y = gSP.viewport.vtrans[1] - gSP.viewport.vscale[1];
gSP.viewport.width = fabs(gSP.viewport.vscale[0]) * 2;
gSP.viewport.height = fabs(gSP.viewport.vscale[1]) * 2;
gSP.viewport.width = gSP.viewport.vscale[0] * 2;
gSP.viewport.height = gSP.viewport.vscale[1] * 2;
gSP.viewport.nearz = gSP.viewport.vtrans[2] - gSP.viewport.vscale[2];
gSP.viewport.farz = gSP.viewport.vtrans[2] + gSP.viewport.vscale[2];

Expand Down Expand Up @@ -1265,8 +1265,8 @@ void gSPModifyVertex( u32 vtx, u32 where, u32 val )
#endif
break;
case G_MWO_POINT_ST:
gSP.vertices[vtx].s = _FIXED2FLOAT( (s16)_SHIFTR( val, 16, 16 ), 5 );
gSP.vertices[vtx].t = _FIXED2FLOAT( (s16)_SHIFTR( val, 0, 16 ), 5 );
gSP.vertices[vtx].s = _FIXED2FLOAT( (s16)_SHIFTR( val, 16, 16 ), 5 ) / gSP.texture.scales;
gSP.vertices[vtx].t = _FIXED2FLOAT( (s16)_SHIFTR( val, 0, 16 ), 5 ) / gSP.texture.scalet;
#ifdef DEBUG
DebugMsg( DEBUG_HIGH | DEBUG_HANDLED, "gSPModifyVertex( %i, %s, 0x%08X );\n",
vtx, MWOPointText[(where - 0x10) >> 2], val );
Expand Down
16 changes: 8 additions & 8 deletions menu/ConfigureInputFrame.cpp
Expand Up @@ -248,9 +248,9 @@ void Func_TogglePad0Type()
{
int i = PADASSIGN_INPUT0;
#ifdef HW_RVL
padType[i] = (padType[i]+1) %3;
padType[i] = (padType[i]==PADTYPE_WII) ? PADTYPE_NONE : padType[i]+1;
#else
padType[i] = (padType[i]+1) %2;
padType[i] = (padType[i]==PADTYPE_GAMECUBE) ? PADTYPE_NONE : padType[i]+1;
#endif

if (padType[i]) Func_AssignPad(i);
Expand All @@ -262,9 +262,9 @@ void Func_TogglePad1Type()
{
int i = PADASSIGN_INPUT1;
#ifdef HW_RVL
padType[i] = (padType[i]+1) %3;
padType[i] = (padType[i]==PADTYPE_WII) ? PADTYPE_NONE : padType[i]+1;
#else
padType[i] = (padType[i]+1) %2;
padType[i] = (padType[i]==PADTYPE_GAMECUBE) ? PADTYPE_NONE : padType[i]+1;
#endif

if (padType[i]) Func_AssignPad(i);
Expand All @@ -276,9 +276,9 @@ void Func_TogglePad2Type()
{
int i = PADASSIGN_INPUT2;
#ifdef HW_RVL
padType[i] = (padType[i]+1) %3;
padType[i] = (padType[i]==PADTYPE_WII) ? PADTYPE_NONE : padType[i]+1;
#else
padType[i] = (padType[i]+1) %2;
padType[i] = (padType[i]==PADTYPE_GAMECUBE) ? PADTYPE_NONE : padType[i]+1;
#endif

if (padType[i]) Func_AssignPad(i);
Expand All @@ -290,9 +290,9 @@ void Func_TogglePad3Type()
{
int i = PADASSIGN_INPUT3;
#ifdef HW_RVL
padType[i] = (padType[i]+1) %3;
padType[i] = (padType[i]==PADTYPE_WII) ? PADTYPE_NONE : padType[i]+1;
#else
padType[i] = (padType[i]+1) %2;
padType[i] = (padType[i]==PADTYPE_GAMECUBE) ? PADTYPE_NONE : padType[i]+1;
#endif

if (padType[i]) Func_AssignPad(i);
Expand Down
1 change: 1 addition & 0 deletions menu/MainFrame.cpp
Expand Up @@ -344,6 +344,7 @@ void Func_PlayGame()
continueRemovalThread();
FRAME_BUTTONS[5].buttonString = FRAME_STRINGS[6];
menu::Cursor::getInstance().clearCursorFocus();
menu::Focus::getInstance().clearPrimaryFocus();
}

void Func_SetPlayGame()
Expand Down
1 change: 1 addition & 0 deletions menu/SettingsFrame.cpp
Expand Up @@ -837,6 +837,7 @@ void Func_ConfigurePaks()
void Func_ConfigureButtons()
{
// menu::MessageBox::getInstance().setMessage("Controller Buttons not implemented");
menu::Gui::getInstance().menuLogo->setVisible(false);
pMenuContext->setActiveFrame(MenuContext::FRAME_CONFIGUREBUTTONS,ConfigureButtonsFrame::SUBMENU_N64_PADNONE);
}

Expand Down

0 comments on commit d01855a

Please sign in to comment.