Ingame syncing kinda works
Reminder to self: Submarines must spawn attached shuttles in Dedicated Server, must've been something I missed when moving over client-specific code
This commit is contained in:
@@ -183,9 +183,10 @@ namespace Barotrauma
|
||||
else if (entities.Entity is Character)
|
||||
{
|
||||
message.Write((byte)SpawnableType.Character);
|
||||
DebugConsole.NewMessage("WRITING CHARACTER DATA: " + (entities.Entity).ToString(),Color.Cyan);
|
||||
((Character)entities.Entity).WriteSpawnData(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1185,6 +1185,7 @@ namespace Barotrauma.Networking
|
||||
#endif
|
||||
}
|
||||
|
||||
#if CLIENT
|
||||
if (characterInfo != null && hostTeam == teamID)
|
||||
{
|
||||
myCharacter = Character.Create(characterInfo, assignedWayPoints[assignedWayPoints.Length - 1].WorldPosition, false, false);
|
||||
@@ -1192,10 +1193,10 @@ namespace Barotrauma.Networking
|
||||
myCharacter.TeamID = (byte)teamID;
|
||||
|
||||
Character.Controlled = myCharacter;
|
||||
#if CLIENT
|
||||
|
||||
GameMain.GameSession.CrewManager.characters.Add(myCharacter);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1247,7 +1248,7 @@ namespace Barotrauma.Networking
|
||||
GameMain.GameScreen.Cam.TargetPos = Vector2.Zero;
|
||||
GameMain.GameScreen.Select();
|
||||
|
||||
AddChatMessage("Press TAB to chat. Use ''r;'' to talk through the radio.", ChatMessageType.Server);
|
||||
AddChatMessage("Press TAB to chat. Use \"r;\" to talk through the radio.", ChatMessageType.Server);
|
||||
|
||||
GameMain.NetLobbyScreen.StartButtonEnabled = true;
|
||||
|
||||
@@ -1336,12 +1337,13 @@ namespace Barotrauma.Networking
|
||||
if (SaveServerLogs) log.Save();
|
||||
|
||||
Character.Controlled = null;
|
||||
myCharacter = null;
|
||||
|
||||
GameMain.GameScreen.Cam.TargetPos = Vector2.Zero;
|
||||
#if CLIENT
|
||||
myCharacter = null;
|
||||
GameMain.LightManager.LosEnabled = false;
|
||||
#endif
|
||||
|
||||
|
||||
entityEventManager.Clear();
|
||||
foreach (Client c in connectedClients)
|
||||
{
|
||||
|
||||
@@ -64,6 +64,8 @@ namespace Barotrauma.Networking
|
||||
|
||||
public bool Sent;
|
||||
|
||||
public string StackTrace;
|
||||
|
||||
private double createTime;
|
||||
public double CreateTime
|
||||
{
|
||||
@@ -76,6 +78,8 @@ namespace Barotrauma.Networking
|
||||
serializable = entity;
|
||||
|
||||
createTime = Timing.TotalTime;
|
||||
|
||||
StackTrace = Environment.StackTrace.ToString();
|
||||
}
|
||||
|
||||
public void Write(NetBuffer msg, Client recipient)
|
||||
|
||||
@@ -137,7 +137,7 @@ namespace Barotrauma.Networking
|
||||
{
|
||||
if (GameSettings.VerboseLogging)
|
||||
{
|
||||
DebugConsole.ThrowError("Failed to read event for entity \"" + bufferedEvent.TargetEntity.ToString() + "!", e);
|
||||
DebugConsole.ThrowError("Failed to read event for entity \"" + bufferedEvent.TargetEntity.ToString() + "\"!", e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,6 +232,7 @@ namespace Barotrauma.Networking
|
||||
|
||||
msg.Write(client.UnreceivedEntityEventCount);
|
||||
msg.Write(client.FirstNewEventID);
|
||||
//DebugConsole.NewMessage(eventsToSync[0].ID.ToString(), Microsoft.Xna.Framework.Color.Yellow);
|
||||
Write(msg, eventsToSync, client);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -90,27 +90,12 @@ namespace Barotrauma.Networking
|
||||
|
||||
protected bool gameStarted;
|
||||
|
||||
protected Character myCharacter;
|
||||
protected CharacterInfo characterInfo;
|
||||
|
||||
public Dictionary<string, bool> monsterEnabled;
|
||||
|
||||
protected RespawnManager respawnManager;
|
||||
|
||||
public Voting Voting;
|
||||
|
||||
public Character Character
|
||||
{
|
||||
get { return myCharacter; }
|
||||
set { myCharacter = value; }
|
||||
}
|
||||
|
||||
public CharacterInfo CharacterInfo
|
||||
{
|
||||
get { return characterInfo; }
|
||||
set { characterInfo = value; }
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return name; }
|
||||
|
||||
@@ -437,20 +437,24 @@ namespace Barotrauma.Networking
|
||||
var character = Character.Create(characterInfos[i], shuttleSpawnPoints[i].WorldPosition, !myCharacter, false);
|
||||
|
||||
character.TeamID = 1;
|
||||
|
||||
|
||||
#if CLIENT
|
||||
if (myCharacter)
|
||||
{
|
||||
server.Character = character;
|
||||
Character.Controlled = character;
|
||||
#if CLIENT
|
||||
|
||||
GameMain.LightManager.LosEnabled = true;
|
||||
#endif
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
#endif
|
||||
clients[i].Character = character;
|
||||
#if CLIENT
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Vector2 pos = cargoSp == null ? character.Position : cargoSp.Position;
|
||||
|
||||
if (divingSuitPrefab != null && oxyPrefab != null)
|
||||
|
||||
Reference in New Issue
Block a user