diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index 9edbcf0ed2f5c7d00cbba3850735174494a7419c..ab82f010edd0b0294f0338d3b6199400797f0efe 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
end;
procedure g_Game_SetupScreenSize();
+const
+ RES_FACTOR = 4.0 / 3.0;
var
- d: Single;
+ s: Single;
+ rf: Single;
+ bw, bh: Word;
begin
// Ðàçìåð ýêðàíîâ èãðîêîâ:
gPlayerScreenSize.X := gScreenWidth-196;
// Ðàçìåð çàäíåãî ïëàíà:
if BackID <> DWORD(-1) then
begin
- d := SKY_STRETCH;
-
- if (gScreenWidth*d > gMapInfo.Width) or
- (gScreenHeight*d > gMapInfo.Height) then
- d := 1.0;
-
- gBackSize.X := Round(gScreenWidth*d);
- gBackSize.Y := Round(gScreenHeight*d);
+ s := SKY_STRETCH;
+ if (gScreenWidth*s > gMapInfo.Width) or
+ (gScreenHeight*s > gMapInfo.Height) then
+ begin
+ gBackSize.X := gScreenWidth;
+ gBackSize.Y := gScreenHeight;
+ end
+ else
+ begin
+ e_GetTextureSize(BackID, @bw, @bh);
+ rf := Single(bw) / Single(bh);
+ if (rf > RES_FACTOR) then bw := Round(Single(bh) * RES_FACTOR)
+ else if (rf < RES_FACTOR) then bh := Round(Single(bw) / RES_FACTOR);
+ s := Max(gScreenWidth / bw, gScreenHeight / bh);
+ if (s < 1.0) then s := 1.0;
+ gBackSize.X := Round(bw*s);
+ gBackSize.Y := Round(bh*s);
+ end;
end;
end;
exit;
end;
- if cmd = 'dbg_sq_coldet' then
+ if cmd = 'cd_sq_enabled' then
begin
case getBool(1) of
-1: begin end;
exit;
end;
+ {
if (cmd = 'sq_use_grid') or (cmd = 'sq_use_tree') then
begin
gdbg_map_use_tree_coldet := (cmd = 'sq_use_tree');
if gdbg_map_use_tree_draw then g_Console_Add('render acceleration: tree') else g_Console_Add('render acceleration: grid');
exit;
end;
+ }
+ {
if (cmd = 't_dump_node_queries') then
begin
case getBool(1) of
if gdbg_map_dump_coldet_tree_queries then g_Console_Add('grid coldet tree queries: tan') else g_Console_Add('grid coldet tree queries: ona');
exit;
end;
+ }
if (cmd = 'mon_sq_enabled') then
begin
if gmon_debug_use_sqaccel then g_Console_Add('accelerated monster coldet: tan') else g_Console_Add('accelerated monster coldet: ona');
exit;
end;
+
+ if (cmd = 'wtrace_sq_enabled') then
+ begin
+ case getBool(1) of
+ -1: begin end;
+ 0: gwep_debug_fast_trace := false;
+ 1: gwep_debug_fast_trace := true;
+ end;
+ if gwep_debug_fast_trace then g_Console_Add('accelerated weapon hitscan: tan') else g_Console_Add('accelerated weapon hitscan: ona');
+ exit;
+ end;
end;
procedure DebugCommands(P: SArray);