diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index 9cca04c27ce31af3f73ea6daa86c801c7a33e004..40760c69eeb6c78d2ec0f81196bc8a1588c806d7 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
g_playermodel, g_gfx, g_options, g_weapons, Math,
g_triggers, MAPDEF, g_monsters, e_sound, CONFIG,
BinEditor, g_language, g_net, SDL,
- ENet, e_fixedbuffer, g_netmsg, g_netmaster, GL, GLExt;
+ ENet, e_fixedbuffer, g_netmsg, g_netmaster, GL, GLExt,
+ utils;
type
TEndCustomGameStat = record
until FindNext(SR) <> 0;
FindClose(SR);
+ if FindFirst(ModelsDir+'*.zip', faAnyFile, SR) = 0 then
+ repeat
+ if not g_PlayerModel_Load(ModelsDir+SR.Name) then
+ e_WriteLog(Format('Error loading model %s', [SR.Name]), MSG_WARNING);
+ until FindNext(SR) <> 0;
+ FindClose(SR);
+
gGameOn := False;
gPause := False;
gTime := 0;
Exit;
end;
// Èãðà åù¸ íå çàïóùåíà, ñíà÷àëà íàì íàäî çàãðóçèòü êàêîé-òî WAD
- if (Pos('.wad', LowerCase(P[1])) = 0) and (Pos('.pk3', LowerCase(P[1])) = 0) then
- P[1] := P[1] + '.wad';
-
+ P[1] := addWadExtension(P[1]);
if FileExists(MapsDir + P[1]) then
begin
// Åñëè êàðòà íå óêàçàíà, áåð¸ì ïåðâóþ êàðòó â ôàéëå
Exit;
prt := StrToIntDef(P[2], 25666);
- if (Pos('.wad', LowerCase(P[3])) = 0) and (Pos('.pk3', LowerCase(P[3])) = 0) then
- P[3] := P[3] + '.wad';
-
+ P[3] := addWadExtension(P[3]);
if FileExists(MapsDir + P[3]) then
begin
// Åñëè êàðòà íå óêàçàíà, áåð¸ì ïåðâóþ êàðòó â ôàéëå
begin
g_Console_Add(Format(_lc[I_MSG_NO_MAP], [s]));
// Òàêîé êàðòû íåò, èùåì WAD ôàéë
- if (Pos('.wad', LowerCase(P[1])) = 0) and (Pos('.pk3', LowerCase(P[1])) = 0) then
- P[1] := P[1] + '.wad';
-
+ P[1] := addWadExtension(P[1]);
if FileExists(MapsDir + P[1]) then
begin
// Ïàðàìåòðà êàðòû íåò, ïîýòîìó ñòàâèì ïåðâóþ èç ôàéëà
end else
begin
// Óêàçàíî äâà ïàðàìåòðà, çíà÷èò ïåðâûé - WAD ôàéë, à âòîðîé - êàðòà
- if (Pos('.wad', LowerCase(P[1])) = 0) and (Pos('.pk3', LowerCase(P[1])) = 0) then
- P[1] := P[1] + '.wad';
-
+ P[1] := addWadExtension(P[1]);
if FileExists(MapsDir + P[1]) then
begin
// Íàøëè WAD ôàéë
begin
g_Console_Add(Format(_lc[I_MSG_NO_MAP], [s]));
// Òàêîé êàðòû íåò, èùåì WAD ôàéë
- if (Pos('.wad', LowerCase(P[1])) = 0) and (Pos('.pk3', LowerCase(P[1])) = 0) then
- P[1] := P[1] + '.wad';
-
+ P[1] := addWadExtension(P[1]);
if FileExists(MapsDir + P[1]) then
begin
// Ïàðàìåòðà êàðòû íåò, ïîýòîìó ñòàâèì ïåðâóþ èç ôàéëà
end else
begin
// Óêàçàíî äâà ïàðàìåòðà, çíà÷èò ïåðâûé - WAD ôàéë, à âòîðîé - êàðòà
- if (Pos('.wad', LowerCase(P[1])) = 0) and (Pos('.pk3', LowerCase(P[1])) = 0) then
- P[1] := P[1] + '.wad';
-
+ P[1] := addWadExtension(P[1]);
if FileExists(MapsDir + P[1]) then
begin
// Íàøëè WAD ôàéë
// Start map when game loads:
map := LowerCase(Find_Param_Value(pars, '-map'));
- if (map <> '') and ((Pos('.wad:\', map) > 0) or (Pos('.pk3:\', map) > 0)) then
+ if isWadPath(map) then
begin
// Game mode:
s := Find_Param_Value(pars, '-gm');