/*
** Command & Conquer Renegade(tm)
** Copyright 2025 Electronic Arts Inc.
**
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see .
*/
//
// Filename: lanchat.h
// Project: Network.lib, for Commando
// Author: Tom Spencer-Smith
// Date: Dec 1998
// Description: lan chat interface
//
//-----------------------------------------------------------------------------
#if defined(_MSV_VER)
#pragma once
#endif
#ifndef LANCHAT_H
#define LANCHAT_H
#include "win.h"
#include
#include "chatshre.h"
class cPacket;
enum LanMessages {
LAN_MESSAGE_POSITION,
};
//-----------------------------------------------------------------------------
class cLanChat
{
public:
cLanChat(void);
~cLanChat(void);
void Think(void);
void Lan_Packet_Handler(cPacket & packet);
void Go_To_Location(ChatLocationEnum location);
void Accept_Actions(void);
void Refusal_Actions(void);
void Load_Lan_Registry_Keys(void);
void Save_Lan_Registry_Keys(void);
ChatLocationEnum Get_Current_Location(void) {return CurrentLocation;}
void Init_Lan_Protocol_And_Socket(void);
private:
cLanChat(const cLanChat& rhs); // Disallow copy (compile/link time)
cLanChat& operator=(const cLanChat& rhs); // Disallow assignment (compile/link time)
void Send_Position_Broadcast(void);
void Process_Position_Broadcast(cPacket & packet);
SOCKET Socket;
SOCKADDR_IN LocalAddress;
DWORD LastPositionBroadcastTimeMs;
int PositionBroadcastNumber;
ChatLocationEnum CurrentLocation;
static const USHORT LAN_BROADCAST_INTERVAL_MS;
static const USHORT LAN_PORT;
};
#endif // LANCHAT_H