diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index 05b824ac9f1f9814b59f80fd244e7436b037c116..daec002afce309a4120acfbfcb4c574e38689d30 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
interface
uses
- g_basic, g_player, e_graphics, Classes, g_res_downloader,
- SysUtils, g_sound, g_gui, MAPDEF, wadreader, md5, xprofiler;
+ SysUtils, Classes,
+ MAPDEF,
+ g_basic, g_player, e_graphics, g_res_downloader,
+ g_sound, g_gui, wadreader, md5, xprofiler;
type
TGameSettings = record
e_input, e_log, g_console, g_items, g_map, g_panel,
g_playermodel, g_gfx, g_options, g_weapons, Math,
g_triggers, g_monsters, e_sound, CONFIG,
- BinEditor, g_language, g_net, SDL,
+ g_language, g_net, SDL,
ENet, e_msg, g_netmsg, g_netmaster, GL, GLExt,
utils, sfs, g_holmes;
drawOther('corpses', @g_Player_DrawCorpses);
drawPanelType('*wall', PANEL_WALL, g_rlayer_wall);
drawOther('monsters', @g_Monsters_Draw);
+ drawOther('itemdrop', @g_Items_DrawDrop);
drawPanelType('*door', PANEL_CLOSEDOOR, g_rlayer_door);
drawOther('gfx', @g_GFX_Draw);
drawOther('flags', @g_Map_DrawFlags);
end;
end;
+procedure PrintHeapStats();
+var
+ hs: TFPCHeapStatus;
+begin
+ hs := GetFPCHeapStatus();
+ e_LogWriteLn ('v===== heap status =====v');
+ e_LogWriteFln('max heap size = %d k', [hs.MaxHeapSize div 1024]);
+ e_LogWriteFln('max heap used = %d k', [hs.MaxHeapUsed div 1024]);
+ e_LogWriteFln('cur heap size = %d k', [hs.CurrHeapSize div 1024]);
+ e_LogWriteFln('cur heap used = %d k', [hs.CurrHeapUsed div 1024]);
+ e_LogWriteFln('cur heap free = %d k', [hs.CurrHeapFree div 1024]);
+ e_LogWriteLn ('^=======================^');
+end;
procedure DebugCommands(P: SArray);
var
g_Console_Add('ID | Name');
for b := MONSTER_DEMON to MONSTER_MAN do
g_Console_Add(Format('%2d | %s', [b, g_Mons_NameByTypeId(b)]));
+ conwriteln('behav. num'#10'normal 0'#10'killer 1'#10'maniac 2'#10'insane 3'#10'cannibal 4'#10'good 5');
end else
begin
a := StrToIntDef(P[1], 0);
gPlayer1.Direction, True);
end;
if (Length(P) > 2) and (mon <> nil) then
- mon.MonsterBehaviour := Min(Max(StrToIntDef(P[2], BH_NORMAL), BH_NORMAL), BH_GOOD);
+ begin
+ if (CompareText(P[2], 'normal') = 0) then mon.MonsterBehaviour := BH_NORMAL
+ else if (CompareText(P[2], 'killer') = 0) then mon.MonsterBehaviour := BH_KILLER
+ else if (CompareText(P[2], 'maniac') = 0) then mon.MonsterBehaviour := BH_MANIAC
+ else if (CompareText(P[2], 'insane') = 0) then mon.MonsterBehaviour := BH_INSANE
+ else if (CompareText(P[2], 'cannibal') = 0) then mon.MonsterBehaviour := BH_CANNIBAL
+ else if (CompareText(P[2], 'good') = 0) then mon.MonsterBehaviour := BH_GOOD
+ else if (CompareText(P[2], 'friend') = 0) then mon.MonsterBehaviour := BH_GOOD
+ else if (CompareText(P[2], 'friendly') = 0) then mon.MonsterBehaviour := BH_GOOD
+ else mon.MonsterBehaviour := Min(Max(StrToIntDef(P[2], BH_NORMAL), BH_NORMAL), BH_GOOD);
+ end;
end;
end;
end
begin
for a := 1 to 8 do
g_Console_Add(e_JoystickStateToString(a));
+ end
+ else if (cmd = 'd_mem') then
+ begin
+ PrintHeapStats();
end;
end
else