g_Player_ResetTeams();
- if Pos(':\', Map) > 0 then
+ if isWadPath(Map) then
begin
NewWAD := g_ExtractWadName(Map);
ResName := g_ExtractFileName(Map);
time: Integer;
}
begin
- a := Pos('.wad:\', gMapToDelete);
+ a := Pos('.wad:\', toLowerCase1251(gMapToDelete));
+ if (a = 0) then a := Pos('.wad:/', toLowerCase1251(gMapToDelete));
if a = 0 then
Exit;
if gNextMap = '' then
gNextMap := g_Game_GetNextMap();
// Ïðîâåðÿåì, íå çàäàí ëè WAD ôàéë ðåñóðñíîé ñòðîêîé
- if Pos(':\', gNextMap) = 0 then
+ if not isWadPath(gNextMap) then
s := gGameSettings.WAD + ':\' + gNextMap
else
s := gNextMap;
s := Find_Param_Value(pars, '-exec');
if s <> '' then
begin
- if Pos(':\', s) = 0 then
+ if not isWadPath(s) then
s := GameDir + '/' + s;
{$I-}
e_log, SysUtils, CONFIG, g_playermodel, DateUtils,
MAPDEF, wadreader, Math, g_saveload,
e_texture, GL, GLExt, g_language,
- g_net, g_netmsg, g_netmaster, g_items, e_input;
+ g_net, g_netmsg, g_netmaster, g_items, e_input,
+ utils;
type TYNCallback = procedure (yes:Boolean);
Map := TGUILabel(GetControl('lbMap')).Text;
if Map = '' then
Exit;
- if Pos(':\', Map) = 0 then
+ if not isWadPath(Map) then
Exit;
GameMode := TGUISwitch(GetControl('swGameMode')).ItemIndex+1;
Map := TGUILabel(GetControl('lbMap')).Text;
if Map = '' then
Exit;
- if Pos(':\', Map) = 0 then
+ if not isWadPath(Map) then
Exit;
GameMode := TGUISwitch(GetControl('swGameMode')).ItemIndex+1;
NetOut.Write(EvStr);
NetOut.Write(Byte(gLastMap));
NetOut.Write(gTime);
- if (EvType = NET_EV_MAPSTART) and (Pos(':\', EvStr) > 0) then
+ if (EvType = NET_EV_MAPSTART) and isWadPath(EvStr) then
begin
NetOut.Write(Byte(1));
NetOut.Write(gWADHash);
gWADHash := EvHash;
if not g_Game_StartMap(EvStr, True) then
begin
- if Pos(':\', EvStr) = 0 then
+ if not isWadPath(EvStr) then
g_FatalError(Format(_lc[I_GAME_ERROR_MAP_LOAD], [gGameSettings.WAD + ':\' + EvStr]))
else
g_FatalError(Format(_lc[I_GAME_ERROR_MAP_LOAD], [EvStr]));