diff --git a/desmume/src/gfx3d.cpp b/desmume/src/gfx3d.cpp index 09f40b663..3d4b8d229 100644 --- a/desmume/src/gfx3d.cpp +++ b/desmume/src/gfx3d.cpp @@ -2432,7 +2432,7 @@ void gfx3d_Control(u32 v) //-------------- //other misc stuff -void gfx3d_glGetMatrix(unsigned int m_mode, int index, float* dest) +void gfx3d_glGetMatrix(const MatrixMode m_mode, int index, float *dst) { //if(index == -1) //{ @@ -2441,13 +2441,11 @@ void gfx3d_glGetMatrix(unsigned int m_mode, int index, float* dest) //} //MatrixCopy(dest, MatrixStackGetPos(&mtxStack[m_mode], index)); - s32 *src; - if (index == -1) - src = mtxCurrent[m_mode]; - else src = MatrixStackGetPos(&mtxStack[m_mode], index); + + const s32 *src = (index == -1) ? mtxCurrent[m_mode] : MatrixStackGetPos(&mtxStack[m_mode], index); for (size_t i = 0; i < 16; i++) - dest[i] = src[i]/4096.0f; + dst[i] = src[i]/4096.0f; } void gfx3d_glGetLightDirection(const size_t index, u32 &dst) diff --git a/desmume/src/gfx3d.h b/desmume/src/gfx3d.h index 58adb91f6..46d05e2c3 100644 --- a/desmume/src/gfx3d.h +++ b/desmume/src/gfx3d.h @@ -778,9 +778,9 @@ void gfx3d_sendCommandToFIFO(u32 val); void gfx3d_sendCommand(u32 cmd, u32 param); //other misc stuff -void gfx3d_glGetMatrix(u32 mode, int index, float* dest); -void gfx3d_glGetLightDirection(u32 index, u32* dest); -void gfx3d_glGetLightColor(u32 index, u32* dest); +void gfx3d_glGetMatrix(const MatrixMode mode, int index, float *dst); +void gfx3d_glGetLightDirection(const size_t index, u32 &dst); +void gfx3d_glGetLightColor(const size_t index, u32 &dst); void gfx3d_GetLineData(int line, u8** dst); void gfx3d_GetLineData15bpp(int line, u16** dst); diff --git a/desmume/src/windows/lightView.cpp b/desmume/src/windows/lightView.cpp index fb006d669..a92c0495d 100644 --- a/desmume/src/windows/lightView.cpp +++ b/desmume/src/windows/lightView.cpp @@ -63,14 +63,14 @@ void LightView_OnPaintLight(HWND hwnd, int index) IDC_LIGHT_VIEWER_LIGHT2COLOR_COLORCTRL, IDC_LIGHT_VIEWER_LIGHT3COLOR_COLORCTRL }; - unsigned int color; - unsigned int direction; + u32 color; + u32 direction; //ColorCtrl* colorCtrl; char buffer[128]; // Get necessary information from gfx3d module - gfx3d_glGetLightColor(index, &color); - gfx3d_glGetLightDirection(index, &direction); + gfx3d_glGetLightColor(index, color); + gfx3d_glGetLightDirection(index, direction); // Print Light Direction sprintf(buffer, "%.8x", direction); diff --git a/desmume/src/windows/matrixView.cpp b/desmume/src/windows/matrixView.cpp index 303a02543..f983b2898 100644 --- a/desmume/src/windows/matrixView.cpp +++ b/desmume/src/windows/matrixView.cpp @@ -64,7 +64,7 @@ void MatrixView_OnPaintPositionMatrix(HWND hwnd) stackIndex = SendMessage(hStackCombo, CB_GETCURSEL, 0, 0) - 1; - gfx3d_glGetMatrix(1, stackIndex, matrix); + gfx3d_glGetMatrix(MATRIXMODE_POSITION, stackIndex, matrix); MatrixView_SetMatrix(hwnd, idcGroup, matrix); } @@ -87,7 +87,7 @@ void MatrixView_OnPaintDirectionMatrix(HWND hwnd) stackIndex = SendMessage(hStackCombo, CB_GETCURSEL, 0, 0) - 1; - gfx3d_glGetMatrix(2, stackIndex, matrix); + gfx3d_glGetMatrix(MATRIXMODE_POSITION_VECTOR, stackIndex, matrix); MatrixView_SetMatrix(hwnd, idcGroup, matrix); } @@ -106,7 +106,7 @@ void MatrixView_OnPaintProjectionMatrix(HWND hwnd) float mat[16]; - gfx3d_glGetMatrix(0, -1, mat); + gfx3d_glGetMatrix(MATRIXMODE_PROJECTION, -1, mat); MatrixView_SetMatrix(hwnd, idcGroup, mat); } @@ -125,7 +125,7 @@ void MatrixView_OnPaintTextureMatrix(HWND hwnd) float mat[16]; - gfx3d_glGetMatrix(3, -1, mat); + gfx3d_glGetMatrix(MATRIXMODE_TEXTURE, -1, mat); MatrixView_SetMatrix(hwnd, idcGroup, mat); }