Skip to content
Snippets Groups Projects
Select Git revision
  • 385d34e67ec7780d7fb57d2c7e00a78e4e04f56b
  • master default protected
  • skip-empty-gametypes
  • menu-soc-bullshit
  • md2-rollangle
  • titlecard-options
  • pk3-xtra-comm-fix
  • lua-fix
  • starpost-config-additions
  • pictureformats
  • linedef-args
  • dashmode-tweaks
  • next
  • highresscale-continue
  • names-update
  • udmf-next
  • ignore-glsegs
  • more-opengl-fixes
  • fix-mouse-grabbing
  • models-mkii
  • grr-lj
  • SRB2_release_2.2.0
  • SRB2_release_2.1.25
  • SRB2_release_2.1.24
  • SRB2_release_2.1.23
  • SRB2_release_2.1.22
  • SRB2_release_2.1.21
  • SRB2_release_2.1.20
  • SRB2_release_2.1.19
  • SRB2_release_2.1.18
  • td-release-v1.0.0
  • SRB2_release_2.1.17
  • SRB2_release_2.1.16a
  • SRB2_release_2.1.16
  • SRB2_release_2.1.15
  • SRB2_release_2.1.14
  • SRB2_release_2.1.12
  • SRB2_release_2.1.11
  • SRB2_release_2.1.10
  • SRB2_release_2.1.9
  • SRB2_release_2.1.8
41 results

lua_baselib.c

Blame
  • Forked from STJr / SRB2
    Source project has a limited visibility.
    i_net.h 3.45 KiB
    // SONIC ROBO BLAST 2
    //-----------------------------------------------------------------------------
    // Copyright (C) 1993-1996 by id Software, Inc.
    // Copyright (C) 1998-2000 by DooM Legacy Team.
    // Copyright (C) 1999-2014 by Sonic Team Junior.
    //
    // This program is free software distributed under the
    // terms of the GNU General Public License, version 2.
    // See the 'LICENSE' file for more details.
    //-----------------------------------------------------------------------------
    /// \file  i_net.h
    /// \brief System specific network interface stuff.
    
    #ifndef __I_NET__
    #define __I_NET__
    
    #ifdef __GNUG__
    #pragma interface
    #endif
    
    #include "doomdef.h"
    #include "command.h"
    
    /// \brief program net id
    #define DOOMCOM_ID (INT32)0x12345678l
    
    /// \def MAXPACKETLENGTH
    /// For use in a LAN
    #define MAXPACKETLENGTH 1450
    /// \def INETPACKETLENGTH
    ///  For use on the internet
    #define INETPACKETLENGTH 1024
    
    extern INT16 hardware_MAXPACKETLENGTH;
    extern INT32 net_bandwidth; // in byte/s
    
    #if defined(_MSC_VER)
    #pragma pack(1)
    #endif
    
    typedef struct
    {
    	/// Supposed to be DOOMCOM_ID
    	INT32 id;
    
    	/// SRB2 executes an INT32 to execute commands.
    	INT16 intnum;
    	/// Communication between SRB2 and the driver.
    	/// Is CMD_SEND or CMD_GET.
    	INT16 command;
    	/// Is dest for send, set by get (-1 = no packet).
    	INT16 remotenode;
    
    	/// Number of bytes in doomdata to be sent
    	INT16 datalength;
    
    	/// Info common to all nodes.
    	/// Console is always node 0.
    	INT16 numnodes;
    	/// Flag: 1 = no duplication, 2-5 = dup for slow nets.
    	INT16 ticdup;
    	/// Flag: 1 = send a backup tic in every packet.
    	INT16 extratics;
    	/// kind of game
    	INT16 gametype;
    	/// Flag: -1 = new game, 0-5 = load savegame
    	INT16 savegame;
    	/// currect map
    	INT16 map;
    
    	/// Info specific to this node.
    	INT16 consoleplayer;
    	/// Number of "slots": the highest player number in use plus one.
    	INT16 numslots;
    
    	/// The packet data to be sent.
    	char data[MAXPACKETLENGTH];
    } ATTRPACK doomcom_t;
    
    #if defined(_MSC_VER)
    #pragma pack()
    #endif
    
    extern doomcom_t *doomcom;
    
    /**	\brief return packet in doomcom struct
    */
    extern void (*I_NetGet)(void);
    
    /**	\brief ask to driver if there is data waiting
    */
    extern boolean (*I_NetCanGet)(void);
    
    /**	\brief send packet within doomcom struct
    */
    extern void (*I_NetSend)(void);
    
    /**	\brief ask to driver if all is ok to send data now
    */
    extern boolean (*I_NetCanSend)(void);
    
    /**	\brief	close a connection
    
    	\param	nodenum	node to be closed
    
    	\return	void
    
    
    */
    extern void (*I_NetFreeNodenum)(INT32 nodenum);
    
    /**	\brief	open a connection with specified address
    
    	\param	address	address to connect to
    
    	\return	number of node
    
    
    */
    extern SINT8 I_NetMakeNode(const char *address);
    
    /**	\brief	open a connection with specified address and port
    
    	\param	address	address to connect to
    
    	\param	port	port to connect to
    
    	\return	number of node
    
    
    */
    extern SINT8 (*I_NetMakeNodewPort)(const char *address, const char *port);
    
    /**	\brief open connection
    */
    extern boolean (*I_NetOpenSocket)(void);
    
    /**	\brief close all connections no more allow geting any packet
    */
    extern void (*I_NetCloseSocket)(void);
    
    
    extern boolean (*I_Ban) (INT32 node);
    extern void (*I_ClearBans)(void);
    extern const char *(*I_GetNodeAddress) (INT32 node);
    extern const char *(*I_GetBanAddress) (size_t ban);
    extern const char *(*I_GetBanMask) (size_t ban);
    extern boolean (*I_SetBanAddress) (const char *address,const char *mask);
    extern boolean *bannednode;
    
    /// \brief Called by D_SRB2Main to be defined by extern network driver
    boolean I_InitNetwork(void);
    
    #endif