X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_game.pas;h=8453f05fd1d87ca28799b7f40c2f4e4f1dfef560;hb=3d9a4caf6b9c79640ea51cd8b5cdf602c5ed19a2;hp=feaf1591041441ee1e22591c3d7d371bf5fc361b;hpb=e452d337f0620b50d8d978b534437b2732134d8f;p=d2df-sdl.git diff --git a/src/game/g_game.pas b/src/game/g_game.pas index feaf159..8453f05 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -180,7 +180,6 @@ const GAME_OPTION_BOTVSPLAYER = 32; GAME_OPTION_BOTVSMONSTER = 64; GAME_OPTION_DMKEYS = 128; - GAME_OPTION_RESPAWNITEMS = 256; STATE_NONE = 0; STATE_MENU = 1; @@ -5557,27 +5556,6 @@ begin if g_Game_IsNet then MH_SEND_GameSettings; end; end - else if (cmd = 'g_respawn_items') and not g_Game_IsClient then - begin - with gGameSettings do - begin - if (Length(P) > 1) and - ((P[1] = '1') or (P[1] = '0')) then - begin - if (P[1][1] = '1') then - Options := Options or GAME_OPTION_RESPAWNITEMS - else - Options := Options and (not GAME_OPTION_RESPAWNITEMS); - end; - - if (LongBool(Options and GAME_OPTION_RESPAWNITEMS)) then - g_Console_Add(_lc[I_MSG_RESPAWNITEMS_ON]) - else - g_Console_Add(_lc[I_MSG_RESPAWNITEMS_OFF]); - - if g_Game_IsNet then MH_SEND_GameSettings; - end; - end else if (cmd = 'g_warmuptime') and not g_Game_IsClient then begin if Length(P) > 1 then @@ -5730,87 +5708,93 @@ begin end else if cmd = 'p1_name' then begin - if (Length(P) > 1) and gGameOn then + if (Length(P) > 1) then begin + gPlayer1Settings.Name := b_Text_Unformat(P[1]); if g_Game_IsClient then + MC_SEND_PlayerSettings + else if gGameOn and (gPlayer1 <> nil) then begin - gPlayer1Settings.Name := b_Text_Unformat(P[1]); - MC_SEND_PlayerSettings; - end - else - if gPlayer1 <> nil then - begin - gPlayer1.Name := b_Text_Unformat(P[1]); - if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer1.UID); - end - else - gPlayer1Settings.Name := b_Text_Unformat(P[1]); + gPlayer1.Name := b_Text_Unformat(P[1]); + if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer1.UID); + end; end; end else if cmd = 'p2_name' then begin - if (Length(P) > 1) and gGameOn then + if (Length(P) > 1) then begin + gPlayer2Settings.Name := b_Text_Unformat(P[1]); if g_Game_IsClient then + MC_SEND_PlayerSettings + else if gGameOn and (gPlayer2 <> nil) then begin - gPlayer2Settings.Name := b_Text_Unformat(P[1]); - MC_SEND_PlayerSettings; - end - else - if gPlayer2 <> nil then - begin - gPlayer2.Name := b_Text_Unformat(P[1]); - if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer2.UID); - end - else - gPlayer2Settings.Name := b_Text_Unformat(P[1]); + gPlayer2.Name := b_Text_Unformat(P[1]); + if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer2.UID); + end; end; end else if cmd = 'p1_color' then begin if Length(P) > 3 then + begin + gPlayer1Settings.Color := _RGB(EnsureRange(StrToIntDef(P[1], 0), 0, 255), + EnsureRange(StrToIntDef(P[2], 0), 0, 255), + EnsureRange(StrToIntDef(P[3], 0), 0, 255)); if g_Game_IsClient then + MC_SEND_PlayerSettings + else if gGameOn and (gPlayer1 <> nil) then begin - gPlayer1Settings.Color := _RGB(EnsureRange(StrToIntDef(P[1], 0), 0, 255), - EnsureRange(StrToIntDef(P[2], 0), 0, 255), - EnsureRange(StrToIntDef(P[3], 0), 0, 255)); - MC_SEND_PlayerSettings; - end - else - if gPlayer1 <> nil then - begin - gPlayer1.Model.SetColor(EnsureRange(StrToIntDef(P[1], 0), 0, 255), - EnsureRange(StrToIntDef(P[2], 0), 0, 255), - EnsureRange(StrToIntDef(P[3], 0), 0, 255)); - if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer1.UID); - end - else - gPlayer1Settings.Color := _RGB(EnsureRange(StrToIntDef(P[1], 0), 0, 255), - EnsureRange(StrToIntDef(P[2], 0), 0, 255), - EnsureRange(StrToIntDef(P[3], 0), 0, 255)); + gPlayer1.SetColor(gPlayer1Settings.Color); + if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer1.UID); + end; + end; end - else if (cmd = 'p2_color') and not g_Game_IsNet then + else if cmd = 'p2_color' then begin if Length(P) > 3 then + begin + gPlayer2Settings.Color := _RGB(EnsureRange(StrToIntDef(P[1], 0), 0, 255), + EnsureRange(StrToIntDef(P[2], 0), 0, 255), + EnsureRange(StrToIntDef(P[3], 0), 0, 255)); if g_Game_IsClient then + MC_SEND_PlayerSettings + else if gGameOn and (gPlayer2 <> nil) then begin - gPlayer2Settings.Color := _RGB(EnsureRange(StrToIntDef(P[1], 0), 0, 255), - EnsureRange(StrToIntDef(P[2], 0), 0, 255), - EnsureRange(StrToIntDef(P[3], 0), 0, 255)); - MC_SEND_PlayerSettings; - end - else - if gPlayer2 <> nil then - begin - gPlayer2.Model.SetColor(EnsureRange(StrToIntDef(P[1], 0), 0, 255), - EnsureRange(StrToIntDef(P[2], 0), 0, 255), - EnsureRange(StrToIntDef(P[3], 0), 0, 255)); - if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer2.UID); - end - else - gPlayer2Settings.Color := _RGB(EnsureRange(StrToIntDef(P[1], 0), 0, 255), - EnsureRange(StrToIntDef(P[2], 0), 0, 255), - EnsureRange(StrToIntDef(P[3], 0), 0, 255)); + gPlayer2.SetColor(gPlayer2Settings.Color); + if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer2.UID); + end; + end; + end + else if cmd = 'p1_model' then + begin + if (Length(P) > 1) then + begin + gPlayer1Settings.Model := P[1]; + if g_Game_IsClient then + MC_SEND_PlayerSettings + else if gGameOn and (gPlayer1 <> nil) then + begin + gPlayer1.FActualModelName := gPlayer1Settings.Model; + gPlayer1.SetModel(gPlayer1Settings.Model); + if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer1.UID); + end; + end; + end + else if cmd = 'p2_model' then + begin + if (Length(P) > 1) then + begin + gPlayer2Settings.Model := P[1]; + if g_Game_IsClient then + MC_SEND_PlayerSettings + else if gGameOn and (gPlayer2 <> nil) then + begin + gPlayer2.FActualModelName := gPlayer2Settings.Model; + gPlayer2.SetModel(gPlayer2Settings.Model); + if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer2.UID); + end; + end; end else if gGameSettings.GameType in [GT_CUSTOM, GT_SERVER, GT_CLIENT] then begin