X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=0cde3c089c1dfe4d0a5d9098721c4e4717d07e4e;hb=5b8e9b87a2b3372fd94fdeefdd78c7d483199da1;hp=a66245c952aaaf8e381074bce18505d455796b00;hpb=f25a08e69e17ffebfd919fd38e29684b334e6fb2;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index a66245c..0cde3c0 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -268,6 +268,7 @@ type FDummy: Boolean; FFireTime: Integer; FHandicap: Integer; + FWaitForFirstSpawn: Boolean; // set to `true` in server, used to spawn a player on first full state request // debug: viewport offset viewPortX, viewPortY, viewPortW, viewPortH: Integer; @@ -554,7 +555,7 @@ var gTeamStat: TTeamStat; gFly: Boolean = False; gAimLine: Boolean = False; - gChatBubble: Byte = 0; + gChatBubble: Integer = 0; gPlayerIndicator: Integer = 1; gPlayerIndicatorStyle: Integer = 0; gNumBots: Word = 0; @@ -612,7 +613,7 @@ uses g_holmes, {$ENDIF} e_log, g_map, g_items, g_console, g_gfx, Math, - g_options, g_triggers, g_menu, g_game, g_grid, + g_options, g_triggers, g_menu, g_game, g_grid, e_res, wadreader, g_main, g_monsters, CONFIG, g_language, g_net, g_netmsg, g_window, utils, xstreams; @@ -1253,14 +1254,16 @@ var a, b: Integer; config: TConfig; sa: SSArray; + path: AnsiString; begin BotNames := nil; - if not FileExists(DataDir + BOTNAMES_FILENAME) then + path := BOTNAMES_FILENAME; + if e_FindResource(DataDirs, path) = false then Exit; // ×èòàåì âîçìîæíûå èìåíà áîòîâ èç ôàéëà: - AssignFile(F, DataDir + BOTNAMES_FILENAME); + AssignFile(F, path); Reset(F); while not EOF(F) do @@ -1281,7 +1284,7 @@ begin g_Bot_MixNames(); // ×èòàåì ôàéë ñ ïàðàìåòðàìè áîòîâ: - config := TConfig.CreateFile(DataDir + BOTLIST_FILENAME); + config := TConfig.CreateFile(path); BotList := nil; a := 0; @@ -2178,6 +2181,8 @@ begin FJustTeleported := False; FNetTime := 0; + FWaitForFirstSpawn := false; + resetWeaponQueue(); end; @@ -3721,8 +3726,8 @@ begin result := false; case weapon of WEAPON_KASTET, WEAPON_SAW: result := true; - WEAPON_SHOTGUN1, WEAPON_SHOTGUN2: result := (FAmmo[A_SHELLS] > 0); - WEAPON_PISTOL, WEAPON_CHAINGUN, WEAPON_SUPERPULEMET: result := (FAmmo[A_BULLETS] > 0); + WEAPON_SHOTGUN1, WEAPON_SHOTGUN2, WEAPON_SUPERPULEMET: result := (FAmmo[A_SHELLS] > 0); + WEAPON_PISTOL, WEAPON_CHAINGUN: result := (FAmmo[A_BULLETS] > 0); WEAPON_ROCKETLAUNCHER: result := (FAmmo[A_ROCKETS] > 0); WEAPON_PLASMA, WEAPON_BFG: result := (FAmmo[A_CELLS] > 0); WEAPON_FLAMETHROWER: result := (FAmmo[A_FUEL] > 0);