DEADSOFTWARE

`map` command now looks for all pack extensions
[d2df-sdl.git] / src / game / g_game.pas
index 114c692242e50d3b5213bb7639579c7d324540ff..7c413aabd2ed8166a05bdaeba151d8aa78d8af3d 100644 (file)
@@ -1562,6 +1562,9 @@ begin
   if gPlayerAction[p, ACTION_WEAPPREV] then plr.PressKey(KEY_PREVWEAPON);
   if gPlayerAction[p, ACTION_ACTIVATE] then plr.PressKey(KEY_OPEN);
 
+  gPlayerAction[p, ACTION_WEAPNEXT] := False; // HACK, remove after readyweaon&pendinweapon implementation
+  gPlayerAction[p, ACTION_WEAPPREV] := False; // HACK, remove after readyweaon&pendinweapon implementation
+
   for i := WP_FIRST to WP_LAST do
   begin
     if gSelectWeapon[p, i] then
@@ -4646,7 +4649,8 @@ begin
 
     ProcessLoading(true);
 
-    if e_KeyPressed(IK_SPACE) or e_KeyPressed(VK_ESCAPE) then
+    if e_KeyPressed(IK_SPACE) or e_KeyPressed(IK_ESCAPE) or e_KeyPressed(VK_ESCAPE) or
+       e_KeyPressed(JOY0_JUMP) or e_KeyPressed(JOY1_JUMP) or e_KeyPressed(JOY2_JUMP) or e_KeyPressed(JOY3_JUMP) then
     begin
       State := 0;
       break;
@@ -6576,12 +6580,13 @@ begin
           end else
           begin
             // Òàêîé êàðòû íåò, èùåì WAD ôàéë
-            P[1] := addWadExtension(P[1]);
-            g_Console_Add(Format(_lc[I_MSG_NO_MAP_FALLBACK], [s, P[1]]));
-            if FileExists(MapsDir + P[1]) then
+            pw := findDiskWad(MapsDir + P[1]);
+            g_Console_Add(Format(_lc[I_MSG_NO_MAP_FALLBACK], [s, 'WAD ' + P[1]]));
+            if FileExists(pw) then
             begin
               // Ïàðàìåòðà êàðòû íåò, ïîýòîìó ñòàâèì ïåðâóþ èç ôàéëà
               SetLength(P, 3);
+              P[1] := ExtractRelativePath(MapsDir, pw);
               P[2] := g_Game_GetFirstMap(MapsDir + P[1]);
 
               s := P[1] + ':\' + P[2];