From 3c487c5cd69c53d6fea948643c0a76df03516605 Mon Sep 17 00:00:00 2001 From: Aki Date: Fri, 1 Apr 2022 21:23:39 +0200 Subject: Moved Stars45 to StarsEx --- Stars45/NetLobby.h | 288 ----------------------------------------------------- 1 file changed, 288 deletions(-) delete mode 100644 Stars45/NetLobby.h (limited to 'Stars45/NetLobby.h') diff --git a/Stars45/NetLobby.h b/Stars45/NetLobby.h deleted file mode 100644 index 028e931..0000000 --- a/Stars45/NetLobby.h +++ /dev/null @@ -1,288 +0,0 @@ -/* Starshatter: The Open Source Project - Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors - Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors - Copyright (c) 1997-2006, Destroyer Studios LLC. - - AUTHOR: John DiCamillo - - - OVERVIEW - ======== - Base Class for Multiplayer Game Lobby classes -*/ - -#ifndef NetLobby_h -#define NetLobby_h - -#include "Types.h" -#include "NetLink.h" -#include "List.h" - -#define NET_CAMPAIGN_SHIFT 12 -#define NET_MISSION_MASK 0xfff -#define NET_DISCONNECT_TIME 30 - -// +-------------------------------------------------------------------+ - -class Campaign; -class Mission; -class MissionElement; -class MissionInfo; -class NetCampaignInfo; -class NetChatEntry; -class NetUser; -class NetUnitEntry; -class NetLobbyParam; -class ModInfo; - -// +--------------------------------------------------------------------+ - -class NetLobby -{ -public: - static const char* TYPENAME() { return "NetLobby"; } - - NetLobby(bool temporary = false); - virtual ~NetLobby(); - - virtual bool IsClient() const { return false; } - virtual bool IsServer() const { return false; } - virtual bool IsActive() const { return active; } - - virtual void ExecFrame(); - virtual void Recv(); - virtual void Send(); - virtual int GetLastError() const { return 0; } - - virtual NetUser* FindUserByAddr(const NetAddr& addr); - virtual NetUser* FindUserByName(const char* name); - virtual NetUser* FindUserByNetID(DWORD id); - - virtual void BanUser(NetUser* user); - virtual void AddUser(NetUser* user); - virtual void DelUser(NetUser* user); - virtual bool SetUserHost(NetUser* user, bool host); - virtual int NumUsers(); - virtual NetUser* GetHost(); - virtual bool HasHost(); - virtual bool IsHost() const { return false; } - virtual List& GetUsers(); - - virtual List& GetServerMods(); - - virtual NetUser* GetLocalUser(); - virtual void SetLocalUser(NetUser* user); - - virtual int GetStatus() const { return status; } - virtual void SetStatus(int s) { status = s; } - - virtual void AddChat(NetUser* user, const char* msg, bool route=true); - virtual List& - GetChat(); - virtual void ClearChat(); - virtual void SaveChat() { } - virtual DWORD GetStartTime() const { return start_time; } - - virtual List& - GetCampaigns(); - - virtual void AddUnitMap(MissionElement* elem, int index=0); - virtual List& - GetUnitMap(); - virtual void ClearUnitMap(); - virtual void MapUnit(int n, const char* user, bool lock=false); - virtual void UnmapUnit(const char* user); - virtual bool IsMapped(const char* user); - - virtual Mission* GetSelectedMission() { return mission; } - virtual DWORD GetSelectedMissionID() const { return selected_mission; } - virtual void SelectMission(DWORD id); - - virtual const Text& GetMachineInfo() { return machine_info; } - virtual WORD GetGamePort() { return 0; } - - // actions: - virtual bool Ping(); - virtual void GameStart() { } - virtual void GameStop() { } - virtual DWORD GetLag(); - - // instance management: - static NetLobby* GetInstance(); - static bool IsNetLobbyClient(); - static bool IsNetLobbyServer(); - -protected: - virtual void DoPing(NetPeer* peer, Text msg) { } - virtual void DoServerInfo(NetPeer* peer, Text msg) { } - virtual void DoServerMods(NetPeer* peer, Text msg) { } - virtual void DoLogin(NetPeer* peer, Text msg) { } - virtual void DoLogout(NetPeer* peer, Text msg) { } - virtual void DoAuthUser(NetPeer* peer, Text msg) { } - virtual void DoUserAuth(NetPeer* peer, Text msg) { } - virtual void DoChat(NetPeer* peer, Text msg) { } - virtual void DoUserList(NetPeer* peer, Text msg) { } - virtual void DoBanUser(NetPeer* peer, Text msg) { } - virtual void DoMissionList(NetPeer* peer, Text msg) { } - virtual void DoMissionSelect(NetPeer* peer, Text msg) { } - virtual void DoMissionData(NetPeer* peer, Text msg) { } - virtual void DoUnitList(NetPeer* peer, Text msg) { } - virtual void DoMapUnit(NetPeer* peer, Text msg) { } - virtual void DoGameStart(NetPeer* peer, Text msg) { } - virtual void DoGameStop(NetPeer* peer, Text msg) { } - virtual void DoExit(NetPeer* peer, Text msg) { } - - virtual void ParseMsg(Text msg, List& params); - - NetLink* link; - NetUser* local_user; - List users; - List chat_log; - List campaigns; - List unit_map; - Text machine_info; - List server_mods; - - bool active; - DWORD last_send_time; - DWORD start_time; - DWORD selected_mission; - Mission* mission; - int status; -}; - -// +-------------------------------------------------------------------+ - -class NetLobbyParam -{ -public: - static const char* TYPENAME() { return "NetLobbyParam"; } - - NetLobbyParam(const char* n, const char* v) : name(n), value(v) { } - - int operator == (const NetLobbyParam& p) const { return name == p.name; } - - Text name; - Text value; -}; - -// +-------------------------------------------------------------------+ - -class NetUnitEntry -{ -public: - static const char* TYPENAME() { return "NetUnitEntry"; } - - NetUnitEntry(MissionElement* elem, int index=0); - NetUnitEntry(const char* elem, const char* design, int iff, int index=0); - ~NetUnitEntry(); - - int operator == (const NetUnitEntry& e) const { return (elem == e.elem) && (index == e.index); } - - Text GetDescription() const; - const Text& GetUserName() const { return user; } - const Text& GetElemName() const { return elem; } - const Text& GetDesign() const { return design; } - int GetIFF() const { return iff; } - int GetIndex() const { return index; } - int GetLives() const { return lives; } - int GetIntegrity() const { return hull; } - int GetMissionRole() const { return role; } - bool GetLocked() const { return lock; } - - void SetUserName(const char* u) { user = u; } - void SetElemName(const char* e) { elem = e; } - void SetDesign(const char* d) { design = d; } - void SetIFF(int i) { iff = i; } - void SetIndex(int i) { index = i; } - void SetLives(int i) { lives = i; } - void SetIntegrity(int i) { hull = i; } - void SetMissionRole(int i) { role = i; } - void SetLock(bool l) { lock = l; } - -private: - Text user; - Text elem; - Text design; - int iff; - int index; - int lives; - int hull; - int role; - bool lock; -}; - -// +--------------------------------------------------------------------+ - -class NetServerInfo -{ -public: - static const char* TYPENAME() { return "NetServerInfo"; } - - enum STATUS { OFFLINE, LOBBY, BRIEFING, ACTIVE, DEBRIEFING, PERSISTENT }; - - NetServerInfo(); - - Text name; - Text hostname; - Text password; - Text type; - NetAddr addr; - WORD port; - WORD gameport; - bool save; - - Text version; - Text machine_info; - int nplayers; - int hosted; - int status; - - DWORD ping_time; -}; - -// +--------------------------------------------------------------------+ - -class NetCampaignInfo -{ -public: - static const char* TYPENAME() { return "NetCampaignInfo"; } - - NetCampaignInfo() : id(0) { } - ~NetCampaignInfo() { } - - int id; - Text name; - - List missions; -}; - -// +--------------------------------------------------------------------+ - -enum NET_LOBBY_MESSAGES { - NET_LOBBY_PING = 0x10, - NET_LOBBY_SERVER_INFO, - NET_LOBBY_SERVER_MODS, - NET_LOBBY_LOGIN, - NET_LOBBY_LOGOUT, - NET_LOBBY_CHAT, - NET_LOBBY_USER_LIST, - NET_LOBBY_BAN_USER, - NET_LOBBY_MISSION_LIST, - NET_LOBBY_MISSION_SELECT, - NET_LOBBY_MISSION_DATA, - NET_LOBBY_UNIT_LIST, - NET_LOBBY_MAP_UNIT, - - NET_LOBBY_AUTH_USER, - NET_LOBBY_USER_AUTH, - - NET_LOBBY_GAME_START, - NET_LOBBY_GAME_STOP, - NET_LOBBY_EXIT -}; - -// +--------------------------------------------------------------------+ - -#endif // NetLobby_h - -- cgit v1.1