Skip to content

Commit cb9867f

Browse files
committed
Some small changes to the lobby menu to show the current song and stuff
1 parent 6f153bd commit cb9867f

File tree

13 files changed

+122
-438
lines changed

13 files changed

+122
-438
lines changed

BeatSaberOnline/BeatSaberOnline.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,16 @@
8585
<Compile Include="Controllers\LeaderboardController.cs" />
8686
<Compile Include="Controllers\PlayerController.cs" />
8787
<Compile Include="Controllers\WorldController.cs" />
88-
<Compile Include="Data\VoipPacket.cs" />
89-
<Compile Include="Data\PlayerInfo.cs" />
88+
<Compile Include="Data\Packets\VoipPacket.cs" />
89+
<Compile Include="Data\Packets\PlayerPacket.cs" />
9090
<Compile Include="Harmony\HandleLevelDetailViewControllerDidPressPlayButtonHook.cs" />
9191
<Compile Include="Utils\Assets.cs" />
9292
<Compile Include="Utils\Config.cs" />
9393
<Compile Include="Utils\FileUtils.cs" />
9494
<Compile Include="Utils\HexConverter.cs" />
9595
<Compile Include="Utils\Logger.cs" />
9696
<Compile Include="Data\Sprites.cs" />
97-
<Compile Include="Data\Steam\LobbyInfo.cs" />
97+
<Compile Include="Data\Packets\LobbyPacket.cs" />
9898
<Compile Include="Data\Steam\SteamAPI.cs" />
9999
<Compile Include="Data\Steam\SteamCallbacks.cs" />
100100
<Compile Include="Plugin.cs" />

BeatSaberOnline/Controllers/AvatarController.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class AvatarController : MonoBehaviour, IAvatarInput
2424
static List<CustomAvatar.CustomAvatar> pendingAvatars = new List<CustomAvatar.CustomAvatar>();
2525
static event Action<string, CustomAvatar.CustomAvatar> AvatarLoaded;
2626

27-
PlayerInfo playerInfo;
27+
PlayerPacket playerInfo;
2828

2929
SpawnedAvatar avatar;
3030

@@ -58,7 +58,7 @@ public class AvatarController : MonoBehaviour, IAvatarInput
5858

5959
bool rendererEnabled = true;
6060
Camera _camera;
61-
public bool forcePlayerInfo = false;
61+
public bool forcePlayerPacket = false;
6262

6363
VRCenterAdjust _centerAdjust;
6464

@@ -130,7 +130,7 @@ void Update()
130130
{
131131
try
132132
{
133-
if (avatar != null && !forcePlayerInfo)
133+
if (avatar != null && !forcePlayerPacket)
134134
{
135135
if (GameController.TPS < (1f / Time.smoothDeltaTime))
136136
{
@@ -185,7 +185,7 @@ void OnDestroy()
185185
Destroy(avatar.GameObject);
186186
}
187187

188-
public void SetPlayerInfo(PlayerInfo _playerInfo, Vector3 offsetVector, bool isLocal)
188+
public void SetPlayerPacket(PlayerPacket _playerInfo, Vector3 offsetVector, bool isLocal)
189189
{
190190
if (_playerInfo == null)
191191
{
@@ -295,7 +295,7 @@ public void SetPlayerInfo(PlayerInfo _playerInfo, Vector3 offsetVector, bool isL
295295

296296
playerNameText.text = playerInfo.playerName;
297297

298-
if (forcePlayerInfo)
298+
if (forcePlayerPacket)
299299
{
300300
interpHeadPos = targetHeadPos;
301301
interpLeftHandPos = targetLeftHandPos;

BeatSaberOnline/Controllers/GameController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public void UpdateSongOffset()
9797
}
9898
else
9999
{
100-
if ( (1 - (timeSync.songLength - timeSync.songTime) / timeSync.songLength) < 0.75f)
100+
if ( (timeSync.songLength - timeSync.songTime) > 30)
101101
{
102102
SteamAPI.SetSongOffset(timeSync.songTime);
103103
}
@@ -127,7 +127,7 @@ public void ActiveSceneChanged(Scene from, Scene to)
127127
SteamAPI.StartGame();
128128
InvokeRepeating("UpdateSongOffset", 0f, 1f);
129129
Scoreboard.Instance.disabled = false;
130-
List<PlayerInfo> connectedPlayers = Controllers.PlayerController.Instance.GetConnectedPlayerInfos();
130+
List<PlayerPacket> connectedPlayers = Controllers.PlayerController.Instance.GetConnectedPlayerPackets();
131131
for (int i = 0; i < connectedPlayers.Count; i++)
132132
{
133133
Scoreboard.Instance.UpsertScoreboardEntry(connectedPlayers[i].playerId, connectedPlayers[i].playerName, 0, 0);

BeatSaberOnline/Controllers/PlayerController.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class PlayerController : MonoBehaviour
2121
{
2222
public static PlayerController Instance;
2323

24-
public PlayerInfo _playerInfo;
25-
private Dictionary<ulong, PlayerInfo> _connectedPlayers = new Dictionary<ulong, PlayerInfo>();
24+
public PlayerPacket _playerInfo;
25+
private Dictionary<ulong, PlayerPacket> _connectedPlayers = new Dictionary<ulong, PlayerPacket>();
2626
private Dictionary<ulong, AvatarController> _connectedPlayerAvatars = new Dictionary<ulong, AvatarController>();
2727
private string _currentScene;
2828

@@ -42,7 +42,7 @@ public void Awake()
4242
Instance = this;
4343
DontDestroyOnLoad(gameObject);
4444

45-
_playerInfo = new PlayerInfo(SteamAPI.GetUserName(), SteamAPI.GetUserID());
45+
_playerInfo = new PlayerPacket(SteamAPI.GetUserName(), SteamAPI.GetUserID());
4646
_currentScene = SceneManager.GetActiveScene().name;
4747
}
4848
}
@@ -51,13 +51,13 @@ public void StartBroadcasting()
5151
{
5252
if (isBroadcasting) { return; }
5353
isBroadcasting = true;
54-
InvokeRepeating("BroadcastPlayerInfo", 0f, GameController.TPS);
54+
InvokeRepeating("BroadcastPlayerPacket", 0f, GameController.TPS);
5555
}
5656
public void StopBroadcasting()
5757
{
5858
if (!isBroadcasting) { return; }
5959
isBroadcasting = false;
60-
CancelInvoke("BroadcastPlayerInfo");
60+
CancelInvoke("BroadcastPlayerPacket");
6161
}
6262

6363
public void RestartBroadcasting()
@@ -95,15 +95,15 @@ public void UpdatePlayerScoring(string fieldName, uint value)
9595
}
9696
}
9797

98-
public List<PlayerInfo> GetConnectedPlayerInfos()
98+
public List<PlayerPacket> GetConnectedPlayerPackets()
9999
{
100-
List<PlayerInfo> scores = new List<PlayerInfo>();
101-
scores.AddRange(_connectedPlayers.Values.ToList<PlayerInfo>());
100+
List<PlayerPacket> scores = new List<PlayerPacket>();
101+
scores.AddRange(_connectedPlayers.Values.ToList<PlayerPacket>());
102102
scores.Add(_playerInfo);
103103
return scores;
104104
}
105105

106-
public void UpdatePlayerInfo()
106+
public void UpdatePlayerPacket()
107107
{
108108
_playerInfo.avatarHash = ModelSaberAPI.cachedAvatars.FirstOrDefault(x => x.Value == CustomAvatar.Plugin.Instance.PlayerAvatarManager.GetCurrentAvatar()).Key;
109109
if (_playerInfo.avatarHash == null) _playerInfo.avatarHash = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF";
@@ -146,12 +146,12 @@ public Dictionary<string, float> GetConnectedPlayerDownloadStatus()
146146
connectedPlayerStatus.Add(_playerInfo.playerName, _playerInfo.Ready ? 1f : _playerInfo.playerProgress);
147147
for(int i = 0; i < _connectedPlayers.Count;i++)
148148
{
149-
PlayerInfo info = _connectedPlayers.Values.ToArray()[i];
149+
PlayerPacket info = _connectedPlayers.Values.ToArray()[i];
150150
connectedPlayerStatus.Add(info.playerName, info.Ready ? 1f : info.playerProgress);
151151
}
152152
return connectedPlayerStatus;
153153
}
154-
public void UpsertPlayer(PlayerInfo info)
154+
public void UpsertPlayer(PlayerPacket info)
155155
{
156156
if (info.playerId == _playerInfo.playerId) { return; }
157157
try
@@ -162,7 +162,7 @@ public void UpsertPlayer(PlayerInfo info)
162162
if ((Config.Instance.AvatarsInLobby && Plugin.instance.CurrentScene == "Menu") || (Config.Instance.AvatarsInGame && Plugin.instance.CurrentScene == "GameCore"))
163163
{
164164
AvatarController avatar = new GameObject("AvatarController").AddComponent<AvatarController>();
165-
avatar.SetPlayerInfo(info, new Vector3(0, 0, 0), info.playerId == _playerInfo.playerId);
165+
avatar.SetPlayerPacket(info, new Vector3(0, 0, 0), info.playerId == _playerInfo.playerId);
166166
_connectedPlayerAvatars.Add(info.playerId, avatar);
167167
}
168168
MultiplayerLobby.RefreshScores();
@@ -189,7 +189,7 @@ public void UpsertPlayer(PlayerInfo info)
189189
offset = new Vector3((Array.IndexOf(playerInfosByID, info.playerId) - Array.IndexOf(playerInfosByID, _playerInfo.playerId)) * 2f, 0, Math.Abs((Array.IndexOf(playerInfosByID, info.playerId) - Array.IndexOf(playerInfosByID, _playerInfo.playerId)) * 2.5f));
190190
}
191191

192-
_connectedPlayerAvatars[info.playerId].SetPlayerInfo(info, offset, info.playerId == _playerInfo.playerId);
192+
_connectedPlayerAvatars[info.playerId].SetPlayerPacket(info, offset, info.playerId == _playerInfo.playerId);
193193
}
194194
bool changedReady = (_connectedPlayers[info.playerId].Ready != info.Ready || _connectedPlayers[info.playerId].playerProgress != info.playerProgress);
195195
_connectedPlayers[info.playerId] = info;
@@ -228,12 +228,12 @@ public List<ulong> GetConnectedPlayers()
228228
{
229229
return _connectedPlayers.Keys.ToList();
230230
}
231-
void BroadcastPlayerInfo()
231+
void BroadcastPlayerPacket()
232232
{
233233
try
234234
{
235-
UpdatePlayerInfo();
236-
SteamAPI.SendPlayerInfo(_playerInfo);
235+
UpdatePlayerPacket();
236+
SteamAPI.SendPlayerPacket(_playerInfo);
237237
} catch (Exception e)
238238
{
239239
Data.Logger.Error(e);
@@ -262,7 +262,7 @@ void Update()
262262
if (SteamNetworking.ReadP2PPacket(buffer, size, out bytesRead, out remoteId))
263263
{
264264
var message = Encoding.UTF8.GetString(buffer).Replace(" ", "");
265-
PlayerInfo info = new PlayerInfo(message);
265+
PlayerPacket info = new PlayerPacket(message);
266266
if (info.playerId != SteamAPI.GetUserID() && SteamAPI.getLobbyID().m_SteamID != 0)
267267
{
268268
UpsertPlayer(info);

BeatSaberOnline/Data/PlayerInfo.cs

Lines changed: 0 additions & 136 deletions
This file was deleted.

0 commit comments

Comments
 (0)