@@ -176,7 +176,7 @@ void OGC_draw_cursor(_THIS)
176176 SDL_Mouse * mouse = SDL_GetMouse ();
177177 OGC_CursorData * curdata ;
178178 Mtx mv ;
179- int viewport_w , screen_h , screen_w ;
179+ int screen_w , screen_h ;
180180 float angle = 0.0f ;
181181
182182 if (!mouse || !mouse -> cursor_shown ||
@@ -193,15 +193,19 @@ void OGC_draw_cursor(_THIS)
193193 }
194194
195195 screen_w = _this -> displays [0 ].current_mode .w ;
196- viewport_w = (screen_w == 854 ) ? 640 : _this -> displays [0 ].current_mode .w ;
197196 screen_h = _this -> displays [0 ].current_mode .h ;
198197
199198 curdata = mouse -> cur_cursor -> driverdata ;
200199 OGC_load_texture (curdata -> texels , curdata -> w , curdata -> h , GX_TF_RGBA8 ,
201200 SDL_ScaleModeNearest );
202201
203202 guMtxIdentity (mv );
204- guMtxScaleApply (mv , mv , viewport_w / 640.0f , screen_h / 480.0f , 1.0f );
203+ #ifdef __wii__
204+ if (CONF_GetAspectRatio () == CONF_ASPECT_16_9 )
205+ guMtxScaleApply (mv , mv , screen_w / 854.0f , screen_h / 480.0f , 1.0f );
206+ else
207+ #endif
208+ guMtxScaleApply (mv , mv , screen_w / 640.0f , screen_h / 480.0f , 1.0f );
205209
206210 if (angle != 0.0f ) {
207211 Mtx rot ;
@@ -211,7 +215,7 @@ void OGC_draw_cursor(_THIS)
211215 guMtxTransApply (mv , mv , mouse -> x , mouse -> y , 0 );
212216 GX_LoadPosMtxImm (mv , GX_PNMTX1 );
213217
214- OGC_set_viewport (0 , 0 , viewport_w , screen_h , screen_w );
218+ OGC_set_viewport (0 , 0 , screen_w , screen_h , screen_w );
215219
216220 GX_ClearVtxDesc ();
217221 GX_SetVtxDesc (GX_VA_POS , GX_DIRECT );
0 commit comments