Portable Half-Life SDK. GoldSource and Xash3D. Crossplatform.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
a1batross 056db40061 Merge @nekonomicon's fixes (#1) 9 years ago
..
hl Fix build clang. Fix UB. 9 years ago
Android.mk Check +speed value 9 years ago
GameStudioModelRenderer.cpp Fix DLLEXPORT macro and move it's defination to separate file 9 years ago
GameStudioModelRenderer.h Upload first port 9 years ago
GameStudioModelRenderer_Sample.cpp Fix DLLEXPORT macro and move it's defination to separate file 9 years ago
GameStudioModelRenderer_Sample.h Upload first port 9 years ago
MOTD.cpp Improve client 9 years ago
StudioModelRenderer.cpp Merge @nekonomicon's fixes (#1) 9 years ago
StudioModelRenderer.h Upload first port 9 years ago
ammo.cpp Improve client 9 years ago
ammo.h Upload first port 9 years ago
ammo_secondary.cpp Upload first port 9 years ago
ammohistory.cpp Do not draw black console characters 9 years ago
ammohistory.h Upload first port 9 years ago
battery.cpp Upload first port 9 years ago
camera.h Fix build clang. Fix UB. 9 years ago
cdll_int.cpp Fix DLLEXPORT macro and move it's defination to separate file 9 years ago
cl_dll.dsp Upload first port 9 years ago
cl_dll.h Fix DLLEXPORT macro and move it's defination to separate file 9 years ago
cl_util.h Fix build clang. Fix UB. 9 years ago
com_weapons.cpp Upload first port 9 years ago
com_weapons.h Upload first port 9 years ago
death.cpp Fix build clang. Fix UB. 9 years ago
demo.cpp Fix DLLEXPORT macro and move it's defination to separate file 9 years ago
demo.h Upload first port 9 years ago
entity.cpp Fix build clang. Fix UB. 9 years ago
ev_common.cpp Upload first port 9 years ago
ev_hldm.cpp Upload first port 9 years ago
ev_hldm.h Upload first port 9 years ago
events.cpp Upload first port 9 years ago
eventscripts.h Upload first port 9 years ago
flashlight.cpp Mobility interface, flashlight button switch 9 years ago
geiger.cpp Fix build clang. Fix UB. 9 years ago
health.cpp Fix build clang. Fix UB. 9 years ago
health.h Upload first port 9 years ago
hud.cpp Fix build clang. Fix UB. 9 years ago
hud.h Improve client 9 years ago
hud_iface.h Fix DLLEXPORT macro and move it's defination to separate file 9 years ago
hud_msg.cpp Upload first port 9 years ago
hud_redraw.cpp Text print tweak 9 years ago
hud_servers.cpp Upload first port 9 years ago
hud_servers.h Upload first port 9 years ago
hud_servers_priv.h Upload first port 9 years ago
hud_spectator.cpp Rework initialization. 9 years ago
hud_spectator.h Upload first port 9 years ago
hud_update.cpp Upload first port 9 years ago
in_camera.cpp Improve client 9 years ago
in_defs.h Fix mingw 9 years ago
input.cpp Upload first port 9 years ago
input_xash3d.cpp Check +speed value 9 years ago
inputw32.cpp Upload first port 9 years ago
kbutton.h Upload first port 9 years ago
menu.cpp Fix build clang. Fix UB. 9 years ago
message.cpp Fix build clang. Fix UB. 9 years ago
overview.cpp Upload first port 9 years ago
overview.h Upload first port 9 years ago
parsemsg.cpp Upload first port 9 years ago
parsemsg.h Upload first port 9 years ago
readme.txt Upload first port 9 years ago
saytext.cpp Fix build clang. Fix UB. 9 years ago
scoreboard.cpp Fix build clang. Fix UB. 9 years ago
soundsystem.cpp Upload first port 9 years ago
status_icons.cpp Fix build clang. Fix UB. 9 years ago
statusbar.cpp Improve client 9 years ago
studio_util.cpp Upload first port 9 years ago
studio_util.h Upload first port 9 years ago
text_message.cpp Upload first port 9 years ago
tf_defs.h Upload first port 9 years ago
train.cpp Upload first port 9 years ago
tri.cpp Fix DLLEXPORT macro and move it's defination to separate file 9 years ago
util.cpp Upload first port 9 years ago
util_vector.h Apply some valve's fixes 9 years ago
view.cpp Fix build clang. Fix UB. 9 years ago
view.h Upload first port 9 years ago

readme.txt

  client dll readme.txt

-------------------------

This file details the structure of the half-life client dll, and
how it communicates with the half-life game engine.


Engine callback functions:

Drawing functions:
HSPRITE SPR_Load( char *picname );
Loads a sprite into memory, and returns a handle to it.

int SPR_Frames( HSPRITE sprite );
Returns the number of frames stored in the specified sprite.

int SPR_Height( HSPRITE x, int frame )
Returns the height, in pixels, of a sprite at the specified frame.
Returns 0 is the frame number or the sprite handle is invalid.

int SPR_Width( HSPRITE x, int f )
Returns the width, in pixels, of a sprite at the specified frame.
Returns 0 is the frame number or the sprite handle is invalid.

int SPR_Set( HSPRITE sprite, int r, int g, int b );
Prepares a sprite about to be drawn. RBG color values are applied to the sprite at this time.


void SPR_Draw( int frame, int x, int y );
Precondition: SPR_Set has already been called for a sprite.
Draws the currently active sprite to the screen, at position (x,y), where (0,0) is
the top left-hand corner of the screen.


void SPR_DrawHoles( int frame, int x, int y );
Precondition: SPR_Set has already been called for a sprite.
Draws the currently active sprite to the screen. Color index #255 is treated as transparent.

void SPR_DrawAdditive( int frame, int x, int y );
Precondition: SPR_Set has already been called for a sprite.
Draws the currently active sprite to the screen, adding it's color values to the background.

void SPR_EnableScissor( int x, int y, int width, int height );
Creates a clipping rectangle. No pixels will be drawn outside the specified area. Will
stay in effect until either the next frame, or SPR_DisableScissor is called.

void SPR_DisableScissor( void );
Disables the effect of an SPR_EnableScissor call.

int IsHighRes( void );
returns 1 if the res mode is 640x480 or higher; 0 otherwise.

int ScreenWidth( void );
returns the screen width, in pixels.

int ScreenHeight( void );
returns the screen height, in pixels.

// Sound functions
void PlaySound( char *szSound, int volume )
plays the sound 'szSound' at the specified volume. Loads the sound if it hasn't been cached.
If it can't find the sound, it displays an error message and plays no sound.

void PlaySound( int iSound, int volume )
Precondition: iSound has been precached.
Plays the sound, from the precache list.


// Communication functions
void SendClientCmd( char *szCmdString );
sends a command to the server, just as if the client had typed the szCmdString at the console.

char *GetPlayerName( int entity_number );
returns a pointer to a string, that contains the name of the specified client.
Returns NULL if the entity_number is not a client.


DECLARE_MESSAGE(), HOOK_MESSAGE()
These two macros bind the message sending between the entity DLL and the client DLL to
the CHud object.

HOOK_MESSAGE( message_name )
This is used inside CHud::Init(). It calls into the engine to hook that message
from the incoming message stream.
Precondition: There must be a function of name UserMsg_message_name declared
for CHud. Eg, CHud::UserMsg_Health() must be declared if you want to
use HOOK_MESSAGE( Health );

DECLARE_MESSAGE( message_name )
For each HOOK_MESSAGE you must have an equivalent DECLARE_MESSAGE. This creates
a function which passes the hooked messages into the CHud object.


HOOK_COMMAND(), DECLARE_COMMAND()
These two functions declare and hook console commands into the client dll.

HOOK_COMMAND( char *command, command_name )
Whenever the user types the 'command' at the console, the function 'command_name'
will be called.
Precondition: There must be a function of the name UserCmd_command_name declared
for CHud. Eg, CHud::UserMsg_ShowScores() must be declared if you want to
use HOOK_COMMAND( "+showscores", ShowScores );

DECLARE_COMMAND( command_name )
For each HOOK_COMMAND you must have an equivelant DECLARE_COMMAND. This creates
a function which passes the hooked commands into the CHud object.