1 /* -*- Mode: C++; c-basic-offset: 2; tab-width: 2; indent-tabs-mode: nil -*- 2 * 3 * Quadra, an action puzzle game 4 * Copyright (C) 1998-2000 Ludus Design 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 21 #ifndef _HEADER_NET_STUFF 22 #define _HEADER_NET_STUFF 23 24 #include "net.h" 25 #include "overmind.h" 26 27 class Net_starter { 28 class Net_module: public Module { 29 Dword last_video_frame; 30 public: 31 Net_module(); 32 virtual void step(); 33 }; 34 Executor *net_exec; 35 public: 36 Net_starter(); 37 virtual ~Net_starter(); 38 }; 39 40 extern Net_starter* net_starter; 41 42 class Quadra_param: public Net_param { 43 public: 44 virtual int tcpport(); 45 virtual void print_packet(Packet *p2, char *st); 46 virtual Packet *alloc_packet(Word pt); 47 virtual bool is_dispatchable(Net_connection *nc, Packet *p); magic()48 virtual Dword magic() { 49 return ('R'<<24) | ('M'<<16) | ('T'<<8) | ('3'); 50 } 51 virtual void server_deconnect(); 52 virtual void client_connect(Net_connection *adr); 53 virtual void client_deconnect(Net_connection *adr); 54 virtual bool accept_connection(Net_connection *nc); 55 virtual const char *get_motd(); 56 }; 57 58 extern void send_msg(Net_connection *nc, const char *msg, ...); 59 60 #endif 61