about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--docs/conf/Data/ClassHierarchy.ndbin433 -> 772 bytes
-rw-r--r--docs/conf/Data/ConfigFileInfo.ndbin23 -> 26 bytes
-rw-r--r--docs/conf/Data/FileInfo.nd169
-rw-r--r--docs/conf/Data/ImageFileInfo.ndbin0 -> 8 bytes
-rw-r--r--docs/conf/Data/ImageReferenceTable.ndbin0 -> 8 bytes
-rw-r--r--docs/conf/Data/IndexInfo.ndbin0 -> 192 bytes
-rw-r--r--docs/conf/Data/PreviousMenuState.ndbin1059 -> 1291 bytes
-rw-r--r--docs/conf/Data/PreviousSettings.ndbin102 -> 154 bytes
-rw-r--r--docs/conf/Data/SymbolTable.ndbin35645 -> 51409 bytes
-rw-r--r--docs/conf/Menu.txt37
-rw-r--r--docs/conf/Menu_Backup.txt66
-rw-r--r--docs/output/files/server/gs_common-hpp.html87
-rw-r--r--docs/output/files2/docs/client_time-txt.html39
-rw-r--r--docs/output/files2/docs/prediction-txt.html51
-rw-r--r--docs/output/files2/docs/server_op-txt.html69
-rw-r--r--docs/output/files2/docs/snapshots-txt.html63
-rw-r--r--docs/output/files2/e_if_client-h.html127
-rw-r--r--docs/output/files2/e_if_gfx-h.html139
-rw-r--r--docs/output/files2/e_if_inp-h.html73
-rw-r--r--docs/output/files2/e_if_modc-h.html69
-rw-r--r--docs/output/files2/e_if_mods-h.html71
-rw-r--r--docs/output/files2/e_if_msg-h.html59
-rw-r--r--docs/output/files2/e_if_other-h.html89
-rw-r--r--docs/output/files2/e_if_server-h.html59
-rw-r--r--docs/output/files2/e_if_snd-h.html53
-rw-r--r--docs/output/files2/e_system-h.html183
-rw-r--r--docs/output/index.html1
-rw-r--r--docs/output/index/Classes.html54
-rw-r--r--docs/output/index/Constants.html50
-rw-r--r--docs/output/index/Functions.html42
-rw-r--r--docs/output/index/Functions2.html38
-rw-r--r--docs/output/index/Functions3.html34
-rw-r--r--docs/output/index/Functions4.html46
-rw-r--r--docs/output/index/Functions5.html34
-rw-r--r--docs/output/index/General.html54
-rw-r--r--docs/output/index/General2.html38
-rw-r--r--docs/output/index/General3.html38
-rw-r--r--docs/output/index/General4.html34
-rw-r--r--docs/output/index/General5.html50
-rw-r--r--docs/output/index/General6.html50
-rw-r--r--docs/output/index/Variables.html50
-rw-r--r--docs/output/javascript/main.js836
-rw-r--r--docs/output/javascript/searchdata.js152
-rw-r--r--docs/output/search/ClassesC.html20
-rw-r--r--docs/output/search/ClassesE.html20
-rw-r--r--docs/output/search/ClassesG.html20
-rw-r--r--docs/output/search/ClassesI.html20
-rw-r--r--docs/output/search/ClassesS.html20
-rw-r--r--docs/output/search/ClassesV.html20
-rw-r--r--docs/output/search/ConstantsB.html20
-rw-r--r--docs/output/search/ConstantsC.html20
-rw-r--r--docs/output/search/ConstantsI.html20
-rw-r--r--docs/output/search/ConstantsS.html20
-rw-r--r--docs/output/search/ConstantsT.html20
-rw-r--r--docs/output/search/FunctionsC.html20
-rw-r--r--docs/output/search/FunctionsD.html20
-rw-r--r--docs/output/search/FunctionsF.html20
-rw-r--r--docs/output/search/FunctionsG.html20
-rw-r--r--docs/output/search/FunctionsI.html20
-rw-r--r--docs/output/search/FunctionsM.html20
-rw-r--r--docs/output/search/FunctionsN.html20
-rw-r--r--docs/output/search/FunctionsO.html20
-rw-r--r--docs/output/search/FunctionsR.html20
-rw-r--r--docs/output/search/FunctionsS.html20
-rw-r--r--docs/output/search/FunctionsT.html20
-rw-r--r--docs/output/search/GeneralA.html20
-rw-r--r--docs/output/search/GeneralB.html20
-rw-r--r--docs/output/search/GeneralC.html20
-rw-r--r--docs/output/search/GeneralD.html20
-rw-r--r--docs/output/search/GeneralE.html20
-rw-r--r--docs/output/search/GeneralF.html20
-rw-r--r--docs/output/search/GeneralG.html20
-rw-r--r--docs/output/search/GeneralH.html20
-rw-r--r--docs/output/search/GeneralI.html20
-rw-r--r--docs/output/search/GeneralL.html20
-rw-r--r--docs/output/search/GeneralM.html20
-rw-r--r--docs/output/search/GeneralN.html20
-rw-r--r--docs/output/search/GeneralO.html20
-rw-r--r--docs/output/search/GeneralP.html20
-rw-r--r--docs/output/search/GeneralQ.html20
-rw-r--r--docs/output/search/GeneralR.html20
-rw-r--r--docs/output/search/GeneralS.html20
-rw-r--r--docs/output/search/GeneralT.html20
-rw-r--r--docs/output/search/GeneralU.html20
-rw-r--r--docs/output/search/GeneralV.html20
-rw-r--r--docs/output/search/GeneralW.html20
-rw-r--r--docs/output/search/NoResults.html15
-rw-r--r--docs/output/search/VariablesD.html20
-rw-r--r--docs/output/search/VariablesF.html20
-rw-r--r--docs/output/search/VariablesH.html20
-rw-r--r--docs/output/search/VariablesP.html20
-rw-r--r--docs/output/search/VariablesW.html20
-rw-r--r--docs/output/styles/main.css767
-rw-r--r--src/engine/docs/server_op.txt39
-rw-r--r--src/engine/docs/snapshots.txt58
-rw-r--r--src/engine/e_system.c10
-rw-r--r--src/engine/e_system.h222
-rw-r--r--src/game/server/gs_common.hpp38
-rw-r--r--src/game/server/gs_server.cpp6
99 files changed, 5005 insertions, 214 deletions
diff --git a/docs/conf/Data/ClassHierarchy.nd b/docs/conf/Data/ClassHierarchy.nd
index c541d655..94b7ace1 100644
--- a/docs/conf/Data/ClassHierarchy.nd
+++ b/docs/conf/Data/ClassHierarchy.nd
Binary files differdiff --git a/docs/conf/Data/ConfigFileInfo.nd b/docs/conf/Data/ConfigFileInfo.nd
index 108a0142..cdec66fb 100644
--- a/docs/conf/Data/ConfigFileInfo.nd
+++ b/docs/conf/Data/ConfigFileInfo.nd
Binary files differdiff --git a/docs/conf/Data/FileInfo.nd b/docs/conf/Data/FileInfo.nd
index 119e6c07..54b8834a 100644
--- a/docs/conf/Data/FileInfo.nd
+++ b/docs/conf/Data/FileInfo.nd
@@ -1,51 +1,120 @@
-1.35
+1.4
 C/C++
-/home/kma/code/teewars/trunk/src/engine/e_memheap.h	1197706562	0	/home/kma/code/teewars/trunk/src/engine/e_memheap.h
-/home/kma/code/teewars/trunk/src/engine/client/ec_font.h	1200146774	0	/home/kma/code/teewars/trunk/src/engine/client/ec_font.h
-/home/kma/code/teewars/trunk/src/engine/e_console.c	1200611479	0	/home/kma/code/teewars/trunk/src/engine/e_console.c
-/home/kma/code/teewars/trunk/src/engine/e_if_modc.h	1200740313	1	Client Hooks
-/home/kma/code/teewars/trunk/src/engine/e_protocol.h	1197711693	0	/home/kma/code/teewars/trunk/src/engine/e_protocol.h
-/home/kma/code/teewars/trunk/src/engine/client/ec_inp.c	1200740188	0	/home/kma/code/teewars/trunk/src/engine/client/ec_inp.c
-/home/kma/code/teewars/trunk/src/engine/e_memheap.c	1197707815	0	/home/kma/code/teewars/trunk/src/engine/e_memheap.c
-/home/kma/code/teewars/trunk/src/engine/e_if_snd.h	1200736177	1	Sound
-/home/kma/code/teewars/trunk/src/engine/e_keynames.c	1197706547	0	/home/kma/code/teewars/trunk/src/engine/e_keynames.c
-/home/kma/code/teewars/trunk/src/engine/e_system.h	1197707754	1	/home/kma/code/teewars/trunk/src/engine/e_system.h
-/home/kma/code/teewars/trunk/src/engine/e_if_client.h	1200739934	1	Constants
-/home/kma/code/teewars/trunk/src/engine/e_if_gfx.h	1200736418	1	Structures
-/home/kma/code/teewars/trunk/src/engine/e_server_interface.h	1200739892	0	/home/kma/code/teewars/trunk/src/engine/e_server_interface.h
-/home/kma/code/teewars/trunk/src/engine/e_if_msg.h	1200736131	1	Messaging
-/home/kma/code/teewars/trunk/src/engine/e_msg.c	1200708999	0	/home/kma/code/teewars/trunk/src/engine/e_msg.c
-/home/kma/code/teewars/trunk/src/engine/server/es_server.c	1200709433	0	/home/kma/code/teewars/trunk/src/engine/server/es_server.c
-/home/kma/code/teewars/trunk/src/engine/client/ec_font.c	1200146774	0	/home/kma/code/teewars/trunk/src/engine/client/ec_font.c
-/home/kma/code/teewars/trunk/src/engine/docs/client_time.txt	1200739319	1	Time on the client
-/home/kma/code/teewars/trunk/src/engine/e_engine.c	1200708926	0	/home/kma/code/teewars/trunk/src/engine/e_engine.c
-/home/kma/code/teewars/trunk/src/engine/e_system.c	1200521738	0	/home/kma/code/teewars/trunk/src/engine/e_system.c
-/home/kma/code/teewars/trunk/src/engine/e_snapshot.h	1197707840	0	/home/kma/code/teewars/trunk/src/engine/e_snapshot.h
-/home/kma/code/teewars/trunk/src/engine/e_client_interface.h	1200739926	0	/home/kma/code/teewars/trunk/src/engine/e_client_interface.h
-/home/kma/code/teewars/trunk/src/engine/e_if_mods.h	1200736122	1	Server Hooks
-/home/kma/code/teewars/trunk/src/engine/client/ec_client.c	1200740188	0	/home/kma/code/teewars/trunk/src/engine/client/ec_client.c
-/home/kma/code/teewars/trunk/src/engine/client/ec_srvbrowse.c	1200709484	0	/home/kma/code/teewars/trunk/src/engine/client/ec_srvbrowse.c
-/home/kma/code/teewars/trunk/src/engine/e_detect.h	1197706565	0	/home/kma/code/teewars/trunk/src/engine/e_detect.h
-/home/kma/code/teewars/trunk/src/engine/e_compression.c	1197707819	0	/home/kma/code/teewars/trunk/src/engine/e_compression.c
-/home/kma/code/teewars/trunk/src/engine/e_config.c	1200521738	0	/home/kma/code/teewars/trunk/src/engine/e_config.c
-/home/kma/code/teewars/trunk/src/engine/e_packer.h	1197706544	0	/home/kma/code/teewars/trunk/src/engine/e_packer.h
-/home/kma/code/teewars/trunk/src/engine/e_config_variables.h	1200222141	0	/home/kma/code/teewars/trunk/src/engine/e_config_variables.h
-/home/kma/code/teewars/trunk/src/engine/e_map.c	1200169662	0	/home/kma/code/teewars/trunk/src/engine/e_map.c
-/home/kma/code/teewars/trunk/src/engine/e_if_server.h	1200736134	1	Server Hooks
-/home/kma/code/teewars/trunk/src/engine/e_network.h	1198020654	0	/home/kma/code/teewars/trunk/src/engine/e_network.h
-/home/kma/code/teewars/trunk/src/engine/e_packer.c	1197707860	0	/home/kma/code/teewars/trunk/src/engine/e_packer.c
-/home/kma/code/teewars/trunk/src/engine/e_config.h	1200521738	0	/home/kma/code/teewars/trunk/src/engine/e_config.h
-/home/kma/code/teewars/trunk/src/engine/e_keys.h	1197706560	0	/home/kma/code/teewars/trunk/src/engine/e_keys.h
-/home/kma/code/teewars/trunk/src/engine/docs/prediction.txt	1200739838	1	Prediction
-/home/kma/code/teewars/trunk/src/engine/e_datafile.h	1200146774	0	/home/kma/code/teewars/trunk/src/engine/e_datafile.h
-/home/kma/code/teewars/trunk/src/engine/e_engine.h	1197706566	0	/home/kma/code/teewars/trunk/src/engine/e_engine.h
-/home/kma/code/teewars/trunk/src/engine/e_snapshot.c	1200708962	0	/home/kma/code/teewars/trunk/src/engine/e_snapshot.c
-/home/kma/code/teewars/trunk/src/engine/e_compression.h	1197706556	0	/home/kma/code/teewars/trunk/src/engine/e_compression.h
-/home/kma/code/teewars/trunk/src/engine/e_console.h	1200611479	0	/home/kma/code/teewars/trunk/src/engine/e_console.h
-/home/kma/code/teewars/trunk/src/engine/client/ec_snd.c	1200709488	0	/home/kma/code/teewars/trunk/src/engine/client/ec_snd.c
-/home/kma/code/teewars/trunk/src/engine/e_common_interface.h	1200739880	0	/home/kma/code/teewars/trunk/src/engine/e_common_interface.h
-/home/kma/code/teewars/trunk/src/engine/e_network.c	1198110343	0	/home/kma/code/teewars/trunk/src/engine/e_network.c
-/home/kma/code/teewars/trunk/src/engine/e_if_inp.h	1200740278	1	Input
-/home/kma/code/teewars/trunk/src/engine/e_if_other.h	1200739887	1	Engine Interface
-/home/kma/code/teewars/trunk/src/engine/e_datafile.c	1200747775	0	/home/kma/code/teewars/trunk/src/engine/e_datafile.c
-/home/kma/code/teewars/trunk/src/engine/client/ec_gfx.c	1200709490	0	/home/kma/code/teewars/trunk/src/engine/client/ec_gfx.c
+/home/kma/code/teeworlds/trunk/src/engine/e_if_client.h	1217537461	1	Client Interface
+/home/kma/code/teeworlds/trunk/src/engine/e_keys.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_keys.h
+/home/kma/code/teeworlds/trunk/src/game/g_collision.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_collision.cpp
+/home/kma/code/teeworlds/trunk/src/game/g_version.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_version.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_engine.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_engine.c
+/home/kma/code/teeworlds/trunk/src/engine/e_huffman.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_huffman.h
+/home/kma/code/teeworlds/trunk/src/game/generated/gs_data.hpp	1217543202	0	/home/kma/code/teeworlds/trunk/src/game/generated/gs_data.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_if_modc.h	1217537461	1	Client Hooks
+/home/kma/code/teeworlds/trunk/src/game/g_collision.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_collision.hpp
+/home/kma/code/teeworlds/trunk/src/engine/client/ec_srvbrowse.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/client/ec_srvbrowse.c
+/home/kma/code/teeworlds/trunk/src/engine/e_ringbuffer.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_ringbuffer.c
+/home/kma/code/teeworlds/trunk/src/game/client/gc_map_image.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_map_image.hpp
+/home/kma/code/teeworlds/trunk/src/game/editor/ed_editor.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/editor/ed_editor.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_server_interface.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_server_interface.h
+/home/kma/code/teeworlds/trunk/src/game/client/gc_ui.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_ui.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_compression.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_compression.c
+/home/kma/code/teeworlds/trunk/src/game/g_math.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_math.hpp
+/home/kma/code/teeworlds/trunk/src/game/editor/array.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/editor/array.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_if_msg.h	1217537461	1	Messaging
+/home/kma/code/teeworlds/trunk/src/engine/e_packer.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_packer.c
+/home/kma/code/teeworlds/trunk/src/engine/e_packer.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_packer.h
+/home/kma/code/teeworlds/trunk/src/game/g_mapitems.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_mapitems.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_config.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_config.h
+/home/kma/code/teeworlds/trunk/src/game/editor/ed_io.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/editor/ed_io.cpp
+/home/kma/code/teeworlds/trunk/src/game/client/gc_particles.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_particles.cpp
+/home/kma/code/teeworlds/trunk/src/engine/client/ec_font.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/client/ec_font.h
+/home/kma/code/teeworlds/trunk/src/engine/e_msg.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_msg.c
+/home/kma/code/teeworlds/trunk/src/engine/e_memheap.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_memheap.c
+/home/kma/code/teeworlds/trunk/src/engine/e_compression.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_compression.h
+/home/kma/code/teeworlds/trunk/src/game/generated/createdir.txt	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/generated/createdir.txt
+/home/kma/code/teeworlds/trunk/src/game/server/gs_ent_pickup.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_ent_pickup.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_engine.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_engine.h
+/home/kma/code/teeworlds/trunk/src/game/server/gs_game_tdm.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_game_tdm.cpp
+/home/kma/code/teeworlds/trunk/src/game/generated/gc_data.cpp	1217543361	0	/home/kma/code/teeworlds/trunk/src/game/generated/gc_data.cpp
+/home/kma/code/teeworlds/trunk/src/game/client/gc_client.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_client.hpp
+/home/kma/code/teeworlds/trunk/src/engine/docs/client_time.txt	1217537458	1	Time on the client
+/home/kma/code/teeworlds/trunk/src/engine/e_detect.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_detect.h
+/home/kma/code/teeworlds/trunk/src/game/client/gc_client.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_client.cpp
+/home/kma/code/teeworlds/trunk/src/game/generated/g_protocol.cpp	1217543206	0	/home/kma/code/teeworlds/trunk/src/game/generated/g_protocol.cpp
+/home/kma/code/teeworlds/trunk/src/engine/client/ec_client.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/client/ec_client.c
+/home/kma/code/teeworlds/trunk/src/engine/e_datafile.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_datafile.h
+/home/kma/code/teeworlds/trunk/src/game/g_game.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_game.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_linereader.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_linereader.h
+/home/kma/code/teeworlds/trunk/src/game/g_layers.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_layers.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_if_snd.h	1217537461	1	Sound
+/home/kma/code/teeworlds/trunk/src/game/client/gc_anim.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_anim.hpp
+/home/kma/code/teeworlds/trunk/src/game/generated/gs_data.cpp	1217543202	0	/home/kma/code/teeworlds/trunk/src/game/generated/gs_data.cpp
+/home/kma/code/teeworlds/trunk/src/game/server/gs_game.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_game.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_snapshot.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_snapshot.h
+/home/kma/code/teeworlds/trunk/src/engine/e_client_interface.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_client_interface.h
+/home/kma/code/teeworlds/trunk/src/game/editor/ed_layer_tiles.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/editor/ed_layer_tiles.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_network.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_network.h
+/home/kma/code/teeworlds/trunk/src/engine/e_if_other.h	1217765015	1	Engine Interface
+/home/kma/code/teeworlds/trunk/src/engine/e_config.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_config.c
+/home/kma/code/teeworlds/trunk/src/game/client/gc_console.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_console.hpp
+/home/kma/code/teeworlds/trunk/src/game/server/gs_ent_player.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_ent_player.cpp
+/home/kma/code/teeworlds/trunk/src/game/g_variables.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_variables.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_config_variables.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_config_variables.h
+/home/kma/code/teeworlds/trunk/src/game/client/gc_flow.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_flow.cpp
+/home/kma/code/teeworlds/trunk/src/game/editor/ed_layer_game.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/editor/ed_layer_game.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_keynames.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_keynames.c
+/home/kma/code/teeworlds/trunk/src/game/server/gs_game_ctf.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_game_ctf.cpp
+/home/kma/code/teeworlds/trunk/src/engine/docs/prediction.txt	1217537458	1	Prediction
+/home/kma/code/teeworlds/trunk/src/game/editor/ed_popups.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/editor/ed_popups.cpp
+/home/kma/code/teeworlds/trunk/src/engine/client/ec_font.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/client/ec_font.c
+/home/kma/code/teeworlds/trunk/src/game/client/gc_menu.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_menu.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_map.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_map.c
+/home/kma/code/teeworlds/trunk/src/game/server/gs_common.hpp	1217671618	1	Entity
+/home/kma/code/teeworlds/trunk/src/engine/e_common_interface.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_common_interface.h
+/home/kma/code/teeworlds/trunk/src/game/client/gc_render_obj.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_render_obj.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_if_mods.h	1217537461	1	Server Hooks
+/home/kma/code/teeworlds/trunk/src/engine/e_console.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_console.c
+/home/kma/code/teeworlds/trunk/src/game/client/gc_map_image.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_map_image.cpp
+/home/kma/code/teeworlds/trunk/src/game/client/gc_render_map.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_render_map.cpp
+/home/kma/code/teeworlds/trunk/src/game/server/gs_game_dm.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_game_dm.hpp
+/home/kma/code/teeworlds/trunk/src/game/server/gs_server.cpp	1217593600	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_server.cpp
+/home/kma/code/teeworlds/trunk/src/engine/client/ec_inp.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/client/ec_inp.c
+/home/kma/code/teeworlds/trunk/src/game/server/gs_game_ctf.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_game_ctf.hpp
+/home/kma/code/teeworlds/trunk/src/engine/client/ec_snd.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/client/ec_snd.c
+/home/kma/code/teeworlds/trunk/src/engine/e_if_inp.h	1217537461	1	Input
+/home/kma/code/teeworlds/trunk/src/engine/e_system.c	1217588360	0	/home/kma/code/teeworlds/trunk/src/engine/e_system.c
+/home/kma/code/teeworlds/trunk/src/engine/client/ec_gfx.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/client/ec_gfx.c
+/home/kma/code/teeworlds/trunk/src/engine/server/es_server.c	1217537458	0	/home/kma/code/teeworlds/trunk/src/engine/server/es_server.c
+/home/kma/code/teeworlds/trunk/src/game/g_vmath.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_vmath.hpp
+/home/kma/code/teeworlds/trunk/src/game/g_game.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_game.hpp
+/home/kma/code/teeworlds/trunk/src/game/g_layers.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_layers.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_snapshot.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_snapshot.c
+/home/kma/code/teeworlds/trunk/src/engine/e_system.h	1217671429	1	OS Abstraction
+/home/kma/code/teeworlds/trunk/src/game/client/gc_skin.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_skin.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_linereader.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_linereader.c
+/home/kma/code/teeworlds/trunk/src/engine/docs/snapshots.txt	1217768350	1	Snapshots
+/home/kma/code/teeworlds/trunk/src/game/generated/gc_data.hpp	1217543357	0	/home/kma/code/teeworlds/trunk/src/game/generated/gc_data.hpp
+/home/kma/code/teeworlds/trunk/src/game/generated/nethash.c	1217543205	0	/home/kma/code/teeworlds/trunk/src/game/generated/nethash.c
+/home/kma/code/teeworlds/trunk/src/engine/e_memheap.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_memheap.h
+/home/kma/code/teeworlds/trunk/src/engine/e_console.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_console.h
+/home/kma/code/teeworlds/trunk/src/engine/e_ringbuffer.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_ringbuffer.h
+/home/kma/code/teeworlds/trunk/src/engine/e_network.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_network.c
+/home/kma/code/teeworlds/trunk/src/game/g_tuning.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/g_tuning.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_if_server.h	1217537461	1	Server Interface
+/home/kma/code/teeworlds/trunk/src/game/client/gc_skin.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_skin.hpp
+/home/kma/code/teeworlds/trunk/src/game/client/gc_ui.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_ui.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_if_gfx.h	1217537461	1	Graphics
+/home/kma/code/teeworlds/trunk/src/game/editor/ed_layer_quads.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/editor/ed_layer_quads.cpp
+/home/kma/code/teeworlds/trunk/src/game/server/gs_game_dm.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_game_dm.cpp
+/home/kma/code/teeworlds/trunk/src/game/client/gc_effects.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_effects.cpp
+/home/kma/code/teeworlds/trunk/src/game/generated/g_protocol.hpp	1217543202	0	/home/kma/code/teeworlds/trunk/src/game/generated/g_protocol.hpp
+/home/kma/code/teeworlds/trunk/src/engine/e_protocol.h	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_protocol.h
+/home/kma/code/teeworlds/trunk/src/game/client/gc_render.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_render.hpp
+/home/kma/code/teeworlds/trunk/src/game/client/gc_console.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_console.cpp
+/home/kma/code/teeworlds/trunk/src/engine/e_datafile.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_datafile.c
+/home/kma/code/teeworlds/trunk/src/game/client/gc_menu.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_menu.hpp
+/home/kma/code/teeworlds/trunk/src/engine/server/es_register.c	1217537458	0	/home/kma/code/teeworlds/trunk/src/engine/server/es_register.c
+/home/kma/code/teeworlds/trunk/src/engine/e_huffman.c	1217537461	0	/home/kma/code/teeworlds/trunk/src/engine/e_huffman.c
+/home/kma/code/teeworlds/trunk/src/engine/docs/server_op.txt	1217768956	1	Server Operation
+/home/kma/code/teeworlds/trunk/src/game/client/gc_hooks.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_hooks.cpp
+/home/kma/code/teeworlds/trunk/src/game/editor/ed_editor.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/editor/ed_editor.cpp
+/home/kma/code/teeworlds/trunk/src/game/client/gc_render.cpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/client/gc_render.cpp
+/home/kma/code/teeworlds/trunk/src/game/server/gs_game_tdm.hpp	1217537461	0	/home/kma/code/teeworlds/trunk/src/game/server/gs_game_tdm.hpp
diff --git a/docs/conf/Data/ImageFileInfo.nd b/docs/conf/Data/ImageFileInfo.nd
new file mode 100644
index 00000000..e6ccf0d8
--- /dev/null
+++ b/docs/conf/Data/ImageFileInfo.nd
Binary files differdiff --git a/docs/conf/Data/ImageReferenceTable.nd b/docs/conf/Data/ImageReferenceTable.nd
new file mode 100644
index 00000000..e6ccf0d8
--- /dev/null
+++ b/docs/conf/Data/ImageReferenceTable.nd
Binary files differdiff --git a/docs/conf/Data/IndexInfo.nd b/docs/conf/Data/IndexInfo.nd
new file mode 100644
index 00000000..e4459989
--- /dev/null
+++ b/docs/conf/Data/IndexInfo.nd
Binary files differdiff --git a/docs/conf/Data/PreviousMenuState.nd b/docs/conf/Data/PreviousMenuState.nd
index 1380d18b..1fd599ce 100644
--- a/docs/conf/Data/PreviousMenuState.nd
+++ b/docs/conf/Data/PreviousMenuState.nd
Binary files differdiff --git a/docs/conf/Data/PreviousSettings.nd b/docs/conf/Data/PreviousSettings.nd
index b397c128..7f5fdf3d 100644
--- a/docs/conf/Data/PreviousSettings.nd
+++ b/docs/conf/Data/PreviousSettings.nd
Binary files differdiff --git a/docs/conf/Data/SymbolTable.nd b/docs/conf/Data/SymbolTable.nd
index cc350ee0..eb1b15ba 100644
--- a/docs/conf/Data/SymbolTable.nd
+++ b/docs/conf/Data/SymbolTable.nd
Binary files differdiff --git a/docs/conf/Menu.txt b/docs/conf/Menu.txt
index cce70808..b611b0d8 100644
--- a/docs/conf/Menu.txt
+++ b/docs/conf/Menu.txt
@@ -54,43 +54,46 @@ File: OS Abstraction  (/home/kma/code/teeworlds/trunk/src/engine/e_system.h)
 
 Group: Engine  {
 
-   Group: Overview  {
+   File: Messaging  (/home/kma/code/teeworlds/trunk/src/engine/e_if_msg.h)
 
-      File: Time on the client  (/home/kma/code/teeworlds/trunk/src/engine/docs/client_time.txt)
-      File: Prediction  (/home/kma/code/teeworlds/trunk/src/engine/docs/prediction.txt)
-      }  # Group: Overview
+   Group: Client  {
 
-   Group: Reference  {
+      Group: Overview  {
 
-      Group: Common  {
+         File: Time on the client  (/home/kma/code/teeworlds/trunk/src/engine/docs/client_time.txt)
+         File: Prediction  (/home/kma/code/teeworlds/trunk/src/engine/docs/prediction.txt)
+         File: Snapshots  (/home/kma/code/teeworlds/trunk/src/engine/docs/snapshots.txt)
+         File: Server Operation  (/home/kma/code/teeworlds/trunk/src/engine/docs/server_op.txt)
+         }  # Group: Overview
 
-         File: Engine Interface  (/home/kma/code/teeworlds/trunk/src/engine/e_if_other.h)
-         File: Messaging  (/home/kma/code/teeworlds/trunk/src/engine/e_if_msg.h)
-         }  # Group: Common
-
-      Group: Client  {
+      Group: Reference  {
 
          File: Client Hooks  (/home/kma/code/teeworlds/trunk/src/engine/e_if_modc.h)
          File: Client Interface  (/home/kma/code/teeworlds/trunk/src/engine/e_if_client.h)
+         File: Engine Interface  (/home/kma/code/teeworlds/trunk/src/engine/e_if_other.h)
          File: Graphics  (/home/kma/code/teeworlds/trunk/src/engine/e_if_gfx.h)
          File: Input  (/home/kma/code/teeworlds/trunk/src/engine/e_if_inp.h)
          File: Sound  (/home/kma/code/teeworlds/trunk/src/engine/e_if_snd.h)
-         }  # Group: Client
+         }  # Group: Reference
+
+      }  # Group: Client
+
+   Group: Server  {
 
-      Group: Server  {
+      Group: Reference  {
 
          File: Server Hooks  (/home/kma/code/teeworlds/trunk/src/engine/e_if_mods.h)
          File: Server Interface  (/home/kma/code/teeworlds/trunk/src/engine/e_if_server.h)
-         }  # Group: Server
+         }  # Group: Reference
 
-      }  # Group: Reference
+      }  # Group: Server
 
    }  # Group: Engine
 
-Group: Game Implementation  {
+Group: Game  {
 
    File: Entity  (/home/kma/code/teeworlds/trunk/src/game/server/gs_common.hpp)
-   }  # Group: Game Implementation
+   }  # Group: Game
 
 Group: Index  {
 
diff --git a/docs/conf/Menu_Backup.txt b/docs/conf/Menu_Backup.txt
deleted file mode 100644
index bbd7f561..00000000
--- a/docs/conf/Menu_Backup.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-Format: 1.35
-
-
-# You can add a title and sub-title to your menu like this:
-# Title: [project name]
-# SubTitle: [subtitle]
-
-# You can add a footer to your documentation like this:
-# Footer: [text]
-# If you want to add a copyright notice, this would be the place to do it.
-
-
-# --------------------------------------------------------------------------
-# 
-# Cut and paste the lines below to change the order in which your files
-# appear on the menu.  Don't worry about adding or removing files, Natural
-# Docs will take care of that.
-# 
-# You can further organize the menu by grouping the entries.  Add a
-# "Group: [name] {" line to start a group, and add a "}" to end it.
-# 
-# You can add text and web links to the menu by adding "Text: [text]" and
-# "Link: [name] ([URL])" lines, respectively.
-# 
-# The formatting and comments are auto-generated, so don't worry about
-# neatness when editing the file.  Natural Docs will clean it up the next
-# time it is run.  When working with groups, just deal with the braces and
-# forget about the indentation and comments.
-# 
-# --------------------------------------------------------------------------
-
-
-File: e_system.h  (e_system.h)
-File: Engine Interface  (e_interface.h)
-
-Group: External  {
-
-   Group: Glfw  {
-
-      File: Does this work?  (external/glfw/lib/x11/x11_window.c)
-      File: glfw.h  (external/glfw/include/GL/glfw.h)
-      File: lib/win32/win32_window.c  (external/glfw/lib/win32/win32_window.c)
-      File: Only Linux joystick input is supported at the moment. Other  (external/glfw/lib/x11/x11_joystick.c)
-      File: Some compilers complains about hinst and x never being used -  (external/glfw/lib/win32/win32_dllmain.c)
-      }  # Group: Glfw
-
-   File: pnglite/pnglite.h  (external/pnglite/pnglite.h)
-
-   Group: Portaudio  {
-
-      File: for the default AudioUnit, we could use the  (external/portaudio/pa_mac_core.c)
-      File: make sure this validation list is kept syncronised with the one in  (external/portaudio/pa_front.c)
-      File: this code depends on the sample format constants being in  (external/portaudio/pa_converters.c)
-      }  # Group: Portaudio
-
-   File: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4  (external/zlib/deflate.c)
-   }  # Group: External
-
-Group: Index  {
-
-   Index: Everything
-   File Index: Files
-   Function Index: Functions
-   Variable Index: Variables
-   }  # Group: Index
-
diff --git a/docs/output/files/server/gs_common-hpp.html b/docs/output/files/server/gs_common-hpp.html
new file mode 100644
index 00000000..d633ad4f
--- /dev/null
+++ b/docs/output/files/server/gs_common-hpp.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Entity</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Entity"></a>Entity</h1><div class=CBody><p>Basic entity class.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Entity" >Entity</a></td><td class=SDescription>Basic entity class.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Entity.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Entity.destroy" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">destroy</a></td><td class=SDescription>Destorys the entity.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Entity.reset" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">reset</a></td><td class=SDescription>Called when the game resets the map. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Entity.tick" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">tick</a></td><td class=SDescription>Called progress the entity to the next tick. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Entity.tick_defered" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">tick_defered</a></td><td class=SDescription>Called after all entities tick() function has been called.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Entity.snap" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">snap</a></td><td class=SDescription>Called when a new snapshot is being generated for a specific client.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Entity.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Entity.proximity_radius" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">proximity_radius</a></td><td class=SDescription>Contains the physical size of the entity.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#Entity.pos" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">pos</a></td><td class=SDescription>Contains the current posititon of the entity.</td></tr><tr class="SClass"><td class=SEntry><a href="#Game_World" >Game World</a></td><td class=SDescription>Tracks all entities in the game. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Game_World.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Game_World.find_entities" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">find_entities</a></td><td class=SDescription>Finds entities close to a position and returns them in a list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Game_World.interserct_character" >interserct_character</a></td><td class=SDescription>Finds the closest character that intersects the line.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Game_World.closest_character" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">closest_character</a></td><td class=SDescription>Finds the closest character to a specific point.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Game_World.insert_entity" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">insert_entity</a></td><td class=SDescription>Adds an entity to the world.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Game_World.remove_entity" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">remove_entity</a></td><td class=SDescription>Removes an entity from the world.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Game_World.destroy_entity" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">destroy_entity</a></td><td class=SDescription>Destroys an entity in the world.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Game_World.snap" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">snap</a></td><td class=SDescription>Calls snap on all the entities in the world to create the snapshot.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Game_World.tick" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">tick</a></td><td class=SDescription>Calls tick on all the entities in the world to progress the world to the next tick.</td></tr><tr class="SClass"><td class=SEntry><a href="#Game_Controller" >Game Controller</a></td><td class=SDescription>Controls the main game logic. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Game_Controller.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Game_Controller.on_entity" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">on_entity</a></td><td class=SDescription>Called when the map is loaded to process an entity in the map.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Game_Controller.on_character_spawn" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">on_character_spawn</a></td><td class=SDescription>Called when a character spawns into the game world.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Game_Controller.on_character_death" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">on_character_death</a></td><td class=SDescription>Called when a character in the world dies.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Entity.Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Entity.destroy"></a>destroy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void destroy()</td></tr></table></blockquote><p>Destorys the entity.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Entity.reset"></a>reset</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void reset()</td></tr></table></blockquote><p>Called when the game resets the map.&nbsp; Puts the entity back to it&rsquo;s starting state or perhaps destroys it.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Entity.tick"></a>tick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void tick()</td></tr></table></blockquote><p>Called progress the entity to the next tick.&nbsp; Updates and moves the entity to it&rsquo;s new state and position.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Entity.tick_defered"></a>tick_defered</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void tick_defered()</td></tr></table></blockquote><p>Called after all entities tick() function has been called.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Entity.snap"></a>snap</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual void snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapping_client</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called when a new snapshot is being generated for a specific client.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>snapping_client</td><td class=CDLDescription>ID of the client which snapshot is being generated.&nbsp; Could be -1 to create a complete snapshot of everything in the game for demo recording.</td></tr></table></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Entity.Variables"></a>Variables</h3></div></div>
+
+<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="Entity.proximity_radius"></a>proximity_radius</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float proximity_radius</td></tr></table></blockquote><p>Contains the physical size of the entity.</p></div></div></div>
+
+<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="Entity.pos"></a>pos</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>vec2 pos</td></tr></table></blockquote><p>Contains the current posititon of the entity.</p></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Game_World"></a>Game World</h2><div class=CBody><p>Tracks all entities in the game.&nbsp; Propagates tick and snap calls to all entities.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Game_World.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Game_World.find_entities" id=link18 onMouseOver="ShowTip(event, 'tt8', 'link18')" onMouseOut="HideTip('tt8')">find_entities</a></td><td class=SDescription>Finds entities close to a position and returns them in a list.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Game_World.interserct_character" >interserct_character</a></td><td class=SDescription>Finds the closest character that intersects the line.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Game_World.closest_character" id=link19 onMouseOver="ShowTip(event, 'tt9', 'link19')" onMouseOut="HideTip('tt9')">closest_character</a></td><td class=SDescription>Finds the closest character to a specific point.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Game_World.insert_entity" id=link20 onMouseOver="ShowTip(event, 'tt10', 'link20')" onMouseOut="HideTip('tt10')">insert_entity</a></td><td class=SDescription>Adds an entity to the world.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Game_World.remove_entity" id=link21 onMouseOver="ShowTip(event, 'tt11', 'link21')" onMouseOut="HideTip('tt11')">remove_entity</a></td><td class=SDescription>Removes an entity from the world.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Game_World.destroy_entity" id=link22 onMouseOver="ShowTip(event, 'tt12', 'link22')" onMouseOut="HideTip('tt12')">destroy_entity</a></td><td class=SDescription>Destroys an entity in the world.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Game_World.snap" id=link23 onMouseOver="ShowTip(event, 'tt13', 'link23')" onMouseOut="HideTip('tt13')">snap</a></td><td class=SDescription>Calls snap on all the entities in the world to create the snapshot.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Game_World.tick" id=link24 onMouseOver="ShowTip(event, 'tt14', 'link24')" onMouseOut="HideTip('tt14')">tick</a></td><td class=SDescription>Calls tick on all the entities in the world to progress the world to the next tick.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Game_World.Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_World.find_entities"></a>find_entities</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int find_entities(</td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>pos,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>radius,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>**</td><td class=PParameter nowrap>ents,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>type</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> -1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Finds entities close to a position and returns them in a list.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pos</td><td class=CDLDescription>Position.</td></tr><tr><td class=CDLEntry>radius</td><td class=CDLDescription>How close the entities have to be.</td></tr><tr><td class=CDLEntry>ents</td><td class=CDLDescription>Pointer to a list that should be filled with the pointers to the entities.</td></tr><tr><td class=CDLEntry>max</td><td class=CDLDescription>Number of entities that fits into the ents array.</td></tr><tr><td class=CDLEntry>type</td><td class=CDLDescription>Type of the entities to find.&nbsp; -1 for all types.</td></tr></table><h4 class=CHeading>Returns</h4><p>Number of entities found and added to the ents array.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_World.interserct_character"></a>interserct_character</h3><div class=CBody><p>Finds the closest character that intersects the line.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pos0</td><td class=CDLDescription>Start position</td></tr><tr><td class=CDLEntry>pos2</td><td class=CDLDescription>End position</td></tr><tr><td class=CDLEntry>radius</td><td class=CDLDescription>How for from the line the character is allowed to be.</td></tr><tr><td class=CDLEntry>new_pos</td><td class=CDLDescription>Intersection position</td></tr><tr><td class=CDLEntry>notthis</td><td class=CDLDescription>Entity to ignore intersecting with</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a pointer to the closest hit or NULL of there is no intersection.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_World.closest_character"></a>closest_character</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>class CHARACTER *closest_character(</td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>pos,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>radius,</td></tr><tr><td></td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>notthis</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Finds the closest character to a specific point.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pos</td><td class=CDLDescription>The center position.</td></tr><tr><td class=CDLEntry>radius</td><td class=CDLDescription>How far off the character is allowed to be</td></tr><tr><td class=CDLEntry>notthis</td><td class=CDLDescription>Entity to ignore</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a pointer to the closest character or NULL if no character is close enough.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_World.insert_entity"></a>insert_entity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void insert_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds an entity to the world.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>entity</td><td class=CDLDescription>Entity to add</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_World.remove_entity"></a>remove_entity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void remove_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Removes an entity from the world.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>entity</td><td class=CDLDescription>Entity to remove</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_World.destroy_entity"></a>destroy_entity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void destroy_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Destroys an entity in the world.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>entity</td><td class=CDLDescription>Entity to destroy</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_World.snap"></a>snap</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapping_client</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Calls snap on all the entities in the world to create the snapshot.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>snapping_client</td><td class=CDLDescription>ID of the client which snapshot is being created.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_World.tick"></a>tick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void tick()</td></tr></table></blockquote><p>Calls tick on all the entities in the world to progress the world to the next tick.</p></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Game_Controller"></a>Game Controller</h2><div class=CBody><p>Controls the main game logic.&nbsp; Keeping track of team and player score, winning conditions and specific game logic.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Game_Controller.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Game_Controller.on_entity" id=link25 onMouseOver="ShowTip(event, 'tt15', 'link25')" onMouseOut="HideTip('tt15')">on_entity</a></td><td class=SDescription>Called when the map is loaded to process an entity in the map.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Game_Controller.on_character_spawn" id=link26 onMouseOver="ShowTip(event, 'tt16', 'link26')" onMouseOut="HideTip('tt16')">on_character_spawn</a></td><td class=SDescription>Called when a character spawns into the game world.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Game_Controller.on_character_death" id=link27 onMouseOver="ShowTip(event, 'tt17', 'link27')" onMouseOut="HideTip('tt17')">on_character_death</a></td><td class=SDescription>Called when a character in the world dies.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Game_Controller.Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_Controller.on_entity"></a>on_entity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual bool on_entity(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameter nowrap>pos</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called when the map is loaded to process an entity in the map.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>Entity index.</td></tr><tr><td class=CDLEntry>pos</td><td class=CDLDescription>Where the entity is located in the world.</td></tr></table><h4 class=CHeading>Returns</h4><p>bool?</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_Controller.on_character_spawn"></a>on_character_spawn</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual void on_character_spawn(</td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>CHARACTER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>chr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called when a character spawns into the game world.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>chr</td><td class=CDLDescription>The character that was spawned.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Game_Controller.on_character_death"></a>on_character_death</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual int on_character_death(</td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>CHARACTER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>victim,</td></tr><tr><td></td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>PLAYER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>killer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>weapon</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called when a character in the world dies.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>victim</td><td class=CDLDescription>The character that died.</td></tr><tr><td class=CDLEntry>killer</td><td class=CDLDescription>The player that killed it.</td></tr><tr><td class=CDLEntry>weapon</td><td class=CDLDescription>What weapon that killed it.&nbsp; Can be -1 for undefined weapon when switching team or player suicides.</td></tr></table></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile id=MSelected>Entity</div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([7, 8, 6], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void destroy()</td></tr></table></blockquote>Destorys the entity.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void reset()</td></tr></table></blockquote>Called when the game resets the map. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void tick()</td></tr></table></blockquote>Called progress the entity to the next tick. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void tick_defered()</td></tr></table></blockquote>Called after all entities tick() function has been called.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual void snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapping_client</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a new snapshot is being generated for a specific client.</div></div><div class=CToolTip id="tt6"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float proximity_radius</td></tr></table></blockquote>Contains the physical size of the entity.</div></div><div class=CToolTip id="tt7"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>vec2 pos</td></tr></table></blockquote>Contains the current posititon of the entity.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int find_entities(</td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>pos,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>radius,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>**</td><td class=PParameter nowrap>ents,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>type</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> -1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds entities close to a position and returns them in a list.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>class CHARACTER *closest_character(</td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>pos,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>radius,</td></tr><tr><td></td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>notthis</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds the closest character to a specific point.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void insert_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Adds an entity to the world.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void remove_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Removes an entity from the world.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void destroy_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Destroys an entity in the world.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapping_client</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calls snap on all the entities in the world to create the snapshot.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void tick()</td></tr></table></blockquote>Calls tick on all the entities in the world to progress the world to the next tick.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual bool on_entity(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameter nowrap>pos</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the map is loaded to process an entity in the map.</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual void on_character_spawn(</td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>CHARACTER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>chr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a character spawns into the game world.</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual int on_character_death(</td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>CHARACTER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>victim,</td></tr><tr><td></td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>PLAYER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>killer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>weapon</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a character in the world dies.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/docs/client_time-txt.html b/docs/output/files2/docs/client_time-txt.html
new file mode 100644
index 00000000..ff97b67e
--- /dev/null
+++ b/docs/output/files2/docs/client_time-txt.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Time on the client</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Time_on_the_client"></a>Time on the client</h1><div class=CBody><p>tick, intratick predtick, predintratick</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile id=MSelected>Time on the client</div></div><div class=MEntry><div class=MFile><a href="prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([1, 3, 6, 2], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/docs/prediction-txt.html b/docs/output/files2/docs/prediction-txt.html
new file mode 100644
index 00000000..893064fa
--- /dev/null
+++ b/docs/output/files2/docs/prediction-txt.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Prediction</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Prediction"></a>Prediction</h1><div class=CBody><p>The engine calls <a href="../e_if_modc-h.html#modc_predict" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">modc_predict</a> when reprediction is required.&nbsp; This happens usally when new data has arrived from the server.&nbsp; <a href="../e_if_modc-h.html#modc_predict" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">modc_predict</a> should to prediction from the current snapshot and current snapshot tick (<a href="../e_if_client-h.html#client_tick" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">client_tick</a> + 1) upto and including the tick returned by <a href="../e_if_client-h.html#client_predtick" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">client_predtick</a>.</p><p>Predicted input sent to the server can be retrived by calling <a href="../e_if_client-h.html#client_get_input" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">client_get_input</a> with the corresponding tick that you want the input for.&nbsp; Here is a simple example of how it might look.</p><blockquote><pre>void modc_predict()
+{
+  int tick;
+  prediction_reset();
+
+  for(tick = client_tick()+1; tick &lt;= client_predtick(); tick++)
+  {
+      MY_INPUT *input = (MY_INPUT *)client_get_input();
+      if(input)
+          prediction_apply_input(input);
+      prediction_tick();
+  }
+}</pre></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile id=MSelected>Prediction</div></div><div class=MEntry><div class=MFile><a href="snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([1, 3, 6, 2], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_predict()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tick()</td></tr></table></blockquote>Returns the tick of the current snapshot.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_predtick()</td></tr></table></blockquote>Returns the current predicted tick.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *client_get_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>tick</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/docs/server_op-txt.html b/docs/output/files2/docs/server_op-txt.html
new file mode 100644
index 00000000..aa25fe67
--- /dev/null
+++ b/docs/output/files2/docs/server_op-txt.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Server Operation</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Server_Operation"></a>Server Operation</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Server_Operation" >Server Operation</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Init" >Init</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Running" >Running</a></td><td class=SDescription>Here is an graph over how the server operates on each refresh.</td></tr><tr class="SSection"><td class=SEntry><a href="#Reinit" >Reinit</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Shutdown" >Shutdown</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Init"></a>Init</h2><div class=CBody></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Running"></a>Running</h2><div class=CBody><p>Here is an graph over how the server operates on each refresh.</p><blockquote><pre>load map
+init mod
+
+while running
+    if map change then
+        load new map
+        shutdown mod &lt;mods_shutdown&gt;
+        reset clients to init state
+        init mod &lt;mods_init&gt;
+    end if
+
+    if new tick then
+        call &lt;mods_tick&gt;
+        for each client do
+            create snapshot &lt;mods_snap&gt;
+            send snapshot
+        end for
+    end
+
+    process new network messages
+end while
+
+unload map</pre></blockquote></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Reinit"></a>Reinit</h2><div class=CBody></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Shutdown"></a>Shutdown</h2><div class=CBody></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile id=MSelected>Server Operation</div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([1, 3, 6, 2], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/docs/snapshots-txt.html b/docs/output/files2/docs/snapshots-txt.html
new file mode 100644
index 00000000..9654118a
--- /dev/null
+++ b/docs/output/files2/docs/snapshots-txt.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Snapshots</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Snapshots"></a>Snapshots</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Snapshots" >Snapshots</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Overview" >Overview</a></td><td class=SDescription></td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Definitions" >Definitions</a></td><td class=SDescription></td></tr><tr class="SGeneric SIndent1"><td class=SEntry><a href="#Structure" >Structure</a></td><td class=SDescription>A snapshot contains a series of items. </td></tr><tr class="SSection"><td class=SEntry><a href="#Server_Side" >Server Side</a></td><td class=SDescription></td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Creating" >Creating</a></td><td class=SDescription>Items can be added when <a href="../e_if_mods-h.html#mods_snap" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">mods_snap</a> is called using the <a href="../e_if_other-h.html#snap_new_item" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">snap_new_item</a> function to insert an item to the snapshot. </td></tr><tr class="SSection"><td class=SEntry><a href="#Client_Side" >Client Side</a></td><td class=SDescription></td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Inspection" >Inspection</a></td><td class=SDescription><a href="../e_if_modc-h.html#modc_newsnapshot" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">modc_newsnapshot</a> is called when a new snapshot has arrived for processing. </td></tr><tr class="SGeneric SIndent1"><td class=SEntry><a href="#Rendering" >Rendering</a></td><td class=SDescription>DOCTODO</td></tr><tr class="SSection"><td class=SEntry><a href="#In_depth" >In depth</a></td><td class=SDescription></td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Compression" >Compression</a></td><td class=SDescription>After a snapshot have been created, compression is applyed to reduce the bandwidth. </td></tr><tr class="SGeneric SIndent1"><td class=SEntry><a href="#Interval" >Interval</a></td><td class=SDescription>The interval for how often a client recives a snapshot changes during the course of the connection. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Overview"></a>Overview</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGeneric"><td class=SEntry><a href="#Definitions" >Definitions</a></td><td class=SDescription></td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#Structure" >Structure</a></td><td class=SDescription>A snapshot contains a series of items. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Definitions"></a>Definitions</h3><div class=CBody><ul><li><b>Snapshot</b>.&nbsp; A is a serialized game state from which a client can render the game from.&nbsp; They are sent from the server at a regular interval and is created specificly for each client in order to reduce bandwidth.</li><li><b>Delta Snapshot</b>.&nbsp; A set of data that can be applied to a snapshot in order to create a new snapshot with the updated game state.</li></ul></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Structure"></a>Structure</h3><div class=CBody><p>A snapshot contains a series of items.&nbsp; Each item have a type, id and data.</p><ul><li><b>Type</b>.&nbsp; Type of item.&nbsp; Could be projectile or character for example.</li><li><b>Id</b>.&nbsp; A unique id so the client can identify the item between two snapshots.</li><li><b>Data</b>.&nbsp; A series of 32-bit integers that contains the per item type specific data.</li></ul></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Server_Side"></a>Server Side</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGeneric"><td class=SEntry><a href="#Creating" >Creating</a></td><td class=SDescription>Items can be added when <a href="../e_if_mods-h.html#mods_snap" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">mods_snap</a> is called using the <a href="../e_if_other-h.html#snap_new_item" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt2', 'link5')" onMouseOut="HideTip('tt2')">snap_new_item</a> function to insert an item to the snapshot. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Creating"></a>Creating</h3><div class=CBody><p>Items can be added when <a href="../e_if_mods-h.html#mods_snap" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">mods_snap</a> is called using the <a href="../e_if_other-h.html#snap_new_item" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt2', 'link7')" onMouseOut="HideTip('tt2')">snap_new_item</a> function to insert an item to the snapshot.&nbsp; The server can not inspect the snapshot that is in progress of being created.</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Client_Side"></a>Client Side</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGeneric"><td class=SEntry><a href="#Inspection" >Inspection</a></td><td class=SDescription><a href="../e_if_modc-h.html#modc_newsnapshot" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt3', 'link8')" onMouseOut="HideTip('tt3')">modc_newsnapshot</a> is called when a new snapshot has arrived for processing. </td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#Rendering" >Rendering</a></td><td class=SDescription>DOCTODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Inspection"></a>Inspection</h3><div class=CBody><p><a href="../e_if_modc-h.html#modc_newsnapshot" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt3', 'link9')" onMouseOut="HideTip('tt3')">modc_newsnapshot</a> is called when a new snapshot has arrived for processing.&nbsp; <a href="../e_if_other-h.html#snap_num_items" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt4', 'link10')" onMouseOut="HideTip('tt4')">snap_num_items</a>, <a href="../e_if_other-h.html#snap_get_item" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt5', 'link11')" onMouseOut="HideTip('tt5')">snap_get_item</a> and <a href="../e_if_other-h.html#snap_find_item" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt6', 'link12')" onMouseOut="HideTip('tt6')">snap_find_item</a> can be used to inspect the current and previous snapshot.&nbsp; This can be done anywhere while the client is running and not just in the <a href="../e_if_modc-h.html#modc_newsnapshot" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt3', 'link13')" onMouseOut="HideTip('tt3')">modc_newsnapshot</a> function.&nbsp; The client can also call <a href="../e_if_other-h.html#snap_invalidate_item" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt7', 'link14')" onMouseOut="HideTip('tt7')">snap_invalidate_item</a> if an item contains improper information that could harm the operation of the client.&nbsp; This should however be done in <a href="../e_if_modc-h.html#modc_newsnapshot" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt3', 'link15')" onMouseOut="HideTip('tt3')">modc_newsnapshot</a> to assure that no bad data propagates into the rest of the client.</p></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Rendering"></a>Rendering</h3><div class=CBody><p>DOCTODO</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="In_depth"></a>In depth</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGeneric"><td class=SEntry><a href="#Compression" >Compression</a></td><td class=SDescription>After a snapshot have been created, compression is applyed to reduce the bandwidth. </td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#Interval" >Interval</a></td><td class=SDescription>The interval for how often a client recives a snapshot changes during the course of the connection. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Compression"></a>Compression</h3><div class=CBody><p>After a snapshot have been created, compression is applyed to reduce the bandwidth.&nbsp; There are several steps taken inorder to reduce the size of the size of the snapshot.</p><ul><li><b>Delta</b>.&nbsp; The server looks in a clients backlog of snapshots to find a previous acked snapshot.&nbsp; It then compares the two snapshots and creates a delta snapshot containing the changes from the previous acked snapshot to the new one.</li><li><b>Variable Integers</b>.&nbsp; The delta snapshot which is only consisting of 32-bit integers is then encoded into variable integers similar to UTF-8.&nbsp; Each byte has a bit that tells the decoder that it needs one more byte to decode the 32-bit integer.&nbsp; The first byte also contains a bit for telling the sign of the integer.</li></ul><blockquote><pre>ESDDDDDD EDDDDDDD EDDDDDDD EDDDDDDD</pre></blockquote><blockquote><pre>E = extend
+S = sign
+D = data bit</pre></blockquote><ul><li><b>Huffman</b>.&nbsp; The last step is to compress the buffer with a huffman encoder.&nbsp; It uses a static tree that is weighted towards 0 because it&rsquo;s where most of the data will be because of the delta compression.</li></ul></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Interval"></a>Interval</h3><div class=CBody><p>The interval for how often a client recives a snapshot changes during the course of the connection.&nbsp; There are three different snapshot rates.</p><ul><li><b>Init</b>.&nbsp; 5 snapshots per second.&nbsp; Used when a client is connecting and used until the client has acknowlaged a snapshot.&nbsp; This mechanism is used because the first snapshot because no delta compression can be done.</li><li><b>Full</b>.&nbsp; Snapshot for every tick or every even tick depending on server configuration.&nbsp; This is used during normal gameplay and everything is running smooth.</li><li><b>Recovery</b>.&nbsp; 1 snapshot each second.&nbsp; A client enters recovery rate when it havn&rsquo;t acknowlaged a snapshot over 1 second.&nbsp; This is to let the client to beable to recover if it has a slow connection.</li></ul></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile id=MSelected>Snapshots</div></div><div class=MEntry><div class=MFile><a href="server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([1, 3, 6, 2], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called to create the snapshot for a client.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_new_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new item that should be sent.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_newsnapshot()</td></tr></table></blockquote>Called when the client progressed to a new snapshot.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snap_num_items(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Check the number of items in a snapshot.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>SNAP_ITEM&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>item</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an item from a snapshot.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Searches a snapshot for an item.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_invalidate_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Marks an item as invalid byt setting type and id to 0xffffffff.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_client-h.html b/docs/output/files2/e_if_client-h.html
new file mode 100644
index 00000000..dae39f94
--- /dev/null
+++ b/docs/output/files2/e_if_client-h.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Client Interface</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Client_Interface"></a>Client Interface</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Client_Interface" >Client Interface</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#Client_States" >Client States</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2"><td class=SEntry><a href="#Image_Formats" >Image Formats</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#Texture_Loading_Flags" >Texture Loading Flags</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2"><td class=SEntry><a href="#Server_Browser_Sorting" >Server Browser Sorting</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Structures" >Structures</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#SERVER_INFO_PLAYER" >SERVER_INFO_PLAYER</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#SERVER_INFO" >SERVER_INFO</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Time" >Time</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_tick" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">client_tick</a></td><td class=SDescription>Returns the tick of the current snapshot.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_intratick" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">client_intratick</a></td><td class=SDescription>Returns the current intratick.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_predtick" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">client_predtick</a></td><td class=SDescription>Returns the current predicted tick.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_predintratick" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">client_predintratick</a></td><td class=SDescription>Returns the current preticted intra tick.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_ticktime" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">client_ticktime</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_tickspeed" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">client_tickspeed</a></td><td class=SDescription>Returns how many ticks per second the client is doing.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_frametime" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">client_frametime</a></td><td class=SDescription>Returns how long time the last frame took to process.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_localtime" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">client_localtime</a></td><td class=SDescription>Returns the clients local time.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Server_Browser" >Server Browser</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_serverbrowse_refresh" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">client_serverbrowse_refresh</a></td><td class=SDescription>Issues a refresh of the server browser.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_serverbrowse_sorted_get" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">client_serverbrowse_sorted_get</a></td><td class=SDescription>Returns server info from the sorted list.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_serverbrowse_sorted_num" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">client_serverbrowse_sorted_num</a></td><td class=SDescription>Returns how many servers there are in the sorted list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_serverbrowse_get" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">client_serverbrowse_get</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_serverbrowse_num" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">client_serverbrowse_num</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_serverbrowse_num_requests" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">client_serverbrowse_num_requests</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_serverbrowse_update" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">client_serverbrowse_update</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_serverbrowse_lan" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">client_serverbrowse_lan</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Actions" >Actions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_connect" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">client_connect</a></td><td class=SDescription>Connects to a server at the specified address.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_disconnect" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">client_disconnect</a></td><td class=SDescription>Disconnects from the current server.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_quit" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">client_quit</a></td><td class=SDescription>Tells to client to shutdown.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_rcon" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">client_rcon</a></td><td class=SDescription>Sends a command to the server to execute on it&rsquo;s console.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_rcon_auth" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">client_rcon_auth</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_rcon_authed" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">client_rcon_authed</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Other" >Other</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_get_input" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">client_get_input</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_direct_input" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">client_direct_input</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_error_string" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">client_error_string</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_connection_problems" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">client_connection_problems</a></td><td class=SDescription>Returns 1 if the client is connection problems.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_state" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">client_state</a></td><td class=SDescription>Returns the state of the client.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_mapdownload_amount" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">client_mapdownload_amount</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_mapdownload_totalsize" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">client_mapdownload_totalsize</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#client_save_line" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">client_save_line</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Constants"></a>Constants</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#Client_States" >Client States</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1"><td class=SEntry><a href="#Image_Formats" >Image Formats</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#Texture_Loading_Flags" >Texture Loading Flags</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1"><td class=SEntry><a href="#Server_Browser_Sorting" >Server Browser Sorting</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Constants"></a>Constants</h3></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Client_States"></a>Client States</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="CLIENTSTATE_OFFLINE"></a>CLIENTSTATE_OFFLINE</td><td class=CDLDescription>The client is offline.</td></tr><tr><td class=CDLEntry><a name="CLIENTSTATE_CONNECTING"></a>CLIENTSTATE_CONNECTING</td><td class=CDLDescription>The client is trying to connect to a server.</td></tr><tr><td class=CDLEntry><a name="CLIENTSTATE_LOADING"></a>CLIENTSTATE_LOADING</td><td class=CDLDescription>The client has connected to a server and is loading resources.</td></tr><tr><td class=CDLEntry><a name="CLIENTSTATE_ONLINE"></a>CLIENTSTATE_ONLINE</td><td class=CDLDescription>The client is connected to a server and running the game.</td></tr><tr><td class=CDLEntry><a name="CLIENTSTATE_QUITING"></a>CLIENTSTATE_QUITING</td><td class=CDLDescription>The client is quiting.</td></tr></table></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Image_Formats"></a>Image Formats</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="IMG_AUTO"></a>IMG_AUTO</td><td class=CDLDescription>Lets the engine choose the format.</td></tr><tr><td class=CDLEntry><a name="IMG_RGB"></a>IMG_RGB</td><td class=CDLDescription>8-Bit uncompressed RGB</td></tr><tr><td class=CDLEntry><a name="IMG_RGBA"></a>IMG_RGBA</td><td class=CDLDescription>8-Bit uncompressed RGBA</td></tr><tr><td class=CDLEntry><a name="IMG_ALPHA"></a>IMG_ALPHA</td><td class=CDLDescription>8-Bit uncompressed alpha</td></tr></table></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Texture_Loading_Flags"></a>Texture Loading Flags</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="TEXLOAD_NORESAMPLE"></a>TEXLOAD_NORESAMPLE</td><td class=CDLDescription>Prevents the texture from any resampling</td></tr></table></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Server_Browser_Sorting"></a>Server Browser Sorting</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="BROWSESORT_NAME"></a>BROWSESORT_NAME</td><td class=CDLDescription>Sort by name.</td></tr><tr><td class=CDLEntry><a name="BROWSESORT_PING"></a>BROWSESORT_PING</td><td class=CDLDescription>Sort by ping.</td></tr><tr><td class=CDLEntry><a name="BROWSESORT_MAP"></a>BROWSESORT_MAP</td><td class=CDLDescription>Sort by map</td></tr><tr><td class=CDLEntry><a name="BROWSESORT_GAMETYPE"></a>BROWSESORT_GAMETYPE</td><td class=CDLDescription>Sort by game type.&nbsp; DM, TDM etc.</td></tr><tr><td class=CDLEntry><a name="BROWSESORT_PROGRESSION"></a>BROWSESORT_PROGRESSION</td><td class=CDLDescription>Sort by progression.</td></tr><tr><td class=CDLEntry><a name="BROWSESORT_NUMPLAYERS"></a>BROWSESORT_NUMPLAYERS</td><td class=CDLDescription>Sort after how many players there are on the server.</td></tr></table></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Structures"></a>Structures</h2><div class=CBody></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="SERVER_INFO_PLAYER"></a>SERVER_INFO_PLAYER</h2><div class=CBody></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="SERVER_INFO"></a>SERVER_INFO</h2><div class=CBody></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Functions"></a>Functions</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Time" >Time</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_tick" id=link31 onMouseOver="ShowTip(event, 'tt1', 'link31')" onMouseOut="HideTip('tt1')">client_tick</a></td><td class=SDescription>Returns the tick of the current snapshot.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_intratick" id=link32 onMouseOver="ShowTip(event, 'tt2', 'link32')" onMouseOut="HideTip('tt2')">client_intratick</a></td><td class=SDescription>Returns the current intratick.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_predtick" id=link33 onMouseOver="ShowTip(event, 'tt3', 'link33')" onMouseOut="HideTip('tt3')">client_predtick</a></td><td class=SDescription>Returns the current predicted tick.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_predintratick" id=link34 onMouseOver="ShowTip(event, 'tt4', 'link34')" onMouseOut="HideTip('tt4')">client_predintratick</a></td><td class=SDescription>Returns the current preticted intra tick.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_ticktime" id=link35 onMouseOver="ShowTip(event, 'tt5', 'link35')" onMouseOut="HideTip('tt5')">client_ticktime</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_tickspeed" id=link36 onMouseOver="ShowTip(event, 'tt6', 'link36')" onMouseOut="HideTip('tt6')">client_tickspeed</a></td><td class=SDescription>Returns how many ticks per second the client is doing.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_frametime" id=link37 onMouseOver="ShowTip(event, 'tt7', 'link37')" onMouseOut="HideTip('tt7')">client_frametime</a></td><td class=SDescription>Returns how long time the last frame took to process.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_localtime" id=link38 onMouseOver="ShowTip(event, 'tt8', 'link38')" onMouseOut="HideTip('tt8')">client_localtime</a></td><td class=SDescription>Returns the clients local time.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Server_Browser" >Server Browser</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_serverbrowse_refresh" id=link39 onMouseOver="ShowTip(event, 'tt9', 'link39')" onMouseOut="HideTip('tt9')">client_serverbrowse_refresh</a></td><td class=SDescription>Issues a refresh of the server browser.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_serverbrowse_sorted_get" id=link40 onMouseOver="ShowTip(event, 'tt10', 'link40')" onMouseOut="HideTip('tt10')">client_serverbrowse_sorted_get</a></td><td class=SDescription>Returns server info from the sorted list.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_serverbrowse_sorted_num" id=link41 onMouseOver="ShowTip(event, 'tt11', 'link41')" onMouseOut="HideTip('tt11')">client_serverbrowse_sorted_num</a></td><td class=SDescription>Returns how many servers there are in the sorted list.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_serverbrowse_get" id=link42 onMouseOver="ShowTip(event, 'tt12', 'link42')" onMouseOut="HideTip('tt12')">client_serverbrowse_get</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_serverbrowse_num" id=link43 onMouseOver="ShowTip(event, 'tt13', 'link43')" onMouseOut="HideTip('tt13')">client_serverbrowse_num</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_serverbrowse_num_requests" id=link44 onMouseOver="ShowTip(event, 'tt14', 'link44')" onMouseOut="HideTip('tt14')">client_serverbrowse_num_requests</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_serverbrowse_update" id=link45 onMouseOver="ShowTip(event, 'tt15', 'link45')" onMouseOut="HideTip('tt15')">client_serverbrowse_update</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_serverbrowse_lan" id=link46 onMouseOver="ShowTip(event, 'tt16', 'link46')" onMouseOut="HideTip('tt16')">client_serverbrowse_lan</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup"><td class=SEntry><a href="#Actions" >Actions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_connect" id=link47 onMouseOver="ShowTip(event, 'tt17', 'link47')" onMouseOut="HideTip('tt17')">client_connect</a></td><td class=SDescription>Connects to a server at the specified address.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_disconnect" id=link48 onMouseOver="ShowTip(event, 'tt18', 'link48')" onMouseOut="HideTip('tt18')">client_disconnect</a></td><td class=SDescription>Disconnects from the current server.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_quit" id=link49 onMouseOver="ShowTip(event, 'tt19', 'link49')" onMouseOut="HideTip('tt19')">client_quit</a></td><td class=SDescription>Tells to client to shutdown.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_rcon" id=link50 onMouseOver="ShowTip(event, 'tt20', 'link50')" onMouseOut="HideTip('tt20')">client_rcon</a></td><td class=SDescription>Sends a command to the server to execute on it&rsquo;s console.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_rcon_auth" id=link51 onMouseOver="ShowTip(event, 'tt21', 'link51')" onMouseOut="HideTip('tt21')">client_rcon_auth</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_rcon_authed" id=link52 onMouseOver="ShowTip(event, 'tt22', 'link52')" onMouseOut="HideTip('tt22')">client_rcon_authed</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup"><td class=SEntry><a href="#Other" >Other</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_get_input" id=link53 onMouseOver="ShowTip(event, 'tt23', 'link53')" onMouseOut="HideTip('tt23')">client_get_input</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_direct_input" id=link54 onMouseOver="ShowTip(event, 'tt24', 'link54')" onMouseOut="HideTip('tt24')">client_direct_input</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_error_string" id=link55 onMouseOver="ShowTip(event, 'tt25', 'link55')" onMouseOut="HideTip('tt25')">client_error_string</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_connection_problems" id=link56 onMouseOver="ShowTip(event, 'tt26', 'link56')" onMouseOut="HideTip('tt26')">client_connection_problems</a></td><td class=SDescription>Returns 1 if the client is connection problems.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_state" id=link57 onMouseOver="ShowTip(event, 'tt27', 'link57')" onMouseOut="HideTip('tt27')">client_state</a></td><td class=SDescription>Returns the state of the client.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_mapdownload_amount" id=link58 onMouseOver="ShowTip(event, 'tt28', 'link58')" onMouseOut="HideTip('tt28')">client_mapdownload_amount</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_mapdownload_totalsize" id=link59 onMouseOver="ShowTip(event, 'tt29', 'link59')" onMouseOut="HideTip('tt29')">client_mapdownload_totalsize</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#client_save_line" id=link60 onMouseOver="ShowTip(event, 'tt30', 'link60')" onMouseOut="HideTip('tt30')">client_save_line</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Time"></a>Time</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_tick"></a>client_tick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tick()</td></tr></table></blockquote><p>Returns the tick of the current snapshot.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_intratick"></a>client_intratick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_intratick()</td></tr></table></blockquote><p>Returns the current intratick.</p><h4 class=CHeading>Remarks</h4><p>The intratick is how far gone the time is from the previous snapshot to the current.&nbsp; 0.0 means that it on the previous snapshot.&nbsp; 0.5 means that it&rsquo;s halfway to the current, and 1.0 means that it is on the current snapshot.&nbsp; It can go beyond 1.0 which means that the client has started to extrapolate due to lack of data from the server.</p><h4 class=CHeading>See Also</h4><p><a href="#client_tick" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt1', 'link61')" onMouseOut="HideTip('tt1')">client_tick</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_predtick"></a>client_predtick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_predtick()</td></tr></table></blockquote><p>Returns the current predicted tick.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_predintratick"></a>client_predintratick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_predintratick()</td></tr></table></blockquote><p>Returns the current preticted intra tick.</p><h4 class=CHeading>Remarks</h4><p>This is the same as <a href="#client_intratick" class=LFunction id=link62 onMouseOver="ShowTip(event, 'tt2', 'link62')" onMouseOut="HideTip('tt2')">client_intratick</a> but for the current predicted tick and previous predicted tick.</p><h4 class=CHeading>See Also</h4><p><a href="#client_intratick" class=LFunction id=link63 onMouseOver="ShowTip(event, 'tt2', 'link63')" onMouseOut="HideTip('tt2')">client_intratick</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_ticktime"></a>client_ticktime</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_ticktime()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_tickspeed"></a>client_tickspeed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tickspeed()</td></tr></table></blockquote><p>Returns how many ticks per second the client is doing.</p><h4 class=CHeading>Remarks</h4><p>This will be the same as the server tick speed.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_frametime"></a>client_frametime</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_frametime()</td></tr></table></blockquote><p>Returns how long time the last frame took to process.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_localtime"></a>client_localtime</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_localtime()</td></tr></table></blockquote><p>Returns the clients local time.</p><h4 class=CHeading>Remarks</h4><p>The local time is set to 0 when the client starts and when it connects to a server.&nbsp; Can be used for client side effects.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Server_Browser"></a>Server Browser</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_serverbrowse_refresh"></a>client_serverbrowse_refresh</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_serverbrowse_refresh(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>lan</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Issues a refresh of the server browser.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>lan</td><td class=CDLDescription>Tells the function if it should do a LAN listing or an Internet listing.</td></tr></table><h4 class=CHeading>Remarks</h4><p>This will cause a broadcast on the local network if the lan argument is set.&nbsp; Otherwise it call ask all the master servers for their servers lists.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_serverbrowse_sorted_get"></a>client_serverbrowse_sorted_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>SERVER_INFO *client_serverbrowse_sorted_get(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns server info from the sorted list.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>Zero based index into the sorted list.</td></tr></table><h4 class=CHeading>See Also</h4><p><a href="#client_serverbrowse_sorted_num" class=LFunction id=link64 onMouseOver="ShowTip(event, 'tt11', 'link64')" onMouseOut="HideTip('tt11')">client_serverbrowse_sorted_num</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_serverbrowse_sorted_num"></a>client_serverbrowse_sorted_num</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_sorted_num()</td></tr></table></blockquote><p>Returns how many servers there are in the sorted list.</p><h4 class=CHeading>See Also</h4><p><a href="#client_serverbrowse_sorted_get" class=LFunction id=link65 onMouseOver="ShowTip(event, 'tt10', 'link65')" onMouseOut="HideTip('tt10')">client_serverbrowse_sorted_get</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_serverbrowse_get"></a>client_serverbrowse_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>SERVER_INFO *client_serverbrowse_get(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_serverbrowse_num"></a>client_serverbrowse_num</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_num()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_serverbrowse_num_requests"></a>client_serverbrowse_num_requests</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_num_requests()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_serverbrowse_update"></a>client_serverbrowse_update</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_serverbrowse_update()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_serverbrowse_lan"></a>client_serverbrowse_lan</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_lan()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Actions"></a>Actions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_connect"></a>client_connect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_connect(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>address</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Connects to a server at the specified address.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>address</td><td class=CDLDescription>Address of the server to connect to.</td></tr></table><h4 class=CHeading>See Also</h4><p><a href="#client_disconnect" class=LFunction id=link66 onMouseOver="ShowTip(event, 'tt18', 'link66')" onMouseOut="HideTip('tt18')">client_disconnect</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_disconnect"></a>client_disconnect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_disconnect()</td></tr></table></blockquote><p>Disconnects from the current server.</p><h4 class=CHeading>Remarks</h4><p>Does nothing if not connected to a server.</p><h4 class=CHeading>See Also</h4><p>&lt;client_connect, client_quit&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_quit"></a>client_quit</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_quit()</td></tr></table></blockquote><p>Tells to client to shutdown.</p><h4 class=CHeading>See Also</h4><p><a href="#client_disconnect" class=LFunction id=link67 onMouseOver="ShowTip(event, 'tt18', 'link67')" onMouseOut="HideTip('tt18')">client_disconnect</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_rcon"></a>client_rcon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_rcon(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>cmd</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends a command to the server to execute on it&rsquo;s console.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cmd</td><td class=CDLDescription>The command to send.</td></tr></table><h4 class=CHeading>Remarks</h4><p>The client must have the correct rcon password to connect.</p><h4 class=CHeading>See Also</h4><p>&lt;client_rcon_auth, client_rcon_authed&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_rcon_auth"></a>client_rcon_auth</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_rcon_auth(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>name,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>password</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;client_rcon, client_rcon_authed&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_rcon_authed"></a>client_rcon_authed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_rcon_authed()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;client_rcon, client_rcon_auth&gt;</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Other"></a>Other</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_get_input"></a>client_get_input</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *client_get_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>tick</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_direct_input"></a>client_direct_input</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_direct_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_error_string"></a>client_error_string</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *client_error_string()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_connection_problems"></a>client_connection_problems</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_connection_problems()</td></tr></table></blockquote><p>Returns 1 if the client is connection problems.</p><h4 class=CHeading>Remarks</h4><p>Connections problems usually means that the client havn&rsquo;t recvived any data from the server in a while.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_state"></a>client_state</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_state()</td></tr></table></blockquote><p>Returns the state of the client.</p><h4 class=CHeading>See Also</h4><p><a href="#Client_States" class=LConstant >Client States</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_mapdownload_amount"></a>client_mapdownload_amount</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_mapdownload_amount()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_mapdownload_totalsize"></a>client_mapdownload_totalsize</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_mapdownload_totalsize()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_save_line"></a>client_save_line</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_save_line(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>line</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile id=MSelected>Client Interface</div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([2, 3, 6, 1], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tick()</td></tr></table></blockquote>Returns the tick of the current snapshot.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_intratick()</td></tr></table></blockquote>Returns the current intratick.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_predtick()</td></tr></table></blockquote>Returns the current predicted tick.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_predintratick()</td></tr></table></blockquote>Returns the current preticted intra tick.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_ticktime()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tickspeed()</td></tr></table></blockquote>Returns how many ticks per second the client is doing.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_frametime()</td></tr></table></blockquote>Returns how long time the last frame took to process.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_localtime()</td></tr></table></blockquote>Returns the clients local time.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_serverbrowse_refresh(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>lan</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Issues a refresh of the server browser.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>SERVER_INFO *client_serverbrowse_sorted_get(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns server info from the sorted list.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_sorted_num()</td></tr></table></blockquote>Returns how many servers there are in the sorted list.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>SERVER_INFO *client_serverbrowse_get(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_num()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_num_requests()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_serverbrowse_update()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_lan()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_connect(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>address</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Connects to a server at the specified address.</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_disconnect()</td></tr></table></blockquote>Disconnects from the current server.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_quit()</td></tr></table></blockquote>Tells to client to shutdown.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_rcon(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>cmd</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a command to the server to execute on it&rsquo;s console.</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_rcon_auth(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>name,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>password</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_rcon_authed()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *client_get_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>tick</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_direct_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *client_error_string()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_connection_problems()</td></tr></table></blockquote>Returns 1 if the client is connection problems.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_state()</td></tr></table></blockquote>Returns the state of the client.</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_mapdownload_amount()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_mapdownload_totalsize()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_save_line(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>line</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_gfx-h.html b/docs/output/files2/e_if_gfx-h.html
new file mode 100644
index 00000000..70842f57
--- /dev/null
+++ b/docs/output/files2/e_if_gfx-h.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Graphics</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Graphics"></a>Graphics</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Graphics" >Graphics</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Structures" >Structures</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#IMAGE_INFO" >IMAGE_INFO</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#IMAGE_INFO.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#IMAGE_INFO.width" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">width</a></td><td class=SDescription>Contains the width of the image</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#IMAGE_INFO.height" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">height</a></td><td class=SDescription>Contains the height of the image</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#IMAGE_INFO.format" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">format</a></td><td class=SDescription>Contains the format of the image. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#IMAGE_INFO.data" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">data</a></td><td class=SDescription>Pointer to the image data.</td></tr><tr class="SClass"><td class=SEntry><a href="#VIDEO_MODE" >VIDEO_MODE</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Quads" >Quads</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_quads_begin" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a></td><td class=SDescription>Begins a quad drawing session.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_quads_end" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">gfx_quads_end</a></td><td class=SDescription>Ends a quad session.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_quads_setrotation" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">gfx_quads_setrotation</a></td><td class=SDescription>Sets the rotation to use when drawing a quad.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_quads_setsubset" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">gfx_quads_setsubset</a></td><td class=SDescription>Sets the uv coordinates to use.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_quads_setsubset_free" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">gfx_quads_setsubset_free</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_quads_drawTL" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">gfx_quads_drawTL</a></td><td class=SDescription>Draws a quad by specifying the top-left point.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_quads_draw" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">gfx_quads_draw</a></td><td class=SDescription>Draws a quad by specifying the center point.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_quads_draw_freeform" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">gfx_quads_draw_freeform</a></td><td class=SDescription>Draws a quad by specifying the corner points.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_quads_text" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">gfx_quads_text</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Lines" >Lines</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_lines_begin" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">gfx_lines_begin</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_lines_draw" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">gfx_lines_draw</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_lines_end" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">gfx_lines_end</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Text" >Text</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_text" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">gfx_text</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_text_width" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">gfx_text_width</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_text_color" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">gfx_text_color</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_text_set_default_font" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">gfx_text_set_default_font</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Other" >Other</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_get_video_modes" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">gfx_get_video_modes</a></td><td class=SDescription>Fetches a list of all the available video modes.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_load_png" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">gfx_load_png</a></td><td class=SDescription>Loads a PNG image from disk.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_load_texture" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">gfx_load_texture</a></td><td class=SDescription>Loads a texture from a file. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_load_texture_raw" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">gfx_load_texture_raw</a></td><td class=SDescription>Loads a texture from memory.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_texture_set" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">gfx_texture_set</a></td><td class=SDescription>Sets the active texture.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_unload_texture" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">gfx_unload_texture</a></td><td class=SDescription>Unloads a texture.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_clear" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">gfx_clear</a></td><td class=SDescription>Clears the screen with the specified color.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_screenaspect" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">gfx_screenaspect</a></td><td class=SDescription>Returns the aspect ratio between width and height.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_screenwidth" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">gfx_screenwidth</a></td><td class=SDescription>Returns the screen width.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_screenheight" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">gfx_screenheight</a></td><td class=SDescription>Returns the screen height.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_mapscreen" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')">gfx_mapscreen</a></td><td class=SDescription>Specifies the coordinate system for the screen.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_blend_normal" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')">gfx_blend_normal</a></td><td class=SDescription>Set the active blending mode to normal (src, 1-src).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_blend_additive" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')">gfx_blend_additive</a></td><td class=SDescription>Set the active blending mode to additive (src, one).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_blend_none" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')">gfx_blend_none</a></td><td class=SDescription>Disables blending</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_setcolorvertex" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')">gfx_setcolorvertex</a></td><td class=SDescription>Sets the color of a vertex.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_setcolor" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')">gfx_setcolor</a></td><td class=SDescription>Sets the color of all the vertices.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_getscreen" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')">gfx_getscreen</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_memory_usage" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')">gfx_memory_usage</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_screenshot" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')">gfx_screenshot</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gfx_clip_enable" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')">gfx_clip_enable</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gfx_clip_disable" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')">gfx_clip_disable</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Structures"></a>Structures</h2><div class=CBody></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="IMAGE_INFO"></a>IMAGE_INFO</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#IMAGE_INFO.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#IMAGE_INFO.width" id=link42 onMouseOver="ShowTip(event, 'tt1', 'link42')" onMouseOut="HideTip('tt1')">width</a></td><td class=SDescription>Contains the width of the image</td></tr><tr class="SVariable SIndent1"><td class=SEntry><a href="#IMAGE_INFO.height" id=link43 onMouseOver="ShowTip(event, 'tt2', 'link43')" onMouseOut="HideTip('tt2')">height</a></td><td class=SDescription>Contains the height of the image</td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#IMAGE_INFO.format" id=link44 onMouseOver="ShowTip(event, 'tt3', 'link44')" onMouseOut="HideTip('tt3')">format</a></td><td class=SDescription>Contains the format of the image. </td></tr><tr class="SVariable SIndent1"><td class=SEntry><a href="#IMAGE_INFO.data" id=link45 onMouseOver="ShowTip(event, 'tt4', 'link45')" onMouseOut="HideTip('tt4')">data</a></td><td class=SDescription>Pointer to the image data.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="IMAGE_INFO.Variables"></a>Variables</h3></div></div>
+
+<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="IMAGE_INFO.width"></a>width</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int width</td></tr></table></blockquote><p>Contains the width of the image</p></div></div></div>
+
+<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="IMAGE_INFO.height"></a>height</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int height</td></tr></table></blockquote><p>Contains the height of the image</p></div></div></div>
+
+<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="IMAGE_INFO.format"></a>format</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int format</td></tr></table></blockquote><p>Contains the format of the image.&nbsp; See <a href="e_if_client-h.html#Image_Formats" class=LConstant >Image Formats</a> for more information.</p></div></div></div>
+
+<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="IMAGE_INFO.data"></a>data</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void *data</td></tr></table></blockquote><p>Pointer to the image data.</p></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="VIDEO_MODE"></a>VIDEO_MODE</h2><div class=CBody></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Functions"></a>Functions</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Quads" >Quads</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_quads_begin" id=link46 onMouseOver="ShowTip(event, 'tt5', 'link46')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a></td><td class=SDescription>Begins a quad drawing session.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_quads_end" id=link47 onMouseOver="ShowTip(event, 'tt6', 'link47')" onMouseOut="HideTip('tt6')">gfx_quads_end</a></td><td class=SDescription>Ends a quad session.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_quads_setrotation" id=link48 onMouseOver="ShowTip(event, 'tt7', 'link48')" onMouseOut="HideTip('tt7')">gfx_quads_setrotation</a></td><td class=SDescription>Sets the rotation to use when drawing a quad.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_quads_setsubset" id=link49 onMouseOver="ShowTip(event, 'tt8', 'link49')" onMouseOut="HideTip('tt8')">gfx_quads_setsubset</a></td><td class=SDescription>Sets the uv coordinates to use.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_quads_setsubset_free" id=link50 onMouseOver="ShowTip(event, 'tt9', 'link50')" onMouseOut="HideTip('tt9')">gfx_quads_setsubset_free</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_quads_drawTL" id=link51 onMouseOver="ShowTip(event, 'tt10', 'link51')" onMouseOut="HideTip('tt10')">gfx_quads_drawTL</a></td><td class=SDescription>Draws a quad by specifying the top-left point.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_quads_draw" id=link52 onMouseOver="ShowTip(event, 'tt11', 'link52')" onMouseOut="HideTip('tt11')">gfx_quads_draw</a></td><td class=SDescription>Draws a quad by specifying the center point.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_quads_draw_freeform" id=link53 onMouseOver="ShowTip(event, 'tt12', 'link53')" onMouseOut="HideTip('tt12')">gfx_quads_draw_freeform</a></td><td class=SDescription>Draws a quad by specifying the corner points.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_quads_text" id=link54 onMouseOver="ShowTip(event, 'tt13', 'link54')" onMouseOut="HideTip('tt13')">gfx_quads_text</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup"><td class=SEntry><a href="#Lines" >Lines</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_lines_begin" id=link55 onMouseOver="ShowTip(event, 'tt14', 'link55')" onMouseOut="HideTip('tt14')">gfx_lines_begin</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_lines_draw" id=link56 onMouseOver="ShowTip(event, 'tt15', 'link56')" onMouseOut="HideTip('tt15')">gfx_lines_draw</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_lines_end" id=link57 onMouseOver="ShowTip(event, 'tt16', 'link57')" onMouseOut="HideTip('tt16')">gfx_lines_end</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup"><td class=SEntry><a href="#Text" >Text</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_text" id=link58 onMouseOver="ShowTip(event, 'tt17', 'link58')" onMouseOut="HideTip('tt17')">gfx_text</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_text_width" id=link59 onMouseOver="ShowTip(event, 'tt18', 'link59')" onMouseOut="HideTip('tt18')">gfx_text_width</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_text_color" id=link60 onMouseOver="ShowTip(event, 'tt19', 'link60')" onMouseOut="HideTip('tt19')">gfx_text_color</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_text_set_default_font" id=link61 onMouseOver="ShowTip(event, 'tt20', 'link61')" onMouseOut="HideTip('tt20')">gfx_text_set_default_font</a></td><td class=SDescription>TODO</td></tr><tr class="SGroup"><td class=SEntry><a href="#Other" >Other</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_get_video_modes" id=link62 onMouseOver="ShowTip(event, 'tt21', 'link62')" onMouseOut="HideTip('tt21')">gfx_get_video_modes</a></td><td class=SDescription>Fetches a list of all the available video modes.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_load_png" id=link63 onMouseOver="ShowTip(event, 'tt22', 'link63')" onMouseOut="HideTip('tt22')">gfx_load_png</a></td><td class=SDescription>Loads a PNG image from disk.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_load_texture" id=link64 onMouseOver="ShowTip(event, 'tt23', 'link64')" onMouseOut="HideTip('tt23')">gfx_load_texture</a></td><td class=SDescription>Loads a texture from a file. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_load_texture_raw" id=link65 onMouseOver="ShowTip(event, 'tt24', 'link65')" onMouseOut="HideTip('tt24')">gfx_load_texture_raw</a></td><td class=SDescription>Loads a texture from memory.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_texture_set" id=link66 onMouseOver="ShowTip(event, 'tt25', 'link66')" onMouseOut="HideTip('tt25')">gfx_texture_set</a></td><td class=SDescription>Sets the active texture.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_unload_texture" id=link67 onMouseOver="ShowTip(event, 'tt26', 'link67')" onMouseOut="HideTip('tt26')">gfx_unload_texture</a></td><td class=SDescription>Unloads a texture.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_clear" id=link68 onMouseOver="ShowTip(event, 'tt27', 'link68')" onMouseOut="HideTip('tt27')">gfx_clear</a></td><td class=SDescription>Clears the screen with the specified color.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_screenaspect" id=link69 onMouseOver="ShowTip(event, 'tt28', 'link69')" onMouseOut="HideTip('tt28')">gfx_screenaspect</a></td><td class=SDescription>Returns the aspect ratio between width and height.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_screenwidth" id=link70 onMouseOver="ShowTip(event, 'tt29', 'link70')" onMouseOut="HideTip('tt29')">gfx_screenwidth</a></td><td class=SDescription>Returns the screen width.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_screenheight" id=link71 onMouseOver="ShowTip(event, 'tt30', 'link71')" onMouseOut="HideTip('tt30')">gfx_screenheight</a></td><td class=SDescription>Returns the screen height.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_mapscreen" id=link72 onMouseOver="ShowTip(event, 'tt31', 'link72')" onMouseOut="HideTip('tt31')">gfx_mapscreen</a></td><td class=SDescription>Specifies the coordinate system for the screen.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_blend_normal" id=link73 onMouseOver="ShowTip(event, 'tt32', 'link73')" onMouseOut="HideTip('tt32')">gfx_blend_normal</a></td><td class=SDescription>Set the active blending mode to normal (src, 1-src).</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_blend_additive" id=link74 onMouseOver="ShowTip(event, 'tt33', 'link74')" onMouseOut="HideTip('tt33')">gfx_blend_additive</a></td><td class=SDescription>Set the active blending mode to additive (src, one).</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_blend_none" id=link75 onMouseOver="ShowTip(event, 'tt34', 'link75')" onMouseOut="HideTip('tt34')">gfx_blend_none</a></td><td class=SDescription>Disables blending</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_setcolorvertex" id=link76 onMouseOver="ShowTip(event, 'tt35', 'link76')" onMouseOut="HideTip('tt35')">gfx_setcolorvertex</a></td><td class=SDescription>Sets the color of a vertex.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_setcolor" id=link77 onMouseOver="ShowTip(event, 'tt36', 'link77')" onMouseOut="HideTip('tt36')">gfx_setcolor</a></td><td class=SDescription>Sets the color of all the vertices.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_getscreen" id=link78 onMouseOver="ShowTip(event, 'tt37', 'link78')" onMouseOut="HideTip('tt37')">gfx_getscreen</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_memory_usage" id=link79 onMouseOver="ShowTip(event, 'tt38', 'link79')" onMouseOut="HideTip('tt38')">gfx_memory_usage</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_screenshot" id=link80 onMouseOver="ShowTip(event, 'tt39', 'link80')" onMouseOut="HideTip('tt39')">gfx_screenshot</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gfx_clip_enable" id=link81 onMouseOver="ShowTip(event, 'tt40', 'link81')" onMouseOut="HideTip('tt40')">gfx_clip_enable</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gfx_clip_disable" id=link82 onMouseOver="ShowTip(event, 'tt41', 'link82')" onMouseOut="HideTip('tt41')">gfx_clip_disable</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Quads"></a>Quads</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_begin"></a>gfx_quads_begin</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_quads_begin()</td></tr></table></blockquote><p>Begins a quad drawing session.</p><h4 class=CHeading>Remarks</h4><p>This functions resets the rotation, color and subset.&nbsp; End the session by using <a href="#gfx_quads_end" class=LFunction id=link83 onMouseOver="ShowTip(event, 'tt6', 'link83')" onMouseOut="HideTip('tt6')">gfx_quads_end</a>.&nbsp; You can&rsquo;t change texture or blending mode during a session.</p><h4 class=CHeading>See Also</h4><p><a href="#gfx_quads_end" class=LFunction id=link84 onMouseOver="ShowTip(event, 'tt6', 'link84')" onMouseOut="HideTip('tt6')">gfx_quads_end</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_end"></a>gfx_quads_end</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_quads_end()</td></tr></table></blockquote><p>Ends a quad session.</p><h4 class=CHeading>See Also</h4><p><a href="#gfx_quads_begin" class=LFunction id=link85 onMouseOver="ShowTip(event, 'tt5', 'link85')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_setrotation"></a>gfx_quads_setrotation</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setrotation(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>angle</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the rotation to use when drawing a quad.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>angle</td><td class=CDLDescription>Angle in radians.</td></tr></table><h4 class=CHeading>Remarks</h4><p>The angle is reset when <a href="#gfx_quads_begin" class=LFunction id=link86 onMouseOver="ShowTip(event, 'tt5', 'link86')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a> is called.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_setsubset"></a>gfx_quads_setsubset</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setsubset(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_u,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_v,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_u,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_v</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the uv coordinates to use.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tl_u</td><td class=CDLDescription>Top-left U value.</td></tr><tr><td class=CDLEntry>tl_v</td><td class=CDLDescription>Top-left V value.</td></tr><tr><td class=CDLEntry>br_u</td><td class=CDLDescription>Bottom-right U value.</td></tr><tr><td class=CDLEntry>br_v</td><td class=CDLDescription>Bottom-right V value.</td></tr></table><h4 class=CHeading>Remarks</h4><p>O,0 is top-left of the texture and 1,1 is bottom-right.&nbsp; The color is reset when <a href="#gfx_quads_begin" class=LFunction id=link87 onMouseOver="ShowTip(event, 'tt5', 'link87')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a> is called.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_setsubset_free"></a>gfx_quads_setsubset_free</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setsubset_free(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x3,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y3</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_drawTL"></a>gfx_quads_drawTL</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_drawTL(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>width,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>height</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a quad by specifying the top-left point.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>X coordinate of the top-left corner.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>Y coordinate of the top-left corner.</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>Width of the quad.</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>Height of the quad.</td></tr></table><h4 class=CHeading>Remarks</h4><p>Rotation still occurs from the center of the quad.&nbsp; You must call <a href="#gfx_quads_begin" class=LFunction id=link88 onMouseOver="ShowTip(event, 'tt5', 'link88')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a> before calling this function.</p><h4 class=CHeading>See Also</h4><p>&lt;gfx_quads_draw, gfx_quads_draw_freeform&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_draw"></a>gfx_quads_draw</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_draw(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>h</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a quad by specifying the center point.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>X coordinate of the center.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>Y coordinate of the center.</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>Width of the quad.</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>Height of the quad.</td></tr></table><h4 class=CHeading>Remarks</h4><p>You must call <a href="#gfx_quads_begin" class=LFunction id=link89 onMouseOver="ShowTip(event, 'tt5', 'link89')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a> before calling this function.</p><h4 class=CHeading>See Also</h4><p>&lt;gfx_quads_drawTL, gfx_quads_draw_freeform&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_draw_freeform"></a>gfx_quads_draw_freeform</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_draw_freeform(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x3,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y3</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a quad by specifying the corner points.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x0, y0</td><td class=CDLDescription>Coordinates of the upper left corner.</td></tr><tr><td class=CDLEntry>x1, y1</td><td class=CDLDescription>Coordinates of the upper right corner.</td></tr><tr><td class=CDLEntry>x2, y2</td><td class=CDLDescription>Coordinates of the lower left corner.&nbsp; // TODO: DOUBLE CHECK!!!</td></tr><tr><td class=CDLEntry>x3, y3</td><td class=CDLDescription>Coordinates of the lower right corner.&nbsp; // TODO: DOUBLE CHECK!!!</td></tr></table><h4 class=CHeading>See Also</h4><p>&lt;gfx_quads_draw, gfx_quads_drawTL&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_quads_text"></a>gfx_quads_text</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_text(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Lines"></a>Lines</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_lines_begin"></a>gfx_lines_begin</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_lines_begin()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_lines_draw"></a>gfx_lines_draw</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_lines_draw(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_lines_end"></a>gfx_lines_end</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_lines_end()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Text"></a>Text</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_text"></a>gfx_text</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max_width</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><p>returns the number of lines written See Also: &lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_text_width"></a>gfx_text_width</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>float gfx_text_width(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>length</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_text_color"></a>gfx_text_color</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text_color(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_text_set_default_font"></a>gfx_text_set_default_font</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text_set_default_font(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Other"></a>Other</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_get_video_modes"></a>gfx_get_video_modes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_get_video_modes(</td><td class=PType nowrap>VIDEO_MODE&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>list,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxcount</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Fetches a list of all the available video modes.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>list</td><td class=CDLDescription>An array to recive the modes.&nbsp; Must be able to contain maxcount number of modes.</td></tr><tr><td class=CDLEntry>maxcount</td><td class=CDLDescription>The maximum number of modes to fetch.</td></tr></table><h4 class=CHeading>Returns</h4><p>The number of video modes that was fetched.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_load_png"></a>gfx_load_png</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_png(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>IMAGE_INFO&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>img,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Loads a PNG image from disk.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>img</td><td class=CDLDescription>Pointer to an structure to be filled out with the image information.</td></tr><tr><td class=CDLEntry>filename</td><td class=CDLDescription>Filename of the image to load.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns non-zero on success and zero on error.</p><h4 class=CHeading>Remarks</h4><p>The caller are responsible for cleaning up the allocated memory in the IMAGE_INFO structure.</p><h4 class=CHeading>See Also</h4><p><a href="#gfx_load_texture" class=LFunction id=link90 onMouseOver="ShowTip(event, 'tt23', 'link90')" onMouseOut="HideTip('tt23')">gfx_load_texture</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_load_texture"></a>gfx_load_texture</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_texture(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>store_format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Loads a texture from a file.&nbsp; TGA and PNG supported.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>Null terminated string to the file to load.</td></tr><tr><td class=CDLEntry>store_format</td><td class=CDLDescription>What format to store on gfx card as.</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>controls how the texture is uploaded</td></tr></table><h4 class=CHeading>Returns</h4><p>An ID to the texture.&nbsp; -1 on failure.</p><h4 class=CHeading>See Also</h4><p>&lt;gfx_unload_texture, gfx_load_png&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_load_texture_raw"></a>gfx_load_texture_raw</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_texture_raw(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>h,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>format,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>store_format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Loads a texture from memory.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>w</td><td class=CDLDescription>Width of the texture.</td></tr><tr><td class=CDLEntry>h</td><td class=CDLDescription>Height of the texture.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>Pointer to the pixel data.</td></tr><tr><td class=CDLEntry>format</td><td class=CDLDescription>Format of the pixel data.</td></tr><tr><td class=CDLEntry>store_format</td><td class=CDLDescription>The format to store the texture on the graphics card.</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>controls how the texture is uploaded</td></tr></table><h4 class=CHeading>Returns</h4><p>An ID to the texture.&nbsp; -1 on failure.</p><h4 class=CHeading>Remarks</h4><p>The pixel data should be in RGBA format with 8 bit per component.&nbsp; So the total size of the data should be w*h*4.</p><h4 class=CHeading>See Also</h4><p><a href="#gfx_unload_texture" class=LFunction id=link91 onMouseOver="ShowTip(event, 'tt26', 'link91')" onMouseOut="HideTip('tt26')">gfx_unload_texture</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_texture_set"></a>gfx_texture_set</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_texture_set(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the active texture.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>id</td><td class=CDLDescription>ID to the texture to set.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_unload_texture"></a>gfx_unload_texture</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_unload_texture(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Unloads a texture.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>id</td><td class=CDLDescription>ID to the texture to unload.</td></tr></table><h4 class=CHeading>See Also</h4><p>&lt;gfx_load_texture_tga&gt;, <a href="#gfx_load_texture_raw" class=LFunction id=link92 onMouseOver="ShowTip(event, 'tt24', 'link92')" onMouseOut="HideTip('tt24')">gfx_load_texture_raw</a></p><h4 class=CHeading>Remarks</h4><p>NOT IMPLEMENTED</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_clear"></a>gfx_clear</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_clear(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Clears the screen with the specified color.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>r</td><td class=CDLDescription>Red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>Green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>Red component.</td></tr></table><h4 class=CHeading>Remarks</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>The value of the components are given in 0.0</td><td class=CDLDescription>1.0 ranges.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_screenaspect"></a>gfx_screenaspect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float gfx_screenaspect()</td></tr></table></blockquote><p>Returns the aspect ratio between width and height.</p><h4 class=CHeading>See Also</h4><p><a href="#gfx_screenwidth" class=LFunction id=link93 onMouseOver="ShowTip(event, 'tt29', 'link93')" onMouseOut="HideTip('tt29')">gfx_screenwidth</a>, <a href="#gfx_screenheight" class=LFunction id=link94 onMouseOver="ShowTip(event, 'tt30', 'link94')" onMouseOut="HideTip('tt30')">gfx_screenheight</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_screenwidth"></a>gfx_screenwidth</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_screenwidth()</td></tr></table></blockquote><p>Returns the screen width.</p><h4 class=CHeading>See Also</h4><p><a href="#gfx_screenheight" class=LFunction id=link95 onMouseOver="ShowTip(event, 'tt30', 'link95')" onMouseOut="HideTip('tt30')">gfx_screenheight</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_screenheight"></a>gfx_screenheight</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_screenheight()</td></tr></table></blockquote><p>Returns the screen height.</p><h4 class=CHeading>See Also</h4><p><a href="#gfx_screenwidth" class=LFunction id=link96 onMouseOver="ShowTip(event, 'tt29', 'link96')" onMouseOut="HideTip('tt29')">gfx_screenwidth</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_mapscreen"></a>gfx_mapscreen</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_mapscreen(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Specifies the coordinate system for the screen.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tl_x</td><td class=CDLDescription>Top-left X</td></tr><tr><td class=CDLEntry>tl_y</td><td class=CDLDescription>Top-left Y</td></tr><tr><td class=CDLEntry>br_x</td><td class=CDLDescription>Bottom-right X</td></tr><tr><td class=CDLEntry>br_y</td><td class=CDLDescription>Bottom-right y</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_blend_normal"></a>gfx_blend_normal</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_normal()</td></tr></table></blockquote><p>Set the active blending mode to normal (src, 1-src).</p><h4 class=CHeading>Remarks</h4><p>This must be used before calling <a href="#gfx_quads_begin" class=LFunction id=link97 onMouseOver="ShowTip(event, 'tt5', 'link97')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a>.&nbsp; This is equal to glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA).</p><h4 class=CHeading>See Also</h4><p>&lt;gfx_blend_additive,gfx_blend_none&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_blend_additive"></a>gfx_blend_additive</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_additive()</td></tr></table></blockquote><p>Set the active blending mode to additive (src, one).</p><h4 class=CHeading>Remarks</h4><p>This must be used before calling <a href="#gfx_quads_begin" class=LFunction id=link98 onMouseOver="ShowTip(event, 'tt5', 'link98')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a>.&nbsp; This is equal to glBlendFunc(GL_SRC_ALPHA, GL_ONE).</p><h4 class=CHeading>See Also</h4><p>&lt;gfx_blend_normal,gfx_blend_none&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_blend_none"></a>gfx_blend_none</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_none()</td></tr></table></blockquote><p>Disables blending</p><h4 class=CHeading>Remarks</h4><p>This must be used before calling <a href="#gfx_quads_begin" class=LFunction id=link99 onMouseOver="ShowTip(event, 'tt5', 'link99')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a>.</p><h4 class=CHeading>See Also</h4><p>&lt;gfx_blend_normal,gfx_blend_additive&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_setcolorvertex"></a>gfx_setcolorvertex</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_setcolorvertex(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>i,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the color of a vertex.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>i</td><td class=CDLDescription>Index to the vertex.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>Red value.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>Green value.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>Blue value.</td></tr><tr><td class=CDLEntry>a</td><td class=CDLDescription>Alpha value.</td></tr></table><h4 class=CHeading>Remarks</h4><p>The color values are from 0.0 to 1.0.&nbsp; The color is reset when <a href="#gfx_quads_begin" class=LFunction id=link100 onMouseOver="ShowTip(event, 'tt5', 'link100')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a> is called.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_setcolor"></a>gfx_setcolor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_setcolor(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the color of all the vertices.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>r</td><td class=CDLDescription>Red value.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>Green value.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>Blue value.</td></tr><tr><td class=CDLEntry>a</td><td class=CDLDescription>Alpha value.</td></tr></table><h4 class=CHeading>Remarks</h4><p>The color values are from 0.0 to 1.0.&nbsp; The color is reset when <a href="#gfx_quads_begin" class=LFunction id=link101 onMouseOver="ShowTip(event, 'tt5', 'link101')" onMouseOut="HideTip('tt5')">gfx_quads_begin</a> is called.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_getscreen"></a>gfx_getscreen</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_getscreen(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>tl_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>tl_y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>br_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>br_y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_memory_usage"></a>gfx_memory_usage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_memory_usage()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_screenshot"></a>gfx_screenshot</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_screenshot()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_clip_enable"></a>gfx_clip_enable</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_clip_enable(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>h</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gfx_clip_disable"></a>gfx_clip_disable</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_clip_disable()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile id=MSelected>Graphics</div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([2, 3, 6, 1], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int width</td></tr></table></blockquote>Contains the width of the image</div></div><div class=CToolTip id="tt2"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int height</td></tr></table></blockquote>Contains the height of the image</div></div><div class=CToolTip id="tt3"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int format</td></tr></table></blockquote>Contains the format of the image. </div></div><div class=CToolTip id="tt4"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void *data</td></tr></table></blockquote>Pointer to the image data.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_quads_begin()</td></tr></table></blockquote>Begins a quad drawing session.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_quads_end()</td></tr></table></blockquote>Ends a quad session.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setrotation(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>angle</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the rotation to use when drawing a quad.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setsubset(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_u,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_v,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_u,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_v</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the uv coordinates to use.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setsubset_free(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x3,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y3</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_drawTL(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>width,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>height</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the top-left point.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_draw(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>h</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the center point.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_draw_freeform(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x3,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y3</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the corner points.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_text(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_lines_begin()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_lines_draw(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_lines_end()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max_width</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>float gfx_text_width(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>length</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text_color(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text_set_default_font(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_get_video_modes(</td><td class=PType nowrap>VIDEO_MODE&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>list,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxcount</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches a list of all the available video modes.</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_png(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>IMAGE_INFO&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>img,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a PNG image from disk.</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_texture(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>store_format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a texture from a file. </div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_texture_raw(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>h,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>format,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>store_format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a texture from memory.</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_texture_set(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the active texture.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_unload_texture(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Unloads a texture.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_clear(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Clears the screen with the specified color.</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float gfx_screenaspect()</td></tr></table></blockquote>Returns the aspect ratio between width and height.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_screenwidth()</td></tr></table></blockquote>Returns the screen width.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_screenheight()</td></tr></table></blockquote>Returns the screen height.</div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_mapscreen(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Specifies the coordinate system for the screen.</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_normal()</td></tr></table></blockquote>Set the active blending mode to normal (src, 1-src).</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_additive()</td></tr></table></blockquote>Set the active blending mode to additive (src, one).</div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_none()</td></tr></table></blockquote>Disables blending</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_setcolorvertex(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>i,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the color of a vertex.</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_setcolor(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the color of all the vertices.</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_getscreen(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>tl_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>tl_y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>br_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>br_y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_memory_usage()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_screenshot()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_clip_enable(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>h</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_clip_disable()</td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_inp-h.html b/docs/output/files2/e_if_inp-h.html
new file mode 100644
index 00000000..91ac5b99
--- /dev/null
+++ b/docs/output/files2/e_if_inp-h.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Input</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Input"></a>Input</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Input" >Input</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#INPUT_EVENT" >INPUT_EVENT</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#INPUT_EVENT.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_mouse_relative" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">inp_mouse_relative</a></td><td class=SDescription>Fetches the mouse movements.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#INPUT_EVENT.inp_mouse_scroll" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">inp_mouse_scroll</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_key_pressed" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">inp_key_pressed</a></td><td class=SDescription>Checks if a key is pressed.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#INPUT_EVENT.inp_key_was_pressed" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">inp_key_was_pressed</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_key_down" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">inp_key_down</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#INPUT_EVENT.inp_num_events" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">inp_num_events</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_get_event" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">inp_get_event</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#INPUT_EVENT.inp_clear_events" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">inp_clear_events</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_mouse_doubleclick" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">inp_mouse_doubleclick</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#INPUT_EVENT.inp_key_presses" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">inp_key_presses</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_key_releases" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">inp_key_releases</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#INPUT_EVENT.inp_key_state" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">inp_key_state</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_key_name" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">inp_key_name</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#INPUT_EVENT.inp_key_code" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">inp_key_code</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_clear_key_states" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">inp_clear_key_states</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="INPUT_EVENT"></a>INPUT_EVENT</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#INPUT_EVENT.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_mouse_relative" id=link16 onMouseOver="ShowTip(event, 'tt1', 'link16')" onMouseOut="HideTip('tt1')">inp_mouse_relative</a></td><td class=SDescription>Fetches the mouse movements.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#INPUT_EVENT.inp_mouse_scroll" id=link17 onMouseOver="ShowTip(event, 'tt2', 'link17')" onMouseOut="HideTip('tt2')">inp_mouse_scroll</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_key_pressed" id=link18 onMouseOver="ShowTip(event, 'tt3', 'link18')" onMouseOut="HideTip('tt3')">inp_key_pressed</a></td><td class=SDescription>Checks if a key is pressed.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#INPUT_EVENT.inp_key_was_pressed" id=link19 onMouseOver="ShowTip(event, 'tt4', 'link19')" onMouseOut="HideTip('tt4')">inp_key_was_pressed</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_key_down" id=link20 onMouseOver="ShowTip(event, 'tt5', 'link20')" onMouseOut="HideTip('tt5')">inp_key_down</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#INPUT_EVENT.inp_num_events" id=link21 onMouseOver="ShowTip(event, 'tt6', 'link21')" onMouseOut="HideTip('tt6')">inp_num_events</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_get_event" id=link22 onMouseOver="ShowTip(event, 'tt7', 'link22')" onMouseOut="HideTip('tt7')">inp_get_event</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#INPUT_EVENT.inp_clear_events" id=link23 onMouseOver="ShowTip(event, 'tt8', 'link23')" onMouseOut="HideTip('tt8')">inp_clear_events</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_mouse_doubleclick" id=link24 onMouseOver="ShowTip(event, 'tt9', 'link24')" onMouseOut="HideTip('tt9')">inp_mouse_doubleclick</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#INPUT_EVENT.inp_key_presses" id=link25 onMouseOver="ShowTip(event, 'tt10', 'link25')" onMouseOut="HideTip('tt10')">inp_key_presses</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_key_releases" id=link26 onMouseOver="ShowTip(event, 'tt11', 'link26')" onMouseOut="HideTip('tt11')">inp_key_releases</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#INPUT_EVENT.inp_key_state" id=link27 onMouseOver="ShowTip(event, 'tt12', 'link27')" onMouseOut="HideTip('tt12')">inp_key_state</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_key_name" id=link28 onMouseOver="ShowTip(event, 'tt13', 'link28')" onMouseOut="HideTip('tt13')">inp_key_name</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#INPUT_EVENT.inp_key_code" id=link29 onMouseOver="ShowTip(event, 'tt14', 'link29')" onMouseOut="HideTip('tt14')">inp_key_code</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#INPUT_EVENT.inp_clear_key_states" id=link30 onMouseOver="ShowTip(event, 'tt15', 'link30')" onMouseOut="HideTip('tt15')">inp_clear_key_states</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_mouse_relative"></a>inp_mouse_relative</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void inp_mouse_relative(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Fetches the mouse movements.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>Pointer to the variable that should get the X movement.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>Pointer to the variable that should get the Y movement.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_mouse_scroll"></a>inp_mouse_scroll</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_mouse_scroll()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_key_pressed"></a>inp_key_pressed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_pressed(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks if a key is pressed.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>key</td><td class=CDLDescription>Index to the key to check</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 1 if the button is pressed, otherwise 0.</p><h4 class=CHeading>Remarks</h4><p>Check keys.h for the keys.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_key_was_pressed"></a>inp_key_was_pressed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_was_pressed(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_key_down"></a>inp_key_down</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_down(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_num_events"></a>inp_num_events</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_num_events()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_get_event"></a>inp_get_event</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>INPUT_EVENT inp_get_event(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_clear_events"></a>inp_clear_events</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void inp_clear_events()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_mouse_doubleclick"></a>inp_mouse_doubleclick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_mouse_doubleclick()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_key_presses"></a>inp_key_presses</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_presses(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_key_releases"></a>inp_key_releases</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_releases(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_key_state"></a>inp_key_state</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_state(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_key_name"></a>inp_key_name</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *inp_key_name(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>k</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_key_code"></a>inp_key_code</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_code(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>key_name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="INPUT_EVENT.inp_clear_key_states"></a>inp_clear_key_states</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void inp_clear_key_states()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile id=MSelected>Input</div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([2, 3, 6, 1], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void inp_mouse_relative(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches the mouse movements.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_mouse_scroll()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_pressed(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if a key is pressed.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_was_pressed(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_down(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_num_events()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>INPUT_EVENT inp_get_event(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void inp_clear_events()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_mouse_doubleclick()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_presses(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_releases(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_state(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *inp_key_name(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>k</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_code(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>key_name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void inp_clear_key_states()</td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_modc-h.html b/docs/output/files2/e_if_modc-h.html
new file mode 100644
index 00000000..f75e3aee
--- /dev/null
+++ b/docs/output/files2/e_if_modc-h.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Client Hooks</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Client_Hooks"></a>Client Hooks</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Client_Hooks" >Client Hooks</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#modc_console_init" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">modc_console_init</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#modc_rcon_line" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">modc_rcon_line</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#modc_save_config" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">modc_save_config</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#modc_init" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">modc_init</a></td><td class=SDescription>Called when the client starts.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#modc_newsnapshot" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">modc_newsnapshot</a></td><td class=SDescription>Called when the client progressed to a new snapshot.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#modc_entergame" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">modc_entergame</a></td><td class=SDescription>Called when the client has successfully connect to a server and loaded a map.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#modc_shutdown" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">modc_shutdown</a></td><td class=SDescription>Called when the client closes down.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#modc_render" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">modc_render</a></td><td class=SDescription>Called every frame to let the game render it self.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#modc_statechange" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">modc_statechange</a></td><td class=SDescription>Called every time client changes state.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#modc_connected" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">modc_connected</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#modc_message" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">modc_message</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#modc_predict" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">modc_predict</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#modc_snap_input" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">modc_snap_input</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#modc_net_version" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">modc_net_version</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_console_init"></a>modc_console_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_console_init()</td></tr></table></blockquote><p>TODO</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_rcon_line"></a>modc_rcon_line</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_rcon_line(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>line</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_save_config"></a>modc_save_config</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_save_config()</td></tr></table></blockquote><p>TODO</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_init"></a>modc_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_init()</td></tr></table></blockquote><p>Called when the client starts.</p><h4 class=CHeading>Remarks</h4><p>The game should load resources that are used during the entire time of the game.&nbsp; No map is loaded.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_newsnapshot"></a>modc_newsnapshot</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_newsnapshot()</td></tr></table></blockquote><p>Called when the client progressed to a new snapshot.</p><h4 class=CHeading>Remarks</h4><p>The client can check for items in the snapshot and perform one time events like playing sounds, spawning client side effects etc.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_entergame"></a>modc_entergame</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_entergame()</td></tr></table></blockquote><p>Called when the client has successfully connect to a server and loaded a map.</p><h4 class=CHeading>Remarks</h4><p>The client can check for items in the map and load them.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_shutdown"></a>modc_shutdown</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_shutdown()</td></tr></table></blockquote><p>Called when the client closes down.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_render"></a>modc_render</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_render()</td></tr></table></blockquote><p>Called every frame to let the game render it self.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_statechange"></a>modc_statechange</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_statechange(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>new_state,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>old_state</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called every time client changes state.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_connected"></a>modc_connected</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_connected()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_message"></a>modc_message</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_message(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_predict"></a>modc_predict</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_predict()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_snap_input"></a>modc_snap_input</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int modc_snap_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="modc_net_version"></a>modc_net_version</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *modc_net_version()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile id=MSelected>Client Hooks</div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([2, 3, 6, 1], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_console_init()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_rcon_line(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>line</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_save_config()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_init()</td></tr></table></blockquote>Called when the client starts.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_newsnapshot()</td></tr></table></blockquote>Called when the client progressed to a new snapshot.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_entergame()</td></tr></table></blockquote>Called when the client has successfully connect to a server and loaded a map.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_shutdown()</td></tr></table></blockquote>Called when the client closes down.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_render()</td></tr></table></blockquote>Called every frame to let the game render it self.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_statechange(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>new_state,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>old_state</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called every time client changes state.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_connected()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_message(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_predict()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int modc_snap_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *modc_net_version()</td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_mods-h.html b/docs/output/files2/e_if_mods-h.html
new file mode 100644
index 00000000..3929a2d8
--- /dev/null
+++ b/docs/output/files2/e_if_mods-h.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Server Hooks</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Server_Hooks"></a>Server Hooks</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Server_Hooks" >Server Hooks</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mods_console_init" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">mods_console_init</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mods_init" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">mods_init</a></td><td class=SDescription>Called when the server is started.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mods_shutdown" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">mods_shutdown</a></td><td class=SDescription>Called when the server quits.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mods_client_enter" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">mods_client_enter</a></td><td class=SDescription>Called when a client has joined the game.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mods_client_drop" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">mods_client_drop</a></td><td class=SDescription>Called when a client drops from the server.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mods_client_direct_input" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">mods_client_direct_input</a></td><td class=SDescription>Called when the server recives new input from a client.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mods_client_predicted_input" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">mods_client_predicted_input</a></td><td class=SDescription>Called when the server applys the predicted input on the client.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mods_tick" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">mods_tick</a></td><td class=SDescription>Called with a regular interval to progress the gameplay.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mods_presnap" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">mods_presnap</a></td><td class=SDescription>Called before the server starts to construct snapshots for the clients.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mods_snap" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">mods_snap</a></td><td class=SDescription>Called to create the snapshot for a client.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mods_postsnap" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">mods_postsnap</a></td><td class=SDescription>Called after the server is done sending the snapshots.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mods_connected" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">mods_connected</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mods_net_version" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">mods_net_version</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mods_version" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">mods_version</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mods_message" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">mods_message</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_console_init"></a>mods_console_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_console_init()</td></tr></table></blockquote><p>TODO</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_init"></a>mods_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_init()</td></tr></table></blockquote><p>Called when the server is started.</p><h4 class=CHeading>Remarks</h4><p>It&rsquo;s called after the map is loaded so all map items are available.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_shutdown"></a>mods_shutdown</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_shutdown()</td></tr></table></blockquote><p>Called when the server quits.</p><h4 class=CHeading>Remarks</h4><p>Should be used to clean up all resources used.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_client_enter"></a>mods_client_enter</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_enter(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called when a client has joined the game.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cid</td><td class=CDLDescription>Client ID.&nbsp; Is 0 - MAX_CLIENTS.</td></tr></table><h4 class=CHeading>Remarks</h4><p>It&rsquo;s called when the client is finished loading and should enter gameplay.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_client_drop"></a>mods_client_drop</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_drop(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called when a client drops from the server.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cid</td><td class=CDLDescription>Client ID.&nbsp; Is 0 - MAX_CLIENTS</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_client_direct_input"></a>mods_client_direct_input</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_direct_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called when the server recives new input from a client.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cid</td><td class=CDLDescription>Client ID.&nbsp; Is 0 - MAX_CLIENTS.</td></tr><tr><td class=CDLEntry>input</td><td class=CDLDescription>Pointer to the input data.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the data.&nbsp; (NOT IMPLEMENTED YET)</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_client_predicted_input"></a>mods_client_predicted_input</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_predicted_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called when the server applys the predicted input on the client.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cid</td><td class=CDLDescription>Client ID.&nbsp; Is 0 - MAX_CLIENTS.</td></tr><tr><td class=CDLEntry>input</td><td class=CDLDescription>Pointer to the input data.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the data.&nbsp; (NOT IMPLEMENTED YET)</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_tick"></a>mods_tick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_tick()</td></tr></table></blockquote><p>Called with a regular interval to progress the gameplay.</p><h4 class=CHeading>Remarks</h4><p>The SERVER_TICK_SPEED tells the number of ticks per second.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_presnap"></a>mods_presnap</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_presnap()</td></tr></table></blockquote><p>Called before the server starts to construct snapshots for the clients.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_snap"></a>mods_snap</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called to create the snapshot for a client.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cid</td><td class=CDLDescription>Client ID.&nbsp; Is 0 - MAX_CLIENTS.</td></tr></table><h4 class=CHeading>Remarks</h4><p>The game should make a series of calls to <a href="e_if_other-h.html#snap_new_item" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">snap_new_item</a> to construct the snapshot for the client.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_postsnap"></a>mods_postsnap</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_postsnap()</td></tr></table></blockquote><p>Called after the server is done sending the snapshots.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_connected"></a>mods_connected</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_connected(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_net_version"></a>mods_net_version</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *mods_net_version()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_version"></a>mods_version</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *mods_version()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mods_message"></a>mods_message</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_message(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile id=MSelected>Server Hooks</div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([4, 5, 6], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_console_init()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_init()</td></tr></table></blockquote>Called when the server is started.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_shutdown()</td></tr></table></blockquote>Called when the server quits.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_enter(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a client has joined the game.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_drop(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a client drops from the server.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_direct_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the server recives new input from a client.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_predicted_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the server applys the predicted input on the client.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_tick()</td></tr></table></blockquote>Called with a regular interval to progress the gameplay.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_presnap()</td></tr></table></blockquote>Called before the server starts to construct snapshots for the clients.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called to create the snapshot for a client.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_postsnap()</td></tr></table></blockquote>Called after the server is done sending the snapshots.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_connected(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *mods_net_version()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *mods_version()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_message(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_new_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new item that should be sent.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_msg-h.html b/docs/output/files2/e_if_msg-h.html
new file mode 100644
index 00000000..f46cc24e
--- /dev/null
+++ b/docs/output/files2/e_if_msg-h.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Messaging</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Messaging"></a>Messaging</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Messaging" >Messaging</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#msg_pack_start" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">msg_pack_start</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#msg_pack_int" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">msg_pack_int</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#msg_pack_string" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">msg_pack_string</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#msg_pack_raw" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">msg_pack_raw</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#msg_pack_end" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">msg_pack_end</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#msg_unpack_int" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">msg_unpack_int</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#msg_unpack_string" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">msg_unpack_string</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#msg_unpack_raw" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">msg_unpack_raw</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#msg_unpack_error" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">msg_unpack_error</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_pack_start"></a>msg_pack_start</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_start(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_pack_int"></a>msg_pack_int</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_int(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>i</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_pack_string"></a>msg_pack_string</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_string(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>p,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>limit</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_pack_raw"></a>msg_pack_raw</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_raw(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_pack_end"></a>msg_pack_end</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void msg_pack_end()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_unpack_int"></a>msg_unpack_int</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int msg_unpack_int()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_unpack_string"></a>msg_unpack_string</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *msg_unpack_string()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_unpack_raw"></a>msg_unpack_raw</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const unsigned char *msg_unpack_raw(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="msg_unpack_error"></a>msg_unpack_error</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int msg_unpack_error()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile id=MSelected>Messaging</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([6, 3, 5], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_start(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_int(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>i</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_string(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>p,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>limit</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_raw(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void msg_pack_end()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int msg_unpack_int()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *msg_unpack_string()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const unsigned char *msg_unpack_raw(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int msg_unpack_error()</td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_other-h.html b/docs/output/files2/e_if_other-h.html
new file mode 100644
index 00000000..23d4a2c0
--- /dev/null
+++ b/docs/output/files2/e_if_other-h.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Engine Interface</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Engine_Interface"></a>Engine Interface</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Engine_Interface" >Engine Interface</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#SNAP_ITEM" >SNAP_ITEM</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#CLIENT_INFO" >CLIENT_INFO</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Map" >Map</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#map_is_loaded" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">map_is_loaded</a></td><td class=SDescription>Checks if a map is loaded.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#map_num_items" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">map_num_items</a></td><td class=SDescription>Checks the number of items in the loaded map.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#map_find_item" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">map_find_item</a></td><td class=SDescription>Searches the map for an item.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#map_get_item" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">map_get_item</a></td><td class=SDescription>Gets an item from the loaded map from index.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#map_get_type" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">map_get_type</a></td><td class=SDescription>Gets the index range of an item type.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#map_get_data" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">map_get_data</a></td><td class=SDescription>Fetches a pointer to a raw data chunk in the map.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#map_get_data_swapped" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">map_get_data_swapped</a></td><td class=SDescription>TODO</td></tr><tr class="SSection"><td class=SEntry><a href="#Network(Server)" >Network (Server)</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#snap_new_item" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">snap_new_item</a></td><td class=SDescription>Creates a new item that should be sent.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#snap_num_items" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">snap_num_items</a></td><td class=SDescription>Check the number of items in a snapshot.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#snap_get_item" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">snap_get_item</a></td><td class=SDescription>Gets an item from a snapshot.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#snap_find_item" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">snap_find_item</a></td><td class=SDescription>Searches a snapshot for an item.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#snap_invalidate_item" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">snap_invalidate_item</a></td><td class=SDescription>Marks an item as invalid byt setting type and id to 0xffffffff.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#snap_input" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">snap_input</a></td><td class=SDescription>Sets the input data to send to the server.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#snap_set_staticsize" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">snap_set_staticsize</a></td><td class=SDescription>Tells the engine how big a specific item always will be. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#server_send_msg" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">server_send_msg</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#client_send_msg" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">client_send_msg</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#snap_new_id" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">snap_new_id</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#snap_free_id" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">snap_free_id</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#map_unload_data" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">map_unload_data</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="SNAP_ITEM"></a>SNAP_ITEM</h2><div class=CBody></div></div></div>
+
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="CLIENT_INFO"></a>CLIENT_INFO</h2><div class=CBody></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Map"></a>Map</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#map_is_loaded" id=link20 onMouseOver="ShowTip(event, 'tt1', 'link20')" onMouseOut="HideTip('tt1')">map_is_loaded</a></td><td class=SDescription>Checks if a map is loaded.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#map_num_items" id=link21 onMouseOver="ShowTip(event, 'tt2', 'link21')" onMouseOut="HideTip('tt2')">map_num_items</a></td><td class=SDescription>Checks the number of items in the loaded map.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#map_find_item" id=link22 onMouseOver="ShowTip(event, 'tt3', 'link22')" onMouseOut="HideTip('tt3')">map_find_item</a></td><td class=SDescription>Searches the map for an item.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#map_get_item" id=link23 onMouseOver="ShowTip(event, 'tt4', 'link23')" onMouseOut="HideTip('tt4')">map_get_item</a></td><td class=SDescription>Gets an item from the loaded map from index.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#map_get_type" id=link24 onMouseOver="ShowTip(event, 'tt5', 'link24')" onMouseOut="HideTip('tt5')">map_get_type</a></td><td class=SDescription>Gets the index range of an item type.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#map_get_data" id=link25 onMouseOver="ShowTip(event, 'tt6', 'link25')" onMouseOut="HideTip('tt6')">map_get_data</a></td><td class=SDescription>Fetches a pointer to a raw data chunk in the map.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#map_get_data_swapped" id=link26 onMouseOver="ShowTip(event, 'tt7', 'link26')" onMouseOut="HideTip('tt7')">map_get_data_swapped</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="map_is_loaded"></a>map_is_loaded</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int map_is_loaded()</td></tr></table></blockquote><p>Checks if a map is loaded.</p><h4 class=CHeading>Returns</h4><p>Returns 1 if the button is pressed, otherwise 0.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="map_num_items"></a>map_num_items</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int map_num_items()</td></tr></table></blockquote><p>Checks the number of items in the loaded map.</p><h4 class=CHeading>Returns</h4><p>Returns the number of items.&nbsp; 0 if no map is loaded.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="map_find_item"></a>map_find_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Searches the map for an item.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>Item type.</td></tr><tr><td class=CDLEntry>id</td><td class=CDLDescription>Item ID.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a pointer to the item if it exists, otherwise it returns NULL.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="map_get_item"></a>map_get_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets an item from the loaded map from index.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>Item index.</td></tr><tr><td class=CDLEntry>type</td><td class=CDLDescription>Pointer that recives the item type (can be NULL).</td></tr><tr><td class=CDLEntry>id</td><td class=CDLDescription>Pointer that recives the item id (can be NULL).</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a pointer to the item if it exists, otherwise it returns NULL.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="map_get_type"></a>map_get_type</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void map_get_type(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>start,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>num</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the index range of an item type.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>Item type to search for.</td></tr><tr><td class=CDLEntry>start</td><td class=CDLDescription>Pointer that recives the starting index.</td></tr><tr><td class=CDLEntry>num</td><td class=CDLDescription>Pointer that recives the number of items.</td></tr></table><h4 class=CHeading>Returns</h4><p>If the item type is not in the map, start and num will be set to 0.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="map_get_data"></a>map_get_data</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_data(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Fetches a pointer to a raw data chunk in the map.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>Index to the data to fetch.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the raw data, otherwise 0.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="map_get_data_swapped"></a>map_get_data_swapped</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_data_swapped(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Network(Server)"></a>Network (Server)</h2><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#snap_new_item" id=link27 onMouseOver="ShowTip(event, 'tt8', 'link27')" onMouseOut="HideTip('tt8')">snap_new_item</a></td><td class=SDescription>Creates a new item that should be sent.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#snap_num_items" id=link28 onMouseOver="ShowTip(event, 'tt9', 'link28')" onMouseOut="HideTip('tt9')">snap_num_items</a></td><td class=SDescription>Check the number of items in a snapshot.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#snap_get_item" id=link29 onMouseOver="ShowTip(event, 'tt10', 'link29')" onMouseOut="HideTip('tt10')">snap_get_item</a></td><td class=SDescription>Gets an item from a snapshot.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#snap_find_item" id=link30 onMouseOver="ShowTip(event, 'tt11', 'link30')" onMouseOut="HideTip('tt11')">snap_find_item</a></td><td class=SDescription>Searches a snapshot for an item.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#snap_invalidate_item" id=link31 onMouseOver="ShowTip(event, 'tt12', 'link31')" onMouseOut="HideTip('tt12')">snap_invalidate_item</a></td><td class=SDescription>Marks an item as invalid byt setting type and id to 0xffffffff.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#snap_input" id=link32 onMouseOver="ShowTip(event, 'tt13', 'link32')" onMouseOut="HideTip('tt13')">snap_input</a></td><td class=SDescription>Sets the input data to send to the server.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#snap_set_staticsize" id=link33 onMouseOver="ShowTip(event, 'tt14', 'link33')" onMouseOut="HideTip('tt14')">snap_set_staticsize</a></td><td class=SDescription>Tells the engine how big a specific item always will be. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#server_send_msg" id=link34 onMouseOver="ShowTip(event, 'tt15', 'link34')" onMouseOut="HideTip('tt15')">server_send_msg</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#client_send_msg" id=link35 onMouseOver="ShowTip(event, 'tt16', 'link35')" onMouseOut="HideTip('tt16')">client_send_msg</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#snap_new_id" id=link36 onMouseOver="ShowTip(event, 'tt17', 'link36')" onMouseOut="HideTip('tt17')">snap_new_id</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#snap_free_id" id=link37 onMouseOver="ShowTip(event, 'tt18', 'link37')" onMouseOut="HideTip('tt18')">snap_free_id</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#map_unload_data" id=link38 onMouseOver="ShowTip(event, 'tt19', 'link38')" onMouseOut="HideTip('tt19')">map_unload_data</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_new_item"></a>snap_new_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_new_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a new item that should be sent.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>Type of the item.</td></tr><tr><td class=CDLEntry>id</td><td class=CDLDescription>ID of the item.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the item.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the item data, otherwise 0.</p><h4 class=CHeading>Remarks</h4><p>The item data should only consist pf 4 byte integers as they are subject to byte swapping.&nbsp; This means that the size argument should be dividable by 4.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_num_items"></a>snap_num_items</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snap_num_items(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Check the number of items in a snapshot.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>snapid</td><td class=CDLDescription>Snapshot ID to the data to fetch.</td></tr></table><ul><li>SNAP_PREV for previous snapshot.</li><li>SNAP_CUR for current snapshot.</li></ul><h4 class=CHeading>Returns</h4><p>The number of items in the snapshot.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_get_item"></a>snap_get_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>SNAP_ITEM&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>item</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets an item from a snapshot.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>snapid</td><td class=CDLDescription>Snapshot ID to the data to fetch.</td></tr></table><ul><li>SNAP_PREV for previous snapshot.</li><li>SNAP_CUR for current snapshot.</li></ul><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>Index of the item.</td></tr><tr><td class=CDLEntry>item</td><td class=CDLDescription>Pointer that recives the item info.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a pointer to the item if it exists, otherwise NULL.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_find_item"></a>snap_find_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Searches a snapshot for an item.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>snapid</td><td class=CDLDescription>Snapshot ID to the data to fetch.</td></tr></table><ul><li>SNAP_PREV for previous snapshot.</li><li>SNAP_CUR for current snapshot.</li></ul><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>Type of the item.</td></tr><tr><td class=CDLEntry>id</td><td class=CDLDescription>ID of the item.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a pointer to the item if it exists, otherwise NULL.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_invalidate_item"></a>snap_invalidate_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_invalidate_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Marks an item as invalid byt setting type and id to 0xffffffff.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>snapid</td><td class=CDLDescription>Snapshot ID to the data to fetch.</td></tr></table><ul><li>SNAP_PREV for previous snapshot.</li><li>SNAP_CUR for current snapshot.</li></ul><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>Index of the item.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_input"></a>snap_input</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_input(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the input data to send to the server.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>data</td><td class=CDLDescription>Pointer to the data.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the data.</td></tr></table><h4 class=CHeading>Remarks</h4><p>The data should only consist of 4 bytes integer as they are subject to byte swapping.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_set_staticsize"></a>snap_set_staticsize</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_set_staticsize(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Tells the engine how big a specific item always will be.&nbsp; This helps the engine to compress snapshots better.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>Item type</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the data.</td></tr></table><h4 class=CHeading>Remarks</h4><p>Size must be in a multiple of 4.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_send_msg"></a>server_send_msg</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int server_send_msg(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="client_send_msg"></a>client_send_msg</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_send_msg()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_new_id"></a>snap_new_id</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int snap_new_id()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snap_free_id"></a>snap_free_id</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_free_id(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="map_unload_data"></a>map_unload_data</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void map_unload_data(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile id=MSelected>Engine Interface</div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([2, 3, 6, 1], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int map_is_loaded()</td></tr></table></blockquote>Checks if a map is loaded.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int map_num_items()</td></tr></table></blockquote>Checks the number of items in the loaded map.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Searches the map for an item.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an item from the loaded map from index.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void map_get_type(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>start,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>num</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the index range of an item type.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_data(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches a pointer to a raw data chunk in the map.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_data_swapped(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_new_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new item that should be sent.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snap_num_items(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Check the number of items in a snapshot.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>SNAP_ITEM&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>item</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an item from a snapshot.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Searches a snapshot for an item.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_invalidate_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Marks an item as invalid byt setting type and id to 0xffffffff.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_input(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the input data to send to the server.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_set_staticsize(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Tells the engine how big a specific item always will be. </div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int server_send_msg(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_send_msg()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int snap_new_id()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_free_id(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void map_unload_data(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_server-h.html b/docs/output/files2/e_if_server-h.html
new file mode 100644
index 00000000..b4fa723b
--- /dev/null
+++ b/docs/output/files2/e_if_server-h.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Server Interface</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Server_Interface"></a>Server Interface</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Server_Interface" >Server Interface</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#server_getclientinfo" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">server_getclientinfo</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#server_clientname" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">server_clientname</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#server_latestinput" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">server_latestinput</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#server_setclientname" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">server_setclientname</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#server_setclientscore" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">server_setclientscore</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#server_setbrowseinfo" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">server_setbrowseinfo</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#server_kick" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">server_kick</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#server_tick" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">server_tick</a></td><td class=SDescription>TODO</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#server_tickspeed" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">server_tickspeed</a></td><td class=SDescription>TODO</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_getclientinfo"></a>server_getclientinfo</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int server_getclientinfo(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>CLIENT_INFO&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>info</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_clientname"></a>server_clientname</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *server_clientname(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_latestinput"></a>server_latestinput</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *server_latestinput(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_setclientname"></a>server_setclientname</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setclientname(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_setclientscore"></a>server_setclientscore</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setclientscore(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>score</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_setbrowseinfo"></a>server_setbrowseinfo</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setbrowseinfo(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>game_type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>progression</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_kick"></a>server_kick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_kick(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>reason</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_tick"></a>server_tick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int server_tick()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="server_tickspeed"></a>server_tickspeed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int server_tickspeed()</td></tr></table></blockquote><p>TODO</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>arg1</td><td class=CDLDescription>desc</td></tr></table><h4 class=CHeading>Returns</h4><h4 class=CHeading>See Also</h4><p>&lt;other_func&gt;</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile id=MSelected>Server Interface</div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([4, 5, 6], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int server_getclientinfo(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>CLIENT_INFO&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>info</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *server_clientname(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *server_latestinput(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setclientname(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setclientscore(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>score</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setbrowseinfo(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>game_type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>progression</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_kick(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>reason</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int server_tick()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int server_tickspeed()</td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_if_snd-h.html b/docs/output/files2/e_if_snd-h.html
new file mode 100644
index 00000000..5cc729f7
--- /dev/null
+++ b/docs/output/files2/e_if_snd-h.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Sound</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Sound"></a>Sound</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Sound" >Sound</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#snd_set_channel" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">snd_set_channel</a></td><td class=SDescription>Sets the parameters for a sound channel.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#snd_load_wv" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">snd_load_wv</a></td><td class=SDescription>Loads a wavpack compressed sound.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#snd_play_at" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">snd_play_at</a></td><td class=SDescription>Plays a sound at a specified postition.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#snd_play" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">snd_play</a></td><td class=SDescription>Plays a sound.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#snd_stop" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">snd_stop</a></td><td class=SDescription>Stops a currenly playing sound.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#snd_set_listener_pos" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">snd_set_listener_pos</a></td><td class=SDescription>Sets the listener posititon.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snd_set_channel"></a>snd_set_channel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_set_channel(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>vol,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>pan</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the parameters for a sound channel.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cid</td><td class=CDLDescription>Channel ID</td></tr><tr><td class=CDLEntry>vol</td><td class=CDLDescription>Volume for the channel.&nbsp; 0.0 to 1.0.</td></tr><tr><td class=CDLEntry>pan</td><td class=CDLDescription>Panning for the channel.&nbsp; -1.0 is all left.&nbsp; 0.0 is equal distribution.&nbsp; 1.0 is all right.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snd_load_wv"></a>snd_load_wv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_load_wv(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Loads a wavpack compressed sound.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>Filename of the file to load</td></tr></table><h4 class=CHeading>Returns</h4><p>The id of the loaded sound.&nbsp; -1 on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snd_play_at"></a>snd_play_at</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_play_at(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>sid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Plays a sound at a specified postition.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cid</td><td class=CDLDescription>Channel id of the channel to use.</td></tr><tr><td class=CDLEntry>sid</td><td class=CDLDescription>Sound id of the sound to play.</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>TODO</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>TODO</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>TODO</td></tr></table><h4 class=CHeading>Returns</h4><p>An id to the voice.&nbsp; -1 on failure.</p><h4 class=CHeading>See Also</h4><p>&lt;snd_play, snd_stop&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snd_play"></a>snd_play</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_play(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>sid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Plays a sound.</p><h4 class=CHeading>Arguments</h4><p>Arguments: cid - Channel id of the channel to use. sid - Sound id of the sound to play. flags - TODO</p><h4 class=CHeading>Returns</h4><p>An id to the voice.&nbsp; -1 on failure.</p><h4 class=CHeading>See Also</h4><p>&lt;snd_play_at, snd_stop&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snd_stop"></a>snd_stop</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_stop(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Stops a currenly playing sound.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>id</td><td class=CDLDescription>The ID of the voice to stop.</td></tr></table><h4 class=CHeading>See Also</h4><p>&lt;snd_play, snd_play_at&gt;</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="snd_set_listener_pos"></a>snd_set_listener_pos</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_set_listener_pos(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the listener posititon.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>TODO</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>TODO</td></tr></table></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile id=MSelected>Sound</div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([2, 3, 6, 1], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_set_channel(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>vol,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>pan</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the parameters for a sound channel.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_load_wv(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a wavpack compressed sound.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_play_at(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>sid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Plays a sound at a specified postition.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_play(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>sid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Plays a sound.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_stop(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Stops a currenly playing sound.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_set_listener_pos(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the listener posititon.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/files2/e_system-h.html b/docs/output/files2/e_system-h.html
new file mode 100644
index 00000000..9333e410
--- /dev/null
+++ b/docs/output/files2/e_system-h.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>OS Abstraction</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="OS_Abstraction"></a>OS Abstraction</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#OS_Abstraction" >OS Abstraction</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Debug" >Debug</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#dbg_assert" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">dbg_assert</a></td><td class=SDescription>Breaks into the debugger based on a test.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#dbg_break" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">dbg_break</a></td><td class=SDescription>Breaks into the debugger.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#dbg_msg" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">dbg_msg</a></td><td class=SDescription>Prints a debug message.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Memory" >Memory</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mem_alloc" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">mem_alloc</a></td><td class=SDescription>Allocates memory.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mem_free" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">mem_free</a></td><td class=SDescription>Frees a block allocated through <a href="#mem_alloc" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">mem_alloc</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mem_copy" id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">mem_copy</a></td><td class=SDescription>Copies a a memory block.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mem_move" id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">mem_move</a></td><td class=SDescription>Copies a a memory block</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mem_zero" id=link9 onMouseOver="ShowTip(event, 'tt8', 'link9')" onMouseOut="HideTip('tt8')">mem_zero</a></td><td class=SDescription>Sets a complete memory block to 0</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mem_comp" id=link10 onMouseOver="ShowTip(event, 'tt9', 'link10')" onMouseOut="HideTip('tt9')">mem_comp</a></td><td class=SDescription>Compares two blocks of memory</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#File_IO" >File IO</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#io_open" id=link11 onMouseOver="ShowTip(event, 'tt10', 'link11')" onMouseOut="HideTip('tt10')">io_open</a></td><td class=SDescription>Opens a file.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#io_read" id=link12 onMouseOver="ShowTip(event, 'tt11', 'link12')" onMouseOut="HideTip('tt11')">io_read</a></td><td class=SDescription>Reads data into a buffer from a file.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#io_skip" id=link13 onMouseOver="ShowTip(event, 'tt12', 'link13')" onMouseOut="HideTip('tt12')">io_skip</a></td><td class=SDescription>Skips data in a file.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#io_write" id=link14 onMouseOver="ShowTip(event, 'tt13', 'link14')" onMouseOut="HideTip('tt13')">io_write</a></td><td class=SDescription>Writes data from a buffer to file.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#io_seek" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">io_seek</a></td><td class=SDescription>Seeks to a specified offset in the file.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#io_tell" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">io_tell</a></td><td class=SDescription>Gets the current position in the file.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#io_length" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">io_length</a></td><td class=SDescription>Gets the total length of the file. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#io_close" id=link18 onMouseOver="ShowTip(event, 'tt17', 'link18')" onMouseOut="HideTip('tt17')">io_close</a></td><td class=SDescription>Closes a file.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#io_flush" id=link19 onMouseOver="ShowTip(event, 'tt18', 'link19')" onMouseOut="HideTip('tt18')">io_flush</a></td><td class=SDescription>Empties all buffers and writes all pending data.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#io_stdin" id=link20 onMouseOver="ShowTip(event, 'tt19', 'link20')" onMouseOut="HideTip('tt19')">io_stdin</a></td><td class=SDescription>Returns an &lt;IOHANDLE&gt; to the standard input.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#io_stdout" id=link21 onMouseOver="ShowTip(event, 'tt20', 'link21')" onMouseOut="HideTip('tt20')">io_stdout</a></td><td class=SDescription>Returns an &lt;IOHANDLE&gt; to the standard output.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#io_stderr" id=link22 onMouseOver="ShowTip(event, 'tt21', 'link22')" onMouseOut="HideTip('tt21')">io_stderr</a></td><td class=SDescription>Returns an &lt;IOHANDLE&gt; to the standard error.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Threads" >Threads</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#thread_sleep" id=link23 onMouseOver="ShowTip(event, 'tt22', 'link23')" onMouseOut="HideTip('tt22')">thread_sleep</a></td><td class=SDescription>Suspends the current thread for a given period.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#thread_create" id=link24 onMouseOver="ShowTip(event, 'tt23', 'link24')" onMouseOut="HideTip('tt23')">thread_create</a></td><td class=SDescription>Creates a new thread.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#thread_wait" id=link25 onMouseOver="ShowTip(event, 'tt24', 'link25')" onMouseOut="HideTip('tt24')">thread_wait</a></td><td class=SDescription>Waits for a thread to be done or destroyed.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#thread_destoy" >thread_destoy</a></td><td class=SDescription>Destroys a thread.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#thread_yeild" >thread_yeild</a></td><td class=SDescription>Yeild the current threads execution slice.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Locks" >Locks</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Timer" >Timer</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#time_get" id=link26 onMouseOver="ShowTip(event, 'tt25', 'link26')" onMouseOut="HideTip('tt25')">time_get</a></td><td class=SDescription>Fetches a sample from a high resolution timer.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#time_freq" id=link27 onMouseOver="ShowTip(event, 'tt26', 'link27')" onMouseOut="HideTip('tt26')">time_freq</a></td><td class=SDescription>Returns the frequency of the high resolution timer.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#time_timestamp" id=link28 onMouseOver="ShowTip(event, 'tt27', 'link28')" onMouseOut="HideTip('tt27')">time_timestamp</a></td><td class=SDescription>Retrives the current time as a UNIX timestamp</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Network_General" >Network General</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_init" id=link29 onMouseOver="ShowTip(event, 'tt28', 'link29')" onMouseOut="HideTip('tt28')">net_init</a></td><td class=SDescription>Initiates network functionallity.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_host_lookup" id=link30 onMouseOver="ShowTip(event, 'tt29', 'link30')" onMouseOut="HideTip('tt29')">net_host_lookup</a></td><td class=SDescription>Does a hostname lookup by name and fills out the passed NETADDR struct with the recieved details.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_addr_comp" id=link31 onMouseOver="ShowTip(event, 'tt30', 'link31')" onMouseOut="HideTip('tt30')">net_addr_comp</a></td><td class=SDescription>Compares two network addresses.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_addr_str" id=link32 onMouseOver="ShowTip(event, 'tt31', 'link32')" onMouseOut="HideTip('tt31')">net_addr_str</a></td><td class=SDescription>Turns a network address into a representive string.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Network_UDP" >Network UDP</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_udp_create" id=link33 onMouseOver="ShowTip(event, 'tt32', 'link33')" onMouseOut="HideTip('tt32')">net_udp_create</a></td><td class=SDescription>Creates a UDP socket and binds it to a port.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_udp_send" id=link34 onMouseOver="ShowTip(event, 'tt33', 'link34')" onMouseOut="HideTip('tt33')">net_udp_send</a></td><td class=SDescription>Sends a packet over an UDP socket.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_udp_recv" id=link35 onMouseOver="ShowTip(event, 'tt34', 'link35')" onMouseOut="HideTip('tt34')">net_udp_recv</a></td><td class=SDescription>Recives a packet over an UDP socket.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_udp_close" id=link36 onMouseOver="ShowTip(event, 'tt35', 'link36')" onMouseOut="HideTip('tt35')">net_udp_close</a></td><td class=SDescription>Closes an UDP socket.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Network_TCP" >Network TCP</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_tcp_create" id=link37 onMouseOver="ShowTip(event, 'tt36', 'link37')" onMouseOut="HideTip('tt36')">net_tcp_create</a></td><td class=SDescription>Creates a TCP socket.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_tcp_listen" id=link38 onMouseOver="ShowTip(event, 'tt37', 'link38')" onMouseOut="HideTip('tt37')">net_tcp_listen</a></td><td class=SDescription>Makes the socket start listening for new connections.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_tcp_accept" id=link39 onMouseOver="ShowTip(event, 'tt38', 'link39')" onMouseOut="HideTip('tt38')">net_tcp_accept</a></td><td class=SDescription>Polls a listning socket for a new connection.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_tcp_connect" id=link40 onMouseOver="ShowTip(event, 'tt39', 'link40')" onMouseOut="HideTip('tt39')">net_tcp_connect</a></td><td class=SDescription>Connects one socket to another.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_tcp_send" id=link41 onMouseOver="ShowTip(event, 'tt40', 'link41')" onMouseOut="HideTip('tt40')">net_tcp_send</a></td><td class=SDescription>Sends data to a TCP stream.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_tcp_recv" id=link42 onMouseOver="ShowTip(event, 'tt41', 'link42')" onMouseOut="HideTip('tt41')">net_tcp_recv</a></td><td class=SDescription>Recvives data from a TCP stream.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_tcp_close" id=link43 onMouseOver="ShowTip(event, 'tt42', 'link43')" onMouseOut="HideTip('tt42')">net_tcp_close</a></td><td class=SDescription>Closes a TCP socket.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Strings" >Strings</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#str_append" id=link44 onMouseOver="ShowTip(event, 'tt43', 'link44')" onMouseOut="HideTip('tt43')">str_append</a></td><td class=SDescription>Appends a string to another.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#str_copy" id=link45 onMouseOver="ShowTip(event, 'tt44', 'link45')" onMouseOut="HideTip('tt44')">str_copy</a></td><td class=SDescription>Copies a string to another.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#str_format" id=link46 onMouseOver="ShowTip(event, 'tt45', 'link46')" onMouseOut="HideTip('tt45')">str_format</a></td><td class=SDescription>Performs printf formating into a buffer.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#str_sanitize_strong" id=link47 onMouseOver="ShowTip(event, 'tt46', 'link47')" onMouseOut="HideTip('tt46')">str_sanitize_strong</a></td><td class=SDescription>Replaces all characters below 32 and above 127 with whitespace.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#str_sanitize" id=link48 onMouseOver="ShowTip(event, 'tt47', 'link48')" onMouseOut="HideTip('tt47')">str_sanitize</a></td><td class=SDescription>Replaces all characters below 32 and above 127 with whitespace with exception to \r, \n and \r.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#str_comp_nocase" id=link49 onMouseOver="ShowTip(event, 'tt48', 'link49')" onMouseOut="HideTip('tt48')">str_comp_nocase</a></td><td class=SDescription>Compares to strings case insensitive.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#str_find_nocase" id=link50 onMouseOver="ShowTip(event, 'tt49', 'link50')" onMouseOut="HideTip('tt49')">str_find_nocase</a></td><td class=SDescription>Finds a string inside another string case insensitive.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#str_hex" id=link51 onMouseOver="ShowTip(event, 'tt50', 'link51')" onMouseOut="HideTip('tt50')">str_hex</a></td><td class=SDescription>Takes a datablock and generates a hexstring of it.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Filesystem" >Filesystem</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#fs_listdir" id=link52 onMouseOver="ShowTip(event, 'tt51', 'link52')" onMouseOut="HideTip('tt51')">fs_listdir</a></td><td class=SDescription>Lists the files in a directory</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#fs_makedir" id=link53 onMouseOver="ShowTip(event, 'tt52', 'link53')" onMouseOut="HideTip('tt52')">fs_makedir</a></td><td class=SDescription>Creates a directory</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#fs_storage_path" id=link54 onMouseOver="ShowTip(event, 'tt53', 'link54')" onMouseOut="HideTip('tt53')">fs_storage_path</a></td><td class=SDescription>Fetches per user configuration directory.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Undocumented" >Undocumented</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_tcp_connect_non_blocking" id=link55 onMouseOver="ShowTip(event, 'tt54', 'link55')" onMouseOut="HideTip('tt54')">net_tcp_connect_non_blocking</a></td><td class=SDescription>DOCTODO: serp</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_tcp_set_non_blocking" id=link56 onMouseOver="ShowTip(event, 'tt55', 'link56')" onMouseOut="HideTip('tt55')">net_tcp_set_non_blocking</a></td><td class=SDescription>DOCTODO: serp</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_tcp_set_non_blocking" >net_tcp_set_non_blocking</a></td><td class=SDescription>DOCTODO: serp</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#net_errno" id=link57 onMouseOver="ShowTip(event, 'tt56', 'link57')" onMouseOut="HideTip('tt56')">net_errno</a></td><td class=SDescription>DOCTODO: serp</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#net_would_block" id=link58 onMouseOver="ShowTip(event, 'tt57', 'link58')" onMouseOut="HideTip('tt57')">net_would_block</a></td><td class=SDescription>DOCTODO: serp</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Debug"></a>Debug</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="dbg_assert"></a>dbg_assert</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void dbg_assert(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>test,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>msg</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Breaks into the debugger based on a test.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>test</td><td class=CDLDescription>Result of the test.</td></tr><tr><td class=CDLEntry>msg</td><td class=CDLDescription>Message that should be printed if the test fails.</td></tr></table><h4 class=CHeading>Remarks</h4><p>Does nothing in release version of the library.</p><h4 class=CHeading>See Also</h4><p><a href="#dbg_break" class=LFunction id=link59 onMouseOver="ShowTip(event, 'tt2', 'link59')" onMouseOut="HideTip('tt2')">dbg_break</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="dbg_break"></a>dbg_break</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void dbg_break()</td></tr></table></blockquote><p>Breaks into the debugger.</p><h4 class=CHeading>Remarks</h4><p>Does nothing in release version of the library.</p><h4 class=CHeading>See Also</h4><p><a href="#dbg_assert" class=LFunction id=link60 onMouseOver="ShowTip(event, 'tt1', 'link60')" onMouseOut="HideTip('tt1')">dbg_assert</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="dbg_msg"></a>dbg_msg</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void dbg_msg(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>sys,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>fmt,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>...</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Prints a debug message.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sys</td><td class=CDLDescription>A string that describes what system the message belongs to</td></tr><tr><td class=CDLEntry>fmt</td><td class=CDLDescription>A printf styled format string.</td></tr></table><h4 class=CHeading>Remarks</h4><p>Does nothing in relase version of the library.</p><h4 class=CHeading>See Also</h4><p><a href="#dbg_assert" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt1', 'link61')" onMouseOut="HideTip('tt1')">dbg_assert</a></p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Memory"></a>Memory</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mem_alloc"></a>mem_alloc</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *mem_alloc_debug(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>line,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>alignment</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Allocates memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the needed block.</td></tr><tr><td class=CDLEntry>alignment</td><td class=CDLDescription>Alignment for the block.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a pointer to the newly allocated block.&nbsp; Returns a null pointer if the memory couldn&rsquo;t be allocated.</p><h4 class=CHeading>Remarks</h4><ul><li>Passing 0 to size will allocated the smallest amount possible and return a unique pointer.</li></ul><h4 class=CHeading>See Also</h4><p><a href="#mem_free" class=LFunction id=link62 onMouseOver="ShowTip(event, 'tt5', 'link62')" onMouseOut="HideTip('tt5')">mem_free</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mem_free"></a>mem_free</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_free(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>block</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Frees a block allocated through <a href="#mem_alloc" class=LFunction id=link63 onMouseOver="ShowTip(event, 'tt4', 'link63')" onMouseOut="HideTip('tt4')">mem_alloc</a>.</p><h4 class=CHeading>Remarks</h4><ul><li>In the debug version of the library the function will assert if a non-valid block is passed, like a null pointer or a block that isn&rsquo;t allocated.</li></ul><h4 class=CHeading>See Also</h4><p><a href="#mem_alloc" class=LFunction id=link64 onMouseOver="ShowTip(event, 'tt4', 'link64')" onMouseOut="HideTip('tt4')">mem_alloc</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mem_copy"></a>mem_copy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_copy(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dest,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copies a a memory block.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dest</td><td class=CDLDescription>Destination.</td></tr><tr><td class=CDLEntry>source</td><td class=CDLDescription>Source to copy.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the block to copy.</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>This functions DOES NOT handles cases where source and destination is overlapping.</li></ul><h4 class=CHeading>See Also</h4><p><a href="#mem_move" class=LFunction id=link65 onMouseOver="ShowTip(event, 'tt7', 'link65')" onMouseOut="HideTip('tt7')">mem_move</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mem_move"></a>mem_move</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_move(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dest,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copies a a memory block</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dest</td><td class=CDLDescription>Destination</td></tr><tr><td class=CDLEntry>source</td><td class=CDLDescription>Source to copy</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the block to copy</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>This functions handles cases where source and destination is overlapping</li></ul><h4 class=CHeading>See Also</h4><p><a href="#mem_copy" class=LFunction id=link66 onMouseOver="ShowTip(event, 'tt6', 'link66')" onMouseOut="HideTip('tt6')">mem_copy</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mem_zero"></a>mem_zero</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_zero(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>block,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets a complete memory block to 0</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>block</td><td class=CDLDescription>Pointer to the block to zero out</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the block</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mem_comp"></a>mem_comp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int mem_comp(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Compares two blocks of memory</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>a</td><td class=CDLDescription>First block of data</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>Second block of data</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the data to compare</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>&lt;0</td><td class=CDLDescription>Block a is lesser then block b</td></tr><tr><td class=CDLEntry>0</td><td class=CDLDescription>Block a is equal to block b</td></tr></table><blockquote><pre>0 - Block a is greater then block b</pre></blockquote></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="File_IO"></a>File IO</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_open"></a>io_open</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>IOHANDLE io_open(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Opens a file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>File to open.</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>A set of flags.&nbsp; IOFLAG_READ, IOFLAG_WRITE, IOFLAG_RANDOM.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a handle to the file on success and 0 on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_read"></a>io_read</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_read(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Reads data into a buffer from a file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>io</td><td class=CDLDescription>Handle to the file to read data from.</td></tr><tr><td class=CDLEntry>buffer</td><td class=CDLDescription>Pointer to the buffer that will recive the data.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Number of bytes to read from the file.</td></tr></table><h4 class=CHeading>Returns</h4><p>Number of bytes read.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_skip"></a>io_skip</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_skip(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Skips data in a file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>io</td><td class=CDLDescription>Handle to the file.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Number of bytes to skip.</td></tr></table><h4 class=CHeading>Returns</h4><p>Number of bytes skipped.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_write"></a>io_write</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_write(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Writes data from a buffer to file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>io</td><td class=CDLDescription>Handle to the file.</td></tr><tr><td class=CDLEntry>buffer</td><td class=CDLDescription>Pointer to the data that should be written.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Number of bytes to write.</td></tr></table><h4 class=CHeading>Returns</h4><p>Number of bytes written.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_seek"></a>io_seek</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_seek(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>offset,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>origin</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Seeks to a specified offset in the file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>io</td><td class=CDLDescription>Handle to the file.</td></tr><tr><td class=CDLEntry>offset</td><td class=CDLDescription>Offset from pos to stop.</td></tr><tr><td class=CDLEntry>origin</td><td class=CDLDescription>Position to start searching from.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 0 on success.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_tell"></a>io_tell</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>long int io_tell(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the current position in the file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>io</td><td class=CDLDescription>Handle to the file.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns the current position.&nbsp; -1L if an error occured.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_length"></a>io_length</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>long int io_length(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the total length of the file.&nbsp; Resetting cursor to the beginning</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>io</td><td class=CDLDescription>Handle to the file.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns the total size.&nbsp; -1L if an error occured.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_close"></a>io_close</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_close(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Closes a file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>io</td><td class=CDLDescription>Handle to the file.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 0 on success.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_flush"></a>io_flush</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_flush(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Empties all buffers and writes all pending data.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>io</td><td class=CDLDescription>Handle to the file.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 0 on success.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_stdin"></a>io_stdin</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stdin()</td></tr></table></blockquote><p>Returns an &lt;IOHANDLE&gt; to the standard input.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_stdout"></a>io_stdout</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stdout()</td></tr></table></blockquote><p>Returns an &lt;IOHANDLE&gt; to the standard output.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="io_stderr"></a>io_stderr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stderr()</td></tr></table></blockquote><p>Returns an &lt;IOHANDLE&gt; to the standard error.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Threads"></a>Threads</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="thread_sleep"></a>thread_sleep</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void thread_sleep(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>milliseconds</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Suspends the current thread for a given period.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>milliseconds</td><td class=CDLDescription>Number of milliseconds to sleep.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="thread_create"></a>thread_create</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *thread_create(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>(*threadfunc)(void *),</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>user</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a new thread.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>threadfunc</td><td class=CDLDescription>Entry point for the new thread.</td></tr><tr><td class=CDLEntry>user</td><td class=CDLDescription>Pointer to pass to the thread.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="thread_wait"></a>thread_wait</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void thread_wait(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>thread</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Waits for a thread to be done or destroyed.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>thread</td><td class=CDLDescription>Thread to wait for.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="thread_destoy"></a>thread_destoy</h3><div class=CBody><p>Destroys a thread.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>thread</td><td class=CDLDescription>Thread to destroy.</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="thread_yeild"></a>thread_yeild</h3><div class=CBody><p>Yeild the current threads execution slice.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Locks"></a>Locks</h3></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Timer"></a>Timer</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="time_get"></a>time_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int64 time_get()</td></tr></table></blockquote><p>Fetches a sample from a high resolution timer.</p><h4 class=CHeading>Returns</h4><p>Current value of the timer.</p><h4 class=CHeading>Remarks</h4><p>To know how fast the timer is ticking, see <a href="#time_freq" class=LFunction id=link67 onMouseOver="ShowTip(event, 'tt26', 'link67')" onMouseOut="HideTip('tt26')">time_freq</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="time_freq"></a>time_freq</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int64 time_freq()</td></tr></table></blockquote><p>Returns the frequency of the high resolution timer.</p><h4 class=CHeading>Returns</h4><p>Returns the frequency of the high resolution timer.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="time_timestamp"></a>time_timestamp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>unsigned time_timestamp()</td></tr></table></blockquote><p>Retrives the current time as a UNIX timestamp</p><h4 class=CHeading>Returns</h4><p>The time as a UNIX timestamp</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Network_General"></a>Network General</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_init"></a>net_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_init()</td></tr></table></blockquote><p>Initiates network functionallity.</p><h4 class=CHeading>Returns</h4><p>Returns 0 on success,</p><h4 class=CHeading>Remarks</h4><p>You must call this function before using any other network functions.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_host_lookup"></a>net_host_lookup</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_host_lookup(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>hostname,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>types</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Does a hostname lookup by name and fills out the passed NETADDR struct with the recieved details.</p><h4 class=CHeading>Returns</h4><p>0 on success.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_addr_comp"></a>net_addr_comp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_addr_comp(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Compares two network addresses.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>a</td><td class=CDLDescription>Address to compare</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>Address to compare to.</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>&lt;0</td><td class=CDLDescription>Address a is lesser then address b</td></tr><tr><td class=CDLEntry>0</td><td class=CDLDescription>Address a is equal to address b</td></tr></table><blockquote><pre>0 - Address a is greater then address b</pre></blockquote></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_addr_str"></a>net_addr_str</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_addr_str(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>string,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max_length</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Turns a network address into a representive string.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>addr</td><td class=CDLDescription>Address to turn into a string.</td></tr><tr><td class=CDLEntry>string</td><td class=CDLDescription>Buffer to fill with the string.</td></tr><tr><td class=CDLEntry>max_length</td><td class=CDLDescription>Maximum size of the string.</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>The string will always be zero terminated</li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Network_UDP"></a>Network UDP</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_udp_create"></a>net_udp_create</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>NETSOCKET net_udp_create(</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameter nowrap>bindaddr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a UDP socket and binds it to a port.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>bindaddr</td><td class=CDLDescription>Address to bind the socket to.</td></tr></table><h4 class=CHeading>Returns</h4><p>On success it returns an handle to the socket.&nbsp; On failure it returns NETSOCKET_INVALID.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_udp_send"></a>net_udp_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_send(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends a packet over an UDP socket.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Socket to use.</td></tr><tr><td class=CDLEntry>addr</td><td class=CDLDescription>Where to send the packet.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>Pointer to the packet data to send.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the packet.</td></tr></table><h4 class=CHeading>Returns</h4><p>On success it returns the number of bytes sent.&nbsp; Returns -1 on error.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_udp_recv"></a>net_udp_recv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_recv(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxsize</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Recives a packet over an UDP socket.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Socket to use.</td></tr><tr><td class=CDLEntry>addr</td><td class=CDLDescription>Pointer to an NETADDR that will recive the address.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>Pointer to a buffer that will recive the data.</td></tr><tr><td class=CDLEntry>maxsize</td><td class=CDLDescription>Maximum size to recive.</td></tr></table><h4 class=CHeading>Returns</h4><p>On success it returns the number of bytes recived.&nbsp; Returns -1 on error.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_udp_close"></a>net_udp_close</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_close(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Closes an UDP socket.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Socket to close.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 0 on success.&nbsp; -1 on error.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Network_TCP"></a>Network TCP</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_create"></a>net_tcp_create</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>NETSOCKET net_tcp_create(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a TCP socket.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>bindaddr</td><td class=CDLDescription>Address to bind the socket to.</td></tr></table><h4 class=CHeading>Returns</h4><p>On success it returns an handle to the socket.&nbsp; On failure it returns NETSOCKET_INVALID.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_listen"></a>net_tcp_listen</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_listen(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>backlog</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Makes the socket start listening for new connections.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Socket to start listen to.</td></tr><tr><td class=CDLEntry>backlog</td><td class=CDLDescription>Size of the queue of incomming connections to keep.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 0 on success.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_accept"></a>net_tcp_accept</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_accept(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>new_sock,</td></tr><tr><td></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Polls a listning socket for a new connection.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Listning socket to poll.</td></tr><tr><td class=CDLEntry>new_sock</td><td class=CDLDescription>Pointer to a socket to fill in with the new socket.</td></tr><tr><td class=CDLEntry>addr</td><td class=CDLDescription>Pointer to an address that will be filled in the remote address (optional, can be NULL).</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns a non-negative integer on success.&nbsp; Negative integer on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_connect"></a>net_tcp_connect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_connect(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Connects one socket to another.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Socket to connect.</td></tr><tr><td class=CDLEntry>addr</td><td class=CDLDescription>Address to connect to.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 0 on success.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_send"></a>net_tcp_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_send(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends data to a TCP stream.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Socket to send data to.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>Pointer to the data to send.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Size of the data to send.</td></tr></table><h4 class=CHeading>Returns</h4><p>Number of bytes sent.&nbsp; Negative value on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_recv"></a>net_tcp_recv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_recv(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxsize</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Recvives data from a TCP stream.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Socket to recvive data from.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>Pointer to a buffer to write the data to</td></tr><tr><td class=CDLEntry>max_size</td><td class=CDLDescription>Maximum of data to write to the buffer.</td></tr></table><h4 class=CHeading>Returns</h4><p>Number of bytes recvived.&nbsp; Negative value on failure.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_close"></a>net_tcp_close</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_close(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Closes a TCP socket.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sock</td><td class=CDLDescription>Socket to close.</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 0 on success.&nbsp; Negative value on failure.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Strings"></a>Strings</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="str_append"></a>str_append</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_append(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>src,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Appends a string to another.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Pointer to a buffer that contains a string.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>String to append.</td></tr><tr><td class=CDLEntry>dst_size</td><td class=CDLDescription>Size of the buffer of the dst string.</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>The strings are treated as zero-termineted strings.</li><li>Garantees that dst string will contain zero-termination.</li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="str_copy"></a>str_copy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_copy(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>src,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copies a string to another.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Pointer to a buffer that shall recive the string.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>String to be copied.</td></tr><tr><td class=CDLEntry>dst_size</td><td class=CDLDescription>Size of the buffer dst.</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>The strings are treated as zero-termineted strings.</li><li>Garantees that dst string will contain zero-termination.</li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="str_format"></a>str_format</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_format(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>buffer_size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>...</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Performs printf formating into a buffer.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>buffer</td><td class=CDLDescription>Pointer to the buffer to recive the formated string.</td></tr><tr><td class=CDLEntry>buffer_size</td><td class=CDLDescription>Size of the buffer.</td></tr><tr><td class=CDLEntry>format</td><td class=CDLDescription>printf formating string.</td></tr><tr><td class=CDLEntry>...</td><td class=CDLDescription>Parameters for the formating.</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>See the C manual for syntax for the printf formating string.</li><li>The strings are treated as zero-termineted strings.</li><li>Garantees that dst string will contain zero-termination.</li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="str_sanitize_strong"></a>str_sanitize_strong</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_sanitize_strong(</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Replaces all characters below 32 and above 127 with whitespace.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>str</td><td class=CDLDescription>String to sanitize.</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>The strings are treated as zero-termineted strings.</li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="str_sanitize"></a>str_sanitize</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_sanitize(</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Replaces all characters below 32 and above 127 with whitespace with exception to \r, \n and \r.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>str</td><td class=CDLDescription>String to sanitize.</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>The strings are treated as zero-termineted strings.</li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="str_comp_nocase"></a>str_comp_nocase</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int str_comp_nocase(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Compares to strings case insensitive.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>a</td><td class=CDLDescription>String to compare.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>String to compare.</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>&lt;0</td><td class=CDLDescription>String a is lesser then string b</td></tr><tr><td class=CDLEntry>0</td><td class=CDLDescription>String a is equal to string b</td></tr></table><blockquote><pre>0 - String a is greater then string b</pre></blockquote><h4 class=CHeading>Remarks</h4><ul><li>Only garanted to work with a-z/A-Z.</li><li>The strings are treated as zero-termineted strings.</li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="str_find_nocase"></a>str_find_nocase</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *str_find_nocase(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>haystack,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>needle</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Finds a string inside another string case insensitive.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>haystack</td><td class=CDLDescription>String to search in</td></tr><tr><td class=CDLEntry>needle</td><td class=CDLDescription>String to search for</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer into haystack where the needle was found.&nbsp; Returns NULL of needle could not be found.</p><h4 class=CHeading>Remarks</h4><ul><li>Only garanted to work with a-z/A-Z.</li><li>The strings are treated as zero-termineted strings.</li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="str_hex"></a>str_hex</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_hex(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>data_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Takes a datablock and generates a hexstring of it.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Buffer to fill with hex data</td></tr><tr><td class=CDLEntry>dst_size</td><td class=CDLDescription>size of the buffer</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>Data to turn into hex</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>Size of the data</td></tr></table><h4 class=CHeading>Remarks</h4><ul><li>The desination buffer will be zero-terminated</li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Filesystem"></a>Filesystem</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="fs_listdir"></a>fs_listdir</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>typedef void (</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>fs_listdir_callback</td><td class=PAfterParameters nowrap>)(const char *name, int is_dir, void *user)</td></tr></table></td></tr></table></blockquote><p>Lists the files in a directory</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dir</td><td class=CDLDescription>Directory to list</td></tr><tr><td class=CDLEntry>cb</td><td class=CDLDescription>Callback function to call for each entry</td></tr><tr><td class=CDLEntry>user</td><td class=CDLDescription>Pointer to give to the callback</td></tr></table><h4 class=CHeading>Returns</h4><p>Always returns 0.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="fs_makedir"></a>fs_makedir</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int fs_makedir(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>path</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a directory</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>path</td><td class=CDLDescription>Directory to create</td></tr></table><h4 class=CHeading>Returns</h4><p>Returns 0 on success.&nbsp; Negative value on failure.</p><h4 class=CHeading>Remarks</h4><p>Does not create several directories if needed.&nbsp; &ldquo;a/b/c&rdquo; will result in a failure if b or a does not exist.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="fs_storage_path"></a>fs_storage_path</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int fs_storage_path(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>appname,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>path,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Fetches per user configuration directory.</p><h4 class=CHeading>Returns</h4><p>Returns 0 on success.&nbsp; Negative value on failure.</p><h4 class=CHeading>Remarks</h4><ul><li>Returns ~/.appname on UNIX based systems</li><li>Returns ~/Library/Applications Support/appname on Mac OS X</li><li>Returns %APPDATA%/Appname on Windows based systems</li></ul></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Undocumented"></a>Undocumented</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_connect_non_blocking"></a>net_tcp_connect_non_blocking</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_connect_non_blocking(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>DOCTODO: serp</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_set_non_blocking"></a>net_tcp_set_non_blocking</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_set_non_blocking(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>DOCTODO: serp</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_tcp_set_non_blocking"></a>net_tcp_set_non_blocking</h3><div class=CBody><p>DOCTODO: serp</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_errno"></a>net_errno</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_errno()</td></tr></table></blockquote><p>DOCTODO: serp</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="net_would_block"></a>net_would_block</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_would_block()</td></tr></table></blockquote><p>DOCTODO: serp</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile id=MSelected>OS Abstraction</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([6, 7, 8], 9);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void dbg_assert(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>test,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>msg</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Breaks into the debugger based on a test.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void dbg_break()</td></tr></table></blockquote>Breaks into the debugger.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void dbg_msg(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>sys,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>fmt,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>...</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Prints a debug message.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *mem_alloc_debug(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>line,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>alignment</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates memory.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_free(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>block</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Frees a block allocated through mem_alloc.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_copy(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dest,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a a memory block.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_move(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dest,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a a memory block</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_zero(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>block,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a complete memory block to 0</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int mem_comp(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares two blocks of memory</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>IOHANDLE io_open(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Opens a file.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_read(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Reads data into a buffer from a file.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_skip(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Skips data in a file.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_write(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Writes data from a buffer to file.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_seek(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>offset,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>origin</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Seeks to a specified offset in the file.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>long int io_tell(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the current position in the file.</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>long int io_length(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the total length of the file. </div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_close(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes a file.</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_flush(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Empties all buffers and writes all pending data.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stdin()</td></tr></table></blockquote>Returns an IOHANDLE to the standard input.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stdout()</td></tr></table></blockquote>Returns an IOHANDLE to the standard output.</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stderr()</td></tr></table></blockquote>Returns an IOHANDLE to the standard error.</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void thread_sleep(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>milliseconds</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Suspends the current thread for a given period.</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *thread_create(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>(*threadfunc)(void *),</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>user</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new thread.</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void thread_wait(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>thread</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Waits for a thread to be done or destroyed.</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int64 time_get()</td></tr></table></blockquote>Fetches a sample from a high resolution timer.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int64 time_freq()</td></tr></table></blockquote>Returns the frequency of the high resolution timer.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>unsigned time_timestamp()</td></tr></table></blockquote>Retrives the current time as a UNIX timestamp</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_init()</td></tr></table></blockquote>Initiates network functionallity.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_host_lookup(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>hostname,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>types</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Does a hostname lookup by name and fills out the passed NETADDR struct with the recieved details.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_addr_comp(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares two network addresses.</div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_addr_str(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>string,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max_length</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Turns a network address into a representive string.</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>NETSOCKET net_udp_create(</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameter nowrap>bindaddr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a UDP socket and binds it to a port.</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_send(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a packet over an UDP socket.</div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_recv(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxsize</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Recives a packet over an UDP socket.</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_close(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes an UDP socket.</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>NETSOCKET net_tcp_create(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a TCP socket.</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_listen(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>backlog</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Makes the socket start listening for new connections.</div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_accept(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>new_sock,</td></tr><tr><td></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Polls a listning socket for a new connection.</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_connect(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Connects one socket to another.</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_send(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends data to a TCP stream.</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_recv(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxsize</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Recvives data from a TCP stream.</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_close(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes a TCP socket.</div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_append(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>src,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Appends a string to another.</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_copy(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>src,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a string to another.</div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_format(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>buffer_size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>...</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Performs printf formating into a buffer.</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_sanitize_strong(</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Replaces all characters below 32 and above 127 with whitespace.</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_sanitize(</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Replaces all characters below 32 and above 127 with whitespace with exception to \r, \n and \r.</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int str_comp_nocase(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares to strings case insensitive.</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *str_find_nocase(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>haystack,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>needle</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds a string inside another string case insensitive.</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_hex(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>data_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Takes a datablock and generates a hexstring of it.</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>typedef void (</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>fs_listdir_callback</td><td class=PAfterParameters nowrap>)(const char *name, int is_dir, void *user)</td></tr></table></td></tr></table></blockquote>Lists the files in a directory</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int fs_makedir(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>path</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a directory</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int fs_storage_path(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>appname,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>path,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches per user configuration directory.</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_connect_non_blocking(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_set_non_blocking(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_errno()</td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_would_block()</td></tr></table></blockquote>DOCTODO: serp</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index.html b/docs/output/index.html
new file mode 100644
index 00000000..98fa8d05
--- /dev/null
+++ b/docs/output/index.html
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Refresh" CONTENT="0; URL=files2/e_system-h.html"></head></html>
\ No newline at end of file
diff --git a/docs/output/index/Classes.html b/docs/output/index/Classes.html
new file mode 100644
index 00000000..da6b2a74
--- /dev/null
+++ b/docs/output/index/Classes.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Class Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Class Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; <a href="#C">C</a> &middot; D &middot; <a href="#E">E</a> &middot; F &middot; <a href="#G">G</a> &middot; H &middot; <a href="#I">I</a> &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; <a href="#S">S</a> &middot; T &middot; U &middot; <a href="#V">V</a> &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#CLIENT_INFO"  class=ISymbol>CLIENT_INFO</a></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>Entity</a></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>Game Controller</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>Game World</a></td></tr><tr><td class=IHeading><a name="I"></a>I</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO"  class=ISymbol>IMAGE_INFO</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT"  class=ISymbol>INPUT_EVENT</a></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#SERVER_INFO"  class=ISymbol>SERVER_INFO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#SERVER_INFO_PLAYER"  class=ISymbol>SERVER_INFO_PLAYER</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#SNAP_ITEM"  class=ISymbol>SNAP_ITEM</a></td></tr><tr><td class=IHeading><a name="V"></a>V</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#VIDEO_MODE"  class=ISymbol>VIDEO_MODE</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CClass>Basic entity class.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt2"><div class=CClass>Controls the main game logic. </div></div><div class=CToolTip id="tt3"><div class=CClass>Tracks all entities in the game. </div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Classes</div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/Constants.html b/docs/output/index/Constants.html
new file mode 100644
index 00000000..b9e6938f
--- /dev/null
+++ b/docs/output/index/Constants.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Constant Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Constant Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; <a href="#B">B</a> &middot; <a href="#C">C</a> &middot; D &middot; E &middot; F &middot; G &middot; H &middot; <a href="#I">I</a> &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="B"></a>B</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_GAMETYPE" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>BROWSESORT_GAMETYPE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_MAP" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>BROWSESORT_MAP</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_NAME" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>BROWSESORT_NAME</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_NUMPLAYERS" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>BROWSESORT_NUMPLAYERS</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_PING" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>BROWSESORT_PING</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_PROGRESSION" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>BROWSESORT_PROGRESSION</a></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Client_States"  class=ISymbol>Client States</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_CONNECTING" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>CLIENTSTATE_CONNECTING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_LOADING" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>CLIENTSTATE_LOADING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_OFFLINE" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>CLIENTSTATE_OFFLINE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_ONLINE" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>CLIENTSTATE_ONLINE</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_QUITING" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>CLIENTSTATE_QUITING</a></td></tr><tr><td class=IHeading><a name="I"></a>I</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Image_Formats"  class=ISymbol>Image Formats</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#IMG_ALPHA" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>IMG_ALPHA</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#IMG_AUTO" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>IMG_AUTO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#IMG_RGB" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>IMG_RGB</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#IMG_RGBA" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>IMG_RGBA</a></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Server_Browser_Sorting"  class=ISymbol>Server Browser Sorting</a></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#TEXLOAD_NORESAMPLE" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>TEXLOAD_NORESAMPLE</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Texture_Loading_Flags"  class=ISymbol>Texture Loading Flags</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CConstant>Sort by game type. </div></div><div class=CToolTip id="tt2"><div class=CConstant>Sort by map</div></div><div class=CToolTip id="tt3"><div class=CConstant>Sort by name.</div></div><div class=CToolTip id="tt4"><div class=CConstant>Sort after how many players there are on the server.</div></div><div class=CToolTip id="tt5"><div class=CConstant>Sort by ping.</div></div><div class=CToolTip id="tt6"><div class=CConstant>Sort by progression.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt7"><div class=CConstant>The client is trying to connect to a server.</div></div><div class=CToolTip id="tt8"><div class=CConstant>The client has connected to a server and is loading resources.</div></div><div class=CToolTip id="tt9"><div class=CConstant>The client is offline.</div></div><div class=CToolTip id="tt10"><div class=CConstant>The client is connected to a server and running the game.</div></div><div class=CToolTip id="tt11"><div class=CConstant>The client is quiting.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt12"><div class=CConstant>8-Bit uncompressed alpha</div></div><div class=CToolTip id="tt13"><div class=CConstant>Lets the engine choose the format.</div></div><div class=CToolTip id="tt14"><div class=CConstant>8-Bit uncompressed RGB</div></div><div class=CToolTip id="tt15"><div class=CConstant>8-Bit uncompressed RGBA</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt16"><div class=CConstant>Prevents the texture from any resampling</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Constants</div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/Functions.html b/docs/output/index/Functions.html
new file mode 100644
index 00000000..7c450f8a
--- /dev/null
+++ b/docs/output/index/Functions.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; <a href="#C">C</a> &middot; <a href="#D">D</a> &middot; E &middot; <a href="#F">F</a> &middot; <a href="Functions2.html#G">G</a> &middot; H &middot; <a href="Functions2.html#I">I</a> &middot; J &middot; K &middot; L &middot; <a href="Functions3.html#M">M</a> &middot; <a href="Functions4.html#N">N</a> &middot; <a href="Functions4.html#O">O</a> &middot; P &middot; Q &middot; <a href="Functions4.html#R">R</a> &middot; <a href="Functions4.html#S">S</a> &middot; <a href="Functions5.html#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_connect" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>client_connect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_connection_problems" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>client_connection_problems</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_direct_input" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>client_direct_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_disconnect" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>client_disconnect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_error_string" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>client_error_string</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_frametime" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>client_frametime</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_get_input" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>client_get_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_intratick" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>client_intratick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_localtime" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>client_localtime</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_mapdownload_amount" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>client_mapdownload_amount</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_mapdownload_totalsize" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>client_mapdownload_totalsize</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_predintratick" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>client_predintratick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_predtick" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>client_predtick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_quit" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>client_quit</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_rcon" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>client_rcon</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_rcon_auth" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>client_rcon_auth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_rcon_authed" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>client_rcon_authed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_save_line" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>client_save_line</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#client_send_msg" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>client_send_msg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_get" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>client_serverbrowse_get</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_lan" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>client_serverbrowse_lan</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_num" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>client_serverbrowse_num</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_num_requests" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>client_serverbrowse_num_requests</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_refresh" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>client_serverbrowse_refresh</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_sorted_get" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>client_serverbrowse_sorted_get</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_sorted_num" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>client_serverbrowse_sorted_num</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_update" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>client_serverbrowse_update</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_state" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>client_state</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_tick" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>client_tick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_tickspeed" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>client_tickspeed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_ticktime" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>client_ticktime</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.closest_character" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>closest_character</a>, <span class=IParent>Game World</span></td></tr><tr><td class=IHeading><a name="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#dbg_assert" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>dbg_assert</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#dbg_break" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>dbg_break</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#dbg_msg" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>dbg_msg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.destroy" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>destroy</a>, <span class=IParent>Entity</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.destroy_entity" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>destroy_entity</a>, <span class=IParent>Game World</span></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.find_entities" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>find_entities</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#fs_listdir" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>fs_listdir</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#fs_makedir" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>fs_makedir</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#fs_storage_path" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>fs_storage_path</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_connect(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>address</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Connects to a server at the specified address.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_connection_problems()</td></tr></table></blockquote>Returns 1 if the client is connection problems.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_direct_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_disconnect()</td></tr></table></blockquote>Disconnects from the current server.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *client_error_string()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_frametime()</td></tr></table></blockquote>Returns how long time the last frame took to process.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *client_get_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>tick</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_intratick()</td></tr></table></blockquote>Returns the current intratick.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_localtime()</td></tr></table></blockquote>Returns the clients local time.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_mapdownload_amount()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_mapdownload_totalsize()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_predintratick()</td></tr></table></blockquote>Returns the current preticted intra tick.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_predtick()</td></tr></table></blockquote>Returns the current predicted tick.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_quit()</td></tr></table></blockquote>Tells to client to shutdown.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_rcon(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>cmd</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a command to the server to execute on it&rsquo;s console.</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_rcon_auth(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>name,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>password</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_rcon_authed()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_save_line(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>line</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_send_msg()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>SERVER_INFO *client_serverbrowse_get(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_lan()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_num()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_num_requests()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_serverbrowse_refresh(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>lan</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Issues a refresh of the server browser.</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>SERVER_INFO *client_serverbrowse_sorted_get(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns server info from the sorted list.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_sorted_num()</td></tr></table></blockquote>Returns how many servers there are in the sorted list.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_serverbrowse_update()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_state()</td></tr></table></blockquote>Returns the state of the client.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tick()</td></tr></table></blockquote>Returns the tick of the current snapshot.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tickspeed()</td></tr></table></blockquote>Returns how many ticks per second the client is doing.</div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_ticktime()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>class CHARACTER *closest_character(</td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>pos,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>radius,</td></tr><tr><td></td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>notthis</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds the closest character to a specific point.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void dbg_assert(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>test,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>msg</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Breaks into the debugger based on a test.</div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void dbg_break()</td></tr></table></blockquote>Breaks into the debugger.</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void dbg_msg(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>sys,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>fmt,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>...</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Prints a debug message.</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void destroy()</td></tr></table></blockquote>Destorys the entity.</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void destroy_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Destroys an entity in the world.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int find_entities(</td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>pos,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>radius,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>**</td><td class=PParameter nowrap>ents,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>type</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> -1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds entities close to a position and returns them in a list.</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>typedef void (</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>fs_listdir_callback</td><td class=PAfterParameters nowrap>)(const char *name, int is_dir, void *user)</td></tr></table></td></tr></table></blockquote>Lists the files in a directory</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int fs_makedir(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>path</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a directory</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int fs_storage_path(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>appname,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>path,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches per user configuration directory.</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/Functions2.html b/docs/output/index/Functions2.html
new file mode 100644
index 00000000..34b8d01a
--- /dev/null
+++ b/docs/output/index/Functions2.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; <a href="Functions.html#C">C</a> &middot; <a href="Functions.html#D">D</a> &middot; E &middot; <a href="Functions.html#F">F</a> &middot; <a href="#G">G</a> &middot; H &middot; <a href="#I">I</a> &middot; J &middot; K &middot; L &middot; <a href="Functions3.html#M">M</a> &middot; <a href="Functions4.html#N">N</a> &middot; <a href="Functions4.html#O">O</a> &middot; P &middot; Q &middot; <a href="Functions4.html#R">R</a> &middot; <a href="Functions4.html#S">S</a> &middot; <a href="Functions5.html#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_additive" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>gfx_blend_additive</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_none" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>gfx_blend_none</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_normal" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>gfx_blend_normal</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clear" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>gfx_clear</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clip_disable" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>gfx_clip_disable</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clip_enable" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>gfx_clip_enable</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_get_video_modes" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>gfx_get_video_modes</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_getscreen" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>gfx_getscreen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_begin" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>gfx_lines_begin</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_draw" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>gfx_lines_draw</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_end" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>gfx_lines_end</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_png" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>gfx_load_png</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_texture" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>gfx_load_texture</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_texture_raw" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>gfx_load_texture_raw</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_mapscreen" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>gfx_mapscreen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_memory_usage" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>gfx_memory_usage</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_begin" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>gfx_quads_begin</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_draw" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>gfx_quads_draw</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_draw_freeform" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>gfx_quads_draw_freeform</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_drawTL" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>gfx_quads_drawTL</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_end" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>gfx_quads_end</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setrotation" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>gfx_quads_setrotation</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setsubset" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>gfx_quads_setsubset</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setsubset_free" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>gfx_quads_setsubset_free</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_text" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>gfx_quads_text</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenaspect" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>gfx_screenaspect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenheight" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>gfx_screenheight</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenshot" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>gfx_screenshot</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenwidth" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>gfx_screenwidth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_setcolor" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>gfx_setcolor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_setcolorvertex" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>gfx_setcolorvertex</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>gfx_text</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_color" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>gfx_text_color</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_set_default_font" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')" class=ISymbol>gfx_text_set_default_font</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_width" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')" class=ISymbol>gfx_text_width</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_texture_set" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')" class=ISymbol>gfx_texture_set</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_unload_texture" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')" class=ISymbol>gfx_unload_texture</a></td></tr><tr><td class=IHeading><a name="I"></a>I</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_clear_events" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')" class=ISymbol>inp_clear_events</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_clear_key_states" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')" class=ISymbol>inp_clear_key_states</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_get_event" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')" class=ISymbol>inp_get_event</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_code" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')" class=ISymbol>inp_key_code</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_down" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')" class=ISymbol>inp_key_down</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_name" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')" class=ISymbol>inp_key_name</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_pressed" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')" class=ISymbol>inp_key_pressed</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_presses" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')" class=ISymbol>inp_key_presses</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_releases" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')" class=ISymbol>inp_key_releases</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_state" id=link88 onMouseOver="ShowTip(event, 'tt88', 'link88')" onMouseOut="HideTip('tt88')" class=ISymbol>inp_key_state</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_was_pressed" id=link89 onMouseOver="ShowTip(event, 'tt89', 'link89')" onMouseOut="HideTip('tt89')" class=ISymbol>inp_key_was_pressed</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_doubleclick" id=link90 onMouseOver="ShowTip(event, 'tt90', 'link90')" onMouseOut="HideTip('tt90')" class=ISymbol>inp_mouse_doubleclick</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_relative" id=link91 onMouseOver="ShowTip(event, 'tt91', 'link91')" onMouseOut="HideTip('tt91')" class=ISymbol>inp_mouse_relative</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_scroll" id=link92 onMouseOver="ShowTip(event, 'tt92', 'link92')" onMouseOut="HideTip('tt92')" class=ISymbol>inp_mouse_scroll</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_num_events" id=link93 onMouseOver="ShowTip(event, 'tt93', 'link93')" onMouseOut="HideTip('tt93')" class=ISymbol>inp_num_events</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.insert_entity" id=link94 onMouseOver="ShowTip(event, 'tt94', 'link94')" onMouseOut="HideTip('tt94')" class=ISymbol>insert_entity</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.interserct_character" id=link95 onMouseOver="ShowTip(event, 'tt95', 'link95')" onMouseOut="HideTip('tt95')" class=ISymbol>interserct_character</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_close" id=link96 onMouseOver="ShowTip(event, 'tt96', 'link96')" onMouseOut="HideTip('tt96')" class=ISymbol>io_close</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_flush" id=link97 onMouseOver="ShowTip(event, 'tt97', 'link97')" onMouseOut="HideTip('tt97')" class=ISymbol>io_flush</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_length" id=link98 onMouseOver="ShowTip(event, 'tt98', 'link98')" onMouseOut="HideTip('tt98')" class=ISymbol>io_length</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_open" id=link99 onMouseOver="ShowTip(event, 'tt99', 'link99')" onMouseOut="HideTip('tt99')" class=ISymbol>io_open</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_read" id=link100 onMouseOver="ShowTip(event, 'tt100', 'link100')" onMouseOut="HideTip('tt100')" class=ISymbol>io_read</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_seek" id=link101 onMouseOver="ShowTip(event, 'tt101', 'link101')" onMouseOut="HideTip('tt101')" class=ISymbol>io_seek</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_skip" id=link102 onMouseOver="ShowTip(event, 'tt102', 'link102')" onMouseOut="HideTip('tt102')" class=ISymbol>io_skip</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_stderr" id=link103 onMouseOver="ShowTip(event, 'tt103', 'link103')" onMouseOut="HideTip('tt103')" class=ISymbol>io_stderr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_stdin" id=link104 onMouseOver="ShowTip(event, 'tt104', 'link104')" onMouseOut="HideTip('tt104')" class=ISymbol>io_stdin</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_stdout" id=link105 onMouseOver="ShowTip(event, 'tt105', 'link105')" onMouseOut="HideTip('tt105')" class=ISymbol>io_stdout</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_tell" id=link106 onMouseOver="ShowTip(event, 'tt106', 'link106')" onMouseOut="HideTip('tt106')" class=ISymbol>io_tell</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_write" id=link107 onMouseOver="ShowTip(event, 'tt107', 'link107')" onMouseOut="HideTip('tt107')" class=ISymbol>io_write</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_additive()</td></tr></table></blockquote>Set the active blending mode to additive (src, one).</div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_none()</td></tr></table></blockquote>Disables blending</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_normal()</td></tr></table></blockquote>Set the active blending mode to normal (src, 1-src).</div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_clear(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Clears the screen with the specified color.</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_clip_disable()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_clip_enable(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>h</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_get_video_modes(</td><td class=PType nowrap>VIDEO_MODE&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>list,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxcount</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches a list of all the available video modes.</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_getscreen(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>tl_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>tl_y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>br_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>br_y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_lines_begin()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_lines_draw(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_lines_end()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_png(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>IMAGE_INFO&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>img,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a PNG image from disk.</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_texture(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>store_format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a texture from a file. </div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_texture_raw(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>h,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>format,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>store_format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a texture from memory.</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_mapscreen(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Specifies the coordinate system for the screen.</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_memory_usage()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_quads_begin()</td></tr></table></blockquote>Begins a quad drawing session.</div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_draw(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>h</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the center point.</div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_draw_freeform(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x3,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y3</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the corner points.</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_drawTL(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>width,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>height</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the top-left point.</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_quads_end()</td></tr></table></blockquote>Ends a quad session.</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setrotation(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>angle</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the rotation to use when drawing a quad.</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setsubset(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_u,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_v,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_u,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_v</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the uv coordinates to use.</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setsubset_free(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x3,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y3</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_text(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float gfx_screenaspect()</td></tr></table></blockquote>Returns the aspect ratio between width and height.</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_screenheight()</td></tr></table></blockquote>Returns the screen height.</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_screenshot()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt70"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_screenwidth()</td></tr></table></blockquote>Returns the screen width.</div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_setcolor(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the color of all the vertices.</div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_setcolorvertex(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>i,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the color of a vertex.</div></div><div class=CToolTip id="tt73"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max_width</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text_color(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt75"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text_set_default_font(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>float gfx_text_width(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>length</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_texture_set(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the active texture.</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_unload_texture(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Unloads a texture.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt79"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void inp_clear_events()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt80"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void inp_clear_key_states()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt81"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>INPUT_EVENT inp_get_event(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt82"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_code(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>key_name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt83"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_down(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *inp_key_name(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>k</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt85"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_pressed(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if a key is pressed.</div></div><div class=CToolTip id="tt86"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_presses(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt87"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_releases(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt88"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_state(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt89"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_was_pressed(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt90"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_mouse_doubleclick()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt91"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void inp_mouse_relative(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches the mouse movements.</div></div><div class=CToolTip id="tt92"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_mouse_scroll()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt93"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_num_events()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt94"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void insert_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Adds an entity to the world.</div></div><div class=CToolTip id="tt95"><div class=CFunction>Finds the closest character that intersects the line.</div></div><div class=CToolTip id="tt96"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_close(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes a file.</div></div><div class=CToolTip id="tt97"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_flush(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Empties all buffers and writes all pending data.</div></div><div class=CToolTip id="tt98"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>long int io_length(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the total length of the file. </div></div><div class=CToolTip id="tt99"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>IOHANDLE io_open(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Opens a file.</div></div><div class=CToolTip id="tt100"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_read(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Reads data into a buffer from a file.</div></div><div class=CToolTip id="tt101"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_seek(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>offset,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>origin</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Seeks to a specified offset in the file.</div></div><div class=CToolTip id="tt102"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_skip(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Skips data in a file.</div></div><div class=CToolTip id="tt103"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stderr()</td></tr></table></blockquote>Returns an IOHANDLE to the standard error.</div></div><div class=CToolTip id="tt104"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stdin()</td></tr></table></blockquote>Returns an IOHANDLE to the standard input.</div></div><div class=CToolTip id="tt105"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stdout()</td></tr></table></blockquote>Returns an IOHANDLE to the standard output.</div></div><div class=CToolTip id="tt106"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>long int io_tell(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the current position in the file.</div></div><div class=CToolTip id="tt107"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_write(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Writes data from a buffer to file.</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/Functions3.html b/docs/output/index/Functions3.html
new file mode 100644
index 00000000..79367ec7
--- /dev/null
+++ b/docs/output/index/Functions3.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; <a href="Functions.html#C">C</a> &middot; <a href="Functions.html#D">D</a> &middot; E &middot; <a href="Functions.html#F">F</a> &middot; <a href="Functions2.html#G">G</a> &middot; H &middot; <a href="Functions2.html#I">I</a> &middot; J &middot; K &middot; L &middot; <a href="#M">M</a> &middot; <a href="Functions4.html#N">N</a> &middot; <a href="Functions4.html#O">O</a> &middot; P &middot; Q &middot; <a href="Functions4.html#R">R</a> &middot; <a href="Functions4.html#S">S</a> &middot; <a href="Functions5.html#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_find_item" id=link108 onMouseOver="ShowTip(event, 'tt108', 'link108')" onMouseOut="HideTip('tt108')" class=ISymbol>map_find_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_get_data" id=link109 onMouseOver="ShowTip(event, 'tt109', 'link109')" onMouseOut="HideTip('tt109')" class=ISymbol>map_get_data</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_get_data_swapped" id=link110 onMouseOver="ShowTip(event, 'tt110', 'link110')" onMouseOut="HideTip('tt110')" class=ISymbol>map_get_data_swapped</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_get_item" id=link111 onMouseOver="ShowTip(event, 'tt111', 'link111')" onMouseOut="HideTip('tt111')" class=ISymbol>map_get_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_get_type" id=link112 onMouseOver="ShowTip(event, 'tt112', 'link112')" onMouseOut="HideTip('tt112')" class=ISymbol>map_get_type</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_is_loaded" id=link113 onMouseOver="ShowTip(event, 'tt113', 'link113')" onMouseOut="HideTip('tt113')" class=ISymbol>map_is_loaded</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_num_items" id=link114 onMouseOver="ShowTip(event, 'tt114', 'link114')" onMouseOut="HideTip('tt114')" class=ISymbol>map_num_items</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_unload_data" id=link115 onMouseOver="ShowTip(event, 'tt115', 'link115')" onMouseOut="HideTip('tt115')" class=ISymbol>map_unload_data</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_alloc" id=link116 onMouseOver="ShowTip(event, 'tt116', 'link116')" onMouseOut="HideTip('tt116')" class=ISymbol>mem_alloc</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_comp" id=link117 onMouseOver="ShowTip(event, 'tt117', 'link117')" onMouseOut="HideTip('tt117')" class=ISymbol>mem_comp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_copy" id=link118 onMouseOver="ShowTip(event, 'tt118', 'link118')" onMouseOut="HideTip('tt118')" class=ISymbol>mem_copy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_free" id=link119 onMouseOver="ShowTip(event, 'tt119', 'link119')" onMouseOut="HideTip('tt119')" class=ISymbol>mem_free</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_move" id=link120 onMouseOver="ShowTip(event, 'tt120', 'link120')" onMouseOut="HideTip('tt120')" class=ISymbol>mem_move</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_zero" id=link121 onMouseOver="ShowTip(event, 'tt121', 'link121')" onMouseOut="HideTip('tt121')" class=ISymbol>mem_zero</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_connected" id=link122 onMouseOver="ShowTip(event, 'tt122', 'link122')" onMouseOut="HideTip('tt122')" class=ISymbol>modc_connected</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_console_init" id=link123 onMouseOver="ShowTip(event, 'tt123', 'link123')" onMouseOut="HideTip('tt123')" class=ISymbol>modc_console_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_entergame" id=link124 onMouseOver="ShowTip(event, 'tt124', 'link124')" onMouseOut="HideTip('tt124')" class=ISymbol>modc_entergame</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_init" id=link125 onMouseOver="ShowTip(event, 'tt125', 'link125')" onMouseOut="HideTip('tt125')" class=ISymbol>modc_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_message" id=link126 onMouseOver="ShowTip(event, 'tt126', 'link126')" onMouseOut="HideTip('tt126')" class=ISymbol>modc_message</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_net_version" id=link127 onMouseOver="ShowTip(event, 'tt127', 'link127')" onMouseOut="HideTip('tt127')" class=ISymbol>modc_net_version</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_newsnapshot" id=link128 onMouseOver="ShowTip(event, 'tt128', 'link128')" onMouseOut="HideTip('tt128')" class=ISymbol>modc_newsnapshot</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_predict" id=link129 onMouseOver="ShowTip(event, 'tt129', 'link129')" onMouseOut="HideTip('tt129')" class=ISymbol>modc_predict</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_rcon_line" id=link130 onMouseOver="ShowTip(event, 'tt130', 'link130')" onMouseOut="HideTip('tt130')" class=ISymbol>modc_rcon_line</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_render" id=link131 onMouseOver="ShowTip(event, 'tt131', 'link131')" onMouseOut="HideTip('tt131')" class=ISymbol>modc_render</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_save_config" id=link132 onMouseOver="ShowTip(event, 'tt132', 'link132')" onMouseOut="HideTip('tt132')" class=ISymbol>modc_save_config</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_shutdown" id=link133 onMouseOver="ShowTip(event, 'tt133', 'link133')" onMouseOut="HideTip('tt133')" class=ISymbol>modc_shutdown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_snap_input" id=link134 onMouseOver="ShowTip(event, 'tt134', 'link134')" onMouseOut="HideTip('tt134')" class=ISymbol>modc_snap_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_statechange" id=link135 onMouseOver="ShowTip(event, 'tt135', 'link135')" onMouseOut="HideTip('tt135')" class=ISymbol>modc_statechange</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_direct_input" id=link136 onMouseOver="ShowTip(event, 'tt136', 'link136')" onMouseOut="HideTip('tt136')" class=ISymbol>mods_client_direct_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_drop" id=link137 onMouseOver="ShowTip(event, 'tt137', 'link137')" onMouseOut="HideTip('tt137')" class=ISymbol>mods_client_drop</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_enter" id=link138 onMouseOver="ShowTip(event, 'tt138', 'link138')" onMouseOut="HideTip('tt138')" class=ISymbol>mods_client_enter</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_predicted_input" id=link139 onMouseOver="ShowTip(event, 'tt139', 'link139')" onMouseOut="HideTip('tt139')" class=ISymbol>mods_client_predicted_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_connected" id=link140 onMouseOver="ShowTip(event, 'tt140', 'link140')" onMouseOut="HideTip('tt140')" class=ISymbol>mods_connected</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_console_init" id=link141 onMouseOver="ShowTip(event, 'tt141', 'link141')" onMouseOut="HideTip('tt141')" class=ISymbol>mods_console_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_init" id=link142 onMouseOver="ShowTip(event, 'tt142', 'link142')" onMouseOut="HideTip('tt142')" class=ISymbol>mods_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_message" id=link143 onMouseOver="ShowTip(event, 'tt143', 'link143')" onMouseOut="HideTip('tt143')" class=ISymbol>mods_message</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_net_version" id=link144 onMouseOver="ShowTip(event, 'tt144', 'link144')" onMouseOut="HideTip('tt144')" class=ISymbol>mods_net_version</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_postsnap" id=link145 onMouseOver="ShowTip(event, 'tt145', 'link145')" onMouseOut="HideTip('tt145')" class=ISymbol>mods_postsnap</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_presnap" id=link146 onMouseOver="ShowTip(event, 'tt146', 'link146')" onMouseOut="HideTip('tt146')" class=ISymbol>mods_presnap</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_shutdown" id=link147 onMouseOver="ShowTip(event, 'tt147', 'link147')" onMouseOut="HideTip('tt147')" class=ISymbol>mods_shutdown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_snap" id=link148 onMouseOver="ShowTip(event, 'tt148', 'link148')" onMouseOut="HideTip('tt148')" class=ISymbol>mods_snap</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_tick" id=link149 onMouseOver="ShowTip(event, 'tt149', 'link149')" onMouseOut="HideTip('tt149')" class=ISymbol>mods_tick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_version" id=link150 onMouseOver="ShowTip(event, 'tt150', 'link150')" onMouseOut="HideTip('tt150')" class=ISymbol>mods_version</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_end" id=link151 onMouseOver="ShowTip(event, 'tt151', 'link151')" onMouseOut="HideTip('tt151')" class=ISymbol>msg_pack_end</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_int" id=link152 onMouseOver="ShowTip(event, 'tt152', 'link152')" onMouseOut="HideTip('tt152')" class=ISymbol>msg_pack_int</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_raw" id=link153 onMouseOver="ShowTip(event, 'tt153', 'link153')" onMouseOut="HideTip('tt153')" class=ISymbol>msg_pack_raw</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_start" id=link154 onMouseOver="ShowTip(event, 'tt154', 'link154')" onMouseOut="HideTip('tt154')" class=ISymbol>msg_pack_start</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_string" id=link155 onMouseOver="ShowTip(event, 'tt155', 'link155')" onMouseOut="HideTip('tt155')" class=ISymbol>msg_pack_string</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_error" id=link156 onMouseOver="ShowTip(event, 'tt156', 'link156')" onMouseOut="HideTip('tt156')" class=ISymbol>msg_unpack_error</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_int" id=link157 onMouseOver="ShowTip(event, 'tt157', 'link157')" onMouseOut="HideTip('tt157')" class=ISymbol>msg_unpack_int</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_raw" id=link158 onMouseOver="ShowTip(event, 'tt158', 'link158')" onMouseOut="HideTip('tt158')" class=ISymbol>msg_unpack_raw</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_string" id=link159 onMouseOver="ShowTip(event, 'tt159', 'link159')" onMouseOut="HideTip('tt159')" class=ISymbol>msg_unpack_string</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt108"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Searches the map for an item.</div></div><div class=CToolTip id="tt109"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_data(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches a pointer to a raw data chunk in the map.</div></div><div class=CToolTip id="tt110"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_data_swapped(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt111"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an item from the loaded map from index.</div></div><div class=CToolTip id="tt112"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void map_get_type(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>start,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>num</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the index range of an item type.</div></div><div class=CToolTip id="tt113"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int map_is_loaded()</td></tr></table></blockquote>Checks if a map is loaded.</div></div><div class=CToolTip id="tt114"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int map_num_items()</td></tr></table></blockquote>Checks the number of items in the loaded map.</div></div><div class=CToolTip id="tt115"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void map_unload_data(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt116"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *mem_alloc_debug(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>line,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>alignment</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates memory.</div></div><div class=CToolTip id="tt117"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int mem_comp(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares two blocks of memory</div></div><div class=CToolTip id="tt118"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_copy(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dest,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a a memory block.</div></div><div class=CToolTip id="tt119"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_free(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>block</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Frees a block allocated through mem_alloc.</div></div><div class=CToolTip id="tt120"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_move(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dest,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a a memory block</div></div><div class=CToolTip id="tt121"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_zero(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>block,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a complete memory block to 0</div></div><div class=CToolTip id="tt122"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_connected()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt123"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_console_init()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt124"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_entergame()</td></tr></table></blockquote>Called when the client has successfully connect to a server and loaded a map.</div></div><div class=CToolTip id="tt125"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_init()</td></tr></table></blockquote>Called when the client starts.</div></div><div class=CToolTip id="tt126"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_message(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt127"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *modc_net_version()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt128"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_newsnapshot()</td></tr></table></blockquote>Called when the client progressed to a new snapshot.</div></div><div class=CToolTip id="tt129"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_predict()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt130"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_rcon_line(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>line</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt131"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_render()</td></tr></table></blockquote>Called every frame to let the game render it self.</div></div><div class=CToolTip id="tt132"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_save_config()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt133"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_shutdown()</td></tr></table></blockquote>Called when the client closes down.</div></div><div class=CToolTip id="tt134"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int modc_snap_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt135"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_statechange(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>new_state,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>old_state</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called every time client changes state.</div></div><div class=CToolTip id="tt136"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_direct_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the server recives new input from a client.</div></div><div class=CToolTip id="tt137"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_drop(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a client drops from the server.</div></div><div class=CToolTip id="tt138"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_enter(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a client has joined the game.</div></div><div class=CToolTip id="tt139"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_predicted_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the server applys the predicted input on the client.</div></div><div class=CToolTip id="tt140"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_connected(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt141"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_console_init()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt142"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_init()</td></tr></table></blockquote>Called when the server is started.</div></div><div class=CToolTip id="tt143"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_message(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt144"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *mods_net_version()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt145"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_postsnap()</td></tr></table></blockquote>Called after the server is done sending the snapshots.</div></div><div class=CToolTip id="tt146"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_presnap()</td></tr></table></blockquote>Called before the server starts to construct snapshots for the clients.</div></div><div class=CToolTip id="tt147"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_shutdown()</td></tr></table></blockquote>Called when the server quits.</div></div><div class=CToolTip id="tt148"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called to create the snapshot for a client.</div></div><div class=CToolTip id="tt149"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_tick()</td></tr></table></blockquote>Called with a regular interval to progress the gameplay.</div></div><div class=CToolTip id="tt150"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *mods_version()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt151"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void msg_pack_end()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt152"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_int(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>i</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt153"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_raw(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt154"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_start(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt155"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_string(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>p,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>limit</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt156"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int msg_unpack_error()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt157"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int msg_unpack_int()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt158"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const unsigned char *msg_unpack_raw(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt159"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *msg_unpack_string()</td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/Functions4.html b/docs/output/index/Functions4.html
new file mode 100644
index 00000000..604872de
--- /dev/null
+++ b/docs/output/index/Functions4.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; <a href="Functions.html#C">C</a> &middot; <a href="Functions.html#D">D</a> &middot; E &middot; <a href="Functions.html#F">F</a> &middot; <a href="Functions2.html#G">G</a> &middot; H &middot; <a href="Functions2.html#I">I</a> &middot; J &middot; K &middot; L &middot; <a href="Functions3.html#M">M</a> &middot; <a href="#N">N</a> &middot; <a href="#O">O</a> &middot; P &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; <a href="Functions5.html#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="N"></a>N</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_addr_comp" id=link160 onMouseOver="ShowTip(event, 'tt160', 'link160')" onMouseOut="HideTip('tt160')" class=ISymbol>net_addr_comp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_addr_str" id=link161 onMouseOver="ShowTip(event, 'tt161', 'link161')" onMouseOut="HideTip('tt161')" class=ISymbol>net_addr_str</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_errno" id=link162 onMouseOver="ShowTip(event, 'tt162', 'link162')" onMouseOut="HideTip('tt162')" class=ISymbol>net_errno</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_host_lookup" id=link163 onMouseOver="ShowTip(event, 'tt163', 'link163')" onMouseOut="HideTip('tt163')" class=ISymbol>net_host_lookup</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_init" id=link164 onMouseOver="ShowTip(event, 'tt164', 'link164')" onMouseOut="HideTip('tt164')" class=ISymbol>net_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_accept" id=link165 onMouseOver="ShowTip(event, 'tt165', 'link165')" onMouseOut="HideTip('tt165')" class=ISymbol>net_tcp_accept</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_close" id=link166 onMouseOver="ShowTip(event, 'tt166', 'link166')" onMouseOut="HideTip('tt166')" class=ISymbol>net_tcp_close</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_connect" id=link167 onMouseOver="ShowTip(event, 'tt167', 'link167')" onMouseOut="HideTip('tt167')" class=ISymbol>net_tcp_connect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_connect_non_blocking" id=link168 onMouseOver="ShowTip(event, 'tt168', 'link168')" onMouseOut="HideTip('tt168')" class=ISymbol>net_tcp_connect_non_blocking</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_create" id=link169 onMouseOver="ShowTip(event, 'tt169', 'link169')" onMouseOut="HideTip('tt169')" class=ISymbol>net_tcp_create</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_listen" id=link170 onMouseOver="ShowTip(event, 'tt170', 'link170')" onMouseOut="HideTip('tt170')" class=ISymbol>net_tcp_listen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_recv" id=link171 onMouseOver="ShowTip(event, 'tt171', 'link171')" onMouseOut="HideTip('tt171')" class=ISymbol>net_tcp_recv</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_send" id=link172 onMouseOver="ShowTip(event, 'tt172', 'link172')" onMouseOut="HideTip('tt172')" class=ISymbol>net_tcp_send</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_set_non_blocking" id=link173 onMouseOver="ShowTip(event, 'tt173', 'link173')" onMouseOut="HideTip('tt173')" class=ISymbol>net_tcp_set_non_blocking</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_udp_close" id=link174 onMouseOver="ShowTip(event, 'tt174', 'link174')" onMouseOut="HideTip('tt174')" class=ISymbol>net_udp_close</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_udp_create" id=link175 onMouseOver="ShowTip(event, 'tt175', 'link175')" onMouseOut="HideTip('tt175')" class=ISymbol>net_udp_create</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_udp_recv" id=link176 onMouseOver="ShowTip(event, 'tt176', 'link176')" onMouseOut="HideTip('tt176')" class=ISymbol>net_udp_recv</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_udp_send" id=link177 onMouseOver="ShowTip(event, 'tt177', 'link177')" onMouseOut="HideTip('tt177')" class=ISymbol>net_udp_send</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_would_block" id=link178 onMouseOver="ShowTip(event, 'tt178', 'link178')" onMouseOut="HideTip('tt178')" class=ISymbol>net_would_block</a></td></tr><tr><td class=IHeading><a name="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_character_death" id=link179 onMouseOver="ShowTip(event, 'tt179', 'link179')" onMouseOut="HideTip('tt179')" class=ISymbol>on_character_death</a>, <span class=IParent>Game Controller</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_character_spawn" id=link180 onMouseOver="ShowTip(event, 'tt180', 'link180')" onMouseOut="HideTip('tt180')" class=ISymbol>on_character_spawn</a>, <span class=IParent>Game Controller</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_entity" id=link181 onMouseOver="ShowTip(event, 'tt181', 'link181')" onMouseOut="HideTip('tt181')" class=ISymbol>on_entity</a>, <span class=IParent>Game Controller</span></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.remove_entity" id=link182 onMouseOver="ShowTip(event, 'tt182', 'link182')" onMouseOut="HideTip('tt182')" class=ISymbol>remove_entity</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.reset" id=link183 onMouseOver="ShowTip(event, 'tt183', 'link183')" onMouseOut="HideTip('tt183')" class=ISymbol>reset</a>, <span class=IParent>Entity</span></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_clientname" id=link184 onMouseOver="ShowTip(event, 'tt184', 'link184')" onMouseOut="HideTip('tt184')" class=ISymbol>server_clientname</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_getclientinfo" id=link185 onMouseOver="ShowTip(event, 'tt185', 'link185')" onMouseOut="HideTip('tt185')" class=ISymbol>server_getclientinfo</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_kick" id=link186 onMouseOver="ShowTip(event, 'tt186', 'link186')" onMouseOut="HideTip('tt186')" class=ISymbol>server_kick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_latestinput" id=link187 onMouseOver="ShowTip(event, 'tt187', 'link187')" onMouseOut="HideTip('tt187')" class=ISymbol>server_latestinput</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#server_send_msg" id=link188 onMouseOver="ShowTip(event, 'tt188', 'link188')" onMouseOut="HideTip('tt188')" class=ISymbol>server_send_msg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_setbrowseinfo" id=link189 onMouseOver="ShowTip(event, 'tt189', 'link189')" onMouseOut="HideTip('tt189')" class=ISymbol>server_setbrowseinfo</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_setclientname" id=link190 onMouseOver="ShowTip(event, 'tt190', 'link190')" onMouseOut="HideTip('tt190')" class=ISymbol>server_setclientname</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_setclientscore" id=link191 onMouseOver="ShowTip(event, 'tt191', 'link191')" onMouseOut="HideTip('tt191')" class=ISymbol>server_setclientscore</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_tick" id=link192 onMouseOver="ShowTip(event, 'tt192', 'link192')" onMouseOut="HideTip('tt192')" class=ISymbol>server_tick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_tickspeed" id=link193 onMouseOver="ShowTip(event, 'tt193', 'link193')" onMouseOut="HideTip('tt193')" class=ISymbol>server_tickspeed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>snap</span><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.snap" id=link194 onMouseOver="ShowTip(event, 'tt194', 'link194')" onMouseOut="HideTip('tt194')" class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_World.snap" id=link195 onMouseOver="ShowTip(event, 'tt195', 'link195')" onMouseOut="HideTip('tt195')" class=IParent>Game World</a></div></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_find_item" id=link196 onMouseOver="ShowTip(event, 'tt196', 'link196')" onMouseOut="HideTip('tt196')" class=ISymbol>snap_find_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_free_id" id=link197 onMouseOver="ShowTip(event, 'tt197', 'link197')" onMouseOut="HideTip('tt197')" class=ISymbol>snap_free_id</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_get_item" id=link198 onMouseOver="ShowTip(event, 'tt198', 'link198')" onMouseOut="HideTip('tt198')" class=ISymbol>snap_get_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_input" id=link199 onMouseOver="ShowTip(event, 'tt199', 'link199')" onMouseOut="HideTip('tt199')" class=ISymbol>snap_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_invalidate_item" id=link200 onMouseOver="ShowTip(event, 'tt200', 'link200')" onMouseOut="HideTip('tt200')" class=ISymbol>snap_invalidate_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_new_id" id=link201 onMouseOver="ShowTip(event, 'tt201', 'link201')" onMouseOut="HideTip('tt201')" class=ISymbol>snap_new_id</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_new_item" id=link202 onMouseOver="ShowTip(event, 'tt202', 'link202')" onMouseOut="HideTip('tt202')" class=ISymbol>snap_new_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_num_items" id=link203 onMouseOver="ShowTip(event, 'tt203', 'link203')" onMouseOut="HideTip('tt203')" class=ISymbol>snap_num_items</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_set_staticsize" id=link204 onMouseOver="ShowTip(event, 'tt204', 'link204')" onMouseOut="HideTip('tt204')" class=ISymbol>snap_set_staticsize</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_load_wv" id=link205 onMouseOver="ShowTip(event, 'tt205', 'link205')" onMouseOut="HideTip('tt205')" class=ISymbol>snd_load_wv</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_play" id=link206 onMouseOver="ShowTip(event, 'tt206', 'link206')" onMouseOut="HideTip('tt206')" class=ISymbol>snd_play</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_play_at" id=link207 onMouseOver="ShowTip(event, 'tt207', 'link207')" onMouseOut="HideTip('tt207')" class=ISymbol>snd_play_at</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_set_channel" id=link208 onMouseOver="ShowTip(event, 'tt208', 'link208')" onMouseOut="HideTip('tt208')" class=ISymbol>snd_set_channel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_set_listener_pos" id=link209 onMouseOver="ShowTip(event, 'tt209', 'link209')" onMouseOut="HideTip('tt209')" class=ISymbol>snd_set_listener_pos</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_stop" id=link210 onMouseOver="ShowTip(event, 'tt210', 'link210')" onMouseOut="HideTip('tt210')" class=ISymbol>snd_stop</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_append" id=link211 onMouseOver="ShowTip(event, 'tt211', 'link211')" onMouseOut="HideTip('tt211')" class=ISymbol>str_append</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_comp_nocase" id=link212 onMouseOver="ShowTip(event, 'tt212', 'link212')" onMouseOut="HideTip('tt212')" class=ISymbol>str_comp_nocase</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_copy" id=link213 onMouseOver="ShowTip(event, 'tt213', 'link213')" onMouseOut="HideTip('tt213')" class=ISymbol>str_copy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_find_nocase" id=link214 onMouseOver="ShowTip(event, 'tt214', 'link214')" onMouseOut="HideTip('tt214')" class=ISymbol>str_find_nocase</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_format" id=link215 onMouseOver="ShowTip(event, 'tt215', 'link215')" onMouseOut="HideTip('tt215')" class=ISymbol>str_format</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_hex" id=link216 onMouseOver="ShowTip(event, 'tt216', 'link216')" onMouseOut="HideTip('tt216')" class=ISymbol>str_hex</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_sanitize" id=link217 onMouseOver="ShowTip(event, 'tt217', 'link217')" onMouseOut="HideTip('tt217')" class=ISymbol>str_sanitize</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_sanitize_strong" id=link218 onMouseOver="ShowTip(event, 'tt218', 'link218')" onMouseOut="HideTip('tt218')" class=ISymbol>str_sanitize_strong</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt160"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_addr_comp(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares two network addresses.</div></div><div class=CToolTip id="tt161"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_addr_str(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>string,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max_length</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Turns a network address into a representive string.</div></div><div class=CToolTip id="tt162"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_errno()</td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt163"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_host_lookup(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>hostname,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>types</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Does a hostname lookup by name and fills out the passed NETADDR struct with the recieved details.</div></div><div class=CToolTip id="tt164"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_init()</td></tr></table></blockquote>Initiates network functionallity.</div></div><div class=CToolTip id="tt165"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_accept(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>new_sock,</td></tr><tr><td></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Polls a listning socket for a new connection.</div></div><div class=CToolTip id="tt166"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_close(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes a TCP socket.</div></div><div class=CToolTip id="tt167"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_connect(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Connects one socket to another.</div></div><div class=CToolTip id="tt168"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_connect_non_blocking(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt169"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>NETSOCKET net_tcp_create(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a TCP socket.</div></div><div class=CToolTip id="tt170"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_listen(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>backlog</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Makes the socket start listening for new connections.</div></div><div class=CToolTip id="tt171"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_recv(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxsize</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Recvives data from a TCP stream.</div></div><div class=CToolTip id="tt172"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_send(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends data to a TCP stream.</div></div><div class=CToolTip id="tt173"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_set_non_blocking(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt174"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_close(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes an UDP socket.</div></div><div class=CToolTip id="tt175"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>NETSOCKET net_udp_create(</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameter nowrap>bindaddr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a UDP socket and binds it to a port.</div></div><div class=CToolTip id="tt176"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_recv(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxsize</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Recives a packet over an UDP socket.</div></div><div class=CToolTip id="tt177"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_send(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a packet over an UDP socket.</div></div><div class=CToolTip id="tt178"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_would_block()</td></tr></table></blockquote>DOCTODO: serp</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt179"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual int on_character_death(</td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>CHARACTER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>victim,</td></tr><tr><td></td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>PLAYER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>killer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>weapon</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a character in the world dies.</div></div><div class=CToolTip id="tt180"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual void on_character_spawn(</td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>CHARACTER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>chr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a character spawns into the game world.</div></div><div class=CToolTip id="tt181"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual bool on_entity(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameter nowrap>pos</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the map is loaded to process an entity in the map.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt182"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void remove_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Removes an entity from the world.</div></div><div class=CToolTip id="tt183"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void reset()</td></tr></table></blockquote>Called when the game resets the map. </div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt184"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *server_clientname(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt185"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int server_getclientinfo(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>CLIENT_INFO&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>info</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt186"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_kick(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>reason</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt187"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *server_latestinput(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt188"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int server_send_msg(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt189"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setbrowseinfo(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>game_type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>progression</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt190"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setclientname(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt191"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setclientscore(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>score</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt192"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int server_tick()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt193"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int server_tickspeed()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt194"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual void snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapping_client</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a new snapshot is being generated for a specific client.</div></div><div class=CToolTip id="tt195"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapping_client</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calls snap on all the entities in the world to create the snapshot.</div></div><div class=CToolTip id="tt196"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Searches a snapshot for an item.</div></div><div class=CToolTip id="tt197"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_free_id(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt198"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>SNAP_ITEM&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>item</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an item from a snapshot.</div></div><div class=CToolTip id="tt199"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_input(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the input data to send to the server.</div></div><div class=CToolTip id="tt200"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_invalidate_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Marks an item as invalid byt setting type and id to 0xffffffff.</div></div><div class=CToolTip id="tt201"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int snap_new_id()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt202"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_new_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new item that should be sent.</div></div><div class=CToolTip id="tt203"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snap_num_items(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Check the number of items in a snapshot.</div></div><div class=CToolTip id="tt204"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_set_staticsize(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Tells the engine how big a specific item always will be. </div></div><div class=CToolTip id="tt205"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_load_wv(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a wavpack compressed sound.</div></div><div class=CToolTip id="tt206"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_play(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>sid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Plays a sound.</div></div><div class=CToolTip id="tt207"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_play_at(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>sid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Plays a sound at a specified postition.</div></div><div class=CToolTip id="tt208"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_set_channel(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>vol,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>pan</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the parameters for a sound channel.</div></div><div class=CToolTip id="tt209"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_set_listener_pos(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the listener posititon.</div></div><div class=CToolTip id="tt210"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_stop(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Stops a currenly playing sound.</div></div><div class=CToolTip id="tt211"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_append(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>src,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Appends a string to another.</div></div><div class=CToolTip id="tt212"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int str_comp_nocase(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares to strings case insensitive.</div></div><div class=CToolTip id="tt213"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_copy(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>src,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a string to another.</div></div><div class=CToolTip id="tt214"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *str_find_nocase(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>haystack,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>needle</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds a string inside another string case insensitive.</div></div><div class=CToolTip id="tt215"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_format(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>buffer_size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>...</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Performs printf formating into a buffer.</div></div><div class=CToolTip id="tt216"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_hex(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>data_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Takes a datablock and generates a hexstring of it.</div></div><div class=CToolTip id="tt217"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_sanitize(</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Replaces all characters below 32 and above 127 with whitespace with exception to \r, \n and \r.</div></div><div class=CToolTip id="tt218"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_sanitize_strong(</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Replaces all characters below 32 and above 127 with whitespace.</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/Functions5.html b/docs/output/index/Functions5.html
new file mode 100644
index 00000000..4200ebe5
--- /dev/null
+++ b/docs/output/index/Functions5.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; <a href="Functions.html#C">C</a> &middot; <a href="Functions.html#D">D</a> &middot; E &middot; <a href="Functions.html#F">F</a> &middot; <a href="Functions2.html#G">G</a> &middot; H &middot; <a href="Functions2.html#I">I</a> &middot; J &middot; K &middot; L &middot; <a href="Functions3.html#M">M</a> &middot; <a href="Functions4.html#N">N</a> &middot; <a href="Functions4.html#O">O</a> &middot; P &middot; Q &middot; <a href="Functions4.html#R">R</a> &middot; <a href="Functions4.html#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_create" id=link219 onMouseOver="ShowTip(event, 'tt219', 'link219')" onMouseOut="HideTip('tt219')" class=ISymbol>thread_create</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_destoy" id=link220 onMouseOver="ShowTip(event, 'tt220', 'link220')" onMouseOut="HideTip('tt220')" class=ISymbol>thread_destoy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_sleep" id=link221 onMouseOver="ShowTip(event, 'tt221', 'link221')" onMouseOut="HideTip('tt221')" class=ISymbol>thread_sleep</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_wait" id=link222 onMouseOver="ShowTip(event, 'tt222', 'link222')" onMouseOut="HideTip('tt222')" class=ISymbol>thread_wait</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_yeild" id=link223 onMouseOver="ShowTip(event, 'tt223', 'link223')" onMouseOut="HideTip('tt223')" class=ISymbol>thread_yeild</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>tick</span><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.tick" id=link224 onMouseOver="ShowTip(event, 'tt224', 'link224')" onMouseOut="HideTip('tt224')" class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_World.tick" id=link225 onMouseOver="ShowTip(event, 'tt225', 'link225')" onMouseOut="HideTip('tt225')" class=IParent>Game World</a></div></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.tick_defered" id=link226 onMouseOver="ShowTip(event, 'tt226', 'link226')" onMouseOut="HideTip('tt226')" class=ISymbol>tick_defered</a>, <span class=IParent>Entity</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#time_freq" id=link227 onMouseOver="ShowTip(event, 'tt227', 'link227')" onMouseOut="HideTip('tt227')" class=ISymbol>time_freq</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#time_get" id=link228 onMouseOver="ShowTip(event, 'tt228', 'link228')" onMouseOut="HideTip('tt228')" class=ISymbol>time_get</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#time_timestamp" id=link229 onMouseOver="ShowTip(event, 'tt229', 'link229')" onMouseOut="HideTip('tt229')" class=ISymbol>time_timestamp</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt219"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *thread_create(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>(*threadfunc)(void *),</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>user</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new thread.</div></div><div class=CToolTip id="tt220"><div class=CFunction>Destroys a thread.</div></div><div class=CToolTip id="tt221"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void thread_sleep(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>milliseconds</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Suspends the current thread for a given period.</div></div><div class=CToolTip id="tt222"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void thread_wait(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>thread</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Waits for a thread to be done or destroyed.</div></div><div class=CToolTip id="tt223"><div class=CFunction>Yeild the current threads execution slice.</div></div><div class=CToolTip id="tt224"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void tick()</td></tr></table></blockquote>Called progress the entity to the next tick. </div></div><div class=CToolTip id="tt225"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void tick()</td></tr></table></blockquote>Calls tick on all the entities in the world to progress the world to the next tick.</div></div><div class=CToolTip id="tt226"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void tick_defered()</td></tr></table></blockquote>Called after all entities tick() function has been called.</div></div><div class=CToolTip id="tt227"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int64 time_freq()</td></tr></table></blockquote>Returns the frequency of the high resolution timer.</div></div><div class=CToolTip id="tt228"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int64 time_get()</td></tr></table></blockquote>Fetches a sample from a high resolution timer.</div></div><div class=CToolTip id="tt229"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>unsigned time_timestamp()</td></tr></table></blockquote>Retrives the current time as a UNIX timestamp</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/General.html b/docs/output/index/General.html
new file mode 100644
index 00000000..68e24be3
--- /dev/null
+++ b/docs/output/index/General.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="#A">A</a> &middot; <a href="#B">B</a> &middot; <a href="#C">C</a> &middot; <a href="#D">D</a> &middot; <a href="#E">E</a> &middot; <a href="#F">F</a> &middot; <a href="General2.html#G">G</a> &middot; <a href="General2.html#H">H</a> &middot; <a href="General3.html#I">I</a> &middot; J &middot; K &middot; <a href="General3.html#L">L</a> &middot; <a href="General4.html#M">M</a> &middot; <a href="General5.html#N">N</a> &middot; <a href="General5.html#O">O</a> &middot; <a href="General5.html#P">P</a> &middot; <a href="General5.html#Q">Q</a> &middot; <a href="General5.html#R">R</a> &middot; <a href="General6.html#S">S</a> &middot; <a href="General6.html#T">T</a> &middot; <a href="General6.html#U">U</a> &middot; <a href="General6.html#V">V</a> &middot; <a href="General6.html#W">W</a> &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="A"></a>A</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Actions"  class=ISymbol>Actions</a></td></tr><tr><td class=IHeading><a name="B"></a>B</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_GAMETYPE" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>BROWSESORT_GAMETYPE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_MAP" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>BROWSESORT_MAP</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_NAME" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>BROWSESORT_NAME</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_NUMPLAYERS" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>BROWSESORT_NUMPLAYERS</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_PING" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>BROWSESORT_PING</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_PROGRESSION" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>BROWSESORT_PROGRESSION</a></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#Client_Hooks"  class=ISymbol>Client Hooks</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Client_Interface"  class=ISymbol>Client Interface</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Client_Side"  class=ISymbol>Client Side</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Client_States"  class=ISymbol>Client States</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_connect" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>client_connect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_connection_problems" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>client_connection_problems</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_direct_input" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>client_direct_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_disconnect" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>client_disconnect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_error_string" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>client_error_string</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_frametime" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>client_frametime</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_get_input" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>client_get_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#CLIENT_INFO"  class=ISymbol>CLIENT_INFO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_intratick" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>client_intratick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_localtime" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>client_localtime</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_mapdownload_amount" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>client_mapdownload_amount</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_mapdownload_totalsize" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>client_mapdownload_totalsize</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_predintratick" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>client_predintratick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_predtick" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>client_predtick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_quit" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>client_quit</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_rcon" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>client_rcon</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_rcon_auth" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>client_rcon_auth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_rcon_authed" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>client_rcon_authed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_save_line" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>client_save_line</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#client_send_msg" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>client_send_msg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_get" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>client_serverbrowse_get</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_lan" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>client_serverbrowse_lan</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_num" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>client_serverbrowse_num</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_num_requests" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>client_serverbrowse_num_requests</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_refresh" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>client_serverbrowse_refresh</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_sorted_get" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>client_serverbrowse_sorted_get</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_sorted_num" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>client_serverbrowse_sorted_num</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_update" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>client_serverbrowse_update</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_state" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>client_state</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_tick" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>client_tick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_tickspeed" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>client_tickspeed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#client_ticktime" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>client_ticktime</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_CONNECTING" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>CLIENTSTATE_CONNECTING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_LOADING" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>CLIENTSTATE_LOADING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_OFFLINE" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>CLIENTSTATE_OFFLINE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_ONLINE" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>CLIENTSTATE_ONLINE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_QUITING" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>CLIENTSTATE_QUITING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.closest_character" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>closest_character</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Compression" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>Compression</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Constants"  class=ISymbol>Constants</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Creating" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>Creating</a></td></tr><tr><td class=IHeading><a name="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.data" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>data</a>, <span class=IParent>IMAGE_INFO</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#dbg_assert" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>dbg_assert</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#dbg_break" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>dbg_break</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#dbg_msg" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>dbg_msg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Debug"  class=ISymbol>Debug</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Definitions"  class=ISymbol>Definitions</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.destroy" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>destroy</a>, <span class=IParent>Entity</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.destroy_entity" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>destroy_entity</a>, <span class=IParent>Game World</span></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#Engine_Interface"  class=ISymbol>Engine Interface</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>Entity</a></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#File_IO"  class=ISymbol>File IO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Filesystem"  class=ISymbol>Filesystem</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.find_entities" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>find_entities</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.format" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>format</a>, <span class=IParent>IMAGE_INFO</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#fs_listdir" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>fs_listdir</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#fs_makedir" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>fs_makedir</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#fs_storage_path" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>fs_storage_path</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Functions</span><div class=ISubIndex><span class=IParent>Global</span><div class=ISubIndex><a href="../files2/e_if_client-h.html#Functions"  class=IFile>e_if_client.h</a><a href="../files2/e_if_gfx-h.html#Functions"  class=IFile>e_if_gfx.h</a><a href="../files2/e_if_modc-h.html#Functions"  class=IFile>e_if_modc.h</a><a href="../files2/e_if_mods-h.html#Functions"  class=IFile>e_if_mods.h</a><a href="../files2/e_if_msg-h.html#Functions"  class=IFile>e_if_msg.h</a><a href="../files2/e_if_other-h.html#Functions"  class=IFile>e_if_other.h</a><a href="../files2/e_if_server-h.html#Functions"  class=IFile>e_if_server.h</a><a href="../files2/e_if_snd-h.html#Functions"  class=IFile>e_if_snd.h</a></div><a href="../files/server/gs_common-hpp.html#Entity.Functions"  class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_Controller.Functions"  class=IParent>Game Controller</a><a href="../files/server/gs_common-hpp.html#Game_World.Functions"  class=IParent>Game World</a><a href="../files2/e_if_inp-h.html#INPUT_EVENT.Functions"  class=IParent>INPUT_EVENT</a></div></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CConstant>Sort by game type. </div></div><div class=CToolTip id="tt2"><div class=CConstant>Sort by map</div></div><div class=CToolTip id="tt3"><div class=CConstant>Sort by name.</div></div><div class=CToolTip id="tt4"><div class=CConstant>Sort after how many players there are on the server.</div></div><div class=CToolTip id="tt5"><div class=CConstant>Sort by ping.</div></div><div class=CToolTip id="tt6"><div class=CConstant>Sort by progression.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_connect(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>address</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Connects to a server at the specified address.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_connection_problems()</td></tr></table></blockquote>Returns 1 if the client is connection problems.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_direct_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_disconnect()</td></tr></table></blockquote>Disconnects from the current server.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *client_error_string()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_frametime()</td></tr></table></blockquote>Returns how long time the last frame took to process.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *client_get_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>tick</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_intratick()</td></tr></table></blockquote>Returns the current intratick.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_localtime()</td></tr></table></blockquote>Returns the clients local time.</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_mapdownload_amount()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_mapdownload_totalsize()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_predintratick()</td></tr></table></blockquote>Returns the current preticted intra tick.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_predtick()</td></tr></table></blockquote>Returns the current predicted tick.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_quit()</td></tr></table></blockquote>Tells to client to shutdown.</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_rcon(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>cmd</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a command to the server to execute on it&rsquo;s console.</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_rcon_auth(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>name,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>password</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_rcon_authed()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_save_line(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>line</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_send_msg()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>SERVER_INFO *client_serverbrowse_get(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_lan()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_num()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_num_requests()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void client_serverbrowse_refresh(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>lan</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Issues a refresh of the server browser.</div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>SERVER_INFO *client_serverbrowse_sorted_get(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns server info from the sorted list.</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_serverbrowse_sorted_num()</td></tr></table></blockquote>Returns how many servers there are in the sorted list.</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void client_serverbrowse_update()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_state()</td></tr></table></blockquote>Returns the state of the client.</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tick()</td></tr></table></blockquote>Returns the tick of the current snapshot.</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int client_tickspeed()</td></tr></table></blockquote>Returns how many ticks per second the client is doing.</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float client_ticktime()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt38"><div class=CConstant>The client is trying to connect to a server.</div></div><div class=CToolTip id="tt39"><div class=CConstant>The client has connected to a server and is loading resources.</div></div><div class=CToolTip id="tt40"><div class=CConstant>The client is offline.</div></div><div class=CToolTip id="tt41"><div class=CConstant>The client is connected to a server and running the game.</div></div><div class=CToolTip id="tt42"><div class=CConstant>The client is quiting.</div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>class CHARACTER *closest_character(</td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>pos,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>radius,</td></tr><tr><td></td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>notthis</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds the closest character to a specific point.</div></div><div class=CToolTip id="tt44"><div class=CGeneric>After a snapshot have been created, compression is applyed to reduce the bandwidth. </div></div><div class=CToolTip id="tt45"><div class=CGeneric>Items can be added when mods_snap is called using the snap_new_item function to insert an item to the snapshot. </div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt46"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void *data</td></tr></table></blockquote>Pointer to the image data.</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void dbg_assert(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>test,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>msg</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Breaks into the debugger based on a test.</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void dbg_break()</td></tr></table></blockquote>Breaks into the debugger.</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void dbg_msg(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>sys,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>fmt,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>...</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Prints a debug message.</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void destroy()</td></tr></table></blockquote>Destorys the entity.</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void destroy_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Destroys an entity in the world.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt52"><div class=CClass>Basic entity class.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int find_entities(</td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>pos,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>radius,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>**</td><td class=PParameter nowrap>ents,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>type</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> -1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds entities close to a position and returns them in a list.</div></div><div class=CToolTip id="tt54"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int format</td></tr></table></blockquote>Contains the format of the image. </div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>typedef void (</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>fs_listdir_callback</td><td class=PAfterParameters nowrap>)(const char *name, int is_dir, void *user)</td></tr></table></td></tr></table></blockquote>Lists the files in a directory</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int fs_makedir(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>path</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a directory</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int fs_storage_path(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>appname,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>path,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches per user configuration directory.</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/General2.html b/docs/output/index/General2.html
new file mode 100644
index 00000000..7a54a775
--- /dev/null
+++ b/docs/output/index/General2.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; <a href="General.html#D">D</a> &middot; <a href="General.html#E">E</a> &middot; <a href="General.html#F">F</a> &middot; <a href="#G">G</a> &middot; <a href="#H">H</a> &middot; <a href="General3.html#I">I</a> &middot; J &middot; K &middot; <a href="General3.html#L">L</a> &middot; <a href="General4.html#M">M</a> &middot; <a href="General5.html#N">N</a> &middot; <a href="General5.html#O">O</a> &middot; <a href="General5.html#P">P</a> &middot; <a href="General5.html#Q">Q</a> &middot; <a href="General5.html#R">R</a> &middot; <a href="General6.html#S">S</a> &middot; <a href="General6.html#T">T</a> &middot; <a href="General6.html#U">U</a> &middot; <a href="General6.html#V">V</a> &middot; <a href="General6.html#W">W</a> &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>Game Controller</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>Game World</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_additive" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>gfx_blend_additive</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_none" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>gfx_blend_none</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_normal" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>gfx_blend_normal</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clear" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>gfx_clear</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clip_disable" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>gfx_clip_disable</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clip_enable" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>gfx_clip_enable</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_get_video_modes" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>gfx_get_video_modes</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_getscreen" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>gfx_getscreen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_begin" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>gfx_lines_begin</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_draw" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>gfx_lines_draw</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_end" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>gfx_lines_end</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_png" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>gfx_load_png</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_texture" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>gfx_load_texture</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_texture_raw" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>gfx_load_texture_raw</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_mapscreen" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>gfx_mapscreen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_memory_usage" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')" class=ISymbol>gfx_memory_usage</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_begin" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')" class=ISymbol>gfx_quads_begin</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_draw" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')" class=ISymbol>gfx_quads_draw</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_draw_freeform" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')" class=ISymbol>gfx_quads_draw_freeform</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_drawTL" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')" class=ISymbol>gfx_quads_drawTL</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_end" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')" class=ISymbol>gfx_quads_end</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setrotation" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')" class=ISymbol>gfx_quads_setrotation</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setsubset" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')" class=ISymbol>gfx_quads_setsubset</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setsubset_free" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')" class=ISymbol>gfx_quads_setsubset_free</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_text" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')" class=ISymbol>gfx_quads_text</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenaspect" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')" class=ISymbol>gfx_screenaspect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenheight" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')" class=ISymbol>gfx_screenheight</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenshot" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')" class=ISymbol>gfx_screenshot</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenwidth" id=link88 onMouseOver="ShowTip(event, 'tt88', 'link88')" onMouseOut="HideTip('tt88')" class=ISymbol>gfx_screenwidth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_setcolor" id=link89 onMouseOver="ShowTip(event, 'tt89', 'link89')" onMouseOut="HideTip('tt89')" class=ISymbol>gfx_setcolor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_setcolorvertex" id=link90 onMouseOver="ShowTip(event, 'tt90', 'link90')" onMouseOut="HideTip('tt90')" class=ISymbol>gfx_setcolorvertex</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text" id=link91 onMouseOver="ShowTip(event, 'tt91', 'link91')" onMouseOut="HideTip('tt91')" class=ISymbol>gfx_text</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_color" id=link92 onMouseOver="ShowTip(event, 'tt92', 'link92')" onMouseOut="HideTip('tt92')" class=ISymbol>gfx_text_color</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_set_default_font" id=link93 onMouseOver="ShowTip(event, 'tt93', 'link93')" onMouseOut="HideTip('tt93')" class=ISymbol>gfx_text_set_default_font</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_width" id=link94 onMouseOver="ShowTip(event, 'tt94', 'link94')" onMouseOut="HideTip('tt94')" class=ISymbol>gfx_text_width</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_texture_set" id=link95 onMouseOver="ShowTip(event, 'tt95', 'link95')" onMouseOut="HideTip('tt95')" class=ISymbol>gfx_texture_set</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_unload_texture" id=link96 onMouseOver="ShowTip(event, 'tt96', 'link96')" onMouseOut="HideTip('tt96')" class=ISymbol>gfx_unload_texture</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#Graphics"  class=ISymbol>Graphics</a></td></tr><tr><td class=IHeading><a name="H"></a>H</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.height" id=link97 onMouseOver="ShowTip(event, 'tt97', 'link97')" onMouseOut="HideTip('tt97')" class=ISymbol>height</a>, <span class=IParent>IMAGE_INFO</span></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt58"><div class=CClass>Controls the main game logic. </div></div><div class=CToolTip id="tt59"><div class=CClass>Tracks all entities in the game. </div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_additive()</td></tr></table></blockquote>Set the active blending mode to additive (src, one).</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_none()</td></tr></table></blockquote>Disables blending</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_blend_normal()</td></tr></table></blockquote>Set the active blending mode to normal (src, 1-src).</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_clear(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Clears the screen with the specified color.</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_clip_disable()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_clip_enable(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>h</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_get_video_modes(</td><td class=PType nowrap>VIDEO_MODE&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>list,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxcount</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches a list of all the available video modes.</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_getscreen(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>tl_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>tl_y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>br_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>br_y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_lines_begin()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_lines_draw(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt70"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_lines_end()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_png(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>IMAGE_INFO&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>img,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a PNG image from disk.</div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_texture(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>store_format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a texture from a file. </div></div><div class=CToolTip id="tt73"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_load_texture_raw(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>h,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>format,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>store_format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a texture from memory.</div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_mapscreen(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Specifies the coordinate system for the screen.</div></div><div class=CToolTip id="tt75"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_memory_usage()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_quads_begin()</td></tr></table></blockquote>Begins a quad drawing session.</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_draw(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>w,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>h</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the center point.</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_draw_freeform(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x3,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y3</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the corner points.</div></div><div class=CToolTip id="tt79"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_drawTL(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>width,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>height</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a quad by specifying the top-left point.</div></div><div class=CToolTip id="tt80"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_quads_end()</td></tr></table></blockquote>Ends a quad session.</div></div><div class=CToolTip id="tt81"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setrotation(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>angle</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the rotation to use when drawing a quad.</div></div><div class=CToolTip id="tt82"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setsubset(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_u,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>tl_v,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_u,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>br_v</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the uv coordinates to use.</div></div><div class=CToolTip id="tt83"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_setsubset_free(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y0,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y1,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y2,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x3,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y3</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_quads_text(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt85"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float gfx_screenaspect()</td></tr></table></blockquote>Returns the aspect ratio between width and height.</div></div><div class=CToolTip id="tt86"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_screenheight()</td></tr></table></blockquote>Returns the screen height.</div></div><div class=CToolTip id="tt87"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void gfx_screenshot()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt88"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int gfx_screenwidth()</td></tr></table></blockquote>Returns the screen width.</div></div><div class=CToolTip id="tt89"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_setcolor(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the color of all the vertices.</div></div><div class=CToolTip id="tt90"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_setcolorvertex(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>i,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the color of a vertex.</div></div><div class=CToolTip id="tt91"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max_width</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt92"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text_color(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>r,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>g,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt93"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_text_set_default_font(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt94"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>float gfx_text_width(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>font,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>float&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>text,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>length</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt95"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void gfx_texture_set(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the active texture.</div></div><div class=CToolTip id="tt96"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int gfx_unload_texture(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Unloads a texture.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt97"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int height</td></tr></table></blockquote>Contains the height of the image</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/General3.html b/docs/output/index/General3.html
new file mode 100644
index 00000000..5d71bfa1
--- /dev/null
+++ b/docs/output/index/General3.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; <a href="General.html#D">D</a> &middot; <a href="General.html#E">E</a> &middot; <a href="General.html#F">F</a> &middot; <a href="General2.html#G">G</a> &middot; <a href="General2.html#H">H</a> &middot; <a href="#I">I</a> &middot; J &middot; K &middot; <a href="#L">L</a> &middot; <a href="General4.html#M">M</a> &middot; <a href="General5.html#N">N</a> &middot; <a href="General5.html#O">O</a> &middot; <a href="General5.html#P">P</a> &middot; <a href="General5.html#Q">Q</a> &middot; <a href="General5.html#R">R</a> &middot; <a href="General6.html#S">S</a> &middot; <a href="General6.html#T">T</a> &middot; <a href="General6.html#U">U</a> &middot; <a href="General6.html#V">V</a> &middot; <a href="General6.html#W">W</a> &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="I"></a>I</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Image_Formats"  class=ISymbol>Image Formats</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO"  class=ISymbol>IMAGE_INFO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#IMG_ALPHA" id=link98 onMouseOver="ShowTip(event, 'tt98', 'link98')" onMouseOut="HideTip('tt98')" class=ISymbol>IMG_ALPHA</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#IMG_AUTO" id=link99 onMouseOver="ShowTip(event, 'tt99', 'link99')" onMouseOut="HideTip('tt99')" class=ISymbol>IMG_AUTO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#IMG_RGB" id=link100 onMouseOver="ShowTip(event, 'tt100', 'link100')" onMouseOut="HideTip('tt100')" class=ISymbol>IMG_RGB</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#IMG_RGBA" id=link101 onMouseOver="ShowTip(event, 'tt101', 'link101')" onMouseOut="HideTip('tt101')" class=ISymbol>IMG_RGBA</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#In_depth"  class=ISymbol>In depth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/server_op-txt.html#Init"  class=ISymbol>Init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_clear_events" id=link102 onMouseOver="ShowTip(event, 'tt102', 'link102')" onMouseOut="HideTip('tt102')" class=ISymbol>inp_clear_events</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_clear_key_states" id=link103 onMouseOver="ShowTip(event, 'tt103', 'link103')" onMouseOut="HideTip('tt103')" class=ISymbol>inp_clear_key_states</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_get_event" id=link104 onMouseOver="ShowTip(event, 'tt104', 'link104')" onMouseOut="HideTip('tt104')" class=ISymbol>inp_get_event</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_code" id=link105 onMouseOver="ShowTip(event, 'tt105', 'link105')" onMouseOut="HideTip('tt105')" class=ISymbol>inp_key_code</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_down" id=link106 onMouseOver="ShowTip(event, 'tt106', 'link106')" onMouseOut="HideTip('tt106')" class=ISymbol>inp_key_down</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_name" id=link107 onMouseOver="ShowTip(event, 'tt107', 'link107')" onMouseOut="HideTip('tt107')" class=ISymbol>inp_key_name</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_pressed" id=link108 onMouseOver="ShowTip(event, 'tt108', 'link108')" onMouseOut="HideTip('tt108')" class=ISymbol>inp_key_pressed</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_presses" id=link109 onMouseOver="ShowTip(event, 'tt109', 'link109')" onMouseOut="HideTip('tt109')" class=ISymbol>inp_key_presses</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_releases" id=link110 onMouseOver="ShowTip(event, 'tt110', 'link110')" onMouseOut="HideTip('tt110')" class=ISymbol>inp_key_releases</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_state" id=link111 onMouseOver="ShowTip(event, 'tt111', 'link111')" onMouseOut="HideTip('tt111')" class=ISymbol>inp_key_state</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_was_pressed" id=link112 onMouseOver="ShowTip(event, 'tt112', 'link112')" onMouseOut="HideTip('tt112')" class=ISymbol>inp_key_was_pressed</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_doubleclick" id=link113 onMouseOver="ShowTip(event, 'tt113', 'link113')" onMouseOut="HideTip('tt113')" class=ISymbol>inp_mouse_doubleclick</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_relative" id=link114 onMouseOver="ShowTip(event, 'tt114', 'link114')" onMouseOut="HideTip('tt114')" class=ISymbol>inp_mouse_relative</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_scroll" id=link115 onMouseOver="ShowTip(event, 'tt115', 'link115')" onMouseOut="HideTip('tt115')" class=ISymbol>inp_mouse_scroll</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_num_events" id=link116 onMouseOver="ShowTip(event, 'tt116', 'link116')" onMouseOut="HideTip('tt116')" class=ISymbol>inp_num_events</a>, <span class=IParent>INPUT_EVENT</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#Input"  class=ISymbol>Input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT"  class=ISymbol>INPUT_EVENT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.insert_entity" id=link117 onMouseOver="ShowTip(event, 'tt117', 'link117')" onMouseOut="HideTip('tt117')" class=ISymbol>insert_entity</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Inspection" id=link118 onMouseOver="ShowTip(event, 'tt118', 'link118')" onMouseOut="HideTip('tt118')" class=ISymbol>Inspection</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.interserct_character" id=link119 onMouseOver="ShowTip(event, 'tt119', 'link119')" onMouseOut="HideTip('tt119')" class=ISymbol>interserct_character</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Interval" id=link120 onMouseOver="ShowTip(event, 'tt120', 'link120')" onMouseOut="HideTip('tt120')" class=ISymbol>Interval</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_close" id=link121 onMouseOver="ShowTip(event, 'tt121', 'link121')" onMouseOut="HideTip('tt121')" class=ISymbol>io_close</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_flush" id=link122 onMouseOver="ShowTip(event, 'tt122', 'link122')" onMouseOut="HideTip('tt122')" class=ISymbol>io_flush</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_length" id=link123 onMouseOver="ShowTip(event, 'tt123', 'link123')" onMouseOut="HideTip('tt123')" class=ISymbol>io_length</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_open" id=link124 onMouseOver="ShowTip(event, 'tt124', 'link124')" onMouseOut="HideTip('tt124')" class=ISymbol>io_open</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_read" id=link125 onMouseOver="ShowTip(event, 'tt125', 'link125')" onMouseOut="HideTip('tt125')" class=ISymbol>io_read</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_seek" id=link126 onMouseOver="ShowTip(event, 'tt126', 'link126')" onMouseOut="HideTip('tt126')" class=ISymbol>io_seek</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_skip" id=link127 onMouseOver="ShowTip(event, 'tt127', 'link127')" onMouseOut="HideTip('tt127')" class=ISymbol>io_skip</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_stderr" id=link128 onMouseOver="ShowTip(event, 'tt128', 'link128')" onMouseOut="HideTip('tt128')" class=ISymbol>io_stderr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_stdin" id=link129 onMouseOver="ShowTip(event, 'tt129', 'link129')" onMouseOut="HideTip('tt129')" class=ISymbol>io_stdin</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_stdout" id=link130 onMouseOver="ShowTip(event, 'tt130', 'link130')" onMouseOut="HideTip('tt130')" class=ISymbol>io_stdout</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_tell" id=link131 onMouseOver="ShowTip(event, 'tt131', 'link131')" onMouseOut="HideTip('tt131')" class=ISymbol>io_tell</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#io_write" id=link132 onMouseOver="ShowTip(event, 'tt132', 'link132')" onMouseOut="HideTip('tt132')" class=ISymbol>io_write</a></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#Lines"  class=ISymbol>Lines</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Locks"  class=ISymbol>Locks</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt98"><div class=CConstant>8-Bit uncompressed alpha</div></div><div class=CToolTip id="tt99"><div class=CConstant>Lets the engine choose the format.</div></div><div class=CToolTip id="tt100"><div class=CConstant>8-Bit uncompressed RGB</div></div><div class=CToolTip id="tt101"><div class=CConstant>8-Bit uncompressed RGBA</div></div><div class=CToolTip id="tt102"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void inp_clear_events()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt103"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void inp_clear_key_states()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt104"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>INPUT_EVENT inp_get_event(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt105"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_code(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>key_name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt106"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_down(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt107"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *inp_key_name(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>k</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt108"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_pressed(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if a key is pressed.</div></div><div class=CToolTip id="tt109"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_presses(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt110"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_releases(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt111"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_state(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt112"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int inp_key_was_pressed(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>key</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt113"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_mouse_doubleclick()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt114"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void inp_mouse_relative(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches the mouse movements.</div></div><div class=CToolTip id="tt115"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_mouse_scroll()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt116"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int inp_num_events()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt117"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void insert_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Adds an entity to the world.</div></div><div class=CToolTip id="tt118"><div class=CGeneric>modc_newsnapshot is called when a new snapshot has arrived for processing. </div></div><div class=CToolTip id="tt119"><div class=CFunction>Finds the closest character that intersects the line.</div></div><div class=CToolTip id="tt120"><div class=CGeneric>The interval for how often a client recives a snapshot changes during the course of the connection. </div></div><div class=CToolTip id="tt121"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_close(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes a file.</div></div><div class=CToolTip id="tt122"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_flush(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Empties all buffers and writes all pending data.</div></div><div class=CToolTip id="tt123"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>long int io_length(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the total length of the file. </div></div><div class=CToolTip id="tt124"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>IOHANDLE io_open(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Opens a file.</div></div><div class=CToolTip id="tt125"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_read(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Reads data into a buffer from a file.</div></div><div class=CToolTip id="tt126"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int io_seek(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>offset,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>origin</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Seeks to a specified offset in the file.</div></div><div class=CToolTip id="tt127"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_skip(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Skips data in a file.</div></div><div class=CToolTip id="tt128"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stderr()</td></tr></table></blockquote>Returns an IOHANDLE to the standard error.</div></div><div class=CToolTip id="tt129"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stdin()</td></tr></table></blockquote>Returns an IOHANDLE to the standard input.</div></div><div class=CToolTip id="tt130"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>IOHANDLE io_stdout()</td></tr></table></blockquote>Returns an IOHANDLE to the standard output.</div></div><div class=CToolTip id="tt131"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>long int io_tell(</td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameter nowrap>io</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the current position in the file.</div></div><div class=CToolTip id="tt132"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>unsigned io_write(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>IOHANDLE&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>io,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Writes data from a buffer to file.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/General4.html b/docs/output/index/General4.html
new file mode 100644
index 00000000..2ea0db43
--- /dev/null
+++ b/docs/output/index/General4.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; <a href="General.html#D">D</a> &middot; <a href="General.html#E">E</a> &middot; <a href="General.html#F">F</a> &middot; <a href="General2.html#G">G</a> &middot; <a href="General2.html#H">H</a> &middot; <a href="General3.html#I">I</a> &middot; J &middot; K &middot; <a href="General3.html#L">L</a> &middot; <a href="#M">M</a> &middot; <a href="General5.html#N">N</a> &middot; <a href="General5.html#O">O</a> &middot; <a href="General5.html#P">P</a> &middot; <a href="General5.html#Q">Q</a> &middot; <a href="General5.html#R">R</a> &middot; <a href="General6.html#S">S</a> &middot; <a href="General6.html#T">T</a> &middot; <a href="General6.html#U">U</a> &middot; <a href="General6.html#V">V</a> &middot; <a href="General6.html#W">W</a> &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#Map"  class=ISymbol>Map</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_find_item" id=link133 onMouseOver="ShowTip(event, 'tt133', 'link133')" onMouseOut="HideTip('tt133')" class=ISymbol>map_find_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_get_data" id=link134 onMouseOver="ShowTip(event, 'tt134', 'link134')" onMouseOut="HideTip('tt134')" class=ISymbol>map_get_data</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_get_data_swapped" id=link135 onMouseOver="ShowTip(event, 'tt135', 'link135')" onMouseOut="HideTip('tt135')" class=ISymbol>map_get_data_swapped</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_get_item" id=link136 onMouseOver="ShowTip(event, 'tt136', 'link136')" onMouseOut="HideTip('tt136')" class=ISymbol>map_get_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_get_type" id=link137 onMouseOver="ShowTip(event, 'tt137', 'link137')" onMouseOut="HideTip('tt137')" class=ISymbol>map_get_type</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_is_loaded" id=link138 onMouseOver="ShowTip(event, 'tt138', 'link138')" onMouseOut="HideTip('tt138')" class=ISymbol>map_is_loaded</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_num_items" id=link139 onMouseOver="ShowTip(event, 'tt139', 'link139')" onMouseOut="HideTip('tt139')" class=ISymbol>map_num_items</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#map_unload_data" id=link140 onMouseOver="ShowTip(event, 'tt140', 'link140')" onMouseOut="HideTip('tt140')" class=ISymbol>map_unload_data</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_alloc" id=link141 onMouseOver="ShowTip(event, 'tt141', 'link141')" onMouseOut="HideTip('tt141')" class=ISymbol>mem_alloc</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_comp" id=link142 onMouseOver="ShowTip(event, 'tt142', 'link142')" onMouseOut="HideTip('tt142')" class=ISymbol>mem_comp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_copy" id=link143 onMouseOver="ShowTip(event, 'tt143', 'link143')" onMouseOut="HideTip('tt143')" class=ISymbol>mem_copy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_free" id=link144 onMouseOver="ShowTip(event, 'tt144', 'link144')" onMouseOut="HideTip('tt144')" class=ISymbol>mem_free</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_move" id=link145 onMouseOver="ShowTip(event, 'tt145', 'link145')" onMouseOut="HideTip('tt145')" class=ISymbol>mem_move</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#mem_zero" id=link146 onMouseOver="ShowTip(event, 'tt146', 'link146')" onMouseOut="HideTip('tt146')" class=ISymbol>mem_zero</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Memory"  class=ISymbol>Memory</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#Messaging"  class=ISymbol>Messaging</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_connected" id=link147 onMouseOver="ShowTip(event, 'tt147', 'link147')" onMouseOut="HideTip('tt147')" class=ISymbol>modc_connected</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_console_init" id=link148 onMouseOver="ShowTip(event, 'tt148', 'link148')" onMouseOut="HideTip('tt148')" class=ISymbol>modc_console_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_entergame" id=link149 onMouseOver="ShowTip(event, 'tt149', 'link149')" onMouseOut="HideTip('tt149')" class=ISymbol>modc_entergame</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_init" id=link150 onMouseOver="ShowTip(event, 'tt150', 'link150')" onMouseOut="HideTip('tt150')" class=ISymbol>modc_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_message" id=link151 onMouseOver="ShowTip(event, 'tt151', 'link151')" onMouseOut="HideTip('tt151')" class=ISymbol>modc_message</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_net_version" id=link152 onMouseOver="ShowTip(event, 'tt152', 'link152')" onMouseOut="HideTip('tt152')" class=ISymbol>modc_net_version</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_newsnapshot" id=link153 onMouseOver="ShowTip(event, 'tt153', 'link153')" onMouseOut="HideTip('tt153')" class=ISymbol>modc_newsnapshot</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_predict" id=link154 onMouseOver="ShowTip(event, 'tt154', 'link154')" onMouseOut="HideTip('tt154')" class=ISymbol>modc_predict</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_rcon_line" id=link155 onMouseOver="ShowTip(event, 'tt155', 'link155')" onMouseOut="HideTip('tt155')" class=ISymbol>modc_rcon_line</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_render" id=link156 onMouseOver="ShowTip(event, 'tt156', 'link156')" onMouseOut="HideTip('tt156')" class=ISymbol>modc_render</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_save_config" id=link157 onMouseOver="ShowTip(event, 'tt157', 'link157')" onMouseOut="HideTip('tt157')" class=ISymbol>modc_save_config</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_shutdown" id=link158 onMouseOver="ShowTip(event, 'tt158', 'link158')" onMouseOut="HideTip('tt158')" class=ISymbol>modc_shutdown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_snap_input" id=link159 onMouseOver="ShowTip(event, 'tt159', 'link159')" onMouseOut="HideTip('tt159')" class=ISymbol>modc_snap_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_modc-h.html#modc_statechange" id=link160 onMouseOver="ShowTip(event, 'tt160', 'link160')" onMouseOut="HideTip('tt160')" class=ISymbol>modc_statechange</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_direct_input" id=link161 onMouseOver="ShowTip(event, 'tt161', 'link161')" onMouseOut="HideTip('tt161')" class=ISymbol>mods_client_direct_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_drop" id=link162 onMouseOver="ShowTip(event, 'tt162', 'link162')" onMouseOut="HideTip('tt162')" class=ISymbol>mods_client_drop</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_enter" id=link163 onMouseOver="ShowTip(event, 'tt163', 'link163')" onMouseOut="HideTip('tt163')" class=ISymbol>mods_client_enter</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_predicted_input" id=link164 onMouseOver="ShowTip(event, 'tt164', 'link164')" onMouseOut="HideTip('tt164')" class=ISymbol>mods_client_predicted_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_connected" id=link165 onMouseOver="ShowTip(event, 'tt165', 'link165')" onMouseOut="HideTip('tt165')" class=ISymbol>mods_connected</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_console_init" id=link166 onMouseOver="ShowTip(event, 'tt166', 'link166')" onMouseOut="HideTip('tt166')" class=ISymbol>mods_console_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_init" id=link167 onMouseOver="ShowTip(event, 'tt167', 'link167')" onMouseOut="HideTip('tt167')" class=ISymbol>mods_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_message" id=link168 onMouseOver="ShowTip(event, 'tt168', 'link168')" onMouseOut="HideTip('tt168')" class=ISymbol>mods_message</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_net_version" id=link169 onMouseOver="ShowTip(event, 'tt169', 'link169')" onMouseOut="HideTip('tt169')" class=ISymbol>mods_net_version</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_postsnap" id=link170 onMouseOver="ShowTip(event, 'tt170', 'link170')" onMouseOut="HideTip('tt170')" class=ISymbol>mods_postsnap</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_presnap" id=link171 onMouseOver="ShowTip(event, 'tt171', 'link171')" onMouseOut="HideTip('tt171')" class=ISymbol>mods_presnap</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_shutdown" id=link172 onMouseOver="ShowTip(event, 'tt172', 'link172')" onMouseOut="HideTip('tt172')" class=ISymbol>mods_shutdown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_snap" id=link173 onMouseOver="ShowTip(event, 'tt173', 'link173')" onMouseOut="HideTip('tt173')" class=ISymbol>mods_snap</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_tick" id=link174 onMouseOver="ShowTip(event, 'tt174', 'link174')" onMouseOut="HideTip('tt174')" class=ISymbol>mods_tick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#mods_version" id=link175 onMouseOver="ShowTip(event, 'tt175', 'link175')" onMouseOut="HideTip('tt175')" class=ISymbol>mods_version</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_end" id=link176 onMouseOver="ShowTip(event, 'tt176', 'link176')" onMouseOut="HideTip('tt176')" class=ISymbol>msg_pack_end</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_int" id=link177 onMouseOver="ShowTip(event, 'tt177', 'link177')" onMouseOut="HideTip('tt177')" class=ISymbol>msg_pack_int</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_raw" id=link178 onMouseOver="ShowTip(event, 'tt178', 'link178')" onMouseOut="HideTip('tt178')" class=ISymbol>msg_pack_raw</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_start" id=link179 onMouseOver="ShowTip(event, 'tt179', 'link179')" onMouseOut="HideTip('tt179')" class=ISymbol>msg_pack_start</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_string" id=link180 onMouseOver="ShowTip(event, 'tt180', 'link180')" onMouseOut="HideTip('tt180')" class=ISymbol>msg_pack_string</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_error" id=link181 onMouseOver="ShowTip(event, 'tt181', 'link181')" onMouseOut="HideTip('tt181')" class=ISymbol>msg_unpack_error</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_int" id=link182 onMouseOver="ShowTip(event, 'tt182', 'link182')" onMouseOut="HideTip('tt182')" class=ISymbol>msg_unpack_int</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_raw" id=link183 onMouseOver="ShowTip(event, 'tt183', 'link183')" onMouseOut="HideTip('tt183')" class=ISymbol>msg_unpack_raw</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_string" id=link184 onMouseOver="ShowTip(event, 'tt184', 'link184')" onMouseOut="HideTip('tt184')" class=ISymbol>msg_unpack_string</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt133"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Searches the map for an item.</div></div><div class=CToolTip id="tt134"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_data(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Fetches a pointer to a raw data chunk in the map.</div></div><div class=CToolTip id="tt135"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_data_swapped(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt136"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *map_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an item from the loaded map from index.</div></div><div class=CToolTip id="tt137"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void map_get_type(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>start,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>num</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the index range of an item type.</div></div><div class=CToolTip id="tt138"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int map_is_loaded()</td></tr></table></blockquote>Checks if a map is loaded.</div></div><div class=CToolTip id="tt139"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int map_num_items()</td></tr></table></blockquote>Checks the number of items in the loaded map.</div></div><div class=CToolTip id="tt140"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void map_unload_data(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt141"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *mem_alloc_debug(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>line,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>alignment</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates memory.</div></div><div class=CToolTip id="tt142"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int mem_comp(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares two blocks of memory</div></div><div class=CToolTip id="tt143"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_copy(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dest,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a a memory block.</div></div><div class=CToolTip id="tt144"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_free(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>block</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Frees a block allocated through mem_alloc.</div></div><div class=CToolTip id="tt145"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_move(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dest,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a a memory block</div></div><div class=CToolTip id="tt146"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mem_zero(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>block,</td></tr><tr><td></td><td class=PType nowrap>unsigned&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a complete memory block to 0</div></div><div class=CToolTip id="tt147"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_connected()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt148"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_console_init()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt149"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_entergame()</td></tr></table></blockquote>Called when the client has successfully connect to a server and loaded a map.</div></div><div class=CToolTip id="tt150"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_init()</td></tr></table></blockquote>Called when the client starts.</div></div><div class=CToolTip id="tt151"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_message(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt152"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *modc_net_version()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt153"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_newsnapshot()</td></tr></table></blockquote>Called when the client progressed to a new snapshot.</div></div><div class=CToolTip id="tt154"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_predict()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt155"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_rcon_line(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>line</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt156"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_render()</td></tr></table></blockquote>Called every frame to let the game render it self.</div></div><div class=CToolTip id="tt157"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_save_config()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt158"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void modc_shutdown()</td></tr></table></blockquote>Called when the client closes down.</div></div><div class=CToolTip id="tt159"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int modc_snap_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt160"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void modc_statechange(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>new_state,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>old_state</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called every time client changes state.</div></div><div class=CToolTip id="tt161"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_direct_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the server recives new input from a client.</div></div><div class=CToolTip id="tt162"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_drop(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a client drops from the server.</div></div><div class=CToolTip id="tt163"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_enter(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a client has joined the game.</div></div><div class=CToolTip id="tt164"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_client_predicted_input(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>input</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the server applys the predicted input on the client.</div></div><div class=CToolTip id="tt165"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_connected(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt166"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_console_init()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt167"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_init()</td></tr></table></blockquote>Called when the server is started.</div></div><div class=CToolTip id="tt168"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_message(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt169"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *mods_net_version()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt170"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_postsnap()</td></tr></table></blockquote>Called after the server is done sending the snapshots.</div></div><div class=CToolTip id="tt171"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_presnap()</td></tr></table></blockquote>Called before the server starts to construct snapshots for the clients.</div></div><div class=CToolTip id="tt172"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_shutdown()</td></tr></table></blockquote>Called when the server quits.</div></div><div class=CToolTip id="tt173"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void mods_snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called to create the snapshot for a client.</div></div><div class=CToolTip id="tt174"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void mods_tick()</td></tr></table></blockquote>Called with a regular interval to progress the gameplay.</div></div><div class=CToolTip id="tt175"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *mods_version()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt176"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void msg_pack_end()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt177"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_int(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>i</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt178"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_raw(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt179"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_start(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>msg,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt180"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void msg_pack_string(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>p,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>limit</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt181"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int msg_unpack_error()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt182"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int msg_unpack_int()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt183"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const unsigned char *msg_unpack_raw(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt184"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const char *msg_unpack_string()</td></tr></table></blockquote>TODO</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/General5.html b/docs/output/index/General5.html
new file mode 100644
index 00000000..7c356e9e
--- /dev/null
+++ b/docs/output/index/General5.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; <a href="General.html#D">D</a> &middot; <a href="General.html#E">E</a> &middot; <a href="General.html#F">F</a> &middot; <a href="General2.html#G">G</a> &middot; <a href="General2.html#H">H</a> &middot; <a href="General3.html#I">I</a> &middot; J &middot; K &middot; <a href="General3.html#L">L</a> &middot; <a href="General4.html#M">M</a> &middot; <a href="#N">N</a> &middot; <a href="#O">O</a> &middot; <a href="#P">P</a> &middot; <a href="#Q">Q</a> &middot; <a href="#R">R</a> &middot; <a href="General6.html#S">S</a> &middot; <a href="General6.html#T">T</a> &middot; <a href="General6.html#U">U</a> &middot; <a href="General6.html#V">V</a> &middot; <a href="General6.html#W">W</a> &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="N"></a>N</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_addr_comp" id=link185 onMouseOver="ShowTip(event, 'tt185', 'link185')" onMouseOut="HideTip('tt185')" class=ISymbol>net_addr_comp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_addr_str" id=link186 onMouseOver="ShowTip(event, 'tt186', 'link186')" onMouseOut="HideTip('tt186')" class=ISymbol>net_addr_str</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_errno" id=link187 onMouseOver="ShowTip(event, 'tt187', 'link187')" onMouseOut="HideTip('tt187')" class=ISymbol>net_errno</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_host_lookup" id=link188 onMouseOver="ShowTip(event, 'tt188', 'link188')" onMouseOut="HideTip('tt188')" class=ISymbol>net_host_lookup</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_init" id=link189 onMouseOver="ShowTip(event, 'tt189', 'link189')" onMouseOut="HideTip('tt189')" class=ISymbol>net_init</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_accept" id=link190 onMouseOver="ShowTip(event, 'tt190', 'link190')" onMouseOut="HideTip('tt190')" class=ISymbol>net_tcp_accept</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_close" id=link191 onMouseOver="ShowTip(event, 'tt191', 'link191')" onMouseOut="HideTip('tt191')" class=ISymbol>net_tcp_close</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_connect" id=link192 onMouseOver="ShowTip(event, 'tt192', 'link192')" onMouseOut="HideTip('tt192')" class=ISymbol>net_tcp_connect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_connect_non_blocking" id=link193 onMouseOver="ShowTip(event, 'tt193', 'link193')" onMouseOut="HideTip('tt193')" class=ISymbol>net_tcp_connect_non_blocking</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_create" id=link194 onMouseOver="ShowTip(event, 'tt194', 'link194')" onMouseOut="HideTip('tt194')" class=ISymbol>net_tcp_create</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_listen" id=link195 onMouseOver="ShowTip(event, 'tt195', 'link195')" onMouseOut="HideTip('tt195')" class=ISymbol>net_tcp_listen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_recv" id=link196 onMouseOver="ShowTip(event, 'tt196', 'link196')" onMouseOut="HideTip('tt196')" class=ISymbol>net_tcp_recv</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_send" id=link197 onMouseOver="ShowTip(event, 'tt197', 'link197')" onMouseOut="HideTip('tt197')" class=ISymbol>net_tcp_send</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_tcp_set_non_blocking" id=link198 onMouseOver="ShowTip(event, 'tt198', 'link198')" onMouseOut="HideTip('tt198')" class=ISymbol>net_tcp_set_non_blocking</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_udp_close" id=link199 onMouseOver="ShowTip(event, 'tt199', 'link199')" onMouseOut="HideTip('tt199')" class=ISymbol>net_udp_close</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_udp_create" id=link200 onMouseOver="ShowTip(event, 'tt200', 'link200')" onMouseOut="HideTip('tt200')" class=ISymbol>net_udp_create</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_udp_recv" id=link201 onMouseOver="ShowTip(event, 'tt201', 'link201')" onMouseOut="HideTip('tt201')" class=ISymbol>net_udp_recv</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_udp_send" id=link202 onMouseOver="ShowTip(event, 'tt202', 'link202')" onMouseOut="HideTip('tt202')" class=ISymbol>net_udp_send</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#net_would_block" id=link203 onMouseOver="ShowTip(event, 'tt203', 'link203')" onMouseOut="HideTip('tt203')" class=ISymbol>net_would_block</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Network_General"  class=ISymbol>Network General</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Network_TCP"  class=ISymbol>Network TCP</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Network_UDP"  class=ISymbol>Network UDP</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#Network(Server)"  class=ISymbol>Network(Server)</a></td></tr><tr><td class=IHeading><a name="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_character_death" id=link204 onMouseOver="ShowTip(event, 'tt204', 'link204')" onMouseOut="HideTip('tt204')" class=ISymbol>on_character_death</a>, <span class=IParent>Game Controller</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_character_spawn" id=link205 onMouseOver="ShowTip(event, 'tt205', 'link205')" onMouseOut="HideTip('tt205')" class=ISymbol>on_character_spawn</a>, <span class=IParent>Game Controller</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_entity" id=link206 onMouseOver="ShowTip(event, 'tt206', 'link206')" onMouseOut="HideTip('tt206')" class=ISymbol>on_entity</a>, <span class=IParent>Game Controller</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#OS_Abstraction"  class=ISymbol>OS Abstraction</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Other</span><div class=ISubIndex><a href="../files2/e_if_client-h.html#Other"  class=IFile>e_if_client.h</a><a href="../files2/e_if_gfx-h.html#Other"  class=IFile>e_if_gfx.h</a></div></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Overview"  class=ISymbol>Overview</a></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.pos" id=link207 onMouseOver="ShowTip(event, 'tt207', 'link207')" onMouseOut="HideTip('tt207')" class=ISymbol>pos</a>, <span class=IParent>Entity</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/prediction-txt.html#Prediction" id=link208 onMouseOver="ShowTip(event, 'tt208', 'link208')" onMouseOut="HideTip('tt208')" class=ISymbol>Prediction</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.proximity_radius" id=link209 onMouseOver="ShowTip(event, 'tt209', 'link209')" onMouseOut="HideTip('tt209')" class=ISymbol>proximity_radius</a>, <span class=IParent>Entity</span></td></tr><tr><td class=IHeading><a name="Q"></a>Q</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#Quads"  class=ISymbol>Quads</a></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/server_op-txt.html#Reinit"  class=ISymbol>Reinit</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.remove_entity" id=link210 onMouseOver="ShowTip(event, 'tt210', 'link210')" onMouseOut="HideTip('tt210')" class=ISymbol>remove_entity</a>, <span class=IParent>Game World</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Rendering" id=link211 onMouseOver="ShowTip(event, 'tt211', 'link211')" onMouseOut="HideTip('tt211')" class=ISymbol>Rendering</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.reset" id=link212 onMouseOver="ShowTip(event, 'tt212', 'link212')" onMouseOut="HideTip('tt212')" class=ISymbol>reset</a>, <span class=IParent>Entity</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/server_op-txt.html#Running" id=link213 onMouseOver="ShowTip(event, 'tt213', 'link213')" onMouseOut="HideTip('tt213')" class=ISymbol>Running</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt185"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_addr_comp(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares two network addresses.</div></div><div class=CToolTip id="tt186"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_addr_str(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>string,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>max_length</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Turns a network address into a representive string.</div></div><div class=CToolTip id="tt187"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_errno()</td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt188"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_host_lookup(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>hostname,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>types</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Does a hostname lookup by name and fills out the passed NETADDR struct with the recieved details.</div></div><div class=CToolTip id="tt189"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_init()</td></tr></table></blockquote>Initiates network functionallity.</div></div><div class=CToolTip id="tt190"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_accept(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>new_sock,</td></tr><tr><td></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Polls a listning socket for a new connection.</div></div><div class=CToolTip id="tt191"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_close(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes a TCP socket.</div></div><div class=CToolTip id="tt192"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_connect(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Connects one socket to another.</div></div><div class=CToolTip id="tt193"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_connect_non_blocking(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt194"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>NETSOCKET net_tcp_create(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a TCP socket.</div></div><div class=CToolTip id="tt195"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_listen(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>backlog</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Makes the socket start listening for new connections.</div></div><div class=CToolTip id="tt196"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_recv(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxsize</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Recvives data from a TCP stream.</div></div><div class=CToolTip id="tt197"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_send(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends data to a TCP stream.</div></div><div class=CToolTip id="tt198"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_tcp_set_non_blocking(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>DOCTODO: serp</div></div><div class=CToolTip id="tt199"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_close(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameter nowrap>sock</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Closes an UDP socket.</div></div><div class=CToolTip id="tt200"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>NETSOCKET net_udp_create(</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameter nowrap>bindaddr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a UDP socket and binds it to a port.</div></div><div class=CToolTip id="tt201"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_recv(</td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>maxsize</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Recives a packet over an UDP socket.</div></div><div class=CToolTip id="tt202"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int net_udp_send(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>NETSOCKET&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>sock,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>NETADDR&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>addr,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a packet over an UDP socket.</div></div><div class=CToolTip id="tt203"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int net_would_block()</td></tr></table></blockquote>DOCTODO: serp</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt204"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual int on_character_death(</td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>CHARACTER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>victim,</td></tr><tr><td></td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>PLAYER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>killer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>weapon</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a character in the world dies.</div></div><div class=CToolTip id="tt205"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual void on_character_spawn(</td><td class=PTypePrefix nowrap>class&nbsp;</td><td class=PType nowrap>CHARACTER&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>chr</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a character spawns into the game world.</div></div><div class=CToolTip id="tt206"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual bool on_entity(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>vec2&nbsp;</td><td class=PParameter nowrap>pos</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when the map is loaded to process an entity in the map.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt207"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>vec2 pos</td></tr></table></blockquote>Contains the current posititon of the entity.</div></div><div class=CToolTip id="tt208"><div class=CSection>The engine calls modc_predict when reprediction is required. </div></div><div class=CToolTip id="tt209"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float proximity_radius</td></tr></table></blockquote>Contains the physical size of the entity.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt210"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void remove_entity(</td><td class=PType nowrap>ENTITY&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>entity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Removes an entity from the world.</div></div><div class=CToolTip id="tt211"><div class=CGeneric>DOCTODO</div></div><div class=CToolTip id="tt212"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void reset()</td></tr></table></blockquote>Called when the game resets the map. </div></div><div class=CToolTip id="tt213"><div class=CSection>Here is an graph over how the server operates on each refresh.</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/General6.html b/docs/output/index/General6.html
new file mode 100644
index 00000000..8349d76a
--- /dev/null
+++ b/docs/output/index/General6.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; <a href="General.html#D">D</a> &middot; <a href="General.html#E">E</a> &middot; <a href="General.html#F">F</a> &middot; <a href="General2.html#G">G</a> &middot; <a href="General2.html#H">H</a> &middot; <a href="General3.html#I">I</a> &middot; J &middot; K &middot; <a href="General3.html#L">L</a> &middot; <a href="General4.html#M">M</a> &middot; <a href="General5.html#N">N</a> &middot; <a href="General5.html#O">O</a> &middot; <a href="General5.html#P">P</a> &middot; <a href="General5.html#Q">Q</a> &middot; <a href="General5.html#R">R</a> &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; <a href="#U">U</a> &middot; <a href="#V">V</a> &middot; <a href="#W">W</a> &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Server_Browser"  class=ISymbol>Server Browser</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Server_Browser_Sorting"  class=ISymbol>Server Browser Sorting</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_mods-h.html#Server_Hooks"  class=ISymbol>Server Hooks</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#Server_Interface"  class=ISymbol>Server Interface</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/server_op-txt.html#Server_Operation"  class=ISymbol>Server Operation</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Server_Side"  class=ISymbol>Server Side</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_clientname" id=link214 onMouseOver="ShowTip(event, 'tt214', 'link214')" onMouseOut="HideTip('tt214')" class=ISymbol>server_clientname</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_getclientinfo" id=link215 onMouseOver="ShowTip(event, 'tt215', 'link215')" onMouseOut="HideTip('tt215')" class=ISymbol>server_getclientinfo</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#SERVER_INFO"  class=ISymbol>SERVER_INFO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#SERVER_INFO_PLAYER"  class=ISymbol>SERVER_INFO_PLAYER</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_kick" id=link216 onMouseOver="ShowTip(event, 'tt216', 'link216')" onMouseOut="HideTip('tt216')" class=ISymbol>server_kick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_latestinput" id=link217 onMouseOver="ShowTip(event, 'tt217', 'link217')" onMouseOut="HideTip('tt217')" class=ISymbol>server_latestinput</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#server_send_msg" id=link218 onMouseOver="ShowTip(event, 'tt218', 'link218')" onMouseOut="HideTip('tt218')" class=ISymbol>server_send_msg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_setbrowseinfo" id=link219 onMouseOver="ShowTip(event, 'tt219', 'link219')" onMouseOut="HideTip('tt219')" class=ISymbol>server_setbrowseinfo</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_setclientname" id=link220 onMouseOver="ShowTip(event, 'tt220', 'link220')" onMouseOut="HideTip('tt220')" class=ISymbol>server_setclientname</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_setclientscore" id=link221 onMouseOver="ShowTip(event, 'tt221', 'link221')" onMouseOut="HideTip('tt221')" class=ISymbol>server_setclientscore</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_tick" id=link222 onMouseOver="ShowTip(event, 'tt222', 'link222')" onMouseOut="HideTip('tt222')" class=ISymbol>server_tick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_server-h.html#server_tickspeed" id=link223 onMouseOver="ShowTip(event, 'tt223', 'link223')" onMouseOut="HideTip('tt223')" class=ISymbol>server_tickspeed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/server_op-txt.html#Shutdown"  class=ISymbol>Shutdown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>snap</span><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.snap" id=link224 onMouseOver="ShowTip(event, 'tt224', 'link224')" onMouseOut="HideTip('tt224')" class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_World.snap" id=link225 onMouseOver="ShowTip(event, 'tt225', 'link225')" onMouseOut="HideTip('tt225')" class=IParent>Game World</a></div></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_find_item" id=link226 onMouseOver="ShowTip(event, 'tt226', 'link226')" onMouseOut="HideTip('tt226')" class=ISymbol>snap_find_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_free_id" id=link227 onMouseOver="ShowTip(event, 'tt227', 'link227')" onMouseOut="HideTip('tt227')" class=ISymbol>snap_free_id</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_get_item" id=link228 onMouseOver="ShowTip(event, 'tt228', 'link228')" onMouseOut="HideTip('tt228')" class=ISymbol>snap_get_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_input" id=link229 onMouseOver="ShowTip(event, 'tt229', 'link229')" onMouseOut="HideTip('tt229')" class=ISymbol>snap_input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_invalidate_item" id=link230 onMouseOver="ShowTip(event, 'tt230', 'link230')" onMouseOut="HideTip('tt230')" class=ISymbol>snap_invalidate_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#SNAP_ITEM"  class=ISymbol>SNAP_ITEM</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_new_id" id=link231 onMouseOver="ShowTip(event, 'tt231', 'link231')" onMouseOut="HideTip('tt231')" class=ISymbol>snap_new_id</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_new_item" id=link232 onMouseOver="ShowTip(event, 'tt232', 'link232')" onMouseOut="HideTip('tt232')" class=ISymbol>snap_new_item</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_num_items" id=link233 onMouseOver="ShowTip(event, 'tt233', 'link233')" onMouseOut="HideTip('tt233')" class=ISymbol>snap_num_items</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_other-h.html#snap_set_staticsize" id=link234 onMouseOver="ShowTip(event, 'tt234', 'link234')" onMouseOut="HideTip('tt234')" class=ISymbol>snap_set_staticsize</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Snapshots"  class=ISymbol>Snapshots</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_load_wv" id=link235 onMouseOver="ShowTip(event, 'tt235', 'link235')" onMouseOut="HideTip('tt235')" class=ISymbol>snd_load_wv</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_play" id=link236 onMouseOver="ShowTip(event, 'tt236', 'link236')" onMouseOut="HideTip('tt236')" class=ISymbol>snd_play</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_play_at" id=link237 onMouseOver="ShowTip(event, 'tt237', 'link237')" onMouseOut="HideTip('tt237')" class=ISymbol>snd_play_at</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_set_channel" id=link238 onMouseOver="ShowTip(event, 'tt238', 'link238')" onMouseOut="HideTip('tt238')" class=ISymbol>snd_set_channel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_set_listener_pos" id=link239 onMouseOver="ShowTip(event, 'tt239', 'link239')" onMouseOut="HideTip('tt239')" class=ISymbol>snd_set_listener_pos</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#snd_stop" id=link240 onMouseOver="ShowTip(event, 'tt240', 'link240')" onMouseOut="HideTip('tt240')" class=ISymbol>snd_stop</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_snd-h.html#Sound"  class=ISymbol>Sound</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_append" id=link241 onMouseOver="ShowTip(event, 'tt241', 'link241')" onMouseOut="HideTip('tt241')" class=ISymbol>str_append</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_comp_nocase" id=link242 onMouseOver="ShowTip(event, 'tt242', 'link242')" onMouseOut="HideTip('tt242')" class=ISymbol>str_comp_nocase</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_copy" id=link243 onMouseOver="ShowTip(event, 'tt243', 'link243')" onMouseOut="HideTip('tt243')" class=ISymbol>str_copy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_find_nocase" id=link244 onMouseOver="ShowTip(event, 'tt244', 'link244')" onMouseOut="HideTip('tt244')" class=ISymbol>str_find_nocase</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_format" id=link245 onMouseOver="ShowTip(event, 'tt245', 'link245')" onMouseOut="HideTip('tt245')" class=ISymbol>str_format</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_hex" id=link246 onMouseOver="ShowTip(event, 'tt246', 'link246')" onMouseOut="HideTip('tt246')" class=ISymbol>str_hex</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_sanitize" id=link247 onMouseOver="ShowTip(event, 'tt247', 'link247')" onMouseOut="HideTip('tt247')" class=ISymbol>str_sanitize</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#str_sanitize_strong" id=link248 onMouseOver="ShowTip(event, 'tt248', 'link248')" onMouseOut="HideTip('tt248')" class=ISymbol>str_sanitize_strong</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Strings"  class=ISymbol>Strings</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/snapshots-txt.html#Structure" id=link249 onMouseOver="ShowTip(event, 'tt249', 'link249')" onMouseOut="HideTip('tt249')" class=ISymbol>Structure</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Structures</span><div class=ISubIndex><a href="../files2/e_if_client-h.html#Structures"  class=IFile>e_if_client.h</a><a href="../files2/e_if_gfx-h.html#Structures"  class=IFile>e_if_gfx.h</a></div></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#TEXLOAD_NORESAMPLE" id=link250 onMouseOver="ShowTip(event, 'tt250', 'link250')" onMouseOut="HideTip('tt250')" class=ISymbol>TEXLOAD_NORESAMPLE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#Text"  class=ISymbol>Text</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Texture_Loading_Flags"  class=ISymbol>Texture Loading Flags</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_create" id=link251 onMouseOver="ShowTip(event, 'tt251', 'link251')" onMouseOut="HideTip('tt251')" class=ISymbol>thread_create</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_destoy" id=link252 onMouseOver="ShowTip(event, 'tt252', 'link252')" onMouseOut="HideTip('tt252')" class=ISymbol>thread_destoy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_sleep" id=link253 onMouseOver="ShowTip(event, 'tt253', 'link253')" onMouseOut="HideTip('tt253')" class=ISymbol>thread_sleep</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_wait" id=link254 onMouseOver="ShowTip(event, 'tt254', 'link254')" onMouseOut="HideTip('tt254')" class=ISymbol>thread_wait</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#thread_yeild" id=link255 onMouseOver="ShowTip(event, 'tt255', 'link255')" onMouseOut="HideTip('tt255')" class=ISymbol>thread_yeild</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Threads"  class=ISymbol>Threads</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>tick</span><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.tick" id=link256 onMouseOver="ShowTip(event, 'tt256', 'link256')" onMouseOut="HideTip('tt256')" class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_World.tick" id=link257 onMouseOver="ShowTip(event, 'tt257', 'link257')" onMouseOut="HideTip('tt257')" class=IParent>Game World</a></div></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.tick_defered" id=link258 onMouseOver="ShowTip(event, 'tt258', 'link258')" onMouseOut="HideTip('tt258')" class=ISymbol>tick_defered</a>, <span class=IParent>Entity</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_client-h.html#Time"  class=ISymbol>Time</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/docs/client_time-txt.html#Time_on_the_client" id=link259 onMouseOver="ShowTip(event, 'tt259', 'link259')" onMouseOut="HideTip('tt259')" class=ISymbol>Time on the client</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#time_freq" id=link260 onMouseOver="ShowTip(event, 'tt260', 'link260')" onMouseOut="HideTip('tt260')" class=ISymbol>time_freq</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#time_get" id=link261 onMouseOver="ShowTip(event, 'tt261', 'link261')" onMouseOut="HideTip('tt261')" class=ISymbol>time_get</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#time_timestamp" id=link262 onMouseOver="ShowTip(event, 'tt262', 'link262')" onMouseOut="HideTip('tt262')" class=ISymbol>time_timestamp</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Timer"  class=ISymbol>Timer</a></td></tr><tr><td class=IHeading><a name="U"></a>U</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_system-h.html#Undocumented"  class=ISymbol>Undocumented</a></td></tr><tr><td class=IHeading><a name="V"></a>V</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Variables</span><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.Variables"  class=IParent>Entity</a><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.Variables"  class=IParent>IMAGE_INFO</a></div></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#VIDEO_MODE"  class=ISymbol>VIDEO_MODE</a></td></tr><tr><td class=IHeading><a name="W"></a>W</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.width" id=link263 onMouseOver="ShowTip(event, 'tt263', 'link263')" onMouseOut="HideTip('tt263')" class=ISymbol>width</a>, <span class=IParent>IMAGE_INFO</span></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt214"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *server_clientname(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt215"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int server_getclientinfo(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>CLIENT_INFO&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>info</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt216"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_kick(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>reason</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt217"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int *server_latestinput(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt218"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int server_send_msg(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt219"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setbrowseinfo(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>game_type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>progression</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt220"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setclientname(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt221"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void server_setclientscore(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>client_id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>score</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt222"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int server_tick()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt223"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int server_tickspeed()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt224"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual void snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapping_client</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Called when a new snapshot is being generated for a specific client.</div></div><div class=CToolTip id="tt225"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapping_client</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calls snap on all the entities in the world to create the snapshot.</div></div><div class=CToolTip id="tt226"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_find_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Searches a snapshot for an item.</div></div><div class=CToolTip id="tt227"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_free_id(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt228"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_get_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>index,</td></tr><tr><td></td><td class=PType nowrap>SNAP_ITEM&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>item</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an item from a snapshot.</div></div><div class=CToolTip id="tt229"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_input(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the input data to send to the server.</div></div><div class=CToolTip id="tt230"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_invalidate_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>index</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Marks an item as invalid byt setting type and id to 0xffffffff.</div></div><div class=CToolTip id="tt231"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int snap_new_id()</td></tr></table></blockquote>TODO</div></div><div class=CToolTip id="tt232"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *snap_new_item(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new item that should be sent.</div></div><div class=CToolTip id="tt233"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snap_num_items(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>snapid</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Check the number of items in a snapshot.</div></div><div class=CToolTip id="tt234"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snap_set_staticsize(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>type,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Tells the engine how big a specific item always will be. </div></div><div class=CToolTip id="tt235"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_load_wv(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>filename</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a wavpack compressed sound.</div></div><div class=CToolTip id="tt236"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_play(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>sid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Plays a sound.</div></div><div class=CToolTip id="tt237"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int snd_play_at(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>sid,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>flags,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Plays a sound at a specified postition.</div></div><div class=CToolTip id="tt238"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_set_channel(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>cid,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>vol,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>pan</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the parameters for a sound channel.</div></div><div class=CToolTip id="tt239"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_set_listener_pos(</td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PType nowrap>float&nbsp;</td><td class=PParameter nowrap>y</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the listener posititon.</div></div><div class=CToolTip id="tt240"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void snd_stop(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Stops a currenly playing sound.</div></div><div class=CToolTip id="tt241"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_append(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>src,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Appends a string to another.</div></div><div class=CToolTip id="tt242"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>int str_comp_nocase(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Compares to strings case insensitive.</div></div><div class=CToolTip id="tt243"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_copy(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>src,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Copies a string to another.</div></div><div class=CToolTip id="tt244"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>const char *str_find_nocase(</td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>haystack,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>needle</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Finds a string inside another string case insensitive.</div></div><div class=CToolTip id="tt245"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_format(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>buffer,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>buffer_size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>format,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>...</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Performs printf formating into a buffer.</div></div><div class=CToolTip id="tt246"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_hex(</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>dst,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>dst_size,</td></tr><tr><td></td><td class=PTypePrefix nowrap>const&nbsp;</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>data,</td></tr><tr><td></td><td class=PTypePrefix nowrap></td><td class=PType nowrap>int&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>data_size</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Takes a datablock and generates a hexstring of it.</div></div><div class=CToolTip id="tt247"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_sanitize(</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Replaces all characters below 32 and above 127 with whitespace with exception to \r, \n and \r.</div></div><div class=CToolTip id="tt248"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void str_sanitize_strong(</td><td class=PType nowrap>char&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Replaces all characters below 32 and above 127 with whitespace.</div></div><div class=CToolTip id="tt249"><div class=CGeneric>A snapshot contains a series of items. </div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt250"><div class=CConstant>Prevents the texture from any resampling</div></div><div class=CToolTip id="tt251"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void *thread_create(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>(*threadfunc)(void *),</td></tr><tr><td></td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>user</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new thread.</div></div><div class=CToolTip id="tt252"><div class=CFunction>Destroys a thread.</div></div><div class=CToolTip id="tt253"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void thread_sleep(</td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>milliseconds</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Suspends the current thread for a given period.</div></div><div class=CToolTip id="tt254"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>void thread_wait(</td><td class=PType nowrap>void&nbsp;</td><td class=PParameterPrefix nowrap>*</td><td class=PParameter nowrap>thread</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Waits for a thread to be done or destroyed.</div></div><div class=CToolTip id="tt255"><div class=CFunction>Yeild the current threads execution slice.</div></div><div class=CToolTip id="tt256"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void tick()</td></tr></table></blockquote>Called progress the entity to the next tick. </div></div><div class=CToolTip id="tt257"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void tick()</td></tr></table></blockquote>Calls tick on all the entities in the world to progress the world to the next tick.</div></div><div class=CToolTip id="tt258"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual void tick_defered()</td></tr></table></blockquote>Called after all entities tick() function has been called.</div></div><div class=CToolTip id="tt259"><div class=CSection>tick, intratick predtick, predintratick</div></div><div class=CToolTip id="tt260"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int64 time_freq()</td></tr></table></blockquote>Returns the frequency of the high resolution timer.</div></div><div class=CToolTip id="tt261"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int64 time_get()</td></tr></table></blockquote>Fetches a sample from a high resolution timer.</div></div><div class=CToolTip id="tt262"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>unsigned time_timestamp()</td></tr></table></blockquote>Retrives the current time as a UNIX timestamp</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt263"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int width</td></tr></table></blockquote>Contains the width of the image</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/index/Variables.html b/docs/output/index/Variables.html
new file mode 100644
index 00000000..91528a38
--- /dev/null
+++ b/docs/output/index/Variables.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Variable Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Variable Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; <a href="#D">D</a> &middot; E &middot; <a href="#F">F</a> &middot; G &middot; <a href="#H">H</a> &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; <a href="#P">P</a> &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; <a href="#W">W</a> &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.data" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>data</a>, <span class=IParent>IMAGE_INFO</span></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.format" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>format</a>, <span class=IParent>IMAGE_INFO</span></td></tr><tr><td class=IHeading><a name="H"></a>H</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.height" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>height</a>, <span class=IParent>IMAGE_INFO</span></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.pos" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>pos</a>, <span class=IParent>Entity</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.proximity_radius" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>proximity_radius</a>, <span class=IParent>Entity</span></td></tr><tr><td class=IHeading><a name="W"></a>W</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.width" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>width</a>, <span class=IParent>IMAGE_INFO</span></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>void *data</td></tr></table></blockquote>Pointer to the image data.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt2"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int format</td></tr></table></blockquote>Contains the format of the image. </div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt3"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int height</td></tr></table></blockquote>Contains the height of the image</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt4"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>vec2 pos</td></tr></table></blockquote>Contains the current posititon of the entity.</div></div><div class=CToolTip id="tt5"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>float proximity_radius</td></tr></table></blockquote>Contains the physical size of the entity.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt6"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>int width</td></tr></table></blockquote>Contains the width of the image</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files2/e_system-h.html">OS Abstraction</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Engine</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../files2/e_if_msg-h.html">Messaging</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Client</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Overview</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files2/docs/client_time-txt.html">Time on the client</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/prediction-txt.html">Prediction</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/snapshots-txt.html">Snapshots</a></div></div><div class=MEntry><div class=MFile><a href="../files2/docs/server_op-txt.html">Server Operation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Reference</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files2/e_if_modc-h.html">Client Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_client-h.html">Client Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_other-h.html">Engine Interface</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_gfx-h.html">Graphics</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_inp-h.html">Input</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_snd-h.html">Sound</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Server</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Reference</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../files2/e_if_mods-h.html">Server Hooks</a></div></div><div class=MEntry><div class=MFile><a href="../files2/e_if_server-h.html">Server Interface</a></div></div></div></div></div></div></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Game</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MFile><a href="../files/server/gs_common-hpp.html">Entity</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Index</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Variables</div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
+HideAllBut([8, 7, 6], 9);// --></script></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/javascript/main.js b/docs/output/javascript/main.js
new file mode 100644
index 00000000..efcdca96
--- /dev/null
+++ b/docs/output/javascript/main.js
@@ -0,0 +1,836 @@
+// This file is part of Natural Docs, which is Copyright (C) 2003-2008 Greg Valure

+// Natural Docs is licensed under the GPL

+

+

+//

+//  Browser Styles

+// ____________________________________________________________________________

+

+var agt=navigator.userAgent.toLowerCase();

+var browserType;

+var browserVer;

+

+if (agt.indexOf("opera") != -1)

+    {

+    browserType = "Opera";

+

+    if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)

+        {  browserVer = "Opera7";  }

+    else if (agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1)

+        {  browserVer = "Opera8";  }

+    else if (agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1)

+        {  browserVer = "Opera9";  }

+    }

+

+else if (agt.indexOf("applewebkit") != -1)

+    {

+    browserType = "Safari";

+

+    if (agt.indexOf("version/3") != -1)

+        {  browserVer = "Safari3";  }

+    else if (agt.indexOf("safari/4") != -1)

+        {  browserVer = "Safari2";  }

+    }

+

+else if (agt.indexOf("khtml") != -1)

+    {

+    browserType = "Konqueror";

+    }

+

+else if (agt.indexOf("msie") != -1)

+    {

+    browserType = "IE";

+

+    if (agt.indexOf("msie 6") != -1)

+        {  browserVer = "IE6";  }

+    else if (agt.indexOf("msie 7") != -1)

+        {  browserVer = "IE7";  }

+    }

+

+else if (agt.indexOf("gecko") != -1)

+    {

+    browserType = "Firefox";

+

+    if (agt.indexOf("rv:1.7") != -1)

+        {  browserVer = "Firefox1";  }

+    else if (agt.indexOf("rv:1.8)") != -1 || agt.indexOf("rv:1.8.0") != -1)

+        {  browserVer = "Firefox15";  }

+    else if (agt.indexOf("rv:1.8.1") != -1)

+        {  browserVer = "Firefox2";  }

+    }

+

+

+//

+//  Support Functions

+// ____________________________________________________________________________

+

+

+function GetXPosition(item)

+    {

+    var position = 0;

+

+    if (item.offsetWidth != null)

+        {

+        while (item != document.body && item != null)

+            {

+            position += item.offsetLeft;

+            item = item.offsetParent;

+            };

+        };

+

+    return position;

+    };

+

+

+function GetYPosition(item)

+    {

+    var position = 0;

+

+    if (item.offsetWidth != null)

+        {

+        while (item != document.body && item != null)

+            {

+            position += item.offsetTop;

+            item = item.offsetParent;

+            };

+        };

+

+    return position;

+    };

+

+

+function MoveToPosition(item, x, y)

+    {

+    // Opera 5 chokes on the px extension, so it can use the Microsoft one instead.

+

+    if (item.style.left != null)

+        {

+        item.style.left = x + "px";

+        item.style.top = y + "px";

+        }

+    else if (item.style.pixelLeft != null)

+        {

+        item.style.pixelLeft = x;

+        item.style.pixelTop = y;

+        };

+    };

+

+

+//

+//  Menu

+// ____________________________________________________________________________

+

+

+function ToggleMenu(id)

+    {

+    if (!window.document.getElementById)

+        {  return;  };

+

+    var display = window.document.getElementById(id).style.display;

+

+    if (display == "none")

+        {  display = "block";  }

+    else

+        {  display = "none";  }

+

+    window.document.getElementById(id).style.display = display;

+    }

+

+function HideAllBut(ids, max)

+    {

+    if (document.getElementById)

+        {

+        ids.sort( function(a,b) { return a - b; } );

+        var number = 1;

+

+        while (number < max)

+            {

+            if (ids.length > 0 && number == ids[0])

+                {  ids.shift();  }

+            else

+                {

+                document.getElementById("MGroupContent" + number).style.display = "none";

+                };

+

+            number++;

+            };

+        };

+    }

+

+

+//

+//  Tooltips

+// ____________________________________________________________________________

+

+

+var tooltipTimer = 0;

+

+function ShowTip(event, tooltipID, linkID)

+    {

+    if (tooltipTimer)

+        {  clearTimeout(tooltipTimer);  };

+

+    var docX = event.clientX + window.pageXOffset;

+    var docY = event.clientY + window.pageYOffset;

+

+    var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")";

+

+    tooltipTimer = setTimeout(showCommand, 1000);

+    }

+

+function ReallyShowTip(tooltipID, linkID, docX, docY)

+    {

+    tooltipTimer = 0;

+

+    var tooltip;

+    var link;

+

+    if (document.getElementById)

+        {

+        tooltip = document.getElementById(tooltipID);

+        link = document.getElementById(linkID);

+        }

+/*    else if (document.all)

+        {

+        tooltip = eval("document.all['" + tooltipID + "']");

+        link = eval("document.all['" + linkID + "']");

+        }

+*/

+    if (tooltip)

+        {

+        var left = GetXPosition(link);

+        var top = GetYPosition(link);

+        top += link.offsetHeight;

+

+

+        // The fallback method is to use the mouse X and Y relative to the document.  We use a separate if and test if its a number

+        // in case some browser snuck through the above if statement but didn't support everything.

+

+        if (!isFinite(top) || top == 0)

+            {

+            left = docX;

+            top = docY;

+            }

+

+        // Some spacing to get it out from under the cursor.

+

+        top += 10;

+

+        // Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the

+        // page.  We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right.

+

+        if (tooltip.offsetWidth != null)

+            {

+            var width = tooltip.offsetWidth;

+            var docWidth = document.body.clientWidth;

+

+            if (left + width > docWidth)

+                {  left = docWidth - width - 1;  }

+

+            // If there's a horizontal scroll bar we could go past zero because it's using the page width, not the window width.

+            if (left < 0)

+                {  left = 0;  };

+            }

+

+        MoveToPosition(tooltip, left, top);

+        tooltip.style.visibility = "visible";

+        }

+    }

+

+function HideTip(tooltipID)

+    {

+    if (tooltipTimer)

+        {

+        clearTimeout(tooltipTimer);

+        tooltipTimer = 0;

+        }

+

+    var tooltip;

+

+    if (document.getElementById)

+        {  tooltip = document.getElementById(tooltipID); }

+    else if (document.all)

+        {  tooltip = eval("document.all['" + tooltipID + "']");  }

+

+    if (tooltip)

+        {  tooltip.style.visibility = "hidden";  }

+    }

+

+

+//

+//  Blockquote fix for IE

+// ____________________________________________________________________________

+

+

+function NDOnLoad()

+    {

+    if (browserVer == "IE6")

+        {

+        var scrollboxes = document.getElementsByTagName('blockquote');

+

+        if (scrollboxes.item(0))

+            {

+            NDDoResize();

+            window.onresize=NDOnResize;

+            };

+        };

+    };

+

+

+var resizeTimer = 0;

+

+function NDOnResize()

+    {

+    if (resizeTimer != 0)

+        {  clearTimeout(resizeTimer);  };

+

+    resizeTimer = setTimeout(NDDoResize, 250);

+    };

+

+

+function NDDoResize()

+    {

+    var scrollboxes = document.getElementsByTagName('blockquote');

+

+    var i;

+    var item;

+

+    i = 0;

+    while (item = scrollboxes.item(i))

+        {

+        item.style.width = 100;

+        i++;

+        };

+

+    i = 0;

+    while (item = scrollboxes.item(i))

+        {

+        item.style.width = item.parentNode.offsetWidth;

+        i++;

+        };

+

+    clearTimeout(resizeTimer);

+    resizeTimer = 0;

+    }

+

+

+

+/* ________________________________________________________________________________________________________

+

+    Class: SearchPanel

+    ________________________________________________________________________________________________________

+

+    A class handling everything associated with the search panel.

+

+    Parameters:

+

+        name - The name of the global variable that will be storing this instance.  Is needed to be able to set timeouts.

+        mode - The mode the search is going to work in.  Pass <NaturalDocs::Builder::Base->CommandLineOption()>, so the

+                   value will be something like "HTML" or "FramedHTML".

+

+    ________________________________________________________________________________________________________

+*/

+

+

+function SearchPanel(name, mode, resultsPath)

+    {

+    if (!name || !mode || !resultsPath)

+        {  alert("Incorrect parameters to SearchPanel.");  };

+

+

+    // Group: Variables

+    // ________________________________________________________________________

+

+    /*

+        var: name

+        The name of the global variable that will be storing this instance of the class.

+    */

+    this.name = name;

+

+    /*

+        var: mode

+        The mode the search is going to work in, such as "HTML" or "FramedHTML".

+    */

+    this.mode = mode;

+

+    /*

+        var: resultsPath

+        The relative path from the current HTML page to the results page directory.

+    */

+    this.resultsPath = resultsPath;

+

+    /*

+        var: keyTimeout

+        The timeout used between a keystroke and when a search is performed.

+    */

+    this.keyTimeout = 0;

+

+    /*

+        var: keyTimeoutLength

+        The length of <keyTimeout> in thousandths of a second.

+    */

+    this.keyTimeoutLength = 500;

+

+    /*

+        var: lastSearchValue

+        The last search string executed, or an empty string if none.

+    */

+    this.lastSearchValue = "";

+

+    /*

+        var: lastResultsPage

+        The last results page.  The value is only relevant if <lastSearchValue> is set.

+    */

+    this.lastResultsPage = "";

+

+    /*

+        var: deactivateTimeout

+

+        The timeout used between when a control is deactivated and when the entire panel is deactivated.  Is necessary

+        because a control may be deactivated in favor of another control in the same panel, in which case it should stay

+        active.

+    */

+    this.deactivateTimout = 0;

+

+    /*

+        var: deactivateTimeoutLength

+        The length of <deactivateTimeout> in thousandths of a second.

+    */

+    this.deactivateTimeoutLength = 200;

+

+

+

+

+    // Group: DOM Elements

+    // ________________________________________________________________________

+

+

+    // Function: DOMSearchField

+    this.DOMSearchField = function()

+        {  return document.getElementById("MSearchField");  };

+

+    // Function: DOMSearchType

+    this.DOMSearchType = function()

+        {  return document.getElementById("MSearchType");  };

+

+    // Function: DOMPopupSearchResults

+    this.DOMPopupSearchResults = function()

+        {  return document.getElementById("MSearchResults");  };

+

+    // Function: DOMPopupSearchResultsWindow

+    this.DOMPopupSearchResultsWindow = function()

+        {  return document.getElementById("MSearchResultsWindow");  };

+

+    // Function: DOMSearchPanel

+    this.DOMSearchPanel = function()

+        {  return document.getElementById("MSearchPanel");  };

+

+

+

+

+    // Group: Event Handlers

+    // ________________________________________________________________________

+

+

+    /*

+        Function: OnSearchFieldFocus

+        Called when focus is added or removed from the search field.

+    */

+    this.OnSearchFieldFocus = function(isActive)

+        {

+        this.Activate(isActive);

+        };

+

+

+    /*

+        Function: OnSearchFieldChange

+        Called when the content of the search field is changed.

+    */

+    this.OnSearchFieldChange = function()

+        {

+        if (this.keyTimeout)

+            {

+            clearTimeout(this.keyTimeout);

+            this.keyTimeout = 0;

+            };

+

+        var searchValue = this.DOMSearchField().value.replace(/ +/g, "");

+

+        if (searchValue != this.lastSearchValue)

+            {

+            if (searchValue != "")

+                {

+                this.keyTimeout = setTimeout(this.name + ".Search()", this.keyTimeoutLength);

+                }

+            else

+                {

+                if (this.mode == "HTML")

+                    {  this.DOMPopupSearchResultsWindow().style.display = "none";  };

+                this.lastSearchValue = "";

+                };

+            };

+        };

+

+

+    /*

+        Function: OnSearchTypeFocus

+        Called when focus is added or removed from the search type.

+    */

+    this.OnSearchTypeFocus = function(isActive)

+        {

+        this.Activate(isActive);

+        };

+

+

+    /*

+        Function: OnSearchTypeChange

+        Called when the search type is changed.

+    */

+    this.OnSearchTypeChange = function()

+        {

+        var searchValue = this.DOMSearchField().value.replace(/ +/g, "");

+

+        if (searchValue != "")

+            {

+            this.Search();

+            };

+        };

+

+

+

+    // Group: Action Functions

+    // ________________________________________________________________________

+

+

+    /*

+        Function: CloseResultsWindow

+        Closes the results window.

+    */

+    this.CloseResultsWindow = function()

+        {

+        this.DOMPopupSearchResultsWindow().style.display = "none";

+        this.Activate(false, true);

+        };

+

+

+    /*

+        Function: Search

+        Performs a search.

+    */

+    this.Search = function()

+        {

+        this.keyTimeout = 0;

+

+        var searchValue = this.DOMSearchField().value.replace(/^ +/, "");

+        var searchTopic = this.DOMSearchType().value;

+

+        var pageExtension = searchValue.substr(0,1);

+

+        if (pageExtension.match(/^[a-z]/i))

+            {  pageExtension = pageExtension.toUpperCase();  }

+        else if (pageExtension.match(/^[0-9]/))

+            {  pageExtension = 'Numbers';  }

+        else

+            {  pageExtension = "Symbols";  };

+

+        var resultsPage;

+        var resultsPageWithSearch;

+        var hasResultsPage;

+

+        // indexSectionsWithContent is defined in searchdata.js

+        if (indexSectionsWithContent[searchTopic][pageExtension] == true)

+            {

+            resultsPage = this.resultsPath + '/' + searchTopic + pageExtension + '.html';

+            resultsPageWithSearch = resultsPage+'?'+escape(searchValue);

+            hasResultsPage = true;

+            }

+        else

+            {

+            resultsPage = this.resultsPath + '/NoResults.html';

+            resultsPageWithSearch = resultsPage;

+            hasResultsPage = false;

+            };

+

+        var resultsFrame;

+        if (this.mode == "HTML")

+            {  resultsFrame = window.frames.MSearchResults;  }

+        else if (this.mode == "FramedHTML")

+            {  resultsFrame = window.top.frames['Content'];  };

+

+

+        if (resultsPage != this.lastResultsPage ||

+

+            // Bug in IE.  If everything becomes hidden in a run, none of them will be able to be reshown in the next for some

+            // reason.  It counts the right number of results, and you can even read the display as "block" after setting it, but it

+            // just doesn't work in IE 6 or IE 7.  So if we're on the right page but the previous search had no results, reload the

+            // page anyway to get around the bug.

+            (browserType == "IE" && hasResultsPage &&

+            	(!resultsFrame.searchResults || resultsFrame.searchResults.lastMatchCount == 0)) )

+

+            {

+            resultsFrame.location.href = resultsPageWithSearch;

+            }

+

+        // So if the results page is right and there's no IE bug, reperform the search on the existing page.  We have to check if there

+        // are results because NoResults.html doesn't have any JavaScript, and it would be useless to do anything on that page even

+        // if it did.

+        else if (hasResultsPage)

+            {

+            // We need to check if this exists in case the frame is present but didn't finish loading.

+            if (resultsFrame.searchResults)

+                {  resultsFrame.searchResults.Search(searchValue);  }

+

+            // Otherwise just reload instead of waiting.

+            else

+                {  resultsFrame.location.href = resultsPageWithSearch;  };

+            };

+

+

+        var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();

+

+        if (this.mode == "HTML" && domPopupSearchResultsWindow.style.display != "block")

+            {

+            var domSearchType = this.DOMSearchType();

+

+            var left = GetXPosition(domSearchType);

+            var top = GetYPosition(domSearchType) + domSearchType.offsetHeight;

+

+            MoveToPosition(domPopupSearchResultsWindow, left, top);

+            domPopupSearchResultsWindow.style.display = 'block';

+            };

+

+

+        this.lastSearchValue = searchValue;

+        this.lastResultsPage = resultsPage;

+        };

+

+

+

+    // Group: Activation Functions

+    // Functions that handle whether the entire panel is active or not.

+    // ________________________________________________________________________

+

+

+    /*

+        Function: Activate

+

+        Activates or deactivates the search panel, resetting things to their default values if necessary.  You can call this on every

+        control's OnBlur() and it will handle not deactivating the entire panel when focus is just switching between them transparently.

+

+        Parameters:

+

+            isActive - Whether you're activating or deactivating the panel.

+            ignoreDeactivateDelay - Set if you're positive the action will deactivate the panel and thus want to skip the delay.

+    */

+    this.Activate = function(isActive, ignoreDeactivateDelay)

+        {

+        // We want to ignore isActive being false while the results window is open.

+        if (isActive || (this.mode == "HTML" && this.DOMPopupSearchResultsWindow().style.display == "block"))

+            {

+            if (this.inactivateTimeout)

+                {

+                clearTimeout(this.inactivateTimeout);

+                this.inactivateTimeout = 0;

+                };

+

+            this.DOMSearchPanel().className = 'MSearchPanelActive';

+

+            var searchField = this.DOMSearchField();

+

+            if (searchField.value == 'Search')

+                 {  searchField.value = "";  }

+            }

+        else if (!ignoreDeactivateDelay)

+            {

+            this.inactivateTimeout = setTimeout(this.name + ".InactivateAfterTimeout()", this.inactivateTimeoutLength);

+            }

+        else

+            {

+            this.InactivateAfterTimeout();

+            };

+        };

+

+

+    /*

+        Function: InactivateAfterTimeout

+

+        Called by <inactivateTimeout>, which is set by <Activate()>.  Inactivation occurs on a timeout because a control may

+        receive OnBlur() when focus is really transferring to another control in the search panel.  In this case we don't want to

+        actually deactivate the panel because not only would that cause a visible flicker but it could also reset the search value.

+        So by doing it on a timeout instead, there's a short period where the second control's OnFocus() can cancel the deactivation.

+    */

+    this.InactivateAfterTimeout = function()

+        {

+        this.inactivateTimeout = 0;

+

+        this.DOMSearchPanel().className = 'MSearchPanelInactive';

+        this.DOMSearchField().value = "Search";

+

+	    this.lastSearchValue = "";

+	    this.lastResultsPage = "";

+        };

+    };

+

+

+

+

+/* ________________________________________________________________________________________________________

+

+   Class: SearchResults

+   _________________________________________________________________________________________________________

+

+   The class that handles everything on the search results page.

+   _________________________________________________________________________________________________________

+*/

+

+

+function SearchResults(name, mode)

+    {

+    /*

+        var: mode

+        The mode the search is going to work in, such as "HTML" or "FramedHTML".

+    */

+    this.mode = mode;

+

+    /*

+        var: lastMatchCount

+        The number of matches from the last run of <Search()>.

+    */

+    this.lastMatchCount = 0;

+

+

+    /*

+        Function: Toggle

+        Toggles the visibility of the passed element ID.

+    */

+    this.Toggle = function(id)

+        {

+        if (this.mode == "FramedHTML")

+            {  return;  };

+

+        var parentElement = document.getElementById(id);

+

+        var element = parentElement.firstChild;

+

+        while (element && element != parentElement)

+            {

+            if (element.nodeName == 'DIV' && element.className == 'ISubIndex')

+                {

+                if (element.style.display == 'block')

+                    {  element.style.display = "none";  }

+                else

+                    {  element.style.display = 'block';  }

+                };

+

+            if (element.nodeName == 'DIV' && element.hasChildNodes())

+                {  element = element.firstChild;  }

+            else if (element.nextSibling)

+                {  element = element.nextSibling;  }

+            else

+                {

+                do

+                    {

+                    element = element.parentNode;

+                    }

+                while (element && element != parentElement && !element.nextSibling);

+

+                if (element && element != parentElement)

+                    {  element = element.nextSibling;  };

+                };

+            };

+        };

+

+

+    /*

+        Function: Search

+

+        Searches for the passed string.  If there is no parameter, it takes it from the URL query.

+

+        Always returns true, since other documents may try to call it and that may or may not be possible.

+    */

+    this.Search = function(search)

+        {

+        if (!search)

+            {

+            search = window.location.search;

+            search = search.substring(1);  // Remove the leading ?

+            search = unescape(search);

+            };

+

+        search = search.replace(/^ +/, "");

+        search = search.replace(/ +$/, "");

+        search = search.toLowerCase();

+

+        if (search.match(/[^a-z0-9]/)) // Just a little speedup so it doesn't have to go through the below unnecessarily.

+            {

+            search = search.replace(/\_/g, "_und");

+            search = search.replace(/\ +/gi, "_spc");

+            search = search.replace(/\~/g, "_til");

+            search = search.replace(/\!/g, "_exc");

+            search = search.replace(/\@/g, "_att");

+            search = search.replace(/\#/g, "_num");

+            search = search.replace(/\$/g, "_dol");

+            search = search.replace(/\%/g, "_pct");

+            search = search.replace(/\^/g, "_car");

+            search = search.replace(/\&/g, "_amp");

+            search = search.replace(/\*/g, "_ast");

+            search = search.replace(/\(/g, "_lpa");

+            search = search.replace(/\)/g, "_rpa");

+            search = search.replace(/\-/g, "_min");

+            search = search.replace(/\+/g, "_plu");

+            search = search.replace(/\=/g, "_equ");

+            search = search.replace(/\{/g, "_lbc");

+            search = search.replace(/\}/g, "_rbc");

+            search = search.replace(/\[/g, "_lbk");

+            search = search.replace(/\]/g, "_rbk");

+            search = search.replace(/\:/g, "_col");

+            search = search.replace(/\;/g, "_sco");

+            search = search.replace(/\"/g, "_quo");

+            search = search.replace(/\'/g, "_apo");

+            search = search.replace(/\</g, "_lan");

+            search = search.replace(/\>/g, "_ran");

+            search = search.replace(/\,/g, "_com");

+            search = search.replace(/\./g, "_per");

+            search = search.replace(/\?/g, "_que");

+            search = search.replace(/\//g, "_sla");

+            search = search.replace(/[^a-z0-9\_]i/gi, "_zzz");

+            };

+

+        var resultRows = document.getElementsByTagName("div");

+        var matches = 0;

+

+        var i = 0;

+        while (i < resultRows.length)

+            {

+            var row = resultRows.item(i);

+

+            if (row.className == "SRResult")

+                {

+                var rowMatchName = row.id.toLowerCase();

+                rowMatchName = rowMatchName.replace(/^sr\d*_/, '');

+

+                if (search.length <= rowMatchName.length && rowMatchName.substr(0, search.length) == search)

+                    {

+                    row.style.display = "block";

+                    matches++;

+                    }

+                else

+                    {  row.style.display = "none";  };

+                };

+

+            i++;

+            };

+

+        document.getElementById("Searching").style.display="none";

+

+        if (matches == 0)

+            {  document.getElementById("NoMatches").style.display="block";  }

+        else

+            {  document.getElementById("NoMatches").style.display="none";  }

+

+        this.lastMatchCount = matches;

+

+        return true;

+        };

+    };

+

diff --git a/docs/output/javascript/searchdata.js b/docs/output/javascript/searchdata.js
new file mode 100644
index 00000000..26acc090
--- /dev/null
+++ b/docs/output/javascript/searchdata.js
@@ -0,0 +1,152 @@
+var indexSectionsWithContent = {
+   "General": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": true,
+      "B": true,
+      "C": true,
+      "D": true,
+      "E": true,
+      "F": true,
+      "G": true,
+      "H": true,
+      "I": true,
+      "J": false,
+      "K": false,
+      "L": true,
+      "M": true,
+      "N": true,
+      "O": true,
+      "P": true,
+      "Q": true,
+      "R": true,
+      "S": true,
+      "T": true,
+      "U": true,
+      "V": true,
+      "W": true,
+      "X": false,
+      "Y": false,
+      "Z": false
+      },
+   "Variables": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": false,
+      "B": false,
+      "C": false,
+      "D": true,
+      "E": false,
+      "F": true,
+      "G": false,
+      "H": true,
+      "I": false,
+      "J": false,
+      "K": false,
+      "L": false,
+      "M": false,
+      "N": false,
+      "O": false,
+      "P": true,
+      "Q": false,
+      "R": false,
+      "S": false,
+      "T": false,
+      "U": false,
+      "V": false,
+      "W": true,
+      "X": false,
+      "Y": false,
+      "Z": false
+      },
+   "Functions": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": false,
+      "B": false,
+      "C": true,
+      "D": true,
+      "E": false,
+      "F": true,
+      "G": true,
+      "H": false,
+      "I": true,
+      "J": false,
+      "K": false,
+      "L": false,
+      "M": true,
+      "N": true,
+      "O": true,
+      "P": false,
+      "Q": false,
+      "R": true,
+      "S": true,
+      "T": true,
+      "U": false,
+      "V": false,
+      "W": false,
+      "X": false,
+      "Y": false,
+      "Z": false
+      },
+   "Constants": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": false,
+      "B": true,
+      "C": true,
+      "D": false,
+      "E": false,
+      "F": false,
+      "G": false,
+      "H": false,
+      "I": true,
+      "J": false,
+      "K": false,
+      "L": false,
+      "M": false,
+      "N": false,
+      "O": false,
+      "P": false,
+      "Q": false,
+      "R": false,
+      "S": true,
+      "T": true,
+      "U": false,
+      "V": false,
+      "W": false,
+      "X": false,
+      "Y": false,
+      "Z": false
+      },
+   "Classes": {
+      "Symbols": false,
+      "Numbers": false,
+      "A": false,
+      "B": false,
+      "C": true,
+      "D": false,
+      "E": true,
+      "F": false,
+      "G": true,
+      "H": false,
+      "I": true,
+      "J": false,
+      "K": false,
+      "L": false,
+      "M": false,
+      "N": false,
+      "O": false,
+      "P": false,
+      "Q": false,
+      "R": false,
+      "S": true,
+      "T": false,
+      "U": false,
+      "V": true,
+      "W": false,
+      "X": false,
+      "Y": false,
+      "Z": false
+      }
+   }
\ No newline at end of file
diff --git a/docs/output/search/ClassesC.html b/docs/output/search/ClassesC.html
new file mode 100644
index 00000000..34488963
--- /dev/null
+++ b/docs/output/search/ClassesC.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_CLIENT_undINFO><div class=IEntry><a href="../files2/e_if_other-h.html#CLIENT_INFO" target=_parent class=ISymbol>CLIENT_INFO</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ClassesE.html b/docs/output/search/ClassesE.html
new file mode 100644
index 00000000..5c3d1843
--- /dev/null
+++ b/docs/output/search/ClassesE.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Entity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity" target=_parent class=ISymbol>Entity</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ClassesG.html b/docs/output/search/ClassesG.html
new file mode 100644
index 00000000..e9ca4016
--- /dev/null
+++ b/docs/output/search/ClassesG.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Game_spcController><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller" target=_parent class=ISymbol>Game Controller</a></div></div><div class=SRResult id=SR_Game_spcWorld><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World" target=_parent class=ISymbol>Game World</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ClassesI.html b/docs/output/search/ClassesI.html
new file mode 100644
index 00000000..90d97fd5
--- /dev/null
+++ b/docs/output/search/ClassesI.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_IMAGE_undINFO><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO" target=_parent class=ISymbol>IMAGE_INFO</a></div></div><div class=SRResult id=SR_INPUT_undEVENT><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT" target=_parent class=ISymbol>INPUT_EVENT</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ClassesS.html b/docs/output/search/ClassesS.html
new file mode 100644
index 00000000..1d0ddb03
--- /dev/null
+++ b/docs/output/search/ClassesS.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_SERVER_undINFO><div class=IEntry><a href="../files2/e_if_client-h.html#SERVER_INFO" target=_parent class=ISymbol>SERVER_INFO</a></div></div><div class=SRResult id=SR_SERVER_undINFO_undPLAYER><div class=IEntry><a href="../files2/e_if_client-h.html#SERVER_INFO_PLAYER" target=_parent class=ISymbol>SERVER_INFO_PLAYER</a></div></div><div class=SRResult id=SR_SNAP_undITEM><div class=IEntry><a href="../files2/e_if_other-h.html#SNAP_ITEM" target=_parent class=ISymbol>SNAP_ITEM</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ClassesV.html b/docs/output/search/ClassesV.html
new file mode 100644
index 00000000..c37fec12
--- /dev/null
+++ b/docs/output/search/ClassesV.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_VIDEO_undMODE><div class=IEntry><a href="../files2/e_if_gfx-h.html#VIDEO_MODE" target=_parent class=ISymbol>VIDEO_MODE</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ConstantsB.html b/docs/output/search/ConstantsB.html
new file mode 100644
index 00000000..dfc89fcb
--- /dev/null
+++ b/docs/output/search/ConstantsB.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_BROWSESORT_undGAMETYPE><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_GAMETYPE" target=_parent class=ISymbol>BROWSESORT_GAMETYPE</a></div></div><div class=SRResult id=SR_BROWSESORT_undMAP><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_MAP" target=_parent class=ISymbol>BROWSESORT_MAP</a></div></div><div class=SRResult id=SR_BROWSESORT_undNAME><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_NAME" target=_parent class=ISymbol>BROWSESORT_NAME</a></div></div><div class=SRResult id=SR_BROWSESORT_undNUMPLAYERS><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_NUMPLAYERS" target=_parent class=ISymbol>BROWSESORT_NUMPLAYERS</a></div></div><div class=SRResult id=SR_BROWSESORT_undPING><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_PING" target=_parent class=ISymbol>BROWSESORT_PING</a></div></div><div class=SRResult id=SR_BROWSESORT_undPROGRESSION><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_PROGRESSION" target=_parent class=ISymbol>BROWSESORT_PROGRESSION</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ConstantsC.html b/docs/output/search/ConstantsC.html
new file mode 100644
index 00000000..bc306835
--- /dev/null
+++ b/docs/output/search/ConstantsC.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Client_spcStates><div class=IEntry><a href="../files2/e_if_client-h.html#Client_States" target=_parent class=ISymbol>Client States</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undCONNECTING><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_CONNECTING" target=_parent class=ISymbol>CLIENTSTATE_CONNECTING</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undLOADING><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_LOADING" target=_parent class=ISymbol>CLIENTSTATE_LOADING</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undOFFLINE><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_OFFLINE" target=_parent class=ISymbol>CLIENTSTATE_OFFLINE</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undONLINE><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_ONLINE" target=_parent class=ISymbol>CLIENTSTATE_ONLINE</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undQUITING><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_QUITING" target=_parent class=ISymbol>CLIENTSTATE_QUITING</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ConstantsI.html b/docs/output/search/ConstantsI.html
new file mode 100644
index 00000000..73c23679
--- /dev/null
+++ b/docs/output/search/ConstantsI.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Image_spcFormats><div class=IEntry><a href="../files2/e_if_client-h.html#Image_Formats" target=_parent class=ISymbol>Image Formats</a></div></div><div class=SRResult id=SR_IMG_undALPHA><div class=IEntry><a href="../files2/e_if_client-h.html#IMG_ALPHA" target=_parent class=ISymbol>IMG_ALPHA</a></div></div><div class=SRResult id=SR_IMG_undAUTO><div class=IEntry><a href="../files2/e_if_client-h.html#IMG_AUTO" target=_parent class=ISymbol>IMG_AUTO</a></div></div><div class=SRResult id=SR_IMG_undRGB><div class=IEntry><a href="../files2/e_if_client-h.html#IMG_RGB" target=_parent class=ISymbol>IMG_RGB</a></div></div><div class=SRResult id=SR_IMG_undRGBA><div class=IEntry><a href="../files2/e_if_client-h.html#IMG_RGBA" target=_parent class=ISymbol>IMG_RGBA</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ConstantsS.html b/docs/output/search/ConstantsS.html
new file mode 100644
index 00000000..ed2e206c
--- /dev/null
+++ b/docs/output/search/ConstantsS.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Server_spcBrowser_spcSorting><div class=IEntry><a href="../files2/e_if_client-h.html#Server_Browser_Sorting" target=_parent class=ISymbol>Server Browser Sorting</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/ConstantsT.html b/docs/output/search/ConstantsT.html
new file mode 100644
index 00000000..6b5c377c
--- /dev/null
+++ b/docs/output/search/ConstantsT.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_TEXLOAD_undNORESAMPLE><div class=IEntry><a href="../files2/e_if_client-h.html#TEXLOAD_NORESAMPLE" target=_parent class=ISymbol>TEXLOAD_NORESAMPLE</a></div></div><div class=SRResult id=SR_Texture_spcLoading_spcFlags><div class=IEntry><a href="../files2/e_if_client-h.html#Texture_Loading_Flags" target=_parent class=ISymbol>Texture Loading Flags</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsC.html b/docs/output/search/FunctionsC.html
new file mode 100644
index 00000000..1d715ef0
--- /dev/null
+++ b/docs/output/search/FunctionsC.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_client_undconnect><div class=IEntry><a href="../files2/e_if_client-h.html#client_connect" target=_parent class=ISymbol>client_connect</a></div></div><div class=SRResult id=SR_client_undconnection_undproblems><div class=IEntry><a href="../files2/e_if_client-h.html#client_connection_problems" target=_parent class=ISymbol>client_connection_problems</a></div></div><div class=SRResult id=SR_client_unddirect_undinput><div class=IEntry><a href="../files2/e_if_client-h.html#client_direct_input" target=_parent class=ISymbol>client_direct_input</a></div></div><div class=SRResult id=SR_client_unddisconnect><div class=IEntry><a href="../files2/e_if_client-h.html#client_disconnect" target=_parent class=ISymbol>client_disconnect</a></div></div><div class=SRResult id=SR_client_underror_undstring><div class=IEntry><a href="../files2/e_if_client-h.html#client_error_string" target=_parent class=ISymbol>client_error_string</a></div></div><div class=SRResult id=SR_client_undframetime><div class=IEntry><a href="../files2/e_if_client-h.html#client_frametime" target=_parent class=ISymbol>client_frametime</a></div></div><div class=SRResult id=SR_client_undget_undinput><div class=IEntry><a href="../files2/e_if_client-h.html#client_get_input" target=_parent class=ISymbol>client_get_input</a></div></div><div class=SRResult id=SR_client_undintratick><div class=IEntry><a href="../files2/e_if_client-h.html#client_intratick" target=_parent class=ISymbol>client_intratick</a></div></div><div class=SRResult id=SR_client_undlocaltime><div class=IEntry><a href="../files2/e_if_client-h.html#client_localtime" target=_parent class=ISymbol>client_localtime</a></div></div><div class=SRResult id=SR_client_undmapdownload_undamount><div class=IEntry><a href="../files2/e_if_client-h.html#client_mapdownload_amount" target=_parent class=ISymbol>client_mapdownload_amount</a></div></div><div class=SRResult id=SR_client_undmapdownload_undtotalsize><div class=IEntry><a href="../files2/e_if_client-h.html#client_mapdownload_totalsize" target=_parent class=ISymbol>client_mapdownload_totalsize</a></div></div><div class=SRResult id=SR_client_undpredintratick><div class=IEntry><a href="../files2/e_if_client-h.html#client_predintratick" target=_parent class=ISymbol>client_predintratick</a></div></div><div class=SRResult id=SR_client_undpredtick><div class=IEntry><a href="../files2/e_if_client-h.html#client_predtick" target=_parent class=ISymbol>client_predtick</a></div></div><div class=SRResult id=SR_client_undquit><div class=IEntry><a href="../files2/e_if_client-h.html#client_quit" target=_parent class=ISymbol>client_quit</a></div></div><div class=SRResult id=SR_client_undrcon><div class=IEntry><a href="../files2/e_if_client-h.html#client_rcon" target=_parent class=ISymbol>client_rcon</a></div></div><div class=SRResult id=SR_client_undrcon_undauth><div class=IEntry><a href="../files2/e_if_client-h.html#client_rcon_auth" target=_parent class=ISymbol>client_rcon_auth</a></div></div><div class=SRResult id=SR_client_undrcon_undauthed><div class=IEntry><a href="../files2/e_if_client-h.html#client_rcon_authed" target=_parent class=ISymbol>client_rcon_authed</a></div></div><div class=SRResult id=SR_client_undsave_undline><div class=IEntry><a href="../files2/e_if_client-h.html#client_save_line" target=_parent class=ISymbol>client_save_line</a></div></div><div class=SRResult id=SR_client_undsend_undmsg><div class=IEntry><a href="../files2/e_if_other-h.html#client_send_msg" target=_parent class=ISymbol>client_send_msg</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undget><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_get" target=_parent class=ISymbol>client_serverbrowse_get</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undlan><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_lan" target=_parent class=ISymbol>client_serverbrowse_lan</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undnum><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_num" target=_parent class=ISymbol>client_serverbrowse_num</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undnum_undrequests><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_num_requests" target=_parent class=ISymbol>client_serverbrowse_num_requests</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undrefresh><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_refresh" target=_parent class=ISymbol>client_serverbrowse_refresh</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undsorted_undget><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_sorted_get" target=_parent class=ISymbol>client_serverbrowse_sorted_get</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undsorted_undnum><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_sorted_num" target=_parent class=ISymbol>client_serverbrowse_sorted_num</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undupdate><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_update" target=_parent class=ISymbol>client_serverbrowse_update</a></div></div><div class=SRResult id=SR_client_undstate><div class=IEntry><a href="../files2/e_if_client-h.html#client_state" target=_parent class=ISymbol>client_state</a></div></div><div class=SRResult id=SR_client_undtick><div class=IEntry><a href="../files2/e_if_client-h.html#client_tick" target=_parent class=ISymbol>client_tick</a></div></div><div class=SRResult id=SR_client_undtickspeed><div class=IEntry><a href="../files2/e_if_client-h.html#client_tickspeed" target=_parent class=ISymbol>client_tickspeed</a></div></div><div class=SRResult id=SR_client_undticktime><div class=IEntry><a href="../files2/e_if_client-h.html#client_ticktime" target=_parent class=ISymbol>client_ticktime</a></div></div><div class=SRResult id=SR_closest_undcharacter><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.closest_character" target=_parent class=ISymbol>closest_character</a>, <span class=IParent>Game World</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsD.html b/docs/output/search/FunctionsD.html
new file mode 100644
index 00000000..3e2d841f
--- /dev/null
+++ b/docs/output/search/FunctionsD.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_dbg_undassert><div class=IEntry><a href="../files2/e_system-h.html#dbg_assert" target=_parent class=ISymbol>dbg_assert</a></div></div><div class=SRResult id=SR_dbg_undbreak><div class=IEntry><a href="../files2/e_system-h.html#dbg_break" target=_parent class=ISymbol>dbg_break</a></div></div><div class=SRResult id=SR_dbg_undmsg><div class=IEntry><a href="../files2/e_system-h.html#dbg_msg" target=_parent class=ISymbol>dbg_msg</a></div></div><div class=SRResult id=SR_destroy><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.destroy" target=_parent class=ISymbol>destroy</a>, <span class=IParent>Entity</span></div></div><div class=SRResult id=SR_destroy_undentity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.destroy_entity" target=_parent class=ISymbol>destroy_entity</a>, <span class=IParent>Game World</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsF.html b/docs/output/search/FunctionsF.html
new file mode 100644
index 00000000..383f14f2
--- /dev/null
+++ b/docs/output/search/FunctionsF.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_find_undentities><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.find_entities" target=_parent class=ISymbol>find_entities</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_fs_undlistdir><div class=IEntry><a href="../files2/e_system-h.html#fs_listdir" target=_parent class=ISymbol>fs_listdir</a></div></div><div class=SRResult id=SR_fs_undmakedir><div class=IEntry><a href="../files2/e_system-h.html#fs_makedir" target=_parent class=ISymbol>fs_makedir</a></div></div><div class=SRResult id=SR_fs_undstorage_undpath><div class=IEntry><a href="../files2/e_system-h.html#fs_storage_path" target=_parent class=ISymbol>fs_storage_path</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsG.html b/docs/output/search/FunctionsG.html
new file mode 100644
index 00000000..35158007
--- /dev/null
+++ b/docs/output/search/FunctionsG.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_gfx_undblend_undadditive><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_additive" target=_parent class=ISymbol>gfx_blend_additive</a></div></div><div class=SRResult id=SR_gfx_undblend_undnone><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_none" target=_parent class=ISymbol>gfx_blend_none</a></div></div><div class=SRResult id=SR_gfx_undblend_undnormal><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_normal" target=_parent class=ISymbol>gfx_blend_normal</a></div></div><div class=SRResult id=SR_gfx_undclear><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clear" target=_parent class=ISymbol>gfx_clear</a></div></div><div class=SRResult id=SR_gfx_undclip_unddisable><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clip_disable" target=_parent class=ISymbol>gfx_clip_disable</a></div></div><div class=SRResult id=SR_gfx_undclip_undenable><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clip_enable" target=_parent class=ISymbol>gfx_clip_enable</a></div></div><div class=SRResult id=SR_gfx_undget_undvideo_undmodes><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_get_video_modes" target=_parent class=ISymbol>gfx_get_video_modes</a></div></div><div class=SRResult id=SR_gfx_undgetscreen><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_getscreen" target=_parent class=ISymbol>gfx_getscreen</a></div></div><div class=SRResult id=SR_gfx_undlines_undbegin><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_begin" target=_parent class=ISymbol>gfx_lines_begin</a></div></div><div class=SRResult id=SR_gfx_undlines_unddraw><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_draw" target=_parent class=ISymbol>gfx_lines_draw</a></div></div><div class=SRResult id=SR_gfx_undlines_undend><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_end" target=_parent class=ISymbol>gfx_lines_end</a></div></div><div class=SRResult id=SR_gfx_undload_undpng><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_png" target=_parent class=ISymbol>gfx_load_png</a></div></div><div class=SRResult id=SR_gfx_undload_undtexture><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_texture" target=_parent class=ISymbol>gfx_load_texture</a></div></div><div class=SRResult id=SR_gfx_undload_undtexture_undraw><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_texture_raw" target=_parent class=ISymbol>gfx_load_texture_raw</a></div></div><div class=SRResult id=SR_gfx_undmapscreen><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_mapscreen" target=_parent class=ISymbol>gfx_mapscreen</a></div></div><div class=SRResult id=SR_gfx_undmemory_undusage><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_memory_usage" target=_parent class=ISymbol>gfx_memory_usage</a></div></div><div class=SRResult id=SR_gfx_undquads_undbegin><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_begin" target=_parent class=ISymbol>gfx_quads_begin</a></div></div><div class=SRResult id=SR_gfx_undquads_unddraw><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_draw" target=_parent class=ISymbol>gfx_quads_draw</a></div></div><div class=SRResult id=SR_gfx_undquads_unddraw_undfreeform><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_draw_freeform" target=_parent class=ISymbol>gfx_quads_draw_freeform</a></div></div><div class=SRResult id=SR_gfx_undquads_unddrawTL><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_drawTL" target=_parent class=ISymbol>gfx_quads_drawTL</a></div></div><div class=SRResult id=SR_gfx_undquads_undend><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_end" target=_parent class=ISymbol>gfx_quads_end</a></div></div><div class=SRResult id=SR_gfx_undquads_undsetrotation><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setrotation" target=_parent class=ISymbol>gfx_quads_setrotation</a></div></div><div class=SRResult id=SR_gfx_undquads_undsetsubset><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setsubset" target=_parent class=ISymbol>gfx_quads_setsubset</a></div></div><div class=SRResult id=SR_gfx_undquads_undsetsubset_undfree><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setsubset_free" target=_parent class=ISymbol>gfx_quads_setsubset_free</a></div></div><div class=SRResult id=SR_gfx_undquads_undtext><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_text" target=_parent class=ISymbol>gfx_quads_text</a></div></div><div class=SRResult id=SR_gfx_undscreenaspect><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenaspect" target=_parent class=ISymbol>gfx_screenaspect</a></div></div><div class=SRResult id=SR_gfx_undscreenheight><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenheight" target=_parent class=ISymbol>gfx_screenheight</a></div></div><div class=SRResult id=SR_gfx_undscreenshot><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenshot" target=_parent class=ISymbol>gfx_screenshot</a></div></div><div class=SRResult id=SR_gfx_undscreenwidth><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenwidth" target=_parent class=ISymbol>gfx_screenwidth</a></div></div><div class=SRResult id=SR_gfx_undsetcolor><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_setcolor" target=_parent class=ISymbol>gfx_setcolor</a></div></div><div class=SRResult id=SR_gfx_undsetcolorvertex><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_setcolorvertex" target=_parent class=ISymbol>gfx_setcolorvertex</a></div></div><div class=SRResult id=SR_gfx_undtext><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text" target=_parent class=ISymbol>gfx_text</a></div></div><div class=SRResult id=SR_gfx_undtext_undcolor><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_color" target=_parent class=ISymbol>gfx_text_color</a></div></div><div class=SRResult id=SR_gfx_undtext_undset_unddefault_undfont><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_set_default_font" target=_parent class=ISymbol>gfx_text_set_default_font</a></div></div><div class=SRResult id=SR_gfx_undtext_undwidth><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_width" target=_parent class=ISymbol>gfx_text_width</a></div></div><div class=SRResult id=SR_gfx_undtexture_undset><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_texture_set" target=_parent class=ISymbol>gfx_texture_set</a></div></div><div class=SRResult id=SR_gfx_undunload_undtexture><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_unload_texture" target=_parent class=ISymbol>gfx_unload_texture</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsI.html b/docs/output/search/FunctionsI.html
new file mode 100644
index 00000000..08a41fd9
--- /dev/null
+++ b/docs/output/search/FunctionsI.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_inp_undclear_undevents><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_clear_events" target=_parent class=ISymbol>inp_clear_events</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undclear_undkey_undstates><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_clear_key_states" target=_parent class=ISymbol>inp_clear_key_states</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undget_undevent><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_get_event" target=_parent class=ISymbol>inp_get_event</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undcode><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_code" target=_parent class=ISymbol>inp_key_code</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_unddown><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_down" target=_parent class=ISymbol>inp_key_down</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undname><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_name" target=_parent class=ISymbol>inp_key_name</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undpressed><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_pressed" target=_parent class=ISymbol>inp_key_pressed</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undpresses><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_presses" target=_parent class=ISymbol>inp_key_presses</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undreleases><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_releases" target=_parent class=ISymbol>inp_key_releases</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undstate><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_state" target=_parent class=ISymbol>inp_key_state</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undwas_undpressed><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_was_pressed" target=_parent class=ISymbol>inp_key_was_pressed</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undmouse_unddoubleclick><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_doubleclick" target=_parent class=ISymbol>inp_mouse_doubleclick</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undmouse_undrelative><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_relative" target=_parent class=ISymbol>inp_mouse_relative</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undmouse_undscroll><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_scroll" target=_parent class=ISymbol>inp_mouse_scroll</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undnum_undevents><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_num_events" target=_parent class=ISymbol>inp_num_events</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_insert_undentity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.insert_entity" target=_parent class=ISymbol>insert_entity</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_interserct_undcharacter><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.interserct_character" target=_parent class=ISymbol>interserct_character</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_io_undclose><div class=IEntry><a href="../files2/e_system-h.html#io_close" target=_parent class=ISymbol>io_close</a></div></div><div class=SRResult id=SR_io_undflush><div class=IEntry><a href="../files2/e_system-h.html#io_flush" target=_parent class=ISymbol>io_flush</a></div></div><div class=SRResult id=SR_io_undlength><div class=IEntry><a href="../files2/e_system-h.html#io_length" target=_parent class=ISymbol>io_length</a></div></div><div class=SRResult id=SR_io_undopen><div class=IEntry><a href="../files2/e_system-h.html#io_open" target=_parent class=ISymbol>io_open</a></div></div><div class=SRResult id=SR_io_undread><div class=IEntry><a href="../files2/e_system-h.html#io_read" target=_parent class=ISymbol>io_read</a></div></div><div class=SRResult id=SR_io_undseek><div class=IEntry><a href="../files2/e_system-h.html#io_seek" target=_parent class=ISymbol>io_seek</a></div></div><div class=SRResult id=SR_io_undskip><div class=IEntry><a href="../files2/e_system-h.html#io_skip" target=_parent class=ISymbol>io_skip</a></div></div><div class=SRResult id=SR_io_undstderr><div class=IEntry><a href="../files2/e_system-h.html#io_stderr" target=_parent class=ISymbol>io_stderr</a></div></div><div class=SRResult id=SR_io_undstdin><div class=IEntry><a href="../files2/e_system-h.html#io_stdin" target=_parent class=ISymbol>io_stdin</a></div></div><div class=SRResult id=SR_io_undstdout><div class=IEntry><a href="../files2/e_system-h.html#io_stdout" target=_parent class=ISymbol>io_stdout</a></div></div><div class=SRResult id=SR_io_undtell><div class=IEntry><a href="../files2/e_system-h.html#io_tell" target=_parent class=ISymbol>io_tell</a></div></div><div class=SRResult id=SR_io_undwrite><div class=IEntry><a href="../files2/e_system-h.html#io_write" target=_parent class=ISymbol>io_write</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsM.html b/docs/output/search/FunctionsM.html
new file mode 100644
index 00000000..676f5c96
--- /dev/null
+++ b/docs/output/search/FunctionsM.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_map_undfind_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#map_find_item" target=_parent class=ISymbol>map_find_item</a></div></div><div class=SRResult id=SR_map_undget_unddata><div class=IEntry><a href="../files2/e_if_other-h.html#map_get_data" target=_parent class=ISymbol>map_get_data</a></div></div><div class=SRResult id=SR_map_undget_unddata_undswapped><div class=IEntry><a href="../files2/e_if_other-h.html#map_get_data_swapped" target=_parent class=ISymbol>map_get_data_swapped</a></div></div><div class=SRResult id=SR_map_undget_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#map_get_item" target=_parent class=ISymbol>map_get_item</a></div></div><div class=SRResult id=SR_map_undget_undtype><div class=IEntry><a href="../files2/e_if_other-h.html#map_get_type" target=_parent class=ISymbol>map_get_type</a></div></div><div class=SRResult id=SR_map_undis_undloaded><div class=IEntry><a href="../files2/e_if_other-h.html#map_is_loaded" target=_parent class=ISymbol>map_is_loaded</a></div></div><div class=SRResult id=SR_map_undnum_unditems><div class=IEntry><a href="../files2/e_if_other-h.html#map_num_items" target=_parent class=ISymbol>map_num_items</a></div></div><div class=SRResult id=SR_map_undunload_unddata><div class=IEntry><a href="../files2/e_if_other-h.html#map_unload_data" target=_parent class=ISymbol>map_unload_data</a></div></div><div class=SRResult id=SR_mem_undalloc><div class=IEntry><a href="../files2/e_system-h.html#mem_alloc" target=_parent class=ISymbol>mem_alloc</a></div></div><div class=SRResult id=SR_mem_undcomp><div class=IEntry><a href="../files2/e_system-h.html#mem_comp" target=_parent class=ISymbol>mem_comp</a></div></div><div class=SRResult id=SR_mem_undcopy><div class=IEntry><a href="../files2/e_system-h.html#mem_copy" target=_parent class=ISymbol>mem_copy</a></div></div><div class=SRResult id=SR_mem_undfree><div class=IEntry><a href="../files2/e_system-h.html#mem_free" target=_parent class=ISymbol>mem_free</a></div></div><div class=SRResult id=SR_mem_undmove><div class=IEntry><a href="../files2/e_system-h.html#mem_move" target=_parent class=ISymbol>mem_move</a></div></div><div class=SRResult id=SR_mem_undzero><div class=IEntry><a href="../files2/e_system-h.html#mem_zero" target=_parent class=ISymbol>mem_zero</a></div></div><div class=SRResult id=SR_modc_undconnected><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_connected" target=_parent class=ISymbol>modc_connected</a></div></div><div class=SRResult id=SR_modc_undconsole_undinit><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_console_init" target=_parent class=ISymbol>modc_console_init</a></div></div><div class=SRResult id=SR_modc_undentergame><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_entergame" target=_parent class=ISymbol>modc_entergame</a></div></div><div class=SRResult id=SR_modc_undinit><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_init" target=_parent class=ISymbol>modc_init</a></div></div><div class=SRResult id=SR_modc_undmessage><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_message" target=_parent class=ISymbol>modc_message</a></div></div><div class=SRResult id=SR_modc_undnet_undversion><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_net_version" target=_parent class=ISymbol>modc_net_version</a></div></div><div class=SRResult id=SR_modc_undnewsnapshot><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_newsnapshot" target=_parent class=ISymbol>modc_newsnapshot</a></div></div><div class=SRResult id=SR_modc_undpredict><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_predict" target=_parent class=ISymbol>modc_predict</a></div></div><div class=SRResult id=SR_modc_undrcon_undline><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_rcon_line" target=_parent class=ISymbol>modc_rcon_line</a></div></div><div class=SRResult id=SR_modc_undrender><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_render" target=_parent class=ISymbol>modc_render</a></div></div><div class=SRResult id=SR_modc_undsave_undconfig><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_save_config" target=_parent class=ISymbol>modc_save_config</a></div></div><div class=SRResult id=SR_modc_undshutdown><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_shutdown" target=_parent class=ISymbol>modc_shutdown</a></div></div><div class=SRResult id=SR_modc_undsnap_undinput><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_snap_input" target=_parent class=ISymbol>modc_snap_input</a></div></div><div class=SRResult id=SR_modc_undstatechange><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_statechange" target=_parent class=ISymbol>modc_statechange</a></div></div><div class=SRResult id=SR_mods_undclient_unddirect_undinput><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_direct_input" target=_parent class=ISymbol>mods_client_direct_input</a></div></div><div class=SRResult id=SR_mods_undclient_unddrop><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_drop" target=_parent class=ISymbol>mods_client_drop</a></div></div><div class=SRResult id=SR_mods_undclient_undenter><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_enter" target=_parent class=ISymbol>mods_client_enter</a></div></div><div class=SRResult id=SR_mods_undclient_undpredicted_undinput><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_predicted_input" target=_parent class=ISymbol>mods_client_predicted_input</a></div></div><div class=SRResult id=SR_mods_undconnected><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_connected" target=_parent class=ISymbol>mods_connected</a></div></div><div class=SRResult id=SR_mods_undconsole_undinit><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_console_init" target=_parent class=ISymbol>mods_console_init</a></div></div><div class=SRResult id=SR_mods_undinit><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_init" target=_parent class=ISymbol>mods_init</a></div></div><div class=SRResult id=SR_mods_undmessage><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_message" target=_parent class=ISymbol>mods_message</a></div></div><div class=SRResult id=SR_mods_undnet_undversion><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_net_version" target=_parent class=ISymbol>mods_net_version</a></div></div><div class=SRResult id=SR_mods_undpostsnap><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_postsnap" target=_parent class=ISymbol>mods_postsnap</a></div></div><div class=SRResult id=SR_mods_undpresnap><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_presnap" target=_parent class=ISymbol>mods_presnap</a></div></div><div class=SRResult id=SR_mods_undshutdown><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_shutdown" target=_parent class=ISymbol>mods_shutdown</a></div></div><div class=SRResult id=SR_mods_undsnap><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_snap" target=_parent class=ISymbol>mods_snap</a></div></div><div class=SRResult id=SR_mods_undtick><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_tick" target=_parent class=ISymbol>mods_tick</a></div></div><div class=SRResult id=SR_mods_undversion><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_version" target=_parent class=ISymbol>mods_version</a></div></div><div class=SRResult id=SR_msg_undpack_undend><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_end" target=_parent class=ISymbol>msg_pack_end</a></div></div><div class=SRResult id=SR_msg_undpack_undint><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_int" target=_parent class=ISymbol>msg_pack_int</a></div></div><div class=SRResult id=SR_msg_undpack_undraw><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_raw" target=_parent class=ISymbol>msg_pack_raw</a></div></div><div class=SRResult id=SR_msg_undpack_undstart><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_start" target=_parent class=ISymbol>msg_pack_start</a></div></div><div class=SRResult id=SR_msg_undpack_undstring><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_string" target=_parent class=ISymbol>msg_pack_string</a></div></div><div class=SRResult id=SR_msg_undunpack_underror><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_error" target=_parent class=ISymbol>msg_unpack_error</a></div></div><div class=SRResult id=SR_msg_undunpack_undint><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_int" target=_parent class=ISymbol>msg_unpack_int</a></div></div><div class=SRResult id=SR_msg_undunpack_undraw><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_raw" target=_parent class=ISymbol>msg_unpack_raw</a></div></div><div class=SRResult id=SR_msg_undunpack_undstring><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_string" target=_parent class=ISymbol>msg_unpack_string</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsN.html b/docs/output/search/FunctionsN.html
new file mode 100644
index 00000000..aaeeaf70
--- /dev/null
+++ b/docs/output/search/FunctionsN.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_net_undaddr_undcomp><div class=IEntry><a href="../files2/e_system-h.html#net_addr_comp" target=_parent class=ISymbol>net_addr_comp</a></div></div><div class=SRResult id=SR_net_undaddr_undstr><div class=IEntry><a href="../files2/e_system-h.html#net_addr_str" target=_parent class=ISymbol>net_addr_str</a></div></div><div class=SRResult id=SR_net_underrno><div class=IEntry><a href="../files2/e_system-h.html#net_errno" target=_parent class=ISymbol>net_errno</a></div></div><div class=SRResult id=SR_net_undhost_undlookup><div class=IEntry><a href="../files2/e_system-h.html#net_host_lookup" target=_parent class=ISymbol>net_host_lookup</a></div></div><div class=SRResult id=SR_net_undinit><div class=IEntry><a href="../files2/e_system-h.html#net_init" target=_parent class=ISymbol>net_init</a></div></div><div class=SRResult id=SR_net_undtcp_undaccept><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_accept" target=_parent class=ISymbol>net_tcp_accept</a></div></div><div class=SRResult id=SR_net_undtcp_undclose><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_close" target=_parent class=ISymbol>net_tcp_close</a></div></div><div class=SRResult id=SR_net_undtcp_undconnect><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_connect" target=_parent class=ISymbol>net_tcp_connect</a></div></div><div class=SRResult id=SR_net_undtcp_undconnect_undnon_undblocking><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_connect_non_blocking" target=_parent class=ISymbol>net_tcp_connect_non_blocking</a></div></div><div class=SRResult id=SR_net_undtcp_undcreate><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_create" target=_parent class=ISymbol>net_tcp_create</a></div></div><div class=SRResult id=SR_net_undtcp_undlisten><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_listen" target=_parent class=ISymbol>net_tcp_listen</a></div></div><div class=SRResult id=SR_net_undtcp_undrecv><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_recv" target=_parent class=ISymbol>net_tcp_recv</a></div></div><div class=SRResult id=SR_net_undtcp_undsend><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_send" target=_parent class=ISymbol>net_tcp_send</a></div></div><div class=SRResult id=SR_net_undtcp_undset_undnon_undblocking><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_set_non_blocking" target=_parent class=ISymbol>net_tcp_set_non_blocking</a></div></div><div class=SRResult id=SR_net_undudp_undclose><div class=IEntry><a href="../files2/e_system-h.html#net_udp_close" target=_parent class=ISymbol>net_udp_close</a></div></div><div class=SRResult id=SR_net_undudp_undcreate><div class=IEntry><a href="../files2/e_system-h.html#net_udp_create" target=_parent class=ISymbol>net_udp_create</a></div></div><div class=SRResult id=SR_net_undudp_undrecv><div class=IEntry><a href="../files2/e_system-h.html#net_udp_recv" target=_parent class=ISymbol>net_udp_recv</a></div></div><div class=SRResult id=SR_net_undudp_undsend><div class=IEntry><a href="../files2/e_system-h.html#net_udp_send" target=_parent class=ISymbol>net_udp_send</a></div></div><div class=SRResult id=SR_net_undwould_undblock><div class=IEntry><a href="../files2/e_system-h.html#net_would_block" target=_parent class=ISymbol>net_would_block</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsO.html b/docs/output/search/FunctionsO.html
new file mode 100644
index 00000000..a5ceefd6
--- /dev/null
+++ b/docs/output/search/FunctionsO.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_on_undcharacter_unddeath><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_character_death" target=_parent class=ISymbol>on_character_death</a>, <span class=IParent>Game Controller</span></div></div><div class=SRResult id=SR_on_undcharacter_undspawn><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_character_spawn" target=_parent class=ISymbol>on_character_spawn</a>, <span class=IParent>Game Controller</span></div></div><div class=SRResult id=SR_on_undentity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_entity" target=_parent class=ISymbol>on_entity</a>, <span class=IParent>Game Controller</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsR.html b/docs/output/search/FunctionsR.html
new file mode 100644
index 00000000..844d9743
--- /dev/null
+++ b/docs/output/search/FunctionsR.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_remove_undentity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.remove_entity" target=_parent class=ISymbol>remove_entity</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_reset><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.reset" target=_parent class=ISymbol>reset</a>, <span class=IParent>Entity</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsS.html b/docs/output/search/FunctionsS.html
new file mode 100644
index 00000000..c515d28a
--- /dev/null
+++ b/docs/output/search/FunctionsS.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_server_undclientname><div class=IEntry><a href="../files2/e_if_server-h.html#server_clientname" target=_parent class=ISymbol>server_clientname</a></div></div><div class=SRResult id=SR_server_undgetclientinfo><div class=IEntry><a href="../files2/e_if_server-h.html#server_getclientinfo" target=_parent class=ISymbol>server_getclientinfo</a></div></div><div class=SRResult id=SR_server_undkick><div class=IEntry><a href="../files2/e_if_server-h.html#server_kick" target=_parent class=ISymbol>server_kick</a></div></div><div class=SRResult id=SR_server_undlatestinput><div class=IEntry><a href="../files2/e_if_server-h.html#server_latestinput" target=_parent class=ISymbol>server_latestinput</a></div></div><div class=SRResult id=SR_server_undsend_undmsg><div class=IEntry><a href="../files2/e_if_other-h.html#server_send_msg" target=_parent class=ISymbol>server_send_msg</a></div></div><div class=SRResult id=SR_server_undsetbrowseinfo><div class=IEntry><a href="../files2/e_if_server-h.html#server_setbrowseinfo" target=_parent class=ISymbol>server_setbrowseinfo</a></div></div><div class=SRResult id=SR_server_undsetclientname><div class=IEntry><a href="../files2/e_if_server-h.html#server_setclientname" target=_parent class=ISymbol>server_setclientname</a></div></div><div class=SRResult id=SR_server_undsetclientscore><div class=IEntry><a href="../files2/e_if_server-h.html#server_setclientscore" target=_parent class=ISymbol>server_setclientscore</a></div></div><div class=SRResult id=SR_server_undtick><div class=IEntry><a href="../files2/e_if_server-h.html#server_tick" target=_parent class=ISymbol>server_tick</a></div></div><div class=SRResult id=SR_server_undtickspeed><div class=IEntry><a href="../files2/e_if_server-h.html#server_tickspeed" target=_parent class=ISymbol>server_tickspeed</a></div></div><div class=SRResult id=SR_snap><div class=IEntry><a href="javascript:searchResults.Toggle('SR_snap')" class=ISymbol>snap</a><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.snap" target=_parent class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_World.snap" target=_parent class=IParent>Game World</a></div></div></div><div class=SRResult id=SR_snap_undfind_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#snap_find_item" target=_parent class=ISymbol>snap_find_item</a></div></div><div class=SRResult id=SR_snap_undfree_undid><div class=IEntry><a href="../files2/e_if_other-h.html#snap_free_id" target=_parent class=ISymbol>snap_free_id</a></div></div><div class=SRResult id=SR_snap_undget_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#snap_get_item" target=_parent class=ISymbol>snap_get_item</a></div></div><div class=SRResult id=SR_snap_undinput><div class=IEntry><a href="../files2/e_if_other-h.html#snap_input" target=_parent class=ISymbol>snap_input</a></div></div><div class=SRResult id=SR_snap_undinvalidate_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#snap_invalidate_item" target=_parent class=ISymbol>snap_invalidate_item</a></div></div><div class=SRResult id=SR_snap_undnew_undid><div class=IEntry><a href="../files2/e_if_other-h.html#snap_new_id" target=_parent class=ISymbol>snap_new_id</a></div></div><div class=SRResult id=SR_snap_undnew_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#snap_new_item" target=_parent class=ISymbol>snap_new_item</a></div></div><div class=SRResult id=SR_snap_undnum_unditems><div class=IEntry><a href="../files2/e_if_other-h.html#snap_num_items" target=_parent class=ISymbol>snap_num_items</a></div></div><div class=SRResult id=SR_snap_undset_undstaticsize><div class=IEntry><a href="../files2/e_if_other-h.html#snap_set_staticsize" target=_parent class=ISymbol>snap_set_staticsize</a></div></div><div class=SRResult id=SR_snd_undload_undwv><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_load_wv" target=_parent class=ISymbol>snd_load_wv</a></div></div><div class=SRResult id=SR_snd_undplay><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_play" target=_parent class=ISymbol>snd_play</a></div></div><div class=SRResult id=SR_snd_undplay_undat><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_play_at" target=_parent class=ISymbol>snd_play_at</a></div></div><div class=SRResult id=SR_snd_undset_undchannel><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_set_channel" target=_parent class=ISymbol>snd_set_channel</a></div></div><div class=SRResult id=SR_snd_undset_undlistener_undpos><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_set_listener_pos" target=_parent class=ISymbol>snd_set_listener_pos</a></div></div><div class=SRResult id=SR_snd_undstop><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_stop" target=_parent class=ISymbol>snd_stop</a></div></div><div class=SRResult id=SR_str_undappend><div class=IEntry><a href="../files2/e_system-h.html#str_append" target=_parent class=ISymbol>str_append</a></div></div><div class=SRResult id=SR_str_undcomp_undnocase><div class=IEntry><a href="../files2/e_system-h.html#str_comp_nocase" target=_parent class=ISymbol>str_comp_nocase</a></div></div><div class=SRResult id=SR_str_undcopy><div class=IEntry><a href="../files2/e_system-h.html#str_copy" target=_parent class=ISymbol>str_copy</a></div></div><div class=SRResult id=SR_str_undfind_undnocase><div class=IEntry><a href="../files2/e_system-h.html#str_find_nocase" target=_parent class=ISymbol>str_find_nocase</a></div></div><div class=SRResult id=SR_str_undformat><div class=IEntry><a href="../files2/e_system-h.html#str_format" target=_parent class=ISymbol>str_format</a></div></div><div class=SRResult id=SR_str_undhex><div class=IEntry><a href="../files2/e_system-h.html#str_hex" target=_parent class=ISymbol>str_hex</a></div></div><div class=SRResult id=SR_str_undsanitize><div class=IEntry><a href="../files2/e_system-h.html#str_sanitize" target=_parent class=ISymbol>str_sanitize</a></div></div><div class=SRResult id=SR_str_undsanitize_undstrong><div class=IEntry><a href="../files2/e_system-h.html#str_sanitize_strong" target=_parent class=ISymbol>str_sanitize_strong</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/FunctionsT.html b/docs/output/search/FunctionsT.html
new file mode 100644
index 00000000..44b7d83d
--- /dev/null
+++ b/docs/output/search/FunctionsT.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_thread_undcreate><div class=IEntry><a href="../files2/e_system-h.html#thread_create" target=_parent class=ISymbol>thread_create</a></div></div><div class=SRResult id=SR_thread_unddestoy><div class=IEntry><a href="../files2/e_system-h.html#thread_destoy" target=_parent class=ISymbol>thread_destoy</a></div></div><div class=SRResult id=SR_thread_undsleep><div class=IEntry><a href="../files2/e_system-h.html#thread_sleep" target=_parent class=ISymbol>thread_sleep</a></div></div><div class=SRResult id=SR_thread_undwait><div class=IEntry><a href="../files2/e_system-h.html#thread_wait" target=_parent class=ISymbol>thread_wait</a></div></div><div class=SRResult id=SR_thread_undyeild><div class=IEntry><a href="../files2/e_system-h.html#thread_yeild" target=_parent class=ISymbol>thread_yeild</a></div></div><div class=SRResult id=SR_tick><div class=IEntry><a href="javascript:searchResults.Toggle('SR_tick')" class=ISymbol>tick</a><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.tick" target=_parent class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_World.tick" target=_parent class=IParent>Game World</a></div></div></div><div class=SRResult id=SR_tick_unddefered><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.tick_defered" target=_parent class=ISymbol>tick_defered</a>, <span class=IParent>Entity</span></div></div><div class=SRResult id=SR_time_undfreq><div class=IEntry><a href="../files2/e_system-h.html#time_freq" target=_parent class=ISymbol>time_freq</a></div></div><div class=SRResult id=SR_time_undget><div class=IEntry><a href="../files2/e_system-h.html#time_get" target=_parent class=ISymbol>time_get</a></div></div><div class=SRResult id=SR_time_undtimestamp><div class=IEntry><a href="../files2/e_system-h.html#time_timestamp" target=_parent class=ISymbol>time_timestamp</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralA.html b/docs/output/search/GeneralA.html
new file mode 100644
index 00000000..5fec3a82
--- /dev/null
+++ b/docs/output/search/GeneralA.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Actions><div class=IEntry><a href="../files2/e_if_client-h.html#Actions" target=_parent class=ISymbol>Actions</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralB.html b/docs/output/search/GeneralB.html
new file mode 100644
index 00000000..dfc89fcb
--- /dev/null
+++ b/docs/output/search/GeneralB.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_BROWSESORT_undGAMETYPE><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_GAMETYPE" target=_parent class=ISymbol>BROWSESORT_GAMETYPE</a></div></div><div class=SRResult id=SR_BROWSESORT_undMAP><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_MAP" target=_parent class=ISymbol>BROWSESORT_MAP</a></div></div><div class=SRResult id=SR_BROWSESORT_undNAME><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_NAME" target=_parent class=ISymbol>BROWSESORT_NAME</a></div></div><div class=SRResult id=SR_BROWSESORT_undNUMPLAYERS><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_NUMPLAYERS" target=_parent class=ISymbol>BROWSESORT_NUMPLAYERS</a></div></div><div class=SRResult id=SR_BROWSESORT_undPING><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_PING" target=_parent class=ISymbol>BROWSESORT_PING</a></div></div><div class=SRResult id=SR_BROWSESORT_undPROGRESSION><div class=IEntry><a href="../files2/e_if_client-h.html#BROWSESORT_PROGRESSION" target=_parent class=ISymbol>BROWSESORT_PROGRESSION</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralC.html b/docs/output/search/GeneralC.html
new file mode 100644
index 00000000..fb1aeb7a
--- /dev/null
+++ b/docs/output/search/GeneralC.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Client_spcHooks><div class=IEntry><a href="../files2/e_if_modc-h.html#Client_Hooks" target=_parent class=ISymbol>Client Hooks</a></div></div><div class=SRResult id=SR_Client_spcInterface><div class=IEntry><a href="../files2/e_if_client-h.html#Client_Interface" target=_parent class=ISymbol>Client Interface</a></div></div><div class=SRResult id=SR_Client_spcSide><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Client_Side" target=_parent class=ISymbol>Client Side</a></div></div><div class=SRResult id=SR_Client_spcStates><div class=IEntry><a href="../files2/e_if_client-h.html#Client_States" target=_parent class=ISymbol>Client States</a></div></div><div class=SRResult id=SR_client_undconnect><div class=IEntry><a href="../files2/e_if_client-h.html#client_connect" target=_parent class=ISymbol>client_connect</a></div></div><div class=SRResult id=SR_client_undconnection_undproblems><div class=IEntry><a href="../files2/e_if_client-h.html#client_connection_problems" target=_parent class=ISymbol>client_connection_problems</a></div></div><div class=SRResult id=SR_client_unddirect_undinput><div class=IEntry><a href="../files2/e_if_client-h.html#client_direct_input" target=_parent class=ISymbol>client_direct_input</a></div></div><div class=SRResult id=SR_client_unddisconnect><div class=IEntry><a href="../files2/e_if_client-h.html#client_disconnect" target=_parent class=ISymbol>client_disconnect</a></div></div><div class=SRResult id=SR_client_underror_undstring><div class=IEntry><a href="../files2/e_if_client-h.html#client_error_string" target=_parent class=ISymbol>client_error_string</a></div></div><div class=SRResult id=SR_client_undframetime><div class=IEntry><a href="../files2/e_if_client-h.html#client_frametime" target=_parent class=ISymbol>client_frametime</a></div></div><div class=SRResult id=SR_client_undget_undinput><div class=IEntry><a href="../files2/e_if_client-h.html#client_get_input" target=_parent class=ISymbol>client_get_input</a></div></div><div class=SRResult id=SR_CLIENT_undINFO><div class=IEntry><a href="../files2/e_if_other-h.html#CLIENT_INFO" target=_parent class=ISymbol>CLIENT_INFO</a></div></div><div class=SRResult id=SR_client_undintratick><div class=IEntry><a href="../files2/e_if_client-h.html#client_intratick" target=_parent class=ISymbol>client_intratick</a></div></div><div class=SRResult id=SR_client_undlocaltime><div class=IEntry><a href="../files2/e_if_client-h.html#client_localtime" target=_parent class=ISymbol>client_localtime</a></div></div><div class=SRResult id=SR_client_undmapdownload_undamount><div class=IEntry><a href="../files2/e_if_client-h.html#client_mapdownload_amount" target=_parent class=ISymbol>client_mapdownload_amount</a></div></div><div class=SRResult id=SR_client_undmapdownload_undtotalsize><div class=IEntry><a href="../files2/e_if_client-h.html#client_mapdownload_totalsize" target=_parent class=ISymbol>client_mapdownload_totalsize</a></div></div><div class=SRResult id=SR_client_undpredintratick><div class=IEntry><a href="../files2/e_if_client-h.html#client_predintratick" target=_parent class=ISymbol>client_predintratick</a></div></div><div class=SRResult id=SR_client_undpredtick><div class=IEntry><a href="../files2/e_if_client-h.html#client_predtick" target=_parent class=ISymbol>client_predtick</a></div></div><div class=SRResult id=SR_client_undquit><div class=IEntry><a href="../files2/e_if_client-h.html#client_quit" target=_parent class=ISymbol>client_quit</a></div></div><div class=SRResult id=SR_client_undrcon><div class=IEntry><a href="../files2/e_if_client-h.html#client_rcon" target=_parent class=ISymbol>client_rcon</a></div></div><div class=SRResult id=SR_client_undrcon_undauth><div class=IEntry><a href="../files2/e_if_client-h.html#client_rcon_auth" target=_parent class=ISymbol>client_rcon_auth</a></div></div><div class=SRResult id=SR_client_undrcon_undauthed><div class=IEntry><a href="../files2/e_if_client-h.html#client_rcon_authed" target=_parent class=ISymbol>client_rcon_authed</a></div></div><div class=SRResult id=SR_client_undsave_undline><div class=IEntry><a href="../files2/e_if_client-h.html#client_save_line" target=_parent class=ISymbol>client_save_line</a></div></div><div class=SRResult id=SR_client_undsend_undmsg><div class=IEntry><a href="../files2/e_if_other-h.html#client_send_msg" target=_parent class=ISymbol>client_send_msg</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undget><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_get" target=_parent class=ISymbol>client_serverbrowse_get</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undlan><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_lan" target=_parent class=ISymbol>client_serverbrowse_lan</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undnum><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_num" target=_parent class=ISymbol>client_serverbrowse_num</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undnum_undrequests><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_num_requests" target=_parent class=ISymbol>client_serverbrowse_num_requests</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undrefresh><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_refresh" target=_parent class=ISymbol>client_serverbrowse_refresh</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undsorted_undget><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_sorted_get" target=_parent class=ISymbol>client_serverbrowse_sorted_get</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undsorted_undnum><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_sorted_num" target=_parent class=ISymbol>client_serverbrowse_sorted_num</a></div></div><div class=SRResult id=SR_client_undserverbrowse_undupdate><div class=IEntry><a href="../files2/e_if_client-h.html#client_serverbrowse_update" target=_parent class=ISymbol>client_serverbrowse_update</a></div></div><div class=SRResult id=SR_client_undstate><div class=IEntry><a href="../files2/e_if_client-h.html#client_state" target=_parent class=ISymbol>client_state</a></div></div><div class=SRResult id=SR_client_undtick><div class=IEntry><a href="../files2/e_if_client-h.html#client_tick" target=_parent class=ISymbol>client_tick</a></div></div><div class=SRResult id=SR_client_undtickspeed><div class=IEntry><a href="../files2/e_if_client-h.html#client_tickspeed" target=_parent class=ISymbol>client_tickspeed</a></div></div><div class=SRResult id=SR_client_undticktime><div class=IEntry><a href="../files2/e_if_client-h.html#client_ticktime" target=_parent class=ISymbol>client_ticktime</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undCONNECTING><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_CONNECTING" target=_parent class=ISymbol>CLIENTSTATE_CONNECTING</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undLOADING><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_LOADING" target=_parent class=ISymbol>CLIENTSTATE_LOADING</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undOFFLINE><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_OFFLINE" target=_parent class=ISymbol>CLIENTSTATE_OFFLINE</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undONLINE><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_ONLINE" target=_parent class=ISymbol>CLIENTSTATE_ONLINE</a></div></div><div class=SRResult id=SR_CLIENTSTATE_undQUITING><div class=IEntry><a href="../files2/e_if_client-h.html#CLIENTSTATE_QUITING" target=_parent class=ISymbol>CLIENTSTATE_QUITING</a></div></div><div class=SRResult id=SR_closest_undcharacter><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.closest_character" target=_parent class=ISymbol>closest_character</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_Compression><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Compression" target=_parent class=ISymbol>Compression</a></div></div><div class=SRResult id=SR_Constants><div class=IEntry><a href="../files2/e_if_client-h.html#Constants" target=_parent class=ISymbol>Constants</a></div></div><div class=SRResult id=SR_Creating><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Creating" target=_parent class=ISymbol>Creating</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralD.html b/docs/output/search/GeneralD.html
new file mode 100644
index 00000000..11e12e8f
--- /dev/null
+++ b/docs/output/search/GeneralD.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_data><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.data" target=_parent class=ISymbol>data</a>, <span class=IParent>IMAGE_INFO</span></div></div><div class=SRResult id=SR_dbg_undassert><div class=IEntry><a href="../files2/e_system-h.html#dbg_assert" target=_parent class=ISymbol>dbg_assert</a></div></div><div class=SRResult id=SR_dbg_undbreak><div class=IEntry><a href="../files2/e_system-h.html#dbg_break" target=_parent class=ISymbol>dbg_break</a></div></div><div class=SRResult id=SR_dbg_undmsg><div class=IEntry><a href="../files2/e_system-h.html#dbg_msg" target=_parent class=ISymbol>dbg_msg</a></div></div><div class=SRResult id=SR_Debug><div class=IEntry><a href="../files2/e_system-h.html#Debug" target=_parent class=ISymbol>Debug</a></div></div><div class=SRResult id=SR_Definitions><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Definitions" target=_parent class=ISymbol>Definitions</a></div></div><div class=SRResult id=SR_destroy><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.destroy" target=_parent class=ISymbol>destroy</a>, <span class=IParent>Entity</span></div></div><div class=SRResult id=SR_destroy_undentity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.destroy_entity" target=_parent class=ISymbol>destroy_entity</a>, <span class=IParent>Game World</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralE.html b/docs/output/search/GeneralE.html
new file mode 100644
index 00000000..795ac26b
--- /dev/null
+++ b/docs/output/search/GeneralE.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Engine_spcInterface><div class=IEntry><a href="../files2/e_if_other-h.html#Engine_Interface" target=_parent class=ISymbol>Engine Interface</a></div></div><div class=SRResult id=SR_Entity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity" target=_parent class=ISymbol>Entity</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralF.html b/docs/output/search/GeneralF.html
new file mode 100644
index 00000000..b6237330
--- /dev/null
+++ b/docs/output/search/GeneralF.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_File_spcIO><div class=IEntry><a href="../files2/e_system-h.html#File_IO" target=_parent class=ISymbol>File IO</a></div></div><div class=SRResult id=SR_Filesystem><div class=IEntry><a href="../files2/e_system-h.html#Filesystem" target=_parent class=ISymbol>Filesystem</a></div></div><div class=SRResult id=SR_find_undentities><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.find_entities" target=_parent class=ISymbol>find_entities</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_format><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.format" target=_parent class=ISymbol>format</a>, <span class=IParent>IMAGE_INFO</span></div></div><div class=SRResult id=SR_fs_undlistdir><div class=IEntry><a href="../files2/e_system-h.html#fs_listdir" target=_parent class=ISymbol>fs_listdir</a></div></div><div class=SRResult id=SR_fs_undmakedir><div class=IEntry><a href="../files2/e_system-h.html#fs_makedir" target=_parent class=ISymbol>fs_makedir</a></div></div><div class=SRResult id=SR_fs_undstorage_undpath><div class=IEntry><a href="../files2/e_system-h.html#fs_storage_path" target=_parent class=ISymbol>fs_storage_path</a></div></div><div class=SRResult id=SR_Functions><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Functions')" class=ISymbol>Functions</a><div class=ISubIndex><span class=IParent>Global</span><div class=ISubIndex><a href="../files2/e_if_client-h.html#Functions" target=_parent class=IFile>e_if_client.h</a><a href="../files2/e_if_gfx-h.html#Functions" target=_parent class=IFile>e_if_gfx.h</a><a href="../files2/e_if_modc-h.html#Functions" target=_parent class=IFile>e_if_modc.h</a><a href="../files2/e_if_mods-h.html#Functions" target=_parent class=IFile>e_if_mods.h</a><a href="../files2/e_if_msg-h.html#Functions" target=_parent class=IFile>e_if_msg.h</a><a href="../files2/e_if_other-h.html#Functions" target=_parent class=IFile>e_if_other.h</a><a href="../files2/e_if_server-h.html#Functions" target=_parent class=IFile>e_if_server.h</a><a href="../files2/e_if_snd-h.html#Functions" target=_parent class=IFile>e_if_snd.h</a></div><a href="../files/server/gs_common-hpp.html#Entity.Functions" target=_parent class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_Controller.Functions" target=_parent class=IParent>Game Controller</a><a href="../files/server/gs_common-hpp.html#Game_World.Functions" target=_parent class=IParent>Game World</a><a href="../files2/e_if_inp-h.html#INPUT_EVENT.Functions" target=_parent class=IParent>INPUT_EVENT</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralG.html b/docs/output/search/GeneralG.html
new file mode 100644
index 00000000..b3a01405
--- /dev/null
+++ b/docs/output/search/GeneralG.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Game_spcController><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller" target=_parent class=ISymbol>Game Controller</a></div></div><div class=SRResult id=SR_Game_spcWorld><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World" target=_parent class=ISymbol>Game World</a></div></div><div class=SRResult id=SR_gfx_undblend_undadditive><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_additive" target=_parent class=ISymbol>gfx_blend_additive</a></div></div><div class=SRResult id=SR_gfx_undblend_undnone><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_none" target=_parent class=ISymbol>gfx_blend_none</a></div></div><div class=SRResult id=SR_gfx_undblend_undnormal><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_blend_normal" target=_parent class=ISymbol>gfx_blend_normal</a></div></div><div class=SRResult id=SR_gfx_undclear><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clear" target=_parent class=ISymbol>gfx_clear</a></div></div><div class=SRResult id=SR_gfx_undclip_unddisable><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clip_disable" target=_parent class=ISymbol>gfx_clip_disable</a></div></div><div class=SRResult id=SR_gfx_undclip_undenable><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_clip_enable" target=_parent class=ISymbol>gfx_clip_enable</a></div></div><div class=SRResult id=SR_gfx_undget_undvideo_undmodes><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_get_video_modes" target=_parent class=ISymbol>gfx_get_video_modes</a></div></div><div class=SRResult id=SR_gfx_undgetscreen><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_getscreen" target=_parent class=ISymbol>gfx_getscreen</a></div></div><div class=SRResult id=SR_gfx_undlines_undbegin><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_begin" target=_parent class=ISymbol>gfx_lines_begin</a></div></div><div class=SRResult id=SR_gfx_undlines_unddraw><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_draw" target=_parent class=ISymbol>gfx_lines_draw</a></div></div><div class=SRResult id=SR_gfx_undlines_undend><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_lines_end" target=_parent class=ISymbol>gfx_lines_end</a></div></div><div class=SRResult id=SR_gfx_undload_undpng><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_png" target=_parent class=ISymbol>gfx_load_png</a></div></div><div class=SRResult id=SR_gfx_undload_undtexture><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_texture" target=_parent class=ISymbol>gfx_load_texture</a></div></div><div class=SRResult id=SR_gfx_undload_undtexture_undraw><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_load_texture_raw" target=_parent class=ISymbol>gfx_load_texture_raw</a></div></div><div class=SRResult id=SR_gfx_undmapscreen><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_mapscreen" target=_parent class=ISymbol>gfx_mapscreen</a></div></div><div class=SRResult id=SR_gfx_undmemory_undusage><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_memory_usage" target=_parent class=ISymbol>gfx_memory_usage</a></div></div><div class=SRResult id=SR_gfx_undquads_undbegin><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_begin" target=_parent class=ISymbol>gfx_quads_begin</a></div></div><div class=SRResult id=SR_gfx_undquads_unddraw><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_draw" target=_parent class=ISymbol>gfx_quads_draw</a></div></div><div class=SRResult id=SR_gfx_undquads_unddraw_undfreeform><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_draw_freeform" target=_parent class=ISymbol>gfx_quads_draw_freeform</a></div></div><div class=SRResult id=SR_gfx_undquads_unddrawTL><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_drawTL" target=_parent class=ISymbol>gfx_quads_drawTL</a></div></div><div class=SRResult id=SR_gfx_undquads_undend><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_end" target=_parent class=ISymbol>gfx_quads_end</a></div></div><div class=SRResult id=SR_gfx_undquads_undsetrotation><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setrotation" target=_parent class=ISymbol>gfx_quads_setrotation</a></div></div><div class=SRResult id=SR_gfx_undquads_undsetsubset><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setsubset" target=_parent class=ISymbol>gfx_quads_setsubset</a></div></div><div class=SRResult id=SR_gfx_undquads_undsetsubset_undfree><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_setsubset_free" target=_parent class=ISymbol>gfx_quads_setsubset_free</a></div></div><div class=SRResult id=SR_gfx_undquads_undtext><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_quads_text" target=_parent class=ISymbol>gfx_quads_text</a></div></div><div class=SRResult id=SR_gfx_undscreenaspect><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenaspect" target=_parent class=ISymbol>gfx_screenaspect</a></div></div><div class=SRResult id=SR_gfx_undscreenheight><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenheight" target=_parent class=ISymbol>gfx_screenheight</a></div></div><div class=SRResult id=SR_gfx_undscreenshot><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenshot" target=_parent class=ISymbol>gfx_screenshot</a></div></div><div class=SRResult id=SR_gfx_undscreenwidth><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_screenwidth" target=_parent class=ISymbol>gfx_screenwidth</a></div></div><div class=SRResult id=SR_gfx_undsetcolor><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_setcolor" target=_parent class=ISymbol>gfx_setcolor</a></div></div><div class=SRResult id=SR_gfx_undsetcolorvertex><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_setcolorvertex" target=_parent class=ISymbol>gfx_setcolorvertex</a></div></div><div class=SRResult id=SR_gfx_undtext><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text" target=_parent class=ISymbol>gfx_text</a></div></div><div class=SRResult id=SR_gfx_undtext_undcolor><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_color" target=_parent class=ISymbol>gfx_text_color</a></div></div><div class=SRResult id=SR_gfx_undtext_undset_unddefault_undfont><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_set_default_font" target=_parent class=ISymbol>gfx_text_set_default_font</a></div></div><div class=SRResult id=SR_gfx_undtext_undwidth><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_text_width" target=_parent class=ISymbol>gfx_text_width</a></div></div><div class=SRResult id=SR_gfx_undtexture_undset><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_texture_set" target=_parent class=ISymbol>gfx_texture_set</a></div></div><div class=SRResult id=SR_gfx_undunload_undtexture><div class=IEntry><a href="../files2/e_if_gfx-h.html#gfx_unload_texture" target=_parent class=ISymbol>gfx_unload_texture</a></div></div><div class=SRResult id=SR_Graphics><div class=IEntry><a href="../files2/e_if_gfx-h.html#Graphics" target=_parent class=ISymbol>Graphics</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralH.html b/docs/output/search/GeneralH.html
new file mode 100644
index 00000000..040aae73
--- /dev/null
+++ b/docs/output/search/GeneralH.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_height><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.height" target=_parent class=ISymbol>height</a>, <span class=IParent>IMAGE_INFO</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralI.html b/docs/output/search/GeneralI.html
new file mode 100644
index 00000000..b421abe4
--- /dev/null
+++ b/docs/output/search/GeneralI.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Image_spcFormats><div class=IEntry><a href="../files2/e_if_client-h.html#Image_Formats" target=_parent class=ISymbol>Image Formats</a></div></div><div class=SRResult id=SR_IMAGE_undINFO><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO" target=_parent class=ISymbol>IMAGE_INFO</a></div></div><div class=SRResult id=SR_IMG_undALPHA><div class=IEntry><a href="../files2/e_if_client-h.html#IMG_ALPHA" target=_parent class=ISymbol>IMG_ALPHA</a></div></div><div class=SRResult id=SR_IMG_undAUTO><div class=IEntry><a href="../files2/e_if_client-h.html#IMG_AUTO" target=_parent class=ISymbol>IMG_AUTO</a></div></div><div class=SRResult id=SR_IMG_undRGB><div class=IEntry><a href="../files2/e_if_client-h.html#IMG_RGB" target=_parent class=ISymbol>IMG_RGB</a></div></div><div class=SRResult id=SR_IMG_undRGBA><div class=IEntry><a href="../files2/e_if_client-h.html#IMG_RGBA" target=_parent class=ISymbol>IMG_RGBA</a></div></div><div class=SRResult id=SR_In_spcdepth><div class=IEntry><a href="../files2/docs/snapshots-txt.html#In_depth" target=_parent class=ISymbol>In depth</a></div></div><div class=SRResult id=SR_Init><div class=IEntry><a href="../files2/docs/server_op-txt.html#Init" target=_parent class=ISymbol>Init</a></div></div><div class=SRResult id=SR_inp_undclear_undevents><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_clear_events" target=_parent class=ISymbol>inp_clear_events</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undclear_undkey_undstates><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_clear_key_states" target=_parent class=ISymbol>inp_clear_key_states</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undget_undevent><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_get_event" target=_parent class=ISymbol>inp_get_event</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undcode><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_code" target=_parent class=ISymbol>inp_key_code</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_unddown><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_down" target=_parent class=ISymbol>inp_key_down</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undname><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_name" target=_parent class=ISymbol>inp_key_name</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undpressed><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_pressed" target=_parent class=ISymbol>inp_key_pressed</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undpresses><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_presses" target=_parent class=ISymbol>inp_key_presses</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undreleases><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_releases" target=_parent class=ISymbol>inp_key_releases</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undstate><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_state" target=_parent class=ISymbol>inp_key_state</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undkey_undwas_undpressed><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_key_was_pressed" target=_parent class=ISymbol>inp_key_was_pressed</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undmouse_unddoubleclick><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_doubleclick" target=_parent class=ISymbol>inp_mouse_doubleclick</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undmouse_undrelative><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_relative" target=_parent class=ISymbol>inp_mouse_relative</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undmouse_undscroll><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_mouse_scroll" target=_parent class=ISymbol>inp_mouse_scroll</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_inp_undnum_undevents><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT.inp_num_events" target=_parent class=ISymbol>inp_num_events</a>, <span class=IParent>INPUT_EVENT</span></div></div><div class=SRResult id=SR_Input><div class=IEntry><a href="../files2/e_if_inp-h.html#Input" target=_parent class=ISymbol>Input</a></div></div><div class=SRResult id=SR_INPUT_undEVENT><div class=IEntry><a href="../files2/e_if_inp-h.html#INPUT_EVENT" target=_parent class=ISymbol>INPUT_EVENT</a></div></div><div class=SRResult id=SR_insert_undentity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.insert_entity" target=_parent class=ISymbol>insert_entity</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_Inspection><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Inspection" target=_parent class=ISymbol>Inspection</a></div></div><div class=SRResult id=SR_interserct_undcharacter><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.interserct_character" target=_parent class=ISymbol>interserct_character</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_Interval><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Interval" target=_parent class=ISymbol>Interval</a></div></div><div class=SRResult id=SR_io_undclose><div class=IEntry><a href="../files2/e_system-h.html#io_close" target=_parent class=ISymbol>io_close</a></div></div><div class=SRResult id=SR_io_undflush><div class=IEntry><a href="../files2/e_system-h.html#io_flush" target=_parent class=ISymbol>io_flush</a></div></div><div class=SRResult id=SR_io_undlength><div class=IEntry><a href="../files2/e_system-h.html#io_length" target=_parent class=ISymbol>io_length</a></div></div><div class=SRResult id=SR_io_undopen><div class=IEntry><a href="../files2/e_system-h.html#io_open" target=_parent class=ISymbol>io_open</a></div></div><div class=SRResult id=SR_io_undread><div class=IEntry><a href="../files2/e_system-h.html#io_read" target=_parent class=ISymbol>io_read</a></div></div><div class=SRResult id=SR_io_undseek><div class=IEntry><a href="../files2/e_system-h.html#io_seek" target=_parent class=ISymbol>io_seek</a></div></div><div class=SRResult id=SR_io_undskip><div class=IEntry><a href="../files2/e_system-h.html#io_skip" target=_parent class=ISymbol>io_skip</a></div></div><div class=SRResult id=SR_io_undstderr><div class=IEntry><a href="../files2/e_system-h.html#io_stderr" target=_parent class=ISymbol>io_stderr</a></div></div><div class=SRResult id=SR_io_undstdin><div class=IEntry><a href="../files2/e_system-h.html#io_stdin" target=_parent class=ISymbol>io_stdin</a></div></div><div class=SRResult id=SR_io_undstdout><div class=IEntry><a href="../files2/e_system-h.html#io_stdout" target=_parent class=ISymbol>io_stdout</a></div></div><div class=SRResult id=SR_io_undtell><div class=IEntry><a href="../files2/e_system-h.html#io_tell" target=_parent class=ISymbol>io_tell</a></div></div><div class=SRResult id=SR_io_undwrite><div class=IEntry><a href="../files2/e_system-h.html#io_write" target=_parent class=ISymbol>io_write</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralL.html b/docs/output/search/GeneralL.html
new file mode 100644
index 00000000..2e699c98
--- /dev/null
+++ b/docs/output/search/GeneralL.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Lines><div class=IEntry><a href="../files2/e_if_gfx-h.html#Lines" target=_parent class=ISymbol>Lines</a></div></div><div class=SRResult id=SR_Locks><div class=IEntry><a href="../files2/e_system-h.html#Locks" target=_parent class=ISymbol>Locks</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralM.html b/docs/output/search/GeneralM.html
new file mode 100644
index 00000000..014ae1d3
--- /dev/null
+++ b/docs/output/search/GeneralM.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Map><div class=IEntry><a href="../files2/e_if_other-h.html#Map" target=_parent class=ISymbol>Map</a></div></div><div class=SRResult id=SR_map_undfind_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#map_find_item" target=_parent class=ISymbol>map_find_item</a></div></div><div class=SRResult id=SR_map_undget_unddata><div class=IEntry><a href="../files2/e_if_other-h.html#map_get_data" target=_parent class=ISymbol>map_get_data</a></div></div><div class=SRResult id=SR_map_undget_unddata_undswapped><div class=IEntry><a href="../files2/e_if_other-h.html#map_get_data_swapped" target=_parent class=ISymbol>map_get_data_swapped</a></div></div><div class=SRResult id=SR_map_undget_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#map_get_item" target=_parent class=ISymbol>map_get_item</a></div></div><div class=SRResult id=SR_map_undget_undtype><div class=IEntry><a href="../files2/e_if_other-h.html#map_get_type" target=_parent class=ISymbol>map_get_type</a></div></div><div class=SRResult id=SR_map_undis_undloaded><div class=IEntry><a href="../files2/e_if_other-h.html#map_is_loaded" target=_parent class=ISymbol>map_is_loaded</a></div></div><div class=SRResult id=SR_map_undnum_unditems><div class=IEntry><a href="../files2/e_if_other-h.html#map_num_items" target=_parent class=ISymbol>map_num_items</a></div></div><div class=SRResult id=SR_map_undunload_unddata><div class=IEntry><a href="../files2/e_if_other-h.html#map_unload_data" target=_parent class=ISymbol>map_unload_data</a></div></div><div class=SRResult id=SR_mem_undalloc><div class=IEntry><a href="../files2/e_system-h.html#mem_alloc" target=_parent class=ISymbol>mem_alloc</a></div></div><div class=SRResult id=SR_mem_undcomp><div class=IEntry><a href="../files2/e_system-h.html#mem_comp" target=_parent class=ISymbol>mem_comp</a></div></div><div class=SRResult id=SR_mem_undcopy><div class=IEntry><a href="../files2/e_system-h.html#mem_copy" target=_parent class=ISymbol>mem_copy</a></div></div><div class=SRResult id=SR_mem_undfree><div class=IEntry><a href="../files2/e_system-h.html#mem_free" target=_parent class=ISymbol>mem_free</a></div></div><div class=SRResult id=SR_mem_undmove><div class=IEntry><a href="../files2/e_system-h.html#mem_move" target=_parent class=ISymbol>mem_move</a></div></div><div class=SRResult id=SR_mem_undzero><div class=IEntry><a href="../files2/e_system-h.html#mem_zero" target=_parent class=ISymbol>mem_zero</a></div></div><div class=SRResult id=SR_Memory><div class=IEntry><a href="../files2/e_system-h.html#Memory" target=_parent class=ISymbol>Memory</a></div></div><div class=SRResult id=SR_Messaging><div class=IEntry><a href="../files2/e_if_msg-h.html#Messaging" target=_parent class=ISymbol>Messaging</a></div></div><div class=SRResult id=SR_modc_undconnected><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_connected" target=_parent class=ISymbol>modc_connected</a></div></div><div class=SRResult id=SR_modc_undconsole_undinit><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_console_init" target=_parent class=ISymbol>modc_console_init</a></div></div><div class=SRResult id=SR_modc_undentergame><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_entergame" target=_parent class=ISymbol>modc_entergame</a></div></div><div class=SRResult id=SR_modc_undinit><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_init" target=_parent class=ISymbol>modc_init</a></div></div><div class=SRResult id=SR_modc_undmessage><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_message" target=_parent class=ISymbol>modc_message</a></div></div><div class=SRResult id=SR_modc_undnet_undversion><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_net_version" target=_parent class=ISymbol>modc_net_version</a></div></div><div class=SRResult id=SR_modc_undnewsnapshot><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_newsnapshot" target=_parent class=ISymbol>modc_newsnapshot</a></div></div><div class=SRResult id=SR_modc_undpredict><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_predict" target=_parent class=ISymbol>modc_predict</a></div></div><div class=SRResult id=SR_modc_undrcon_undline><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_rcon_line" target=_parent class=ISymbol>modc_rcon_line</a></div></div><div class=SRResult id=SR_modc_undrender><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_render" target=_parent class=ISymbol>modc_render</a></div></div><div class=SRResult id=SR_modc_undsave_undconfig><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_save_config" target=_parent class=ISymbol>modc_save_config</a></div></div><div class=SRResult id=SR_modc_undshutdown><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_shutdown" target=_parent class=ISymbol>modc_shutdown</a></div></div><div class=SRResult id=SR_modc_undsnap_undinput><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_snap_input" target=_parent class=ISymbol>modc_snap_input</a></div></div><div class=SRResult id=SR_modc_undstatechange><div class=IEntry><a href="../files2/e_if_modc-h.html#modc_statechange" target=_parent class=ISymbol>modc_statechange</a></div></div><div class=SRResult id=SR_mods_undclient_unddirect_undinput><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_direct_input" target=_parent class=ISymbol>mods_client_direct_input</a></div></div><div class=SRResult id=SR_mods_undclient_unddrop><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_drop" target=_parent class=ISymbol>mods_client_drop</a></div></div><div class=SRResult id=SR_mods_undclient_undenter><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_enter" target=_parent class=ISymbol>mods_client_enter</a></div></div><div class=SRResult id=SR_mods_undclient_undpredicted_undinput><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_client_predicted_input" target=_parent class=ISymbol>mods_client_predicted_input</a></div></div><div class=SRResult id=SR_mods_undconnected><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_connected" target=_parent class=ISymbol>mods_connected</a></div></div><div class=SRResult id=SR_mods_undconsole_undinit><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_console_init" target=_parent class=ISymbol>mods_console_init</a></div></div><div class=SRResult id=SR_mods_undinit><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_init" target=_parent class=ISymbol>mods_init</a></div></div><div class=SRResult id=SR_mods_undmessage><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_message" target=_parent class=ISymbol>mods_message</a></div></div><div class=SRResult id=SR_mods_undnet_undversion><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_net_version" target=_parent class=ISymbol>mods_net_version</a></div></div><div class=SRResult id=SR_mods_undpostsnap><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_postsnap" target=_parent class=ISymbol>mods_postsnap</a></div></div><div class=SRResult id=SR_mods_undpresnap><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_presnap" target=_parent class=ISymbol>mods_presnap</a></div></div><div class=SRResult id=SR_mods_undshutdown><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_shutdown" target=_parent class=ISymbol>mods_shutdown</a></div></div><div class=SRResult id=SR_mods_undsnap><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_snap" target=_parent class=ISymbol>mods_snap</a></div></div><div class=SRResult id=SR_mods_undtick><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_tick" target=_parent class=ISymbol>mods_tick</a></div></div><div class=SRResult id=SR_mods_undversion><div class=IEntry><a href="../files2/e_if_mods-h.html#mods_version" target=_parent class=ISymbol>mods_version</a></div></div><div class=SRResult id=SR_msg_undpack_undend><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_end" target=_parent class=ISymbol>msg_pack_end</a></div></div><div class=SRResult id=SR_msg_undpack_undint><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_int" target=_parent class=ISymbol>msg_pack_int</a></div></div><div class=SRResult id=SR_msg_undpack_undraw><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_raw" target=_parent class=ISymbol>msg_pack_raw</a></div></div><div class=SRResult id=SR_msg_undpack_undstart><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_start" target=_parent class=ISymbol>msg_pack_start</a></div></div><div class=SRResult id=SR_msg_undpack_undstring><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_pack_string" target=_parent class=ISymbol>msg_pack_string</a></div></div><div class=SRResult id=SR_msg_undunpack_underror><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_error" target=_parent class=ISymbol>msg_unpack_error</a></div></div><div class=SRResult id=SR_msg_undunpack_undint><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_int" target=_parent class=ISymbol>msg_unpack_int</a></div></div><div class=SRResult id=SR_msg_undunpack_undraw><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_raw" target=_parent class=ISymbol>msg_unpack_raw</a></div></div><div class=SRResult id=SR_msg_undunpack_undstring><div class=IEntry><a href="../files2/e_if_msg-h.html#msg_unpack_string" target=_parent class=ISymbol>msg_unpack_string</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralN.html b/docs/output/search/GeneralN.html
new file mode 100644
index 00000000..97c92b18
--- /dev/null
+++ b/docs/output/search/GeneralN.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_net_undaddr_undcomp><div class=IEntry><a href="../files2/e_system-h.html#net_addr_comp" target=_parent class=ISymbol>net_addr_comp</a></div></div><div class=SRResult id=SR_net_undaddr_undstr><div class=IEntry><a href="../files2/e_system-h.html#net_addr_str" target=_parent class=ISymbol>net_addr_str</a></div></div><div class=SRResult id=SR_net_underrno><div class=IEntry><a href="../files2/e_system-h.html#net_errno" target=_parent class=ISymbol>net_errno</a></div></div><div class=SRResult id=SR_net_undhost_undlookup><div class=IEntry><a href="../files2/e_system-h.html#net_host_lookup" target=_parent class=ISymbol>net_host_lookup</a></div></div><div class=SRResult id=SR_net_undinit><div class=IEntry><a href="../files2/e_system-h.html#net_init" target=_parent class=ISymbol>net_init</a></div></div><div class=SRResult id=SR_net_undtcp_undaccept><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_accept" target=_parent class=ISymbol>net_tcp_accept</a></div></div><div class=SRResult id=SR_net_undtcp_undclose><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_close" target=_parent class=ISymbol>net_tcp_close</a></div></div><div class=SRResult id=SR_net_undtcp_undconnect><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_connect" target=_parent class=ISymbol>net_tcp_connect</a></div></div><div class=SRResult id=SR_net_undtcp_undconnect_undnon_undblocking><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_connect_non_blocking" target=_parent class=ISymbol>net_tcp_connect_non_blocking</a></div></div><div class=SRResult id=SR_net_undtcp_undcreate><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_create" target=_parent class=ISymbol>net_tcp_create</a></div></div><div class=SRResult id=SR_net_undtcp_undlisten><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_listen" target=_parent class=ISymbol>net_tcp_listen</a></div></div><div class=SRResult id=SR_net_undtcp_undrecv><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_recv" target=_parent class=ISymbol>net_tcp_recv</a></div></div><div class=SRResult id=SR_net_undtcp_undsend><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_send" target=_parent class=ISymbol>net_tcp_send</a></div></div><div class=SRResult id=SR_net_undtcp_undset_undnon_undblocking><div class=IEntry><a href="../files2/e_system-h.html#net_tcp_set_non_blocking" target=_parent class=ISymbol>net_tcp_set_non_blocking</a></div></div><div class=SRResult id=SR_net_undudp_undclose><div class=IEntry><a href="../files2/e_system-h.html#net_udp_close" target=_parent class=ISymbol>net_udp_close</a></div></div><div class=SRResult id=SR_net_undudp_undcreate><div class=IEntry><a href="../files2/e_system-h.html#net_udp_create" target=_parent class=ISymbol>net_udp_create</a></div></div><div class=SRResult id=SR_net_undudp_undrecv><div class=IEntry><a href="../files2/e_system-h.html#net_udp_recv" target=_parent class=ISymbol>net_udp_recv</a></div></div><div class=SRResult id=SR_net_undudp_undsend><div class=IEntry><a href="../files2/e_system-h.html#net_udp_send" target=_parent class=ISymbol>net_udp_send</a></div></div><div class=SRResult id=SR_net_undwould_undblock><div class=IEntry><a href="../files2/e_system-h.html#net_would_block" target=_parent class=ISymbol>net_would_block</a></div></div><div class=SRResult id=SR_Network_spcGeneral><div class=IEntry><a href="../files2/e_system-h.html#Network_General" target=_parent class=ISymbol>Network General</a></div></div><div class=SRResult id=SR_Network_spcTCP><div class=IEntry><a href="../files2/e_system-h.html#Network_TCP" target=_parent class=ISymbol>Network TCP</a></div></div><div class=SRResult id=SR_Network_spcUDP><div class=IEntry><a href="../files2/e_system-h.html#Network_UDP" target=_parent class=ISymbol>Network UDP</a></div></div><div class=SRResult id=SR_Network_lpaServer_rpa><div class=IEntry><a href="../files2/e_if_other-h.html#Network(Server)" target=_parent class=ISymbol>Network(Server)</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralO.html b/docs/output/search/GeneralO.html
new file mode 100644
index 00000000..1e3cdf5f
--- /dev/null
+++ b/docs/output/search/GeneralO.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_on_undcharacter_unddeath><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_character_death" target=_parent class=ISymbol>on_character_death</a>, <span class=IParent>Game Controller</span></div></div><div class=SRResult id=SR_on_undcharacter_undspawn><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_character_spawn" target=_parent class=ISymbol>on_character_spawn</a>, <span class=IParent>Game Controller</span></div></div><div class=SRResult id=SR_on_undentity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_Controller.on_entity" target=_parent class=ISymbol>on_entity</a>, <span class=IParent>Game Controller</span></div></div><div class=SRResult id=SR_OS_spcAbstraction><div class=IEntry><a href="../files2/e_system-h.html#OS_Abstraction" target=_parent class=ISymbol>OS Abstraction</a></div></div><div class=SRResult id=SR_Other><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Other')" class=ISymbol>Other</a><div class=ISubIndex><a href="../files2/e_if_client-h.html#Other" target=_parent class=IFile>e_if_client.h</a><a href="../files2/e_if_gfx-h.html#Other" target=_parent class=IFile>e_if_gfx.h</a></div></div></div><div class=SRResult id=SR_Overview><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Overview" target=_parent class=ISymbol>Overview</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralP.html b/docs/output/search/GeneralP.html
new file mode 100644
index 00000000..9e1de0c6
--- /dev/null
+++ b/docs/output/search/GeneralP.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_pos><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.pos" target=_parent class=ISymbol>pos</a>, <span class=IParent>Entity</span></div></div><div class=SRResult id=SR_Prediction><div class=IEntry><a href="../files2/docs/prediction-txt.html#Prediction" target=_parent class=ISymbol>Prediction</a></div></div><div class=SRResult id=SR_proximity_undradius><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.proximity_radius" target=_parent class=ISymbol>proximity_radius</a>, <span class=IParent>Entity</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralQ.html b/docs/output/search/GeneralQ.html
new file mode 100644
index 00000000..79021283
--- /dev/null
+++ b/docs/output/search/GeneralQ.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Quads><div class=IEntry><a href="../files2/e_if_gfx-h.html#Quads" target=_parent class=ISymbol>Quads</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralR.html b/docs/output/search/GeneralR.html
new file mode 100644
index 00000000..c239c5ae
--- /dev/null
+++ b/docs/output/search/GeneralR.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Reinit><div class=IEntry><a href="../files2/docs/server_op-txt.html#Reinit" target=_parent class=ISymbol>Reinit</a></div></div><div class=SRResult id=SR_remove_undentity><div class=IEntry><a href="../files/server/gs_common-hpp.html#Game_World.remove_entity" target=_parent class=ISymbol>remove_entity</a>, <span class=IParent>Game World</span></div></div><div class=SRResult id=SR_Rendering><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Rendering" target=_parent class=ISymbol>Rendering</a></div></div><div class=SRResult id=SR_reset><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.reset" target=_parent class=ISymbol>reset</a>, <span class=IParent>Entity</span></div></div><div class=SRResult id=SR_Running><div class=IEntry><a href="../files2/docs/server_op-txt.html#Running" target=_parent class=ISymbol>Running</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralS.html b/docs/output/search/GeneralS.html
new file mode 100644
index 00000000..434ad929
--- /dev/null
+++ b/docs/output/search/GeneralS.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Server_spcBrowser><div class=IEntry><a href="../files2/e_if_client-h.html#Server_Browser" target=_parent class=ISymbol>Server Browser</a></div></div><div class=SRResult id=SR_Server_spcBrowser_spcSorting><div class=IEntry><a href="../files2/e_if_client-h.html#Server_Browser_Sorting" target=_parent class=ISymbol>Server Browser Sorting</a></div></div><div class=SRResult id=SR_Server_spcHooks><div class=IEntry><a href="../files2/e_if_mods-h.html#Server_Hooks" target=_parent class=ISymbol>Server Hooks</a></div></div><div class=SRResult id=SR_Server_spcInterface><div class=IEntry><a href="../files2/e_if_server-h.html#Server_Interface" target=_parent class=ISymbol>Server Interface</a></div></div><div class=SRResult id=SR_Server_spcOperation><div class=IEntry><a href="../files2/docs/server_op-txt.html#Server_Operation" target=_parent class=ISymbol>Server Operation</a></div></div><div class=SRResult id=SR_Server_spcSide><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Server_Side" target=_parent class=ISymbol>Server Side</a></div></div><div class=SRResult id=SR_server_undclientname><div class=IEntry><a href="../files2/e_if_server-h.html#server_clientname" target=_parent class=ISymbol>server_clientname</a></div></div><div class=SRResult id=SR_server_undgetclientinfo><div class=IEntry><a href="../files2/e_if_server-h.html#server_getclientinfo" target=_parent class=ISymbol>server_getclientinfo</a></div></div><div class=SRResult id=SR_SERVER_undINFO><div class=IEntry><a href="../files2/e_if_client-h.html#SERVER_INFO" target=_parent class=ISymbol>SERVER_INFO</a></div></div><div class=SRResult id=SR_SERVER_undINFO_undPLAYER><div class=IEntry><a href="../files2/e_if_client-h.html#SERVER_INFO_PLAYER" target=_parent class=ISymbol>SERVER_INFO_PLAYER</a></div></div><div class=SRResult id=SR_server_undkick><div class=IEntry><a href="../files2/e_if_server-h.html#server_kick" target=_parent class=ISymbol>server_kick</a></div></div><div class=SRResult id=SR_server_undlatestinput><div class=IEntry><a href="../files2/e_if_server-h.html#server_latestinput" target=_parent class=ISymbol>server_latestinput</a></div></div><div class=SRResult id=SR_server_undsend_undmsg><div class=IEntry><a href="../files2/e_if_other-h.html#server_send_msg" target=_parent class=ISymbol>server_send_msg</a></div></div><div class=SRResult id=SR_server_undsetbrowseinfo><div class=IEntry><a href="../files2/e_if_server-h.html#server_setbrowseinfo" target=_parent class=ISymbol>server_setbrowseinfo</a></div></div><div class=SRResult id=SR_server_undsetclientname><div class=IEntry><a href="../files2/e_if_server-h.html#server_setclientname" target=_parent class=ISymbol>server_setclientname</a></div></div><div class=SRResult id=SR_server_undsetclientscore><div class=IEntry><a href="../files2/e_if_server-h.html#server_setclientscore" target=_parent class=ISymbol>server_setclientscore</a></div></div><div class=SRResult id=SR_server_undtick><div class=IEntry><a href="../files2/e_if_server-h.html#server_tick" target=_parent class=ISymbol>server_tick</a></div></div><div class=SRResult id=SR_server_undtickspeed><div class=IEntry><a href="../files2/e_if_server-h.html#server_tickspeed" target=_parent class=ISymbol>server_tickspeed</a></div></div><div class=SRResult id=SR_Shutdown><div class=IEntry><a href="../files2/docs/server_op-txt.html#Shutdown" target=_parent class=ISymbol>Shutdown</a></div></div><div class=SRResult id=SR_snap><div class=IEntry><a href="javascript:searchResults.Toggle('SR_snap')" class=ISymbol>snap</a><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.snap" target=_parent class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_World.snap" target=_parent class=IParent>Game World</a></div></div></div><div class=SRResult id=SR_snap_undfind_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#snap_find_item" target=_parent class=ISymbol>snap_find_item</a></div></div><div class=SRResult id=SR_snap_undfree_undid><div class=IEntry><a href="../files2/e_if_other-h.html#snap_free_id" target=_parent class=ISymbol>snap_free_id</a></div></div><div class=SRResult id=SR_snap_undget_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#snap_get_item" target=_parent class=ISymbol>snap_get_item</a></div></div><div class=SRResult id=SR_snap_undinput><div class=IEntry><a href="../files2/e_if_other-h.html#snap_input" target=_parent class=ISymbol>snap_input</a></div></div><div class=SRResult id=SR_snap_undinvalidate_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#snap_invalidate_item" target=_parent class=ISymbol>snap_invalidate_item</a></div></div><div class=SRResult id=SR_SNAP_undITEM><div class=IEntry><a href="../files2/e_if_other-h.html#SNAP_ITEM" target=_parent class=ISymbol>SNAP_ITEM</a></div></div><div class=SRResult id=SR_snap_undnew_undid><div class=IEntry><a href="../files2/e_if_other-h.html#snap_new_id" target=_parent class=ISymbol>snap_new_id</a></div></div><div class=SRResult id=SR_snap_undnew_unditem><div class=IEntry><a href="../files2/e_if_other-h.html#snap_new_item" target=_parent class=ISymbol>snap_new_item</a></div></div><div class=SRResult id=SR_snap_undnum_unditems><div class=IEntry><a href="../files2/e_if_other-h.html#snap_num_items" target=_parent class=ISymbol>snap_num_items</a></div></div><div class=SRResult id=SR_snap_undset_undstaticsize><div class=IEntry><a href="../files2/e_if_other-h.html#snap_set_staticsize" target=_parent class=ISymbol>snap_set_staticsize</a></div></div><div class=SRResult id=SR_Snapshots><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Snapshots" target=_parent class=ISymbol>Snapshots</a></div></div><div class=SRResult id=SR_snd_undload_undwv><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_load_wv" target=_parent class=ISymbol>snd_load_wv</a></div></div><div class=SRResult id=SR_snd_undplay><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_play" target=_parent class=ISymbol>snd_play</a></div></div><div class=SRResult id=SR_snd_undplay_undat><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_play_at" target=_parent class=ISymbol>snd_play_at</a></div></div><div class=SRResult id=SR_snd_undset_undchannel><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_set_channel" target=_parent class=ISymbol>snd_set_channel</a></div></div><div class=SRResult id=SR_snd_undset_undlistener_undpos><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_set_listener_pos" target=_parent class=ISymbol>snd_set_listener_pos</a></div></div><div class=SRResult id=SR_snd_undstop><div class=IEntry><a href="../files2/e_if_snd-h.html#snd_stop" target=_parent class=ISymbol>snd_stop</a></div></div><div class=SRResult id=SR_Sound><div class=IEntry><a href="../files2/e_if_snd-h.html#Sound" target=_parent class=ISymbol>Sound</a></div></div><div class=SRResult id=SR_str_undappend><div class=IEntry><a href="../files2/e_system-h.html#str_append" target=_parent class=ISymbol>str_append</a></div></div><div class=SRResult id=SR_str_undcomp_undnocase><div class=IEntry><a href="../files2/e_system-h.html#str_comp_nocase" target=_parent class=ISymbol>str_comp_nocase</a></div></div><div class=SRResult id=SR_str_undcopy><div class=IEntry><a href="../files2/e_system-h.html#str_copy" target=_parent class=ISymbol>str_copy</a></div></div><div class=SRResult id=SR_str_undfind_undnocase><div class=IEntry><a href="../files2/e_system-h.html#str_find_nocase" target=_parent class=ISymbol>str_find_nocase</a></div></div><div class=SRResult id=SR_str_undformat><div class=IEntry><a href="../files2/e_system-h.html#str_format" target=_parent class=ISymbol>str_format</a></div></div><div class=SRResult id=SR_str_undhex><div class=IEntry><a href="../files2/e_system-h.html#str_hex" target=_parent class=ISymbol>str_hex</a></div></div><div class=SRResult id=SR_str_undsanitize><div class=IEntry><a href="../files2/e_system-h.html#str_sanitize" target=_parent class=ISymbol>str_sanitize</a></div></div><div class=SRResult id=SR_str_undsanitize_undstrong><div class=IEntry><a href="../files2/e_system-h.html#str_sanitize_strong" target=_parent class=ISymbol>str_sanitize_strong</a></div></div><div class=SRResult id=SR_Strings><div class=IEntry><a href="../files2/e_system-h.html#Strings" target=_parent class=ISymbol>Strings</a></div></div><div class=SRResult id=SR_Structure><div class=IEntry><a href="../files2/docs/snapshots-txt.html#Structure" target=_parent class=ISymbol>Structure</a></div></div><div class=SRResult id=SR_Structures><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Structures')" class=ISymbol>Structures</a><div class=ISubIndex><a href="../files2/e_if_client-h.html#Structures" target=_parent class=IFile>e_if_client.h</a><a href="../files2/e_if_gfx-h.html#Structures" target=_parent class=IFile>e_if_gfx.h</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralT.html b/docs/output/search/GeneralT.html
new file mode 100644
index 00000000..17f46e89
--- /dev/null
+++ b/docs/output/search/GeneralT.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_TEXLOAD_undNORESAMPLE><div class=IEntry><a href="../files2/e_if_client-h.html#TEXLOAD_NORESAMPLE" target=_parent class=ISymbol>TEXLOAD_NORESAMPLE</a></div></div><div class=SRResult id=SR_Text><div class=IEntry><a href="../files2/e_if_gfx-h.html#Text" target=_parent class=ISymbol>Text</a></div></div><div class=SRResult id=SR_Texture_spcLoading_spcFlags><div class=IEntry><a href="../files2/e_if_client-h.html#Texture_Loading_Flags" target=_parent class=ISymbol>Texture Loading Flags</a></div></div><div class=SRResult id=SR_thread_undcreate><div class=IEntry><a href="../files2/e_system-h.html#thread_create" target=_parent class=ISymbol>thread_create</a></div></div><div class=SRResult id=SR_thread_unddestoy><div class=IEntry><a href="../files2/e_system-h.html#thread_destoy" target=_parent class=ISymbol>thread_destoy</a></div></div><div class=SRResult id=SR_thread_undsleep><div class=IEntry><a href="../files2/e_system-h.html#thread_sleep" target=_parent class=ISymbol>thread_sleep</a></div></div><div class=SRResult id=SR_thread_undwait><div class=IEntry><a href="../files2/e_system-h.html#thread_wait" target=_parent class=ISymbol>thread_wait</a></div></div><div class=SRResult id=SR_thread_undyeild><div class=IEntry><a href="../files2/e_system-h.html#thread_yeild" target=_parent class=ISymbol>thread_yeild</a></div></div><div class=SRResult id=SR_Threads><div class=IEntry><a href="../files2/e_system-h.html#Threads" target=_parent class=ISymbol>Threads</a></div></div><div class=SRResult id=SR_tick><div class=IEntry><a href="javascript:searchResults.Toggle('SR_tick')" class=ISymbol>tick</a><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.tick" target=_parent class=IParent>Entity</a><a href="../files/server/gs_common-hpp.html#Game_World.tick" target=_parent class=IParent>Game World</a></div></div></div><div class=SRResult id=SR_tick_unddefered><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.tick_defered" target=_parent class=ISymbol>tick_defered</a>, <span class=IParent>Entity</span></div></div><div class=SRResult id=SR_Time><div class=IEntry><a href="../files2/e_if_client-h.html#Time" target=_parent class=ISymbol>Time</a></div></div><div class=SRResult id=SR_Time_spcon_spcthe_spcclient><div class=IEntry><a href="../files2/docs/client_time-txt.html#Time_on_the_client" target=_parent class=ISymbol>Time on the client</a></div></div><div class=SRResult id=SR_time_undfreq><div class=IEntry><a href="../files2/e_system-h.html#time_freq" target=_parent class=ISymbol>time_freq</a></div></div><div class=SRResult id=SR_time_undget><div class=IEntry><a href="../files2/e_system-h.html#time_get" target=_parent class=ISymbol>time_get</a></div></div><div class=SRResult id=SR_time_undtimestamp><div class=IEntry><a href="../files2/e_system-h.html#time_timestamp" target=_parent class=ISymbol>time_timestamp</a></div></div><div class=SRResult id=SR_Timer><div class=IEntry><a href="../files2/e_system-h.html#Timer" target=_parent class=ISymbol>Timer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralU.html b/docs/output/search/GeneralU.html
new file mode 100644
index 00000000..0a5bfa84
--- /dev/null
+++ b/docs/output/search/GeneralU.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Undocumented><div class=IEntry><a href="../files2/e_system-h.html#Undocumented" target=_parent class=ISymbol>Undocumented</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralV.html b/docs/output/search/GeneralV.html
new file mode 100644
index 00000000..23e0bb27
--- /dev/null
+++ b/docs/output/search/GeneralV.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Variables><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Variables')" class=ISymbol>Variables</a><div class=ISubIndex><a href="../files/server/gs_common-hpp.html#Entity.Variables" target=_parent class=IParent>Entity</a><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.Variables" target=_parent class=IParent>IMAGE_INFO</a></div></div></div><div class=SRResult id=SR_VIDEO_undMODE><div class=IEntry><a href="../files2/e_if_gfx-h.html#VIDEO_MODE" target=_parent class=ISymbol>VIDEO_MODE</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/GeneralW.html b/docs/output/search/GeneralW.html
new file mode 100644
index 00000000..7904eab9
--- /dev/null
+++ b/docs/output/search/GeneralW.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_width><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.width" target=_parent class=ISymbol>width</a>, <span class=IParent>IMAGE_INFO</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/NoResults.html b/docs/output/search/NoResults.html
new file mode 100644
index 00000000..02ce8886
--- /dev/null
+++ b/docs/output/search/NoResults.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=NoMatches>No Matches</div></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/VariablesD.html b/docs/output/search/VariablesD.html
new file mode 100644
index 00000000..3e8af920
--- /dev/null
+++ b/docs/output/search/VariablesD.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_data><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.data" target=_parent class=ISymbol>data</a>, <span class=IParent>IMAGE_INFO</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/VariablesF.html b/docs/output/search/VariablesF.html
new file mode 100644
index 00000000..712600ea
--- /dev/null
+++ b/docs/output/search/VariablesF.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_format><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.format" target=_parent class=ISymbol>format</a>, <span class=IParent>IMAGE_INFO</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/VariablesH.html b/docs/output/search/VariablesH.html
new file mode 100644
index 00000000..040aae73
--- /dev/null
+++ b/docs/output/search/VariablesH.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_height><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.height" target=_parent class=ISymbol>height</a>, <span class=IParent>IMAGE_INFO</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/VariablesP.html b/docs/output/search/VariablesP.html
new file mode 100644
index 00000000..5ec61d40
--- /dev/null
+++ b/docs/output/search/VariablesP.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_pos><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.pos" target=_parent class=ISymbol>pos</a>, <span class=IParent>Entity</span></div></div><div class=SRResult id=SR_proximity_undradius><div class=IEntry><a href="../files/server/gs_common-hpp.html#Entity.proximity_radius" target=_parent class=ISymbol>proximity_radius</a>, <span class=IParent>Entity</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/search/VariablesW.html b/docs/output/search/VariablesW.html
new file mode 100644
index 00000000..7904eab9
--- /dev/null
+++ b/docs/output/search/VariablesW.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_width><div class=IEntry><a href="../files2/e_if_gfx-h.html#IMAGE_INFO.width" target=_parent class=ISymbol>width</a>, <span class=IParent>IMAGE_INFO</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "HTML");
+searchResults.Search();
+--></script></div><script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/docs/output/styles/main.css b/docs/output/styles/main.css
new file mode 100644
index 00000000..17e9cbc3
--- /dev/null
+++ b/docs/output/styles/main.css
@@ -0,0 +1,767 @@
+/*

+   IMPORTANT: If you're editing this file in the output directory of one of

+   your projects, your changes will be overwritten the next time you run

+   Natural Docs.  Instead, copy this file to your project directory, make your

+   changes, and you can use it with -s.  Even better would be to make a CSS

+   file in your project directory with only your changes, which you can then

+   use with -s [original style] [your changes].

+

+   On the other hand, if you're editing this file in the Natural Docs styles

+   directory, the changes will automatically be applied to all your projects

+   that use this style the next time Natural Docs is run on them.

+

+   This file is part of Natural Docs, which is Copyright (C) 2003-2008 Greg Valure

+   Natural Docs is licensed under the GPL

+*/

+

+body {

+    font: 10pt Verdana, Arial, sans-serif;

+    color: #000000;

+    margin: 0; padding: 0;

+    }

+

+.ContentPage,

+.IndexPage,

+.FramedMenuPage {

+    background-color: #E8E8E8;

+    }

+.FramedContentPage,

+.FramedIndexPage,

+.FramedSearchResultsPage,

+.PopupSearchResultsPage {

+    background-color: #FFFFFF;

+    }

+

+

+a:link,

+a:visited { color: #900000; text-decoration: none }

+a:hover { color: #900000; text-decoration: underline }

+a:active { color: #FF0000; text-decoration: underline }

+

+td {

+    vertical-align: top }

+

+img { border: 0;  }

+

+

+/*

+    Comment out this line to use web-style paragraphs (blank line between

+    paragraphs, no indent) instead of print-style paragraphs (no blank line,

+    indented.)

+*/

+p {

+    text-indent: 5ex; margin: 0 }

+

+

+/*  Opera doesn't break with just wbr, but will if you add this.  */

+.Opera wbr:after {

+	content: "\00200B";

+	}

+

+

+/*  Blockquotes are used as containers for things that may need to scroll.  */

+blockquote {

+    padding: 0;

+    margin: 0;

+    overflow: auto;

+    }

+

+

+.Firefox1 blockquote {

+    padding-bottom: .5em;

+    }

+

+/*  Turn off scrolling when printing.  */

+@media print {

+    blockquote {

+        overflow: visible;

+        }

+    .IE blockquote {

+        width: auto;

+        }

+    }

+

+

+

+#Menu {

+    font-size: 9pt;

+    padding: 10px 0 0 0;

+    }

+.ContentPage #Menu,

+.IndexPage #Menu {

+    position: absolute;

+    top: 0;

+    left: 0;

+    width: 31ex;

+    overflow: hidden;

+    }

+.ContentPage .Firefox #Menu,

+.IndexPage .Firefox #Menu {

+    width: 27ex;

+    }

+

+

+    .MTitle {

+        font-size: 16pt; font-weight: bold; font-variant: small-caps;

+        text-align: center;

+        padding: 5px 10px 15px 10px;

+        border-bottom: 1px dotted #000000;

+        margin-bottom: 15px }

+

+    .MSubTitle {

+        font-size: 9pt; font-weight: normal; font-variant: normal;

+        margin-top: 1ex; margin-bottom: 5px }

+

+

+    .MEntry a:link,

+    .MEntry a:hover,

+    .MEntry a:visited { color: #606060; margin-right: 0 }

+    .MEntry a:active { color: #A00000; margin-right: 0 }

+

+

+    .MGroup {

+        font-variant: small-caps; font-weight: bold;

+        margin: 1em 0 1em 10px;

+        }

+

+    .MGroupContent {

+        font-variant: normal; font-weight: normal }

+

+    .MGroup a:link,

+    .MGroup a:hover,

+    .MGroup a:visited { color: #545454; margin-right: 10px }

+    .MGroup a:active { color: #A00000; margin-right: 10px }

+

+

+    .MFile,

+    .MText,

+    .MLink,

+    .MIndex {

+        padding: 1px 17px 2px 10px;

+        margin: .25em 0 .25em 0;

+        }

+

+    .MText {

+        font-size: 8pt; font-style: italic }

+

+    .MLink {

+        font-style: italic }

+

+    #MSelected {

+        color: #000000; background-color: #FFFFFF;

+        /*  Replace padding with border.  */

+        padding: 0 10px 0 10px;

+        border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;

+        margin-right: 5px;

+        }

+

+    /*  Close off the left side when its in a group.  */

+    .MGroup #MSelected {

+        padding-left: 9px; border-left-width: 1px }

+

+    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */

+    .Firefox #MSelected {

+        -moz-border-radius-topright: 10px;

+        -moz-border-radius-bottomright: 10px }

+    .Firefox .MGroup #MSelected {

+        -moz-border-radius-topleft: 10px;

+        -moz-border-radius-bottomleft: 10px }

+

+

+    #MSearchPanel {

+        padding: 0px 6px;

+        margin: .25em 0;

+        }

+

+

+    #MSearchField {

+        font: italic 9pt Verdana, sans-serif;

+        color: #606060;

+        background-color: #E8E8E8;

+        border: none;

+        padding: 2px 4px;

+        width: 100%;

+        }

+    /* Only Opera gets it right. */

+    .Firefox #MSearchField,

+    .IE #MSearchField,

+    .Safari #MSearchField {

+        width: 94%;

+        }

+    .Opera9 #MSearchField,

+    .Konqueror #MSearchField {

+        width: 97%;

+        }

+    .FramedMenuPage .Firefox #MSearchField,

+    .FramedMenuPage .Safari #MSearchField,

+    .FramedMenuPage .Konqueror #MSearchField {

+        width: 98%;

+        }

+

+    /* Firefox doesn't do this right in frames without #MSearchPanel added on.

+        It's presence doesn't hurt anything other browsers. */

+    #MSearchPanel.MSearchPanelInactive:hover #MSearchField {

+        background-color: #FFFFFF;

+        border: 1px solid #C0C0C0;

+        padding: 1px 3px;

+        }

+    .MSearchPanelActive #MSearchField {

+        background-color: #FFFFFF;

+        border: 1px solid #C0C0C0;

+        font-style: normal;

+        padding: 1px 3px;

+        }

+

+    #MSearchType {

+        visibility: hidden;

+        font: 8pt Verdana, sans-serif;

+        width: 98%;

+        padding: 0;

+        border: 1px solid #C0C0C0;

+        }

+    .MSearchPanelActive #MSearchType,

+    /*  As mentioned above, Firefox doesn't do this right in frames without #MSearchPanel added on. */

+    #MSearchPanel.MSearchPanelInactive:hover #MSearchType,

+    #MSearchType:focus {

+        visibility: visible;

+        color: #606060;

+        }

+    #MSearchType option#MSearchEverything {

+        font-weight: bold;

+        }

+

+    .Opera8 .MSearchPanelInactive:hover,

+    .Opera8 .MSearchPanelActive {

+        margin-left: -1px;

+        }

+

+

+    iframe#MSearchResults {

+        width: 60ex;

+        height: 15em;

+        }

+    #MSearchResultsWindow {

+        display: none;

+        position: absolute;

+        left: 0; top: 0;

+        border: 1px solid #000000;

+        background-color: #E8E8E8;

+        }

+    #MSearchResultsWindowClose {

+        font-weight: bold;

+        font-size: 8pt;

+        display: block;

+        padding: 2px 5px;

+        }

+    #MSearchResultsWindowClose:link,

+    #MSearchResultsWindowClose:visited {

+        color: #000000;

+        text-decoration: none;

+        }

+    #MSearchResultsWindowClose:active,

+    #MSearchResultsWindowClose:hover {

+        color: #800000;

+        text-decoration: none;

+        background-color: #F4F4F4;

+        }

+

+

+

+

+#Content {

+    padding-bottom: 15px;

+    }

+

+.ContentPage #Content {

+    border-width: 0 0 1px 1px;

+    border-style: solid;

+    border-color: #000000;

+    background-color: #FFFFFF;

+    font-size: 9pt;  /* To make 31ex match the menu's 31ex. */

+    margin-left: 31ex;

+    }

+.ContentPage .Firefox #Content {

+    margin-left: 27ex;

+    }

+

+

+

+    .CTopic {

+        font-size: 10pt;

+        margin-bottom: 3em;

+        }

+

+

+    .CTitle {

+        font-size: 12pt; font-weight: bold;

+        border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;

+        margin: 0 15px .5em 15px }

+

+    .CGroup .CTitle {

+        font-size: 16pt; font-variant: small-caps;

+        padding-left: 15px; padding-right: 15px;

+        border-width: 0 0 2px 0; border-color: #000000;

+        margin-left: 0; margin-right: 0 }

+

+    .CClass .CTitle,

+    .CInterface .CTitle,

+    .CDatabase .CTitle,

+    .CDatabaseTable .CTitle,

+    .CSection .CTitle {

+        font-size: 18pt;

+        color: #FFFFFF; background-color: #A0A0A0;

+        padding: 10px 15px 10px 15px;

+        border-width: 2px 0; border-color: #000000;

+        margin-left: 0; margin-right: 0 }

+

+    #MainTopic .CTitle {

+        font-size: 20pt;

+        color: #FFFFFF; background-color: #7070C0;

+        padding: 10px 15px 10px 15px;

+        border-width: 0 0 3px 0; border-color: #000000;

+        margin-left: 0; margin-right: 0 }

+

+    .CBody {

+        margin-left: 15px; margin-right: 15px }

+

+

+    .CToolTip {

+        position: absolute; visibility: hidden;

+        left: 0; top: 0;

+        background-color: #FFFFE0;

+        padding: 5px;

+        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;

+        font-size: 8pt;

+        }

+

+    .Opera .CToolTip {

+        max-width: 98%;

+        }

+

+    /*  Scrollbars would be useless.  */

+    .CToolTip blockquote {

+        overflow: hidden;

+        }

+    .IE6 .CToolTip blockquote {

+        overflow: visible;

+        }

+

+    .CHeading {

+        font-weight: bold; font-size: 10pt;

+        margin: 1.5em 0 .5em 0;

+        }

+

+    .CBody pre {

+        font: 10pt "Courier New", Courier, monospace;

+        margin: 1em 0;

+        }

+

+    .CBody ul {

+        /*  I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.

+             Reapply it here as padding.  */

+        padding-left: 15px; padding-right: 15px;

+        margin: .5em 5ex .5em 5ex;

+        }

+

+    .CDescriptionList {

+        margin: .5em 5ex 0 5ex }

+

+        .CDLEntry {

+            font: 10pt "Courier New", Courier, monospace; color: #808080;

+            padding-bottom: .25em;

+            white-space: nowrap }

+

+        .CDLDescription {

+            font-size: 10pt;  /*  For browsers that don't inherit correctly, like Opera 5.  */

+            padding-bottom: .5em; padding-left: 5ex }

+

+

+    .CTopic img {

+        text-align: center;

+        display: block;

+        margin: 1em auto;

+        }

+    .CImageCaption {

+        font-variant: small-caps;

+        font-size: 8pt;

+        color: #808080;

+        text-align: center;

+        position: relative;

+        top: 1em;

+        }

+

+    .CImageLink {

+        color: #808080;

+        font-style: italic;

+        }

+    a.CImageLink:link,

+    a.CImageLink:visited,

+    a.CImageLink:hover { color: #808080 }

+

+

+

+

+

+.Prototype {

+    font: 10pt "Courier New", Courier, monospace;

+    padding: 5px 3ex;

+    border-width: 1px; border-style: solid;

+    margin: 0 5ex 1.5em 5ex;

+    }

+

+    .Prototype td {

+        font-size: 10pt;

+        }

+

+    .PDefaultValue,

+    .PDefaultValuePrefix,

+    .PTypePrefix {

+        color: #8F8F8F;

+        }

+    .PTypePrefix {

+        text-align: right;

+        }

+    .PAfterParameters {

+        vertical-align: bottom;

+        }

+

+    .IE .Prototype table {

+        padding: 0;

+        }

+

+    .CFunction .Prototype {

+        background-color: #F4F4F4; border-color: #D0D0D0 }

+    .CProperty .Prototype {

+        background-color: #F4F4FF; border-color: #C0C0E8 }

+    .CVariable .Prototype {

+        background-color: #FFFFF0; border-color: #E0E0A0 }

+

+    .CClass .Prototype {

+        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;

+        background-color: #F4F4F4;

+        }

+    .CInterface .Prototype {

+        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0D0;

+        background-color: #F4F4FF;

+        }

+

+    .CDatabaseIndex .Prototype,

+    .CConstant .Prototype {

+        background-color: #D0D0D0; border-color: #000000 }

+    .CType .Prototype,

+    .CEnumeration .Prototype {

+        background-color: #FAF0F0; border-color: #E0B0B0;

+        }

+    .CDatabaseTrigger .Prototype,

+    .CEvent .Prototype,

+    .CDelegate .Prototype {

+        background-color: #F0FCF0; border-color: #B8E4B8 }

+

+    .CToolTip .Prototype {

+        margin: 0 0 .5em 0;

+        white-space: nowrap;

+        }

+

+

+

+

+

+.Summary {

+    margin: 1.5em 5ex 0 5ex }

+

+    .STitle {

+        font-size: 12pt; font-weight: bold;

+        margin-bottom: .5em }

+

+

+    .SBorder {

+        background-color: #FFFFF0;

+        padding: 15px;

+        border: 1px solid #C0C060 }

+

+    /* In a frame IE 6 will make them too long unless you set the width to 100%.  Without frames it will be correct without a width

+        or slightly too long (but not enough to scroll) with a width.  This arbitrary weirdness simply astounds me.  IE 7 has the same

+        problem with frames, haven't tested it without.  */

+    .FramedContentPage .IE .SBorder {

+        width: 100% }

+

+    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */

+    .Firefox .SBorder {

+        -moz-border-radius: 20px }

+

+

+    .STable {

+        font-size: 9pt; width: 100% }

+

+    .SEntry {

+        width: 30% }

+    .SDescription {

+        width: 70% }

+

+

+    .SMarked {

+        background-color: #F8F8D8 }

+

+    .SDescription { padding-left: 2ex }

+    .SIndent1 .SEntry { padding-left: 1.5ex }   .SIndent1 .SDescription { padding-left: 3.5ex }

+    .SIndent2 .SEntry { padding-left: 3.0ex }   .SIndent2 .SDescription { padding-left: 5.0ex }

+    .SIndent3 .SEntry { padding-left: 4.5ex }   .SIndent3 .SDescription { padding-left: 6.5ex }

+    .SIndent4 .SEntry { padding-left: 6.0ex }   .SIndent4 .SDescription { padding-left: 8.0ex }

+    .SIndent5 .SEntry { padding-left: 7.5ex }   .SIndent5 .SDescription { padding-left: 9.5ex }

+

+    .SDescription a { color: #800000}

+    .SDescription a:active { color: #A00000 }

+

+    .SGroup td {

+        padding-top: .5em; padding-bottom: .25em }

+

+    .SGroup .SEntry {

+        font-weight: bold; font-variant: small-caps }

+

+    .SGroup .SEntry a { color: #800000 }

+    .SGroup .SEntry a:active { color: #F00000 }

+

+

+    .SMain td,

+    .SClass td,

+    .SDatabase td,

+    .SDatabaseTable td,

+    .SSection td {

+        font-size: 10pt;

+        padding-bottom: .25em }

+

+    .SClass td,

+    .SDatabase td,

+    .SDatabaseTable td,

+    .SSection td {

+        padding-top: 1em }

+

+    .SMain .SEntry,

+    .SClass .SEntry,

+    .SDatabase .SEntry,

+    .SDatabaseTable .SEntry,

+    .SSection .SEntry {

+        font-weight: bold;

+        }

+

+    .SMain .SEntry a,

+    .SClass .SEntry a,

+    .SDatabase .SEntry a,

+    .SDatabaseTable .SEntry a,

+    .SSection .SEntry a { color: #000000 }

+

+    .SMain .SEntry a:active,

+    .SClass .SEntry a:active,

+    .SDatabase .SEntry a:active,

+    .SDatabaseTable .SEntry a:active,

+    .SSection .SEntry a:active { color: #A00000 }

+

+

+

+

+

+.ClassHierarchy {

+    margin: 0 15px 1em 15px }

+

+    .CHEntry {

+        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;

+        margin-bottom: 3px;

+        padding: 2px 2ex;

+        font-size: 10pt;

+        background-color: #F4F4F4; color: #606060;

+        }

+

+    .Firefox .CHEntry {

+        -moz-border-radius: 4px;

+        }

+

+    .CHCurrent .CHEntry {

+        font-weight: bold;

+        border-color: #000000;

+        color: #000000;

+        }

+

+    .CHChildNote .CHEntry {

+        font-style: italic;

+        font-size: 8pt;

+        }

+

+    .CHIndent {

+        margin-left: 3ex;

+        }

+

+    .CHEntry a:link,

+    .CHEntry a:visited,

+    .CHEntry a:hover {

+        color: #606060;

+        }

+    .CHEntry a:active {

+        color: #800000;

+        }

+

+

+

+

+

+#Index {

+    background-color: #FFFFFF;

+    }

+

+/*  As opposed to .PopupSearchResultsPage #Index  */

+.IndexPage #Index,

+.FramedIndexPage #Index,

+.FramedSearchResultsPage #Index {

+    padding: 15px;

+    }

+

+.IndexPage #Index {

+    border-width: 0 0 1px 1px;

+    border-style: solid;

+    border-color: #000000;

+    font-size: 9pt;  /* To make 27ex match the menu's 27ex. */

+    margin-left: 27ex;

+    }

+

+

+    .IPageTitle {

+        font-size: 20pt; font-weight: bold;

+        color: #FFFFFF; background-color: #7070C0;

+        padding: 10px 15px 10px 15px;

+        border-width: 0 0 3px 0; border-color: #000000; border-style: solid;

+        margin: -15px -15px 0 -15px }

+

+    .FramedSearchResultsPage .IPageTitle {

+        margin-bottom: 15px;

+        }

+

+    .INavigationBar {

+        font-size: 10pt;

+        text-align: center;

+        background-color: #FFFFF0;

+        padding: 5px;

+        border-bottom: solid 1px black;

+        margin: 0 -15px 15px -15px;

+        }

+

+    .INavigationBar a {

+        font-weight: bold }

+

+    .IHeading {

+        font-size: 16pt; font-weight: bold;

+        padding: 2.5em 0 .5em 0;

+        text-align: center;

+        width: 3.5ex;

+        }

+    #IFirstHeading {

+        padding-top: 0;

+        }

+

+    .IEntry {

+        font-size: 10pt;

+        padding-left: 1ex;

+        }

+    .PopupSearchResultsPage .IEntry {

+        font-size: 8pt;

+        padding: 1px 5px;

+        }

+    .PopupSearchResultsPage .Opera9 .IEntry,

+    .FramedSearchResultsPage .Opera9 .IEntry {

+        text-align: left;

+        }

+    .FramedSearchResultsPage .IEntry {

+        padding: 0;

+        }

+

+    .ISubIndex {

+        padding-left: 3ex; padding-bottom: .5em }

+    .PopupSearchResultsPage .ISubIndex {

+        display: none;

+        }

+

+    /*  While it may cause some entries to look like links when they aren't, I found it's much easier to read the

+         index if everything's the same color.  */

+    .ISymbol {

+        font-weight: bold; color: #900000  }

+

+    .IndexPage .ISymbolPrefix,

+    .FramedIndexPage .ISymbolPrefix {

+        font-size: 10pt;

+        text-align: right;

+        color: #C47C7C;

+        background-color: #F8F8F8;

+        border-right: 3px solid #E0E0E0;

+        border-left: 1px solid #E0E0E0;

+        padding: 0 1px 0 2px;

+        }

+    .PopupSearchResultsPage .ISymbolPrefix,

+    .FramedSearchResultsPage .ISymbolPrefix {

+        color: #900000;

+        }

+    .PopupSearchResultsPage .ISymbolPrefix {

+        font-size: 8pt;

+        }

+

+    .IndexPage #IFirstSymbolPrefix,

+    .FramedIndexPage #IFirstSymbolPrefix {

+        border-top: 1px solid #E0E0E0;

+        }

+    .IndexPage #ILastSymbolPrefix,

+    .FramedIndexPage #ILastSymbolPrefix {

+        border-bottom: 1px solid #E0E0E0;

+        }

+    .IndexPage #IOnlySymbolPrefix,

+    .FramedIndexPage #IOnlySymbolPrefix {

+        border-top: 1px solid #E0E0E0;

+        border-bottom: 1px solid #E0E0E0;

+        }

+

+    a.IParent,

+    a.IFile {

+        display: block;

+        }

+

+    .PopupSearchResultsPage .SRStatus {

+        padding: 2px 5px;

+        font-size: 8pt;

+        font-style: italic;

+        }

+    .FramedSearchResultsPage .SRStatus {

+        font-size: 10pt;

+        font-style: italic;

+        }

+

+    .SRResult {

+        display: none;

+        }

+

+

+

+#Footer {

+    font-size: 8pt;

+    color: #989898;

+    text-align: right;

+    }

+

+#Footer p {

+    text-indent: 0;

+    margin-bottom: .5em;

+    }

+

+.ContentPage #Footer,

+.IndexPage #Footer {

+    text-align: right;

+    margin: 2px;

+    }

+

+.FramedMenuPage #Footer {

+    text-align: center;

+    margin: 5em 10px 10px 10px;

+    padding-top: 1em;

+    border-top: 1px solid #C8C8C8;

+    }

+

+    #Footer a:link,

+    #Footer a:hover,

+    #Footer a:visited { color: #989898 }

+    #Footer a:active { color: #A00000 }

+

diff --git a/src/engine/docs/server_op.txt b/src/engine/docs/server_op.txt
new file mode 100644
index 00000000..59181e62
--- /dev/null
+++ b/src/engine/docs/server_op.txt
@@ -0,0 +1,39 @@
+Title: Server Operation
+
+Section: Init
+
+Section: Running
+
+Here is an graph over how the server operates on each refresh.
+
+(start code)
+load map
+init mod
+
+while running
+	if map change then
+		load new map
+		shutdown mod <mods_shutdown>
+		reset clients to init state
+		init mod <mods_init>
+	end if
+
+	if new tick then
+		call <mods_tick>
+		for each client do
+			create snapshot <mods_snap>
+			send snapshot
+		end for
+	end
+	
+	process new network messages
+end while
+
+unload map
+(end)
+		
+
+
+Section: Reinit
+
+Section: Shutdown
diff --git a/src/engine/docs/snapshots.txt b/src/engine/docs/snapshots.txt
new file mode 100644
index 00000000..647b049a
--- /dev/null
+++ b/src/engine/docs/snapshots.txt
@@ -0,0 +1,58 @@
+Title: Snapshots
+
+Section: Overview
+
+Topic: Definitions
+
+- *Snapshot*. A is a serialized game state from which a client can render the game from. They are sent from the server at a regular interval and is created specificly for each client in order to reduce bandwidth.
+- *Delta Snapshot*. A set of data that can be applied to a snapshot in order to create a new snapshot with the updated game state.
+
+Topic: Structure
+
+A snapshot contains a series of items. Each item have a type, id and data.
+
+- *Type*. Type of item. Could be projectile or character for example.
+- *Id*. A unique id so the client can identify the item between two snapshots.
+- *Data*. A series of 32-bit integers that contains the per item type specific data.
+
+Section: Server Side
+
+Topic: Creating
+
+Items can be added when <mods_snap> is called using the <snap_new_item> function to insert an item to the snapshot. The server can not inspect the snapshot that is in progress of being created.
+
+Section: Client Side
+
+Topic: Inspection
+<modc_newsnapshot> is called when a new snapshot has arrived for processing. <snap_num_items>, <snap_get_item> and <snap_find_item> can be used to inspect the current and previous snapshot. This can be done anywhere while the client is running and not just in the <modc_newsnapshot> function. The client can also call <snap_invalidate_item> if an item contains improper information that could harm the operation of the client. This should however be done in <modc_newsnapshot> to assure that no bad data propagates into the rest of the client.
+
+Topic: Rendering
+DOCTODO
+
+Section: In depth
+
+Topic: Compression
+
+After a snapshot have been created, compression is applyed to reduce the bandwidth. There are several steps taken inorder to reduce the size of the size of the snapshot.
+
+- *Delta*. The server looks in a clients backlog of snapshots to find a previous acked snapshot. It then compares the two snapshots and creates a delta snapshot containing the changes from the previous acked snapshot to the new one.
+- *Variable Integers*. The delta snapshot which is only consisting of 32-bit integers is then encoded into variable integers similar to UTF-8. Each byte has a bit that tells the decoder that it needs one more byte to decode the 32-bit integer. The first byte also contains a bit for telling the sign of the integer.
+
+> ESDDDDDD EDDDDDDD EDDDDDDD EDDDDDDD
+
+> E = extend
+> S = sign
+> D = data bit
+
+- *Huffman*. The last step is to compress the buffer with a huffman encoder. It uses a static tree that is weighted towards 0 because it's where most of the data will be because of the delta compression.
+
+Topic: Interval
+
+The interval for how often a client recives a snapshot changes during the course of the connection. There are three different snapshot rates. 
+
+- *Init*. 5 snapshots per second. Used when a client is connecting and used until the client has acknowlaged a snapshot. This mechanism is used because the first snapshot because no delta compression can be done.
+
+- *Full*. Snapshot for every tick or every even tick depending on server configuration. This is used during normal gameplay and everything is running smooth.
+
+- *Recovery*. 1 snapshot each second. A client enters recovery rate when it havn't acknowlaged a snapshot over 1 second. This is to let the client to beable to recover if it has a slow connection.
+
diff --git a/src/engine/e_system.c b/src/engine/e_system.c
index eeadbb95..1be7ea30 100644
--- a/src/engine/e_system.c
+++ b/src/engine/e_system.c
@@ -760,14 +760,14 @@ int fs_storage_path(const char *appname, char *path, int max)
 	HRESULT r;
 	char *home = getenv("APPDATA");
 	if(!home)
-		return 1;
+		return -1;
 	_snprintf(path, max, "%s/%s", home, appname);
 	return 0;
 #else
 	char *home = getenv("HOME");
 	int i;
 	if(!home)
-		return 0;
+		return -1;
 
 #if defined(CONF_PLATFORM_MACOSX)
 	snprintf(path, max, "%s/Library/Application Support/%s", home, appname);
@@ -777,7 +777,7 @@ int fs_storage_path(const char *appname, char *path, int max)
 		path[i] = tolower(path[i]);
 #endif
 	
-	return 1;
+	return 0;
 #endif
 }
 
@@ -788,13 +788,13 @@ int fs_makedir(const char *path)
 			return 0;
 	if(errno == EEXIST)
 		return 0;
-	return 1;
+	return -1;
 #else
 	if(mkdir(path, 0755) == 0)
 		return 0;
 	if(errno == EEXIST)
 		return 0;
-	return 1;
+	return -1;
 #endif
 }
 
diff --git a/src/engine/e_system.h b/src/engine/e_system.h
index 0b1cbaab..ac9e7cc6 100644
--- a/src/engine/e_system.h
+++ b/src/engine/e_system.h
@@ -408,7 +408,7 @@ int64 time_freq();
 */
 unsigned time_timestamp();
 
-/* Group: Network General ipv4 */
+/* Group: Network General */
 typedef int NETSOCKET;
 enum
 {
@@ -420,13 +420,6 @@ enum
 	NETTYPE_ALL = ~0
 };
 
-/*
-typedef struct
-{
-	unsigned char ip[4];
-	unsigned short port;
-} NETADDR4;*/
-
 typedef struct
 {
 	unsigned int type;
@@ -435,14 +428,58 @@ typedef struct
 } NETADDR;
 
 /*
+	Function: net_init
+		Initiates network functionallity.
+	
+	Returns:
+		Returns 0 on success,
+		
+	Remarks:
+		You must call this function before using any other network
+		functions.
+*/
+int net_init();
+
+/*
 	Function: net_host_lookup
-		Does a hostname lookup by name and fills out the passed NETADDR struct with the recieved details.
+		Does a hostname lookup by name and fills out the passed
+		NETADDR struct with the recieved details.
 
 	Returns:
 		0 on success.
 */
 int net_host_lookup(const char *hostname, NETADDR *addr, int types);
 
+/*
+	Function: net_addr_comp
+		Compares two network addresses.
+	
+	Parameters:
+		a - Address to compare
+		b - Address to compare to.
+	
+	Returns:
+		<0 - Address a is lesser then address b
+		0 - Address a is equal to address b
+		>0 - Address a is greater then address b
+*/
+int net_addr_comp(const NETADDR *a, const NETADDR *b);
+
+/*
+	Function: net_addr_str
+		Turns a network address into a representive string.
+	
+	Parameters:
+		addr - Address to turn into a string.
+		string - Buffer to fill with the string.
+		max_length - Maximum size of the string.
+		
+	Remarks:
+		- The string will always be zero terminated
+
+*/
+int net_addr_str(const NETADDR *addr, char *string, int max_length);
+
 /* Group: Network UDP */
 
 /*
@@ -450,10 +487,11 @@ int net_host_lookup(const char *hostname, NETADDR *addr, int types);
 		Creates a UDP socket and binds it to a port.
 
 	Parameters:
-		port - Port to bind the socket to.
+		bindaddr - Address to bind the socket to.
 	
 	Returns:
-		On success it returns an handle to the socket. On failure it returns NETSOCKET_INVALID.
+		On success it returns an handle to the socket. On failure it
+		returns NETSOCKET_INVALID.
 */
 NETSOCKET net_udp_create(NETADDR bindaddr);
 
@@ -468,7 +506,8 @@ NETSOCKET net_udp_create(NETADDR bindaddr);
 		size - Size of the packet.
 	
 	Returns:
-		On success it returns the number of bytes sent. Returns -1 on error.
+		On success it returns the number of bytes sent. Returns -1
+		on error.
 */
 int net_udp_send(NETSOCKET sock, const NETADDR *addr, const void *data, int size);
 
@@ -483,7 +522,8 @@ int net_udp_send(NETSOCKET sock, const NETADDR *addr, const void *data, int size
 		maxsize - Maximum size to recive.
 	
 	Returns:
-		On success it returns the number of bytes recived. Returns -1 on error.
+		On success it returns the number of bytes recived. Returns -1
+		on error.
 */
 int net_udp_recv(NETSOCKET sock, NETADDR *addr, void *data, int maxsize);
 
@@ -504,95 +544,97 @@ int net_udp_close(NETSOCKET sock);
 
 /*
 	Function: net_tcp_create
+		Creates a TCP socket.
 	
-	DOCTODO: serp
-*/
-NETSOCKET net_tcp_create(const NETADDR *a);
-
-/*
-	Function: net_tcp_set_non_blocking
-
-	DOCTODO: serp
-*/
-int net_tcp_set_non_blocking(NETSOCKET sock);
-
-/*
-	Function: net_tcp_set_non_blocking
+	Parameters:
+		bindaddr - Address to bind the socket to.
 
-	DOCTODO: serp
+	Returns:
+		On success it returns an handle to the socket. On failure it returns NETSOCKET_INVALID.
 */
-int net_tcp_set_blocking(NETSOCKET sock);
+NETSOCKET net_tcp_create(const NETADDR *a);
 
 /*
 	Function: net_tcp_listen
-
-	DOCTODO: serp 
+		Makes the socket start listening for new connections.
+	
+	Parameters:
+		sock - Socket to start listen to.
+		backlog - Size of the queue of incomming connections to keep.
+	
+	Returns:
+		Returns 0 on success.
 */
 int net_tcp_listen(NETSOCKET sock, int backlog);
 
 /*
 	Function: net_tcp_accept
+		Polls a listning socket for a new connection.
+		
+	Parameters:
+		sock - Listning socket to poll.
+		new_sock - Pointer to a socket to fill in with the new socket.
+		addr - Pointer to an address that will be filled in the remote address (optional, can be NULL).
 	
-	DOCTODO: serp
+	Returns:
+		Returns a non-negative integer on success. Negative integer on failure.
 */
-int net_tcp_accept(NETSOCKET sock, NETSOCKET *new_sock, NETADDR *a);
+int net_tcp_accept(NETSOCKET sock, NETSOCKET *new_sock, NETADDR *addr);
 
 /*
 	Function: net_tcp_connect
-	
-	DOCTODO: serp
-*/
-int net_tcp_connect(NETSOCKET sock, const NETADDR *a);
+		Connects one socket to another.
+		
+	Parameters:
+		sock - Socket to connect.
+		addr - Address to connect to.
 
-/*
-	Function: net_tcp_connect_non_blocking
-	
-	DOCTODO: serp
+	Returns:
+		Returns 0 on success.
+			
 */
-int net_tcp_connect_non_blocking(NETSOCKET sock, const NETADDR *a);
+int net_tcp_connect(NETSOCKET sock, const NETADDR *addr);
 
 /*
 	Function: net_tcp_send
+		Sends data to a TCP stream.
 	
-	DOCTODO: serp
+	Parameters:
+		sock - Socket to send data to.
+		data - Pointer to the data to send.
+		size - Size of the data to send.
+	
+	Returns:
+		Number of bytes sent. Negative value on failure.
 */
 int net_tcp_send(NETSOCKET sock, const void *data, int size);
 
 /*
 	Function: net_tcp_recv
-	
-	DOCTODO: serp
+		Recvives data from a TCP stream.
+		
+	Parameters:
+		sock - Socket to recvive data from.
+		data - Pointer to a buffer to write the data to
+		max_size - Maximum of data to write to the buffer.
+		
+	Returns:
+		Number of bytes recvived. Negative value on failure.
 */
 int net_tcp_recv(NETSOCKET sock, void *data, int maxsize);
 
 /*
 	Function: net_tcp_close
+		Closes a TCP socket.
 	
-	DOCTODO: serp
+	Parameters:
+		sock - Socket to close.
+	
+	Returns:
+		Returns 0 on success. Negative value on failure.
 */
 int net_tcp_close(NETSOCKET sock);
 
-/*
-	Function: net_errno
-
-	DOCTODO: serp
-*/
-int net_errno();
-
-/*
-	Function: net_would_block
-
-	DOCTODO: serp
-*/
-int net_would_block();
-
-/*
-	Function: net_init
-
-	DOCTODO: serp
-*/
-int net_init();
-
 /* Group: Strings */
 
 /*
@@ -676,7 +718,7 @@ void str_sanitize(char *str);
 		b - String to compare.
 	
 	Returns:	
-		<0 - String g a is lesser then string b
+		<0 - String a is lesser then string b
 		0 - String a is equal to string b
 		>0 - String a is greater then string b
 
@@ -720,6 +762,7 @@ const char *str_find_nocase(const char *haystack, const char *needle);
 */
 void str_hex(char *dst, int dst_size, const void *data, int data_size);
 
+/* Group: Filesystem */
 
 /*
 	Function: fs_listdir
@@ -731,7 +774,7 @@ void str_hex(char *dst, int dst_size, const void *data, int data_size);
 		user - Pointer to give to the callback
 	
 	Returns:
-		DOCTODO
+		Always returns 0.
 */
 typedef void (*fs_listdir_callback)(const char *name, int is_dir, void *user);
 int fs_listdir(const char *dir, fs_listdir_callback cb, void *user);
@@ -744,7 +787,7 @@ int fs_listdir(const char *dir, fs_listdir_callback cb, void *user);
 		path - Directory to create
 	
 	Returns:
-		DOCTODO
+		Returns 0 on success. Negative value on failure.
 	
 	Remarks:
 		Does not create several directories if needed. "a/b/c" will result
@@ -757,10 +800,11 @@ int fs_makedir(const char *path);
 		Fetches per user configuration directory.
 	
 	Returns:
-		DOCTODO
+		Returns 0 on success. Negative value on failure.
 	
 	Remarks:
 		- Returns ~/.appname on UNIX based systems
+		- Returns ~/Library/Applications Support/appname on Mac OS X
 		- Returns %APPDATA%/Appname on Windows based systems
 */
 int fs_storage_path(const char *appname, char *path, int max);
@@ -770,8 +814,42 @@ int fs_storage_path(const char *appname, char *path, int max);
 	Group: Undocumented
 */
 
-int net_addr_comp(const NETADDR *a, const NETADDR *b);
-int net_addr_str(const NETADDR *addr, char *string, int max_length);
+
+/*
+	Function: net_tcp_connect_non_blocking
+	
+	DOCTODO: serp
+*/
+int net_tcp_connect_non_blocking(NETSOCKET sock, const NETADDR *a);
+
+/*
+	Function: net_tcp_set_non_blocking
+
+	DOCTODO: serp
+*/
+int net_tcp_set_non_blocking(NETSOCKET sock);
+
+/*
+	Function: net_tcp_set_non_blocking
+
+	DOCTODO: serp
+*/
+int net_tcp_set_blocking(NETSOCKET sock);
+
+/*
+	Function: net_errno
+
+	DOCTODO: serp
+*/
+int net_errno();
+
+/*
+	Function: net_would_block
+
+	DOCTODO: serp
+*/
+int net_would_block();
+
 int net_socket_read_wait(NETSOCKET sock, int time);
 
 void mem_debug_dump();
diff --git a/src/game/server/gs_common.hpp b/src/game/server/gs_common.hpp
index ff939116..ce03d728 100644
--- a/src/game/server/gs_common.hpp
+++ b/src/game/server/gs_common.hpp
@@ -9,6 +9,28 @@ inline int cmask_one(int cid) { return 1<<cid; }
 inline int cmask_all_except_one(int cid) { return 0x7fffffff^cmask_one(cid); }
 inline bool cmask_is_set(int mask, int cid) { return (mask&cmask_one(cid)) != 0; }
 
+/*
+	Tick
+		Game Context (GAMECONTEXT::tick)
+			Game World (GAMEWORLD::tick)
+				Reset world if requested (GAMEWORLD::reset)
+				All entities in the world (ENTITY::tick)
+				All entities in the world (ENTITY::tick_defered)
+				Remove entities marked for deletion (GAMEWORLD::remove_entities)
+			Game Controller (GAMECONTROLLER::tick)
+			All players (PLAYER::tick)
+			
+
+	Snap
+		Game Context (GAMECONTEXT::snap)
+			Game World (GAMEWORLD::snap)
+				All entities in the world (ENTITY::snap)
+			Game Controller (GAMECONTROLLER::snap)
+			Events handler (EVENT_HANDLER::snap)
+			All players (PLAYER::snap)
+
+*/
+
 
 
 //
@@ -78,7 +100,7 @@ public:
 	virtual void tick() {}
 
 	/*
-		Function: tick
+		Function: tick_defered
 		Called after all entities tick() function has been called.
 	*/
 	virtual void tick_defered() {}
@@ -143,6 +165,7 @@ public:
 	/*
 		Function: find_entities
 			Finds entities close to a position and returns them in a list.
+			
 		Arguments:
 			pos - Position.
 			radius - How close the entities have to be.
@@ -150,6 +173,7 @@ public:
 				to the entities.
 			max - Number of entities that fits into the ents array.
 			type - Type of the entities to find. -1 for all types.
+			
 		Returns:
 			Number of entities found and added to the ents array.
 	*/
@@ -158,12 +182,14 @@ public:
 	/*
 		Function: interserct_character
 			Finds the closest character that intersects the line.
+			
 		Arguments:
 			pos0 - Start position
 			pos2 - End position
 			radius - How for from the line the character is allowed to be.
 			new_pos - Intersection position
 			notthis - Entity to ignore intersecting with
+			
 		Returns:
 			Returns a pointer to the closest hit or NULL of there is no intersection.
 	*/
@@ -172,10 +198,12 @@ public:
 	/*
 		Function: closest_character
 			Finds the closest character to a specific point.
+			
 		Arguments:
 			pos - The center position.
 			radius - How far off the character is allowed to be
 			notthis - Entity to ignore
+			
 		Returns:
 			Returns a pointer to the closest character or NULL if no character is close enough.
 	*/
@@ -184,6 +212,7 @@ public:
 	/*
 		Function: insert_entity
 			Adds an entity to the world.
+			
 		Arguments:
 			entity - Entity to add
 	*/
@@ -192,6 +221,7 @@ public:
 	/*
 		Function: remove_entity
 			Removes an entity from the world.
+			
 		Arguments:
 			entity - Entity to remove
 	*/
@@ -200,6 +230,7 @@ public:
 	/*
 		Function: destroy_entity
 			Destroys an entity in the world.
+			
 		Arguments:
 			entity - Entity to destroy
 	*/
@@ -209,6 +240,7 @@ public:
 		Function: snap
 			Calls snap on all the entities in the world to create
 			the snapshot.
+			
 		Arguments:
 			snapping_client - ID of the client which snapshot
 			is being created.
@@ -271,9 +303,11 @@ public:
 		Function: on_entity
 			Called when the map is loaded to process an entity
 			in the map.
+			
 		Arguments:
 			index - Entity index.
 			pos - Where the entity is located in the world.
+			
 		Returns:
 			bool?
 	*/
@@ -282,6 +316,7 @@ public:
 	/*
 		Function: on_character_spawn
 			Called when a character spawns into the game world.
+			
 		Arguments:
 			chr - The character that was spawned.
 	*/
@@ -290,6 +325,7 @@ public:
 	/*
 		Function: on_character_death
 			Called when a character in the world dies.
+			
 		Arguments:
 			victim - The character that died.
 			killer - The player that killed it.
diff --git a/src/game/server/gs_server.cpp b/src/game/server/gs_server.cpp
index 5f5662d0..a4176003 100644
--- a/src/game/server/gs_server.cpp
+++ b/src/game/server/gs_server.cpp
@@ -724,8 +724,8 @@ void GAMECONTEXT::tick()
 	world.core.tuning = tuning;
 	world.tick();
 
-	if(world.paused) // make sure that the game object always updates
-		controller->tick();
+	//if(world.paused) // make sure that the game object always updates
+	controller->tick();
 		
 	for(int i = 0; i < MAX_CLIENTS; i++)
 	{
@@ -737,8 +737,8 @@ void GAMECONTEXT::tick()
 void GAMECONTEXT::snap(int client_id)
 {
 	world.snap(client_id);
-	events.snap(client_id);
 	controller->snap(client_id);
+	events.snap(client_id);
 	
 	for(int i = 0; i < MAX_CLIENTS; i++)
 	{