index 1a370d5961fa2078d862965b29dc3a2915536408..8c4bfdcd2501407dd0f8d27c7719f0b5e6b58ef2 100644 (file)
{$INCLUDE ../../../shared/a_modes.inc}
unit r_holmes;
{$INCLUDE ../../../shared/a_modes.inc}
unit r_holmes;
+ {$IFDEF USE_GLES1}
+ {$FATAL Desktop OpenGL required for current Holmes implementation}
+ {$ENDIF}
+
interface
procedure r_Holmes_Draw ();
interface
procedure r_Holmes_Draw ();
begin
if (gPlayer1 = nil) then exit;
begin
if (gPlayer1 = nil) then exit;
+ glPushMatrix;
+ (* hack: scale and translate must be handled by hlmContext.glSetScaleTrans, but it dont work for some reason *)
+ glScalef(g_dbg_scale, g_dbg_scale, 1.0);
+ glTranslatef(-vpx, -vpy, 0);
+
if (hlmContext = nil) then hlmContext := r_fui_gfx_gl.TGxContext.Create();
gxSetContext(hlmContext);
if (hlmContext = nil) then hlmContext := r_fui_gfx_gl.TGxContext.Create();
gxSetContext(hlmContext);
glScalef(g_dbg_scale, g_dbg_scale, 1.0);
glTranslatef(-vpx, -vpy, 0);
}
glScalef(g_dbg_scale, g_dbg_scale, 1.0);
glTranslatef(-vpx, -vpy, 0);
}
- hlmContext.glSetScaleTrans(g_dbg_scale, -vpx, -vpy);
+// hlmContext.glSetScaleTrans(g_dbg_scale, -vpx, -vpy); // uncomment when fix it
glEnable(GL_SCISSOR_TEST);
glScissor(0, gScreenHeight-gPlayerScreenSize.Y-1, gPlayerScreenSize.X, gPlayerScreenSize.Y);
glEnable(GL_SCISSOR_TEST);
glScissor(0, gScreenHeight-gPlayerScreenSize.Y-1, gPlayerScreenSize.X, gPlayerScreenSize.Y);
gxSetContext(nil);
end;
gxSetContext(nil);
end;
+ glPopMatrix;
+
if showMapCurPos then
begin
s := Format('mappos:(%d,%d)', [pmsCurMapX, pmsCurMapY]);
if showMapCurPos then
begin
s := Format('mappos:(%d,%d)', [pmsCurMapX, pmsCurMapY]);