diff --git a/src/game/g_holmes.pas b/src/game/g_holmes.pas
index 83b74acc2ba7c6d00f9cbee483d13832f3adf8b1..e21faf5d8ffac4227e00fc4654e2cfd381d9fd3c 100644 (file)
--- a/src/game/g_holmes.pas
+++ b/src/game/g_holmes.pas
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation, version 3 of the License ONLY.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
uses
mempool, geom,
e_log, e_input,
uses
mempool, geom,
e_log, e_input,
- g_textures, g_basic, e_graphics, g_phys, g_grid, g_player, g_monsters,
- g_window, g_map, g_triggers, g_items, g_game, g_panel, g_console, g_gfx,
+ g_textures, g_basic, r_graphics, g_phys, g_grid, g_player, g_monsters,
+ g_map, g_triggers, g_items, g_game, g_panel, g_console, g_gfx,
xprofiler,
sdlcarcass,
fui_common, fui_events, fui_ctls,
xprofiler,
sdlcarcass,
fui_common, fui_events, fui_ctls,
implementation
uses
implementation
uses
-{$IFDEF USE_NANOGL}
- nanoGL,
-{$ELSE}
- GL,
-{$ENDIF}
- {rttiobj,} typinfo, e_texture,
+ {$INCLUDE ../nogl/noGLuses.inc}
+ {rttiobj,} typinfo, e_res,
SysUtils, Classes, SDL2,
SysUtils, Classes, SDL2,
- MAPDEF, g_main, g_options,
+ MAPDEF, g_options,
utils, hashtable, xparser;
utils, hashtable, xparser;
procedure clearEdgeBmp ();
begin
procedure clearEdgeBmp ();
begin
- SetLength(edgeBmp, (gWinSizeX+4)*(gWinSizeY+4));
+ SetLength(edgeBmp, (gScreenWidth+4)*(gScreenHeight+4));
FillChar(edgeBmp[0], Length(edgeBmp)*sizeof(edgeBmp[0]), 0);
end;
FillChar(edgeBmp[0], Length(edgeBmp)*sizeof(edgeBmp[0]), 0);
end;
begin
sx := pan.X-(vpx-1);
len := pan.Width;
begin
sx := pan.X-(vpx-1);
len := pan.Width;
- if (len > gWinSizeX+4) then len := gWinSizeX+4;
+ if (len > gScreenWidth+4) then len := gScreenWidth+4;
if (sx < 0) then begin len += sx; sx := 0; end;
if (sx < 0) then begin len += sx; sx := 0; end;
- if (sx+len > gWinSizeX+4) then len := gWinSizeX+4-sx;
+ if (sx+len > gScreenWidth+4) then len := gScreenWidth+4-sx;
if (len < 1) then exit;
assert(sx >= 0);
if (len < 1) then exit;
assert(sx >= 0);
- assert(sx+len <= gWinSizeX+4);
+ assert(sx+len <= gScreenWidth+4);
y0 := pan.Y-(vpy-1);
y1 := y0+pan.Height;
if (y0 < 0) then y0 := 0;
y0 := pan.Y-(vpy-1);
y1 := y0+pan.Height;
if (y0 < 0) then y0 := 0;
- if (y1 > gWinSizeY+4) then y1 := gWinSizeY+4;
+ if (y1 > gScreenHeight+4) then y1 := gScreenHeight+4;
while (y0 < y1) do
begin
while (y0 < y1) do
begin
- FillChar(edgeBmp[y0*(gWinSizeX+4)+sx], len*sizeof(edgeBmp[0]), 1);
+ FillChar(edgeBmp[y0*(gScreenWidth+4)+sx], len*sizeof(edgeBmp[0]), 1);
Inc(y0);
end;
end
Inc(y0);
end;
end
glColor4f(r/255.0, g/255.0, b/255.0, 1.0);
for y := 1 to vph do
begin
glColor4f(r/255.0, g/255.0, b/255.0, 1.0);
for y := 1 to vph do
begin
- a := @edgeBmp[y*(gWinSizeX+4)+1];
+ a := @edgeBmp[y*(gScreenWidth+4)+1];
startLine(y);
for x := 1 to vpw do
begin
if (a[0] <> 0) then
begin
startLine(y);
for x := 1 to vpw do
begin
if (a[0] <> 0) then
begin
- if (a[-1] = 0) or (a[1] = 0) or (a[-(gWinSizeX+4)] = 0) or (a[gWinSizeX+4] = 0) or
- (a[-(gWinSizeX+4)-1] = 0) or (a[-(gWinSizeX+4)+1] = 0) or
- (a[gWinSizeX+4-1] = 0) or (a[gWinSizeX+4+1] = 0) then
+ if (a[-1] = 0) or (a[1] = 0) or (a[-(gScreenWidth+4)] = 0) or (a[gScreenWidth+4] = 0) or
+ (a[-(gScreenWidth+4)-1] = 0) or (a[-(gScreenWidth+4)+1] = 0) or
+ (a[gScreenWidth+4-1] = 0) or (a[gScreenWidth+4+1] = 0) then
begin
putPixel(x);
end;
begin
putPixel(x);
end;
glColor4f(r/255.0, g/255.0, b/255.0, 1.0);
for y := 1 to vph do
begin
glColor4f(r/255.0, g/255.0, b/255.0, 1.0);
for y := 1 to vph do
begin
- a := @edgeBmp[y*(gWinSizeX+4)+1];
+ a := @edgeBmp[y*(gScreenWidth+4)+1];
startLine(y);
for x := 1 to vpw do
begin
startLine(y);
for x := 1 to vpw do
begin
mx, my, mw, mh: Integer;
//pan: TPanel;
//ex, ey: Integer;
mx, my, mw, mh: Integer;
//pan: TPanel;
//ex, ey: Integer;
+ s: AnsiString;
+ dx, dy: Integer;
begin
if (gPlayer1 = nil) then exit;
begin
if (gPlayer1 = nil) then exit;
gxSetContext(hlmContext);
try
gxSetContext(hlmContext);
try
- //glScissor(0, gWinSizeY-gPlayerScreenSize.Y-1, vpw, vph);
+ //glScissor(0, gScreenHeight-gPlayerScreenSize.Y-1, vpw, vph);
//hlmContext.clip := TGxRect.Create(0, gScreenHeight-gPlayerScreenSize.Y-1, gPlayerScreenSize.X, gPlayerScreenSize.Y);
{
//hlmContext.clip := TGxRect.Create(0, gScreenHeight-gPlayerScreenSize.Y-1, gPlayerScreenSize.X, gPlayerScreenSize.Y);
{
if showMapCurPos then
begin
if showMapCurPos then
begin
+ s := Format('mappos:(%d,%d)', [pmsCurMapX, pmsCurMapY]);
gxSetContext(hlmContext);
hlmContext.font := 'win8';
gxSetContext(hlmContext);
hlmContext.font := 'win8';
+ hlmContext.color := TGxRGBA.Create(0, 0, 0);
+ for dy := -1 to 1 do
+ begin
+ for dx := -1 to 1 do
+ begin
+ if (dx <> 0) or (dy <> 0) then hlmContext.drawText(4+dx, gScreenHeight-10+dy, s);
+ end;
+ end;
hlmContext.color := TGxRGBA.Create(255, 255, 0);
hlmContext.color := TGxRGBA.Create(255, 255, 0);
- hlmContext.drawText(4, gWinSizeY-10, Format('mappos:(%d,%d)', [pmsCurMapX, pmsCurMapY]));
+ hlmContext.drawText(4, gScreenHeight-10, s);
gxSetContext(nil);
end;
end;
gxSetContext(nil);
end;
end;
// load bindings from file
try
// load bindings from file
try
- st := openDiskFileRO(GameDir+'holmes.rc');
+ st := e_OpenResourceRO(ConfigDirs, 'holmes.rc');
pr := TFileTextParser.Create(st);
conwriteln('parsing "holmes.rc"...');
while (pr.tokType <> pr.TTEOF) do
pr := TFileTextParser.Create(st);
conwriteln('parsing "holmes.rc"...');
while (pr.tokType <> pr.TTEOF) do