Compare commits

...

10 commits

Author SHA1 Message Date
James Monroe
fef8196981 remove 3rd party libs 2013-04-05 15:45:37 -05:00
James Monroe
bd062e82af remove 3rd party libs 2013-04-05 15:44:25 -05:00
James Monroe
7b74950e24 remove scc files 2013-04-05 10:33:06 -05:00
James Monroe
1963e9b17e Merge branch 'master' of ssh://git.code.sf.net/p/jedioutcast/code 2013-04-04 19:23:01 -05:00
James Monroe
2b0de75c52 Jedi Outcast Release v1.0 2013-04-04 19:19:46 -05:00
James Monroe
26f7c45080 Jedi Academy Release 2013-04-04 19:15:39 -05:00
James Monroe
f6e1aab20e Jedi Outcast Release v1.0 2013-04-04 19:12:50 -05:00
James Monroe
c8563e028a Jedi Outcast MP Patch v1.04 2013-04-04 17:24:29 -05:00
James Monroe
6af9b594e1 Jedi Outcast Patch v1.03 2013-04-04 16:05:53 -05:00
James Monroe
fdf355590f Jedi Outcast Patch v1.02 2013-04-04 15:49:50 -05:00
513 changed files with 437419 additions and 13837 deletions

BIN
CODE-mp/ALut.lib Normal file

Binary file not shown.

BIN
CODE-mp/Debug/HA312W32.DLL Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Debug/SHW32.DLL Normal file

Binary file not shown.

BIN
CODE-mp/Debug/botlib.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Debug/cgamex86.dll Normal file

Binary file not shown.

BIN
CODE-mp/Debug/cgamex86.lib Normal file

Binary file not shown.

BIN
CODE-mp/Debug/jk2/vc60.idb Normal file

Binary file not shown.

BIN
CODE-mp/Debug/jk2mp.exe Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Debug/ui/vc60.idb Normal file

Binary file not shown.

BIN
CODE-mp/Debug/uix86.dll Normal file

Binary file not shown.

BIN
CODE-mp/Debug/uix86.lib Normal file

Binary file not shown.

BIN
CODE-mp/EaxMan.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Final/OpenAL32.dll Normal file

Binary file not shown.

BIN
CODE-mp/Final/botlib.lib Normal file

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Final/cgamex86.dll Normal file

Binary file not shown.

BIN
CODE-mp/Final/cgamex86.lib Normal file

Binary file not shown.

BIN
CODE-mp/Final/jk2/vc60.idb Normal file

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Final/jk2mp.exe Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Final/ui/vc60.idb Normal file

Binary file not shown.

BIN
CODE-mp/Final/uix86.dll Normal file

Binary file not shown.

BIN
CODE-mp/Final/uix86.lib Normal file

Binary file not shown.

BIN
CODE-mp/OpenAL32.dll Normal file

Binary file not shown.

BIN
CODE-mp/OpenAL32.lib Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Release/botlib.lib Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Release/jk2Ded.exe Normal file

Binary file not shown.

BIN
CODE-mp/Release/jk2mp.exe Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
CODE-mp/Release/ui/vc60.idb Normal file

Binary file not shown.

BIN
CODE-mp/Release/uix86.dll Normal file

Binary file not shown.

BIN
CODE-mp/Release/uix86.lib Normal file

Binary file not shown.

View file

@ -1,5 +0,0 @@
SCC = This is a Source Code Control file
[Splines.dsp]
SCC_Aux_Path = "\\ravend\vss_projects\jk2sof2MP"
SCC_Project_Name = "$/General/code/Splines", GAAAAAAA

Binary file not shown.

View file

@ -38,11 +38,11 @@ RSC=rc.exe
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Intermediate_Dir "Release/Dedicated"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DEDICATED" /D "BOTLIB" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DEDICATED" /D "BOTLIB" /FR /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@ -50,7 +50,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib Winmm.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib Winmm.lib /nologo /subsystem:console /machine:I386 /out:"Release/jk2Ded.exe"
!ELSEIF "$(CFG)" == "WinDed - Win32 Debug"
@ -62,11 +62,11 @@ LINK32=link.exe
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Intermediate_Dir "Debug/dedicated"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "DEDICATED" /D "_JK2" /D "BOTLIB" /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "DEDICATED" /D "_JK2" /D "BOTLIB" /FR /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib Winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib Winmm.lib /nologo /subsystem:console /debug /machine:I386 /out:"Debug/jk2Ded.exe" /pdbtype:sept
!ENDIF
@ -136,10 +136,6 @@ SOURCE=.\qcommon\cmd.cpp
# End Source File
# Begin Source File
SOURCE=.\qcommon\CNetProfile.cpp
# End Source File
# Begin Source File
SOURCE=.\qcommon\common.cpp
# End Source File
# Begin Source File
@ -160,30 +156,10 @@ SOURCE=.\qcommon\game_version.h
# End Source File
# Begin Source File
SOURCE=.\qcommon\GenericParser2.cpp
# End Source File
# Begin Source File
SOURCE=.\qcommon\GenericParser2.h
# End Source File
# Begin Source File
SOURCE=.\qcommon\hstring.cpp
# End Source File
# Begin Source File
SOURCE=.\qcommon\hstring.h
# End Source File
# Begin Source File
SOURCE=.\qcommon\huffman.cpp
# End Source File
# Begin Source File
SOURCE=.\qcommon\INetProfile.h
# End Source File
# Begin Source File
SOURCE=.\qcommon\md4.cpp
# End Source File
# Begin Source File
@ -756,14 +732,6 @@ SOURCE=.\png\png.h
# End Source File
# Begin Source File
SOURCE=.\game\q_math.c
# End Source File
# Begin Source File
SOURCE=.\game\q_shared.c
# End Source File
# Begin Source File
SOURCE=.\game\q_shared.h
# End Source File
# Begin Source File

View file

@ -6,114 +6,353 @@
--------------------Configuration: WinDed - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSPB2B.tmp" with contents
Creating temporary file "C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSP12B4.tmp" with contents
[
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "DEDICATED" /D "_JK2" /D "BOTLIB" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "DEDICATED" /D "_JK2" /D "BOTLIB" /FR"Debug/dedicated/" /Fo"Debug/dedicated/" /Fd"Debug/dedicated/" /FD /GZ /c
"C:\projects\jk2\CODE-mp\qcommon\cm_load.cpp"
"C:\projects\jk2\CODE-mp\qcommon\cm_patch.cpp"
"C:\projects\jk2\CODE-mp\qcommon\cm_polylib.cpp"
"C:\projects\jk2\CODE-mp\qcommon\cm_test.cpp"
"C:\projects\jk2\CODE-mp\qcommon\cm_trace.cpp"
"C:\projects\jk2\CODE-mp\qcommon\cmd.cpp"
"C:\projects\jk2\CODE-mp\qcommon\common.cpp"
"C:\projects\jk2\CODE-mp\qcommon\cvar.cpp"
"C:\projects\jk2\CODE-mp\qcommon\files.cpp"
"C:\projects\jk2\CODE-mp\qcommon\huffman.cpp"
"C:\projects\jk2\CODE-mp\qcommon\msg.cpp"
"C:\projects\jk2\CODE-mp\qcommon\net_chan.cpp"
"C:\projects\jk2\CODE-mp\qcommon\q_math.cpp"
"C:\projects\jk2\CODE-mp\qcommon\q_shared.cpp"
"C:\projects\jk2\CODE-mp\qcommon\RoffSystem.cpp"
"C:\projects\jk2\CODE-mp\qcommon\strip.cpp"
"C:\projects\jk2\CODE-mp\qcommon\unzip.cpp"
"C:\projects\jk2\CODE-mp\qcommon\vm.cpp"
"C:\projects\jk2\CODE-mp\qcommon\vm_interpreted.cpp"
"C:\projects\jk2\CODE-mp\qcommon\vm_x86.cpp"
"C:\projects\jk2\CODE-mp\ghoul2\G2_API.cpp"
"C:\projects\jk2\CODE-mp\ghoul2\G2_bolts.cpp"
"C:\projects\jk2\CODE-mp\ghoul2\G2_bones.cpp"
"C:\projects\jk2\CODE-mp\ghoul2\G2_misc.cpp"
"C:\projects\jk2\CODE-mp\ghoul2\G2_surfaces.cpp"
"C:\projects\jk2\CODE-mp\server\sv_bot.cpp"
"C:\projects\jk2\CODE-mp\server\sv_ccmds.cpp"
"C:\projects\jk2\CODE-mp\server\sv_client.cpp"
"C:\projects\jk2\CODE-mp\server\sv_game.cpp"
"C:\projects\jk2\CODE-mp\server\sv_init.cpp"
"C:\projects\jk2\CODE-mp\server\sv_main.cpp"
"C:\projects\jk2\CODE-mp\server\sv_net_chan.cpp"
"C:\projects\jk2\CODE-mp\server\sv_snapshot.cpp"
"C:\projects\jk2\CODE-mp\server\sv_world.cpp"
"C:\projects\jk2\CODE-mp\null\null_client.cpp"
"C:\projects\jk2\CODE-mp\null\null_glimp.cpp"
"C:\projects\jk2\CODE-mp\null\null_renderer.cpp"
"C:\projects\jk2\CODE-mp\null\null_input.cpp"
"C:\projects\jk2\CODE-mp\null\null_snddma.cpp"
"C:\projects\jk2\CODE-mp\null\win_main.cpp"
"C:\projects\jk2\CODE-mp\renderer\tr_backend.cpp"
"C:\projects\jk2\CODE-mp\renderer\tr_ghoul2.cpp"
"C:\projects\jk2\CODE-mp\renderer\tr_image.cpp"
"C:\projects\jk2\CODE-mp\renderer\tr_init.cpp"
"C:\projects\jk2\CODE-mp\renderer\tr_main.cpp"
"C:\projects\jk2\CODE-mp\renderer\tr_mesh.cpp"
"C:\projects\jk2\CODE-mp\renderer\tr_model.cpp"
"C:\projects\jk2\CODE-mp\renderer\tr_shader.cpp"
"C:\projects\jk2\CODE-mp\win32\win_net.cpp"
"C:\projects\jk2\CODE-mp\win32\win_shared.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_bspq3.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_cluster.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_debug.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_entity.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_file.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_main.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_move.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_optimize.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_reach.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_route.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_routealt.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_aas_sample.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_ai_char.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_ai_chat.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_ai_gen.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_ai_goal.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_ai_move.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_ai_weap.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_ai_weight.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_ea.cpp"
"C:\projects\jk2\CODE-mp\botlib\be_interface.cpp"
"C:\projects\jk2\CODE-mp\botlib\l_crc.cpp"
"C:\projects\jk2\CODE-mp\botlib\l_libvar.cpp"
"C:\projects\jk2\CODE-mp\botlib\l_log.cpp"
"C:\projects\jk2\CODE-mp\botlib\l_memory.cpp"
"C:\projects\jk2\CODE-mp\botlib\l_precomp.cpp"
"C:\projects\jk2\CODE-mp\botlib\l_script.cpp"
"C:\projects\jk2\CODE-mp\botlib\l_struct.cpp"
]
Creating command line "cl.exe @C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSPB2B.tmp"
Creating temporary file "C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSPB2C.tmp" with contents
Creating command line "cl.exe @C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSP12B4.tmp"
Creating temporary file "C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSP12B5.tmp" with contents
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib Winmm.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/WinDed.pdb" /debug /machine:I386 /out:"Debug/WinDed.exe" /pdbtype:sept
".\Debug\cm_load.obj"
".\Debug\cm_patch.obj"
".\Debug\cm_polylib.obj"
".\Debug\cm_test.obj"
".\Debug\cm_trace.obj"
".\Debug\cmd.obj"
".\Debug\CNetProfile.obj"
".\Debug\common.obj"
".\Debug\cvar.obj"
".\Debug\files.obj"
".\Debug\GenericParser2.obj"
".\Debug\hstring.obj"
".\Debug\huffman.obj"
".\Debug\md4.obj"
".\Debug\msg.obj"
".\Debug\net_chan.obj"
".\Debug\q_math.obj"
".\Debug\q_shared.obj"
".\Debug\RoffSystem.obj"
".\Debug\strip.obj"
".\Debug\unzip.obj"
".\Debug\vm.obj"
".\Debug\vm_interpreted.obj"
".\Debug\vm_x86.obj"
".\Debug\G2_API.obj"
".\Debug\G2_bolts.obj"
".\Debug\G2_bones.obj"
".\Debug\G2_misc.obj"
".\Debug\G2_surfaces.obj"
".\Debug\sv_bot.obj"
".\Debug\sv_ccmds.obj"
".\Debug\sv_client.obj"
".\Debug\sv_game.obj"
".\Debug\sv_init.obj"
".\Debug\sv_main.obj"
".\Debug\sv_net_chan.obj"
".\Debug\sv_snapshot.obj"
".\Debug\sv_world.obj"
".\Debug\null_client.obj"
".\Debug\null_glimp.obj"
".\Debug\null_input.obj"
".\Debug\null_renderer.obj"
".\Debug\null_snddma.obj"
".\Debug\win_main.obj"
".\Debug\matcomp.obj"
".\Debug\tr_backend.obj"
".\Debug\tr_ghoul2.obj"
".\Debug\tr_image.obj"
".\Debug\tr_init.obj"
".\Debug\tr_main.obj"
".\Debug\tr_mesh.obj"
".\Debug\tr_model.obj"
".\Debug\tr_shader.obj"
".\Debug\win_net.obj"
".\Debug\win_shared.obj"
".\Debug\be_aas_bspq3.obj"
".\Debug\be_aas_cluster.obj"
".\Debug\be_aas_debug.obj"
".\Debug\be_aas_entity.obj"
".\Debug\be_aas_file.obj"
".\Debug\be_aas_main.obj"
".\Debug\be_aas_move.obj"
".\Debug\be_aas_optimize.obj"
".\Debug\be_aas_reach.obj"
".\Debug\be_aas_route.obj"
".\Debug\be_aas_routealt.obj"
".\Debug\be_aas_sample.obj"
".\Debug\be_ai_char.obj"
".\Debug\be_ai_chat.obj"
".\Debug\be_ai_gen.obj"
".\Debug\be_ai_goal.obj"
".\Debug\be_ai_move.obj"
".\Debug\be_ai_weap.obj"
".\Debug\be_ai_weight.obj"
".\Debug\be_ea.obj"
".\Debug\be_interface.obj"
".\Debug\l_crc.obj"
".\Debug\l_libvar.obj"
".\Debug\l_log.obj"
".\Debug\l_memory.obj"
".\Debug\l_precomp.obj"
".\Debug\l_script.obj"
".\Debug\l_struct.obj"
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib Winmm.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/jk2Ded.pdb" /debug /machine:I386 /out:"Debug/jk2Ded.exe" /pdbtype:sept
".\Debug\dedicated\cm_load.obj"
".\Debug\dedicated\cm_patch.obj"
".\Debug\dedicated\cm_polylib.obj"
".\Debug\dedicated\cm_test.obj"
".\Debug\dedicated\cm_trace.obj"
".\Debug\dedicated\cmd.obj"
".\Debug\dedicated\common.obj"
".\Debug\dedicated\cvar.obj"
".\Debug\dedicated\files.obj"
".\Debug\dedicated\huffman.obj"
".\Debug\dedicated\md4.obj"
".\Debug\dedicated\msg.obj"
".\Debug\dedicated\net_chan.obj"
".\Debug\dedicated\q_math.obj"
".\Debug\dedicated\q_shared.obj"
".\Debug\dedicated\RoffSystem.obj"
".\Debug\dedicated\strip.obj"
".\Debug\dedicated\unzip.obj"
".\Debug\dedicated\vm.obj"
".\Debug\dedicated\vm_interpreted.obj"
".\Debug\dedicated\vm_x86.obj"
".\Debug\dedicated\G2_API.obj"
".\Debug\dedicated\G2_bolts.obj"
".\Debug\dedicated\G2_bones.obj"
".\Debug\dedicated\G2_misc.obj"
".\Debug\dedicated\G2_surfaces.obj"
".\Debug\dedicated\sv_bot.obj"
".\Debug\dedicated\sv_ccmds.obj"
".\Debug\dedicated\sv_client.obj"
".\Debug\dedicated\sv_game.obj"
".\Debug\dedicated\sv_init.obj"
".\Debug\dedicated\sv_main.obj"
".\Debug\dedicated\sv_net_chan.obj"
".\Debug\dedicated\sv_snapshot.obj"
".\Debug\dedicated\sv_world.obj"
".\Debug\dedicated\null_client.obj"
".\Debug\dedicated\null_glimp.obj"
".\Debug\dedicated\null_input.obj"
".\Debug\dedicated\null_renderer.obj"
".\Debug\dedicated\null_snddma.obj"
".\Debug\dedicated\win_main.obj"
".\Debug\dedicated\matcomp.obj"
".\Debug\dedicated\tr_backend.obj"
".\Debug\dedicated\tr_ghoul2.obj"
".\Debug\dedicated\tr_image.obj"
".\Debug\dedicated\tr_init.obj"
".\Debug\dedicated\tr_main.obj"
".\Debug\dedicated\tr_mesh.obj"
".\Debug\dedicated\tr_model.obj"
".\Debug\dedicated\tr_shader.obj"
".\Debug\dedicated\win_net.obj"
".\Debug\dedicated\win_shared.obj"
".\Debug\dedicated\be_aas_bspq3.obj"
".\Debug\dedicated\be_aas_cluster.obj"
".\Debug\dedicated\be_aas_debug.obj"
".\Debug\dedicated\be_aas_entity.obj"
".\Debug\dedicated\be_aas_file.obj"
".\Debug\dedicated\be_aas_main.obj"
".\Debug\dedicated\be_aas_move.obj"
".\Debug\dedicated\be_aas_optimize.obj"
".\Debug\dedicated\be_aas_reach.obj"
".\Debug\dedicated\be_aas_route.obj"
".\Debug\dedicated\be_aas_routealt.obj"
".\Debug\dedicated\be_aas_sample.obj"
".\Debug\dedicated\be_ai_char.obj"
".\Debug\dedicated\be_ai_chat.obj"
".\Debug\dedicated\be_ai_gen.obj"
".\Debug\dedicated\be_ai_goal.obj"
".\Debug\dedicated\be_ai_move.obj"
".\Debug\dedicated\be_ai_weap.obj"
".\Debug\dedicated\be_ai_weight.obj"
".\Debug\dedicated\be_ea.obj"
".\Debug\dedicated\be_interface.obj"
".\Debug\dedicated\l_crc.obj"
".\Debug\dedicated\l_libvar.obj"
".\Debug\dedicated\l_log.obj"
".\Debug\dedicated\l_memory.obj"
".\Debug\dedicated\l_precomp.obj"
".\Debug\dedicated\l_script.obj"
".\Debug\dedicated\l_struct.obj"
]
Creating command line "link.exe @C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSPB2C.tmp"
Creating command line "link.exe @C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSP12B5.tmp"
<h3>Output Window</h3>
Compiling...
G2_API.cpp
Generating Code...
Compiling...
cm_load.cpp
cm_patch.cpp
cm_polylib.cpp
cm_test.cpp
cm_trace.cpp
cmd.cpp
common.cpp
cvar.cpp
files.cpp
huffman.cpp
msg.cpp
net_chan.cpp
q_math.cpp
q_shared.cpp
RoffSystem.cpp
strip.cpp
unzip.cpp
vm.cpp
vm_interpreted.cpp
vm_x86.cpp
Generating Code...
Compiling...
G2_bolts.cpp
G2_bones.cpp
G2_misc.cpp
G2_surfaces.cpp
sv_bot.cpp
sv_ccmds.cpp
sv_client.cpp
sv_game.cpp
sv_init.cpp
sv_main.cpp
sv_net_chan.cpp
sv_snapshot.cpp
sv_world.cpp
null_client.cpp
null_glimp.cpp
null_renderer.cpp
null_input.cpp
null_snddma.cpp
win_main.cpp
tr_backend.cpp
tr_ghoul2.cpp
Generating Code...
Compiling...
tr_image.cpp
tr_init.cpp
tr_main.cpp
tr_mesh.cpp
tr_model.cpp
tr_shader.cpp
win_net.cpp
win_shared.cpp
be_aas_bspq3.cpp
be_aas_cluster.cpp
be_aas_debug.cpp
be_aas_entity.cpp
be_aas_file.cpp
be_aas_main.cpp
be_aas_move.cpp
be_aas_optimize.cpp
be_aas_reach.cpp
be_aas_route.cpp
be_aas_routealt.cpp
be_aas_sample.cpp
Generating Code...
Compiling...
be_ai_char.cpp
be_ai_chat.cpp
be_ai_gen.cpp
be_ai_goal.cpp
be_ai_move.cpp
be_ai_weap.cpp
be_ai_weight.cpp
be_ea.cpp
be_interface.cpp
l_crc.cpp
l_libvar.cpp
l_log.cpp
l_memory.cpp
l_precomp.cpp
l_script.cpp
l_struct.cpp
Generating Code...
Linking...
Creating temporary file "C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSP12B8.tmp" with contents
[
/nologo /o"Debug/WinDed.bsc"
".\Debug\dedicated\cm_load.sbr"
".\Debug\dedicated\cm_patch.sbr"
".\Debug\dedicated\cm_polylib.sbr"
".\Debug\dedicated\cm_test.sbr"
".\Debug\dedicated\cm_trace.sbr"
".\Debug\dedicated\cmd.sbr"
".\Debug\dedicated\common.sbr"
".\Debug\dedicated\cvar.sbr"
".\Debug\dedicated\files.sbr"
".\Debug\dedicated\huffman.sbr"
".\Debug\dedicated\md4.sbr"
".\Debug\dedicated\msg.sbr"
".\Debug\dedicated\net_chan.sbr"
".\Debug\dedicated\q_math.sbr"
".\Debug\dedicated\q_shared.sbr"
".\Debug\dedicated\RoffSystem.sbr"
".\Debug\dedicated\strip.sbr"
".\Debug\dedicated\unzip.sbr"
".\Debug\dedicated\vm.sbr"
".\Debug\dedicated\vm_interpreted.sbr"
".\Debug\dedicated\vm_x86.sbr"
".\Debug\dedicated\G2_API.sbr"
".\Debug\dedicated\G2_bolts.sbr"
".\Debug\dedicated\G2_bones.sbr"
".\Debug\dedicated\G2_misc.sbr"
".\Debug\dedicated\G2_surfaces.sbr"
".\Debug\dedicated\sv_bot.sbr"
".\Debug\dedicated\sv_ccmds.sbr"
".\Debug\dedicated\sv_client.sbr"
".\Debug\dedicated\sv_game.sbr"
".\Debug\dedicated\sv_init.sbr"
".\Debug\dedicated\sv_main.sbr"
".\Debug\dedicated\sv_net_chan.sbr"
".\Debug\dedicated\sv_snapshot.sbr"
".\Debug\dedicated\sv_world.sbr"
".\Debug\dedicated\null_client.sbr"
".\Debug\dedicated\null_glimp.sbr"
".\Debug\dedicated\null_input.sbr"
".\Debug\dedicated\null_renderer.sbr"
".\Debug\dedicated\null_snddma.sbr"
".\Debug\dedicated\win_main.sbr"
".\Debug\dedicated\matcomp.sbr"
".\Debug\dedicated\tr_backend.sbr"
".\Debug\dedicated\tr_ghoul2.sbr"
".\Debug\dedicated\tr_image.sbr"
".\Debug\dedicated\tr_init.sbr"
".\Debug\dedicated\tr_main.sbr"
".\Debug\dedicated\tr_mesh.sbr"
".\Debug\dedicated\tr_model.sbr"
".\Debug\dedicated\tr_shader.sbr"
".\Debug\dedicated\win_net.sbr"
".\Debug\dedicated\win_shared.sbr"
".\Debug\dedicated\be_aas_bspq3.sbr"
".\Debug\dedicated\be_aas_cluster.sbr"
".\Debug\dedicated\be_aas_debug.sbr"
".\Debug\dedicated\be_aas_entity.sbr"
".\Debug\dedicated\be_aas_file.sbr"
".\Debug\dedicated\be_aas_main.sbr"
".\Debug\dedicated\be_aas_move.sbr"
".\Debug\dedicated\be_aas_optimize.sbr"
".\Debug\dedicated\be_aas_reach.sbr"
".\Debug\dedicated\be_aas_route.sbr"
".\Debug\dedicated\be_aas_routealt.sbr"
".\Debug\dedicated\be_aas_sample.sbr"
".\Debug\dedicated\be_ai_char.sbr"
".\Debug\dedicated\be_ai_chat.sbr"
".\Debug\dedicated\be_ai_gen.sbr"
".\Debug\dedicated\be_ai_goal.sbr"
".\Debug\dedicated\be_ai_move.sbr"
".\Debug\dedicated\be_ai_weap.sbr"
".\Debug\dedicated\be_ai_weight.sbr"
".\Debug\dedicated\be_ea.sbr"
".\Debug\dedicated\be_interface.sbr"
".\Debug\dedicated\l_crc.sbr"
".\Debug\dedicated\l_libvar.sbr"
".\Debug\dedicated\l_log.sbr"
".\Debug\dedicated\l_memory.sbr"
".\Debug\dedicated\l_precomp.sbr"
".\Debug\dedicated\l_script.sbr"
".\Debug\dedicated\l_struct.sbr"]
Creating command line "bscmake.exe @C:\DOCUME~1\jmonroe\LOCALS~1\Temp\RSP12B8.tmp"
Creating browse info file...
<h3>Output Window</h3>
<h3>Results</h3>
WinDed.exe - 0 error(s), 0 warning(s)
jk2Ded.exe - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

810
CODE-mp/base/games.log Normal file
View file

@ -0,0 +1,810 @@
0:00 ------------------------------------------------------------
0:00 InitGame: \capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\noname\version\JK2MP: v0.57 win-x86-debug Feb 12 2002\dmflags\0\fraglimit\20\timelimit\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_maxclients\8\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk\g_MaxHolocronCarry\3\g_maxGameClients\0\g_maxForceRank\0\g_forceBasedTeams\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_needpass\0
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:13 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\3\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:13 setteam: 0 SPECTATOR FREE
0:13 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:13 ClientBegin: 0
1:20 ShutdownGame:
1:20 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\noname\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\version\JK2MP: v0.57 win-x86-debug Feb 15 2002\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk\g_MaxHolocronCarry\3\g_maxForceRank\0\g_forceBasedTeams\0\g_duelWeaponDisable\0\g_needpass\0
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:06 setteam: 0 SPECTATOR FREE
0:06 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:06 ClientBegin: 0
0:09 Item: 0 weapon_thermal
0:29 Item: 0 ammo_blaster
0:35 Item: 0 ammo_powercell
0:38 Item: 0 item_shield
0:58 ShutdownGame:
0:58 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\noname\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\version\JK2MP: v0.57 win-x86-debug Feb 17 2002\g_gametype\0\protocol\15\mapname\ffa_deathstar\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk\g_MaxHolocronCarry\3\g_maxForceRank\0\g_forceBasedTeams\0\g_needpass\0
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:27 setteam: 0 SPECTATOR SPECTATOR
0:27 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\3\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:27 ClientBegin: 0
0:32 setteam: 0 SPECTATOR FREE
0:32 ClientUserinfoChanged: 0 n\UnnamedPlayer\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:32 ClientBegin: 0
0:35 Item: 0 item_shield_sm_instant
0:36 Item: 0 item_shield_sm_instant
0:36 Item: 0 item_shield_sm_instant
0:41 Kill: 0 0 34: UnnamedPlayer killed UnnamedPlayer by MOD_FALLING
1:13 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:31 ShutdownGame:
1:31 ------------------------------------------------------------
1:31 ------------------------------------------------------------
1:31 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\noname\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\version\JK2MP: v0.57 win-x86-debug Feb 17 2002\g_gametype\0\protocol\15\mapname\ffa_deathstar\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk\g_MaxHolocronCarry\3\g_maxForceRank\0\g_forceBasedTeams\0\g_needpass\0
1:31 ClientConnect: 0
1:31 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:31 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:31 ClientBegin: 0
1:42 Item: 0 item_shield_sm_instant
1:43 Item: 0 item_shield_sm_instant
1:43 Item: 0 item_shield_sm_instant
1:48 Item: 0 ammo_metallic_bolts
2:01 Item: 0 weapon_repeater
3:39 Item: 0 item_shield_lrg_instant
3:54 Item: 0 ammo_metallic_bolts
3:54 Item: 0 weapon_flechette
3:58 Item: 0 item_medpak_instant
4:03 Item: 0 ammo_blaster
4:09 Item: 0 weapon_bowcaster
4:09 Item: 0 ammo_powercell
4:19 Item: 0 weapon_disruptor
4:19 Item: 0 ammo_powercell
4:22 ShutdownGame:
4:22 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\crash testing\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\version\JK2MP: v1.00a win-x86-debug Feb 22 2002\g_maxHolocronCarry\3\g_maxForceRank\6\g_forceBasedTeams\0\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
2:15 ClientConnect: 0
2:15 ClientUserinfoChanged: 0 n\Luke\t\0\model\Luke\hmodel\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
2:15 ClientBegin: 0
2:20 Item: 0 ammo_blaster
2:56 Item: 0 weapon_repeater
3:01 Item: 0 weapon_blaster
3:15 Item: 0 item_medpac
3:27 Item: 0 ammo_blaster
3:30 Item: 0 ammo_metallic_bolts
4:01 Item: 0 item_shield_sm_instant
4:01 Item: 0 item_shield_sm_instant
4:15 Item: 0 ammo_metallic_bolts
4:46 Item: 0 item_shield_sm_instant
6:31 ClientConnect: 1
6:31 ClientUserinfoChanged: 1 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
9:14 ClientUserinfoChanged: 1 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
9:14 ClientDisconnect: 1
9:43 ClientConnect: 1
9:43 ClientUserinfoChanged: 1 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
10:02 ClientUserinfoChanged: 1 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
10:02 ClientBegin: 1
10:39 ClientConnect: 2
10:39 ClientUserinfoChanged: 2 n\Luke\t\0\model\Luke\hmodel\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
10:39 ClientBegin: 2
10:44 Item: 2 ammo_blaster
10:49 setteam: 1 SPECTATOR FREE
10:49 ClientUserinfoChanged: 1 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
10:49 ClientBegin: 1
11:21 ClientUserinfoChanged: 1 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\Empire\g_blueteam\Rebellion\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
11:24 Kill: 2 1 3: Luke killed Padawan by MOD_SABER
11:28 say: Luke: The Force is my guide.
11:41 Item: 2 item_shield_sm_instant
11:41 Item: 2 item_shield_sm_instant
11:48 Item: 2 item_sentry_gun
11:52 Item: 1 ammo_blaster
11:56 Item: 2 item_shield_lrg_instant
12:01 Item: 0 weapon_flechette
12:01 Item: 1 ammo_blaster
12:02 Item: 2 item_medpac
12:04 ClientDisconnect: 1
12:11 Item: 2 weapon_disruptor
12:20 Item: 0 item_shield_sm_instant
12:21 Item: 0 item_shield_sm_instant
12:21 Item: 0 item_shield_sm_instant
12:41 Kill: 0 2 16: Luke killed Luke by MOD_FLECHETTE
12:43 Kill: 2 0 28: Luke killed Luke by MOD_SENTRY
12:44 say: Luke: The Force is my guide.
12:44 say: Luke: The Force is strong in you, Luke.
12:46 Item: 2 ammo_powercell
12:51 Item: 0 item_shield
13:09 Item: 0 ammo_blaster
13:14 Item: 2 weapon_thermal
13:40 Item: 0 item_shield_sm_instant
13:40 Item: 0 item_shield_sm_instant
13:52 Item: 0 item_shield
13:52 Item: 2 ammo_powercell
14:06 Item: 2 ammo_blaster
14:19 Item: 2 weapon_thermal
14:31 Kill: 2 0 3: Luke killed Luke by MOD_SABER
14:33 say: Luke: The Force is my guide.
14:34 say: Luke: It s not my fault!
14:53 Kill: 0 2 3: Luke killed Luke by MOD_SABER
15:12 Item: 0 weapon_repeater
15:17 Item: 0 weapon_blaster
15:20 Item: 2 ammo_blaster
15:23 Item: 0 item_medpak_instant
15:32 Item: 0 item_medpac
15:41 Item: 2 weapon_bowcaster
15:41 ShutdownGame:
15:41 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.00a win-x86-debug Feb 22 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientDisconnect: 0
0:25 ShutdownGame:
0:25 ------------------------------------------------------------
0:25 ------------------------------------------------------------
0:25 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.00a win-x86-debug Feb 22 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
0:26 ClientConnect: 0
0:26 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:26 ClientDisconnect: 0
0:54 ShutdownGame:
0:54 ------------------------------------------------------------
0:54 ------------------------------------------------------------
0:54 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.00a win-x86-debug Feb 22 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
0:54 ClientConnect: 0
0:54 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:55 ClientDisconnect: 0
0:55 ShutdownGame:
0:55 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.00a win-x86-debug Feb 22 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:47 say: Em0r0g: ui_hu
0:50 say: Em0r0g: ui_load
0:51 say: Em0r0g: ui_load
5:42 ClientUserinfoChanged: 0 n\Em0r0g\t\3\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
5:52 ShutdownGame:
5:52 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\crash testing\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.00a win-x86-debug Feb 22 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:06 ClientUserinfoChanged: 0 n\Em0r0g\t\3\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:06 setteam: 0 SPECTATOR FREE
0:06 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:06 ClientBegin: 0
0:12 Item: 0 ammo_blaster
0:49 Item: 0 item_shield
1:03 ShutdownGame:
1:03 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.00a win-x86-debug Feb 22 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:17 ClientUserinfoChanged: 0 n\Em0r0g\t\3\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:21 setteam: 0 SPECTATOR FREE
0:21 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:21 ClientBegin: 0
0:45 Item: 0 ammo_powercell
0:52 ClientConnect: 1
0:52 ClientUserinfoChanged: 1 n\Tavion\t\0\model\Tavion\hmodel\Tavion\c1\0\c2\5\hc\100\w\0\l\0\skill\ 1.00\tt\0\tl\0
0:52 ClientBegin: 1
0:52 Item: 1 item_shield
0:56 Item: 1 ammo_powercell
1:00 Item: 0 ammo_blaster
1:03 Item: 1 ammo_blaster
1:04 Item: 0 ammo_blaster
1:09 Item: 1 weapon_thermal
1:11 Item: 0 weapon_bowcaster
1:17 Item: 1 item_shield_sm_instant
1:17 Item: 1 item_shield_sm_instant
1:34 Kill: 1 0 3: Tavion killed Em0r0g by MOD_SABER
1:38 ShutdownGame:
1:38 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\crash testing\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\pit\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:03 setteam: 0 SPECTATOR FREE
0:03 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:03 ClientBegin: 0
0:21 ShutdownGame:
0:21 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\pit\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:12 setteam: 0 SPECTATOR FREE
0:12 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:12 ClientBegin: 0
0:28 ShutdownGame:
0:28 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\crash testing\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\pit\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:46 setteam: 0 SPECTATOR FREE
0:46 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:46 ClientBegin: 0
0:47 ShutdownGame:
0:47 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\pit\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:28 ShutdownGame:
0:28 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\crash testing\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:22 ClientConnect: 0
0:22 ClientUserinfoChanged: 0 n\Desann\t\0\model\Desann\hmodel\Desann\c1\0\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
0:22 ClientBegin: 0
0:46 ClientConnect: 1
0:46 ClientUserinfoChanged: 1 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:00 Item: 0 ammo_metallic_bolts
1:32 Item: 0 item_shield_sm_instant
1:33 Item: 0 item_shield_sm_instant
1:43 Item: 0 ammo_blaster
1:47 Item: 0 ammo_metallic_bolts
1:47 ClientUserinfoChanged: 1 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:47 ClientUserinfoChanged: 1 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:47 ClientBegin: 1
1:48 ClientUserinfoChanged: 1 n\^5Em0r0g\t\3\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:59 ClientConnect: 2
1:59 ClientUserinfoChanged: 2 n\Jan\t\0\model\Jan\hmodel\Jan\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
1:59 ClientBegin: 2
2:01 Item: 2 ammo_powercell
2:07 Item: 2 ammo_blaster
2:17 Item: 0 item_shield_sm_instant
2:20 ClientDisconnect: 1
2:21 Item: 2 item_shield_sm_instant
2:21 Item: 2 item_shield_sm_instant
2:28 Item: 2 item_sentry_gun
2:31 ShutdownGame:
2:31 ------------------------------------------------------------
2:31 ------------------------------------------------------------
2:31 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\crash testing\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
2:31 ClientConnect: 0
2:31 ClientUserinfoChanged: 0 n\Desann\t\0\model\Desann\hmodel\Desann\c1\0\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
2:31 ClientBegin: 0
2:31 ClientConnect: 2
2:31 ClientUserinfoChanged: 2 n\Jan\t\0\model\Jan\hmodel\Jan\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
2:31 ClientBegin: 2
2:31 Item: 2 item_shield
2:41 Item: 0 item_shield_sm_instant
2:43 Item: 2 ammo_powercell
2:49 Item: 2 ammo_blaster
3:00 Kill: 0 2 27: Desann killed Jan by MOD_FORCE_DARK
3:04 say: Jan: Unbelievable!
3:07 Item: 2 ammo_metallic_bolts
3:11 Item: 0 weapon_repeater
3:11 Item: 2 weapon_flechette
3:16 Item: 0 weapon_blaster
3:30 Item: 0 item_medpac
3:40 Kill: 0 2 3: Desann killed Jan by MOD_SABER
3:43 Item: 2 weapon_repeater
3:47 Item: 0 item_shield_sm_instant
3:47 Item: 0 item_shield_sm_instant
3:49 Item: 2 item_shield_sm_instant
3:49 Item: 2 item_shield_sm_instant
3:56 Item: 2 item_sentry_gun
4:03 Item: 0 ammo_blaster
4:04 Item: 2 item_shield_lrg_instant
4:07 Item: 0 ammo_metallic_bolts
4:10 Item: 2 ammo_powercell
4:14 ShutdownGame:
4:14 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
1:04 ShutdownGame:
1:04 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
1:46 ClientConnect: 0
1:46 ClientUserinfoChanged: 0 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:55 ClientUserinfoChanged: 0 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:55 ClientUserinfoChanged: 0 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:55 ClientBegin: 0
2:01 setteam: 0 SPECTATOR FREE
2:01 ClientUserinfoChanged: 0 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
2:01 ClientBegin: 0
2:09 ClientConnect: 1
2:09 ClientUserinfoChanged: 1 n\Jan\t\0\model\Jan\hmodel\Jan\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
2:09 ClientBegin: 1
2:11 say: Jan: Hello all!
2:13 Item: 1 ammo_powercell
2:27 Kill: 1 0 3: Jan killed ^5Em0r0g by MOD_SABER
2:32 ClientDisconnect: 0
2:34 Item: 1 ammo_blaster
3:10 Item: 1 weapon_repeater
3:15 Item: 1 weapon_blaster
3:29 Item: 1 item_shield_sm_instant
3:29 Item: 1 item_shield_sm_instant
3:41 Item: 1 weapon_rocket_launcher
3:54 Item: 1 item_shield_sm_instant
4:00 Item: 1 item_medpac
4:28 Item: 1 ammo_powercell
4:32 Item: 1 ammo_blaster
4:36 Item: 1 ammo_metallic_bolts
4:41 Item: 1 weapon_flechette
4:46 ClientConnect: 0
4:46 ClientUserinfoChanged: 0 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
4:51 Item: 1 weapon_disruptor
4:52 ClientConnect: 2
4:52 ClientUserinfoChanged: 2 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
5:13 ClientUserinfoChanged: 0 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
5:13 ClientUserinfoChanged: 0 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
5:13 ClientBegin: 0
5:22 Item: 1 weapon_trip_mine
5:32 Item: 1 ammo_powercell
5:45 Item: 1 item_sentry_gun
6:00 Item: 1 weapon_thermal
6:02 ClientUserinfoChanged: 2 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
6:02 ClientUserinfoChanged: 2 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
6:02 ClientBegin: 2
6:13 ClientConnect: 3
6:13 ClientUserinfoChanged: 3 n\Luke\t\0\model\Luke\hmodel\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
6:13 ClientBegin: 3
6:19 Item: 3 ammo_blaster
6:21 setteam: 2 SPECTATOR FREE
6:21 ClientUserinfoChanged: 2 n\^5Em0r0g\t\0\model\desann/default\hmodel\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
6:21 ClientBegin: 2
6:30 Item: 3 weapon_bowcaster
6:40 ClientConnect: 4
6:40 ClientUserinfoChanged: 4 n\Jan\t\0\model\Jan\hmodel\Jan\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
6:40 ClientBegin: 4
6:46 ClientDisconnect: 0
7:06 Kill: 1 3 22: Jan killed Luke by MOD_THERMAL
7:08 ClientDisconnect: 2
7:09 say: Luke: It s not my fault!
7:12 Item: 3 ammo_metallic_bolts
7:19 Item: 1 weapon_bowcaster
7:30 Kill: 3 4 3: Luke killed Jan by MOD_SABER
7:34 say: Luke: If you continue to attack me, you will continue to lose.
7:37 Item: 1 weapon_thermal
7:38 Item: 4 item_shield_sm_instant
7:38 Item: 4 item_shield_sm_instant
7:41 Item: 3 weapon_flechette
7:45 Item: 4 item_sentry_gun
7:48 Item: 3 item_medpac
7:52 Kill: 3 4 16: Luke killed Jan by MOD_FLECHETTE
8:04 Item: 1 item_shield_sm_instant
8:04 Item: 4 ammo_blaster
8:04 Item: 1 item_shield_sm_instant
8:22 Item: 4 weapon_thermal
8:27 Item: 3 item_shield_sm_instant
8:28 Item: 3 item_shield_sm_instant
8:53 Item: 3 item_sentry_gun
8:55 Item: 4 item_shield_sm_instant
8:56 Item: 4 item_shield_sm_instant
9:03 Item: 1 ammo_powercell
9:05 Kill: 4 3 3: Jan killed Luke by MOD_SABER
9:07 Item: 1 item_shield
9:10 say: Jan: Next time, I recommend hiding from me.
9:15 Item: 3 ammo_blaster
9:19 Item: 3 ammo_metallic_bolts
9:26 Item: 4 item_shield_lrg_instant
9:32 Item: 4 ammo_powercell
9:32 Item: 3 weapon_flechette
9:35 Item: 1 item_medpac
9:42 Item: 3 ammo_metallic_bolts
9:45 Item: 3 weapon_trip_mine
9:45 Item: 4 weapon_flechette
9:48 Item: 3 ammo_blaster
9:58 Kill: 3 1 16: Luke killed Jan by MOD_FLECHETTE
10:06 Item: 4 item_shield
10:07 Item: 1 item_shield_sm_instant
10:07 Item: 1 item_shield_sm_instant
10:09 Item: 3 ammo_metallic_bolts
10:14 Item: 1 item_sentry_gun
10:24 Item: 1 item_shield_lrg_instant
10:30 Item: 1 ammo_powercell
10:34 Item: 1 ammo_blaster
10:44 Item: 1 weapon_flechette
10:51 Item: 4 weapon_rocket_launcher
10:57 Kill: 3 4 16: Luke killed Jan by MOD_FLECHETTE
11:00 say: Jan: Unbelievable!
11:02 Item: 3 weapon_rocket_launcher
11:07 Item: 4 item_shield_sm_instant
11:08 Item: 4 item_shield_sm_instant
11:09 Kill: 1 3 16: Jan killed Luke by MOD_FLECHETTE
11:10 Item: 1 item_shield
11:16 Item: 3 item_sentry_gun
11:20 Item: 1 weapon_rocket_launcher
11:32 Kill: 3 4 3: Luke killed Jan by MOD_SABER
11:33 Item: 1 item_shield_sm_instant
11:39 Item: 1 item_medpac
11:43 Item: 3 item_shield_lrg_instant
11:49 Item: 3 ammo_powercell
11:54 Item: 3 ammo_blaster
11:58 Item: 3 ammo_metallic_bolts
12:15 Item: 4 item_shield
12:26 Item: 4 weapon_rocket_launcher
12:27 Item: 1 weapon_blaster
12:32 Item: 1 weapon_repeater
12:39 Item: 3 weapon_flechette
12:42 Item: 3 ammo_metallic_bolts
13:04 Item: 1 weapon_bowcaster
13:08 Kill: 3 4 16: Luke killed Jan by MOD_FLECHETTE
13:12 say: Luke: If you continue to attack me, you will continue to lose.
13:15 Item: 4 item_shield_sm_instant
13:16 Item: 4 item_shield_sm_instant
13:28 Item: 4 item_sentry_gun
13:36 Item: 3 item_medpac
13:36 Item: 4 item_shield_lrg_instant
13:42 Item: 1 item_shield_sm_instant
13:42 Item: 1 item_shield_sm_instant
13:44 Item: 4 ammo_powercell
13:51 Item: 4 ammo_blaster
13:51 Item: 3 item_shield_sm_instant
13:51 Item: 3 item_shield_sm_instant
13:51 Item: 3 item_shield_sm_instant
13:55 Item: 4 ammo_metallic_bolts
13:56 Item: 3 weapon_disruptor
13:59 Item: 4 weapon_flechette
14:09 Item: 1 item_medpac
14:38 Item: 4 weapon_rocket_launcher
14:45 Kill: 4 4 34: Jan killed Jan by MOD_FALLING
14:52 Item: 1 ammo_metallic_bolts
15:03 Kill: 1 3 16: Jan killed Luke by MOD_FLECHETTE
15:04 Item: 3 item_shield
15:07 Item: 4 ammo_blaster
15:07 say: Jan: Even I was impressed with that one!
15:09 Item: 3 ammo_powercell
15:18 Item: 1 ammo_metallic_bolts
15:21 Item: 1 weapon_trip_mine
15:24 Item: 1 ammo_blaster
15:31 Item: 1 ammo_powercell
15:33 ClientConnect: 0
15:33 ClientUserinfoChanged: 0 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
15:38 Item: 1 item_medpac
15:43 Item: 1 item_sentry_gun
15:47 Item: 4 weapon_repeater
15:52 Item: 4 weapon_blaster
15:59 Item: 3 item_shield_sm_instant
15:59 Item: 3 item_shield_sm_instant
16:05 Item: 1 item_medpac
16:06 Item: 4 item_shield_sm_instant
16:06 Item: 4 item_shield_sm_instant
16:10 ShutdownGame:
16:10 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
0:36 ClientConnect: 0
0:36 ClientUserinfoChanged: 0 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:51 ClientUserinfoChanged: 0 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:51 ClientBegin: 0
0:52 ClientUserinfoChanged: 0 n\Padawan\t\3\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:31 setteam: 0 SPECTATOR FREE
1:31 ClientUserinfoChanged: 0 n\Padawan\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:31 ClientBegin: 0
1:41 say: Padawan: hmodel
3:26 ClientUserinfoChanged: 0 n\Emorog\t\0\model\kyle\hmodel\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
3:49 ClientConnect: 1
3:49 ClientUserinfoChanged: 1 n\Luke\t\0\model\Luke\hmodel\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
3:49 ClientBegin: 1
3:52 say: Luke: Hello, may I join?
3:54 Item: 1 ammo_powercell
4:00 Item: 1 ammo_blaster
4:04 ClientDisconnect: 0
4:14 Item: 1 item_shield_sm_instant
4:14 Item: 1 item_shield_sm_instant
4:20 ShutdownGame:
4:20 ------------------------------------------------------------
4:20 ------------------------------------------------------------
4:20 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\0\fraglimit\20\dmflags\0\sv_hostname\crash testing\sv_maxRate\0\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\8\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
4:20 ClientConnect: 1
4:20 ClientUserinfoChanged: 1 n\Luke\t\0\model\Luke\hmodel\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
4:20 ClientBegin: 1
4:34 Item: 1 item_shield_sm_instant
4:34 Item: 1 item_shield_sm_instant
4:41 Item: 1 item_sentry_gun
4:49 Item: 1 item_shield_lrg_instant
4:55 Item: 1 ammo_powercell
4:59 Item: 1 ammo_blaster
5:03 Item: 1 ammo_metallic_bolts
5:47 Item: 1 ammo_metallic_bolts
5:51 ShutdownGame:
5:51 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\8\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\0\sv_hostname\crash testing\dmflags\0\fraglimit\20\timelimit\0\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 25 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 Warmup:
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:06 setteam: 0 SPECTATOR FREE
0:06 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:06 ClientBegin: 0
0:14 Item: 0 weapon_blaster
0:27 ShutdownGame:
0:27 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-linux v1.00\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 26 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_deathstar\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ShutdownGame:
0:00 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\20\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\10000\sv_hostname\jkii-linux v1.00\dmflags\0\fraglimit\20\timelimit\20\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 26 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_deathstar\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:37 ClientConnect: 0
0:37 ClientUserinfoChanged: 0 n\Luke\t\0\model\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
0:37 ClientBegin: 0
0:39 Item: 0 item_medpac
0:44 Item: 0 ammo_metallic_bolts
0:52 Item: 0 item_shield_sm_instant
0:53 Item: 0 item_shield_sm_instant
0:55 Item: 0 weapon_bowcaster
0:55 Item: 0 ammo_powercell
1:06 Item: 0 ammo_blaster
1:06 Item: 0 weapon_blaster
1:07 Item: 0 ammo_blaster
1:11 ClientConnect: 1
1:11 ClientUserinfoChanged: 1 n\^5Em0r0g\t\0\model\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:17 Item: 0 item_shield_sm_instant
1:23 Item: 0 weapon_thermal
1:26 Item: 0 item_sentry_gun
1:42 Item: 0 item_shield_lrg_instant
1:51 Item: 0 weapon_rocket_launcher
1:52 Item: 0 ammo_rockets
2:02 Item: 0 item_shield_lrg_instant
2:08 Item: 0 weapon_thermal
2:18 Item: 0 ammo_metallic_bolts
2:18 Item: 0 weapon_flechette
2:21 ClientUserinfoChanged: 1 n\^5Em0r0g\t\0\model\kyle\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
2:21 ClientDisconnect: 1
2:40 ClientConnect: 1
2:40 ClientUserinfoChanged: 1 n\^5Em0r0g\t\0\model\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
2:44 Item: 0 item_shield
2:52 ClientUserinfoChanged: 1 n\^5Em0r0g\t\0\model\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
2:52 ClientBegin: 1
2:53 ClientUserinfoChanged: 1 n\^5Em0r0g\t\3\model\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
2:55 setteam: 1 SPECTATOR FREE
2:55 ClientUserinfoChanged: 1 n\^5Em0r0g\t\0\model\kyle\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
2:55 ClientBegin: 1
3:06 Kill: 0 1 20: Luke killed ^5Em0r0g by MOD_ROCKET_HOMING
3:08 Item: 1 weapon_flechette
3:08 Item: 1 ammo_metallic_bolts
3:10 say: Luke: If you continue to attack me, you will continue to lose.
3:22 ClientConnect: 2
3:22 ClientUserinfoChanged: 2 n\Luke\t\0\model\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
3:22 ClientBegin: 2
3:23 Item: 2 weapon_flechette
3:26 Item: 1 item_medpak_instant
3:28 Kill: 2 1 16: Luke killed ^5Em0r0g by MOD_FLECHETTE
3:38 Item: 1 ammo_blaster
3:38 Item: 2 weapon_flechette
3:38 Item: 1 weapon_blaster
3:42 Item: 1 weapon_bowcaster
3:44 Item: 0 item_shield_sm_instant
3:47 Item: 0 item_shield_sm_instant
3:51 Kill: 0 2 28: Luke killed Luke by MOD_SENTRY
3:53 Item: 2 weapon_flechette
3:53 Item: 2 ammo_metallic_bolts
3:56 Item: 1 item_shield_sm_instant
3:57 Kill: 0 1 16: Luke killed ^5Em0r0g by MOD_FLECHETTE
3:59 Item: 0 weapon_flechette
4:00 ClientDisconnect: 1
4:01 Kill: 2 0 16: Luke killed Luke by MOD_FLECHETTE
4:03 ShutdownGame:
4:03 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 26 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_deathstar\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:43 ShutdownGame:
0:43 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\20\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\10000\sv_hostname\jkii-dedicated v1.01\dmflags\0\fraglimit\20\timelimit\20\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 26 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_deathstar\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ShutdownGame:
0:00 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\20\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\10000\sv_hostname\jkii-dedicated v1.01\dmflags\0\fraglimit\20\timelimit\20\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 26 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
5:43 ShutdownGame:
5:43 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 26 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:04 setteam: 0 SPECTATOR FREE
0:04 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:04 ClientBegin: 0
0:21 ShutdownGame:
0:21 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 27 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:03 setteam: 0 SPECTATOR FREE
0:03 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:03 ClientBegin: 0
0:36 Item: 0 ammo_blaster
0:47 Item: 0 ammo_blaster
0:51 Item: 0 ammo_metallic_bolts
0:54 Item: 0 weapon_flechette
2:49 Item: 0 ammo_metallic_bolts
3:21 Item: 0 weapon_bowcaster
3:27 ShutdownGame:
3:27 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 27 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientDisconnect: 0
0:34 ShutdownGame:
0:34 ------------------------------------------------------------
0:34 ------------------------------------------------------------
0:34 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 27 2002\g_maxHolocronCarry\3\g_needpass\1\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
0:35 ClientConnect: 0
0:35 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:35 ClientBegin: 0
0:42 setteam: 0 SPECTATOR FREE
0:42 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:42 ClientBegin: 0
0:48 Item: 0 ammo_blaster
0:59 ShutdownGame:
0:59 ------------------------------------------------------------
0:59 ------------------------------------------------------------
0:59 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 27 2002\g_maxHolocronCarry\3\g_needpass\1\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
0:59 ClientConnect: 0
0:59 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
1:00 ClientBegin: 0
3:17 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
3:38 ShutdownGame:
3:38 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\20\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\10000\sv_hostname\jkii-dedicated v1.01\dmflags\0\fraglimit\20\timelimit\20\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 27 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\mikeg/weaps\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:01 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\desann/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:01 ClientBegin: 0
0:01 ClientUserinfoChanged: 0 n\Em0r0g\t\3\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:56 setteam: 0 SPECTATOR FREE
0:56 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:56 ClientBegin: 0
0:59 Item: 0 item_shield
0:59 Item: 0 item_shield_sm_instant
1:00 Item: 0 item_binoculars
1:00 Item: 0 item_medpac
2:34 ShutdownGame:
2:34 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 27 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\mikeg/weaps\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:01 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:01 ClientBegin: 0
0:22 setteam: 0 SPECTATOR FREE
0:22 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:22 ClientBegin: 0
0:44 ShutdownGame:
0:44 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\20\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\10000\sv_hostname\jkii-dedicated v1.01\dmflags\0\fraglimit\20\timelimit\20\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 27 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\pit\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:02 setteam: 0 SPECTATOR FREE
0:02 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:02 ClientBegin: 0
1:02 ShutdownGame:
1:02 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 28 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:20 ShutdownGame:
0:20 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 28 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:09 ClientConnect: 0
0:09 ClientUserinfoChanged: 0 n\Luke\t\0\model\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
0:09 ClientBegin: 0
0:13 Item: 0 ammo_blaster
0:16 ShutdownGame:
0:16 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\20\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\10000\sv_hostname\jkii-dedicated v1.01\dmflags\0\fraglimit\20\timelimit\20\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 28 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:13 ShutdownGame:
0:13 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 28 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\pit\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:04 ShutdownGame:
0:04 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 28 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
1:21 ClientConnect: 0
1:21 ClientUserinfoChanged: 0 n\Luke\t\0\model\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
1:21 ClientBegin: 0
1:57 Item: 0 weapon_rocket_launcher
2:19 Item: 0 ammo_powercell
2:23 Item: 0 ammo_blaster
2:27 Item: 0 ammo_metallic_bolts
2:31 Item: 0 weapon_flechette
2:42 ShutdownGame:
2:42 ------------------------------------------------------------
2:42 ------------------------------------------------------------
2:42 InitGame: \g_forceBasedTeams\0\g_maxForceRank\6\duel_fraglimit\10\g_weaponDisable\0\g_forcePowerDisable\0\g_forceRegenTime\200\g_saberLocking\1\g_privateDuel\0\g_maxGameClients\0\sv_maxclients\8\timelimit\20\fraglimit\20\dmflags\0\sv_hostname\jkii-dedicated v1.01\sv_maxRate\10000\sv_minPing\0\sv_maxPing\0\sv_floodProtect\1\g_redTeam\Pagans\g_blueTeam\Stroggs\capturelimit\20\g_duelWeaponDisable\0\version\JK2MP: v1.01 win-x86-debug Feb 28 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\bot_minplayers\0\gamename\basejk
2:42 ClientConnect: 0
2:42 ClientUserinfoChanged: 0 n\Luke\t\0\model\Luke\c1\4\c2\5\hc\100\w\0\l\0\skill\ 4.00\tt\0\tl\0
2:42 ClientBegin: 0
2:51 ShutdownGame:
2:51 ------------------------------------------------------------
0:00 ------------------------------------------------------------
0:00 InitGame: \g_duelWeaponDisable\0\capturelimit\20\g_blueTeam\Stroggs\g_redTeam\Pagans\sv_floodProtect\1\sv_maxPing\0\sv_minPing\0\sv_maxRate\10000\sv_hostname\jkii-dedicated v1.01\dmflags\0\fraglimit\20\timelimit\20\sv_maxclients\8\g_maxGameClients\0\g_privateDuel\0\g_saberLocking\1\g_forceRegenTime\200\g_forcePowerDisable\0\g_weaponDisable\0\duel_fraglimit\10\g_maxForceRank\6\g_forceBasedTeams\0\version\JK2MP: v1.01 win-x86-debug Feb 28 2002\g_maxHolocronCarry\3\g_needpass\0\g_gametype\0\protocol\15\mapname\ffa_bespin\sv_privateClients\0\sv_allowAnonymous\0\sv_allowDownload\0\gamename\basejk
0:00 ClientConnect: 0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\\g_blueteam\\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:00 ClientBegin: 0
0:23 setteam: 0 SPECTATOR FREE
0:23 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\lando/default\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
0:23 ClientBegin: 0
0:31 Item: 0 ammo_blaster
0:39 Item: 0 ammo_powercell
0:43 Item: 0 item_shield
1:16 Item: 0 ammo_blaster
1:25 Item: 0 ammo_metallic_bolts
1:31 Item: 0 weapon_flechette
1:50 Item: 0 item_medpac
2:31 Item: 0 weapon_rocket_launcher
2:47 Item: 0 ammo_powercell
2:56 Item: 0 ammo_blaster
3:04 Item: 0 item_shield
3:56 ClientConnect: 1
3:56 ClientUserinfoChanged: 1 n\Desann\t\0\model\Desann\c1\0\c2\5\hc\100\w\0\l\0\skill\ 5.00\tt\0\tl\0
3:56 ClientBegin: 1
4:00 Item: 1 weapon_blaster
4:31 Item: 1 ammo_blaster
4:38 Item: 1 weapon_thermal
4:41 Kill: 1 0 3: Desann killed Em0r0g by MOD_SABER
4:48 Item: 1 item_shield_sm_instant
4:48 Item: 1 item_shield_sm_instant
4:54 Item: 1 item_sentry_gun
5:02 Item: 1 item_shield_lrg_instant
5:12 ClientUserinfoChanged: 0 n\Em0r0g\t\0\model\morgan/default_mp\g_redteam\Pagans\g_blueteam\Stroggs\c1\4\c2\5\hc\100\w\0\l\0\tt\0\tl\0
5:14 Kill: 1 0 3: Desann killed Em0r0g by MOD_SABER
5:17 Item: 1 ammo_powercell
5:20 Item: 1 ammo_blaster
5:26 Item: 1 weapon_trip_mine
5:29 Item: 1 ammo_metallic_bolts
5:29 Item: 0 item_shield
5:32 Item: 0 ammo_powercell
5:38 Item: 1 weapon_flechette
5:41 Item: 1 ammo_metallic_bolts
5:52 Item: 1 weapon_disruptor
6:28 Item: 1 item_medpac
6:34 Item: 1 item_medpak_instant
6:35 Item: 1 item_medpak_instant
6:45 Item: 1 weapon_repeater
7:02 Item: 0 ammo_blaster
7:05 Kill: 1 0 16: Desann killed Em0r0g by MOD_FLECHETTE
7:17 Kill: 1 0 7: Desann killed Em0r0g by MOD_DISRUPTOR
7:31 Item: 1 weapon_thermal
7:44 Item: 1 ammo_powercell
7:46 Kill: 1 0 3: Desann killed Em0r0g by MOD_SABER
7:49 Item: 1 item_shield
8:06 Item: 1 ammo_rockets
8:44 say: Em0r0g: quit
8:46 ShutdownGame:
8:46 ------------------------------------------------------------

View file

@ -0,0 +1,408 @@
// generated by jk2mp, do not modify
unbindall
bind TAB "+scores"
bind ENTER "+button2"
bind SPACE "+moveup"
bind , "+moveleft"
bind - "weapon 0"
bind . "+moveright"
bind / "+mlook"
bind 0 "weapon 10"
bind 1 "weapon 1"
bind 2 "weapon 2"
bind 3 "weapon 3"
bind 4 "weapon 4"
bind 5 "weapon 5"
bind 6 "weapon 6"
bind 7 "weapon 7"
bind 8 "weapon 8"
bind 9 "weapon 9"
bind [ "invprev"
bind \ "force_forcepowerother"
bind ] "invnext"
bind ` "toggleconsole"
bind a "+moveleft"
bind b "use_bacta"
bind c "+movedown"
bind d "+moveright"
bind e "weapnext"
bind f "+useforce"
bind g "+button3"
bind i "messagemode4"
bind k "engage_duel"
bind l "saberAttackCycle"
bind p "cg_thirdperson !"
bind q "weapprev"
bind r "+use"
bind s "+back"
bind t "messagemode2"
bind u "messagemode3"
bind v "+strafe"
bind w "+forward"
bind x "forcenext"
bind y "messagemode"
bind z "forceprev"
bind ~ "toggleconsole"
bind BACKSPACE "force_healother"
bind UPARROW "+forward"
bind DOWNARROW "+back"
bind LEFTARROW "+left"
bind RIGHTARROW "+right"
bind ALT "+altattack"
bind CTRL "+attack"
bind SHIFT "+speed"
bind INS "scoresUp"
bind DEL "scoresDown"
bind PGDN "+lookdown"
bind PGUP "+lookup"
bind END "centerview"
bind F1 "force_throw"
bind F2 "force_pull"
bind F3 "force_speed"
bind F4 "force_distract"
bind F5 "force_heal"
bind F6 "+force_grip"
bind F7 "+force_lightning"
bind F8 "force_rage"
bind F9 "force_protect"
bind F10 "force_absorb"
bind F11 "+force_drain"
bind F12 "force_seeing"
bind KP_HOME "use_field"
bind KP_5 "use_sentry"
bind KP_PGDN "use_seeker"
bind MOUSE1 "+attack"
bind MOUSE2 "+altattack"
bind MOUSE3 "saberAttackCycle"
bind MWHEELDOWN "weapnext"
bind MWHEELUP "weapprev"
seta ui_selectedModelIndex "13"
seta g_inactivity "0"
seta g_motd "report problems to drews@engr.wisc.edu"
seta rconPassword "raven2"
seta cl_autolodscalevalue "0"
seta cl_autolodscale "1"
seta g_forceBasedTeams "0"
seta g_maxForceRank "6"
seta ui_forcePowerDisable "0"
seta cg_trueLightning "0.0"
seta cg_noProjectileTrail "0"
seta cg_noTaunt "0"
seta cg_smoothClients "0"
seta cg_hudFiles "0"
seta cg_scorePlums "1"
seta cg_cameraOrbitDelay "35"
seta ui_recordSPDemoName ""
seta cg_currentSelectedPlayerName ""
seta cg_currentSelectedPlayer "0"
seta cg_noVoiceText "0"
seta cg_noVoiceChats "0"
seta cg_teamChatsOnly "0"
seta cg_drawFriend "1"
seta cg_drawTeamOverlay "1"
seta cg_deferPlayers "1"
seta cg_forceModel "0"
seta cg_teamChatHeight "0"
seta cg_teamChatTime "3000"
seta cg_bobroll "0.002"
seta cg_bobpitch "0.002"
seta cg_bobup "0.005"
seta cg_runroll "0.005"
seta cg_runpitch "0.002"
seta cg_lagometer "0"
seta cg_simpleItems "0"
seta cg_crosshairY "0"
seta cg_crosshairX "0"
seta cg_crosshairHealth "0"
seta cg_crosshairSize "24"
seta cg_drawRewards "1"
seta cg_dynamicCrosshair "1"
seta cg_drawScores "1"
seta cg_drawEnemyInfo "1"
seta cg_drawAmmoWarning "0"
seta cg_drawIcons "1"
seta cg_draw3dIcons "1"
seta cg_drawSnapshot "0"
seta cg_drawFPS "0"
seta cg_drawTimer "0"
seta cg_drawStatus "1"
seta cg_draw2D "1"
seta cg_gibs "1"
seta cg_stereoSeparation "0.4"
seta cg_fov "80"
seta cg_zoomfov "40.0"
seta cg_drawGun "1"
seta g_timeouttospec "70"
seta g_allowVote "1"
seta g_filterBan "1"
seta g_banIPs ""
seta g_statLogFile "statlog.log"
seta g_statLog "0"
seta g_logSync "0"
seta g_log "games.log"
seta g_teamForceBalance "0"
seta g_teamAutoJoin "0"
seta g_friendlySaber "0"
seta g_friendlyFire "0"
seta g_saberInterpolate "1"
seta duel_fraglimit "10"
seta g_weaponDisable "0"
seta g_forcePowerDisable "0"
seta g_spawnInvulnerability "3000"
seta g_forceRegenTime "200"
seta g_saberLocking "1"
seta g_privateDuel "0"
seta g_autoMapCycle "0"
seta g_ff_objectives "0"
seta g_maxGameClients "0"
seta cm_playerCurveClip "1"
seta net_forcenonlocal "0"
seta cg_shadows "1"
seta sv_maxclients "8"
seta timelimit "20"
seta fraglimit "20"
seta dmflags "0"
seta ui_menuFilesMP "ui/jk2mpmenus.txt"
seta r_overBrightBits "1"
seta com_hunkMegs "64"
seta com_maxfps "85"
seta com_blood "1"
seta com_introplayed "0"
seta com_ignoreothertasks "1"
seta sp_language "2"
seta in_midi "0"
seta in_midiport "1"
seta in_midichannel "1"
seta in_mididevice "0"
seta in_mouse "-1"
seta in_joystick "0"
seta in_joyBallScale "0.02"
seta joy_threshold "0.15"
seta sv_hostname "jkii-dedicated v1.01"
seta sv_maxRate "10000"
seta sv_minPing "0"
seta sv_maxPing "0"
seta sv_floodProtect "1"
seta sv_master2 ""
seta sv_master3 ""
seta sv_master4 ""
seta sv_master5 ""
seta cl_yawspeed "140"
seta cl_pitchspeed "140"
seta cl_maxpackets "30"
seta cl_packetdup "1"
seta cl_run "1"
seta sensitivity "5"
seta cl_mouseAccel "0"
seta cl_freelook "1"
seta cl_allowDownload "0"
seta r_inGameVideo "1"
seta cg_autoswitch "1"
seta m_pitch "0.022"
seta m_yaw "0.022"
seta m_forward "0.25"
seta m_side "0.25"
seta m_filter "0"
seta cl_maxPing "800"
seta name "Em0r0g"
seta rate "3000"
seta snaps "20"
seta model "morgan/default_mp"
seta headmodel "desann/default"
seta team_model "morgan/default_mp"
seta team_headmodel "desann/default"
seta forcepowers "6-1-012330000000000333"
seta g_redTeam "Pagans"
seta g_blueTeam "Stroggs"
seta color1 "4"
seta color2 "5"
seta handicap "100"
seta sex "male"
seta cl_anonymous "0"
seta cg_predictItems "1"
seta cg_viewsize "100"
seta r_allowExtensions "1"
seta r_tf_solid_compressed "GL_COMPRESSED_RGBA_DXT5"
seta r_tf_alpha_compressed "GL_COMPRESSED_RGBA_DXT5"
seta r_tf_solid_uncompressed "GL_RGB8"
seta r_tf_alpha_uncompressed "GL_RGBA8"
seta r_tf_lightmap "GL_RGB8"
seta r_tf_cinematic "GL_RGB8"
seta r_force_compressed_textures "1"
seta r_ext_compressed_textures "1"
seta r_ext_gamma_control "1"
seta r_ext_multitexture "1"
seta r_ext_compiled_vertex_array "1"
seta r_ext_texture_env_add "1"
seta r_ext_texture_filter_anisotropic "1"
seta r_picmip "0"
seta r_roundImagesDown "1"
seta r_detailtextures "1"
seta r_texturebits "0"
seta r_texturebitslm "0"
seta r_colorbits "0"
seta r_stereo "0"
seta r_stencilbits "8"
seta r_depthbits "0"
seta r_ignorehwgamma "0"
seta r_mode "4"
seta r_customwidth "1600"
seta r_customheight "1024"
seta r_customaspect "1"
seta r_simpleMipMaps "1"
seta r_vertexLight "0"
seta r_subdivisions "4"
seta r_smp "0"
seta r_ignoreFastPath "1"
seta r_lodCurveError "250"
seta r_lodbias "0"
seta r_flares "0"
seta r_ignoreGLErrors "1"
seta r_fastsky "0"
seta r_drawSun "0"
seta r_dynamiclight "1"
seta r_dlightBacks "1"
seta r_finish "0"
seta r_textureMode "GL_LINEAR_MIPMAP_LINEAR"
seta r_swapInterval "0"
seta r_gamma "1.6"
seta r_facePlaneCull "1"
seta r_primitives "0"
seta r_modelpoolmegs "10"
seta r_lastValidRenderer "GeForce2 MX/AGP/SSE2"
seta vid_xpos "36"
seta vid_ypos "20"
seta s_volume ".8"
seta s_musicvolume "0.25"
seta s_separation "0.5"
seta s_doppler "1"
seta s_khz "22"
seta s_mixahead "0.2"
seta s_mixPreStep "0.05"
seta s_mp3overhead "31760"
seta s_soundpoolmegs "25"
seta ui_ffa_fraglimit "20"
seta ui_ffa_timelimit "0"
seta ui_tourney_fraglimit "0"
seta ui_tourney_timelimit "15"
seta ui_team_fraglimit "0"
seta ui_team_timelimit "20"
seta ui_team_friendly "1"
seta ui_ctf_capturelimit "8"
seta ui_ctf_timelimit "30"
seta ui_ctf_friendly "0"
seta g_spScores1 ""
seta g_spScores2 ""
seta g_spScores3 ""
seta g_spScores4 ""
seta g_spScores5 ""
seta g_spAwards ""
seta g_spVideos ""
seta g_spSkill "2"
seta ui_browserMaster "0"
seta ui_browserGameType "0"
seta ui_browserSortKey "4"
seta ui_browserShowFull "1"
seta ui_browserShowEmpty "1"
seta cg_drawCrosshair "1"
seta cg_drawCrosshairNames "1"
seta cg_marks "1"
seta server1 ""
seta server2 ""
seta server3 ""
seta server4 ""
seta server5 ""
seta server6 ""
seta server7 ""
seta server8 ""
seta server9 ""
seta server10 ""
seta server11 ""
seta server12 ""
seta server13 ""
seta server14 ""
seta server15 ""
seta server16 ""
seta ui_teamName "Pagans"
seta ui_opponentName "Stroggs"
seta ui_rankChange "6"
seta ui_freeSaber "0"
seta ui_redteam "Pagans"
seta ui_blueteam "Stroggs"
seta ui_dedicated "0"
seta ui_gametype "0"
seta ui_joinGametype "0"
seta ui_netGametype "0"
seta ui_actualNetGametype "0"
seta ui_redteam1 "1"
seta ui_redteam2 "1"
seta ui_redteam3 "1"
seta ui_redteam4 "1"
seta ui_redteam5 "1"
seta ui_redteam6 "1"
seta ui_redteam7 "1"
seta ui_redteam8 "1"
seta ui_blueteam1 "1"
seta ui_blueteam2 "1"
seta ui_blueteam3 "1"
seta ui_blueteam4 "1"
seta ui_blueteam5 "1"
seta ui_blueteam6 "1"
seta ui_blueteam7 "1"
seta ui_blueteam8 "1"
seta ui_netSource "1"
seta ui_menuFiles "ui/jk2mpmenus.txt"
seta ui_currentTier "0"
seta ui_currentMap "0"
seta ui_currentNetMap "0"
seta ui_mapIndex "0"
seta ui_currentOpponent "0"
seta cg_selectedPlayer "1"
seta cg_selectedPlayerName "N/A"
seta ui_lastServerRefresh_0 ""
seta ui_lastServerRefresh_1 "Feb-27, 2002 at 18:52"
seta ui_lastServerRefresh_2 ""
seta ui_lastServerRefresh_3 ""
seta ui_scoreAccuracy "0%"
seta ui_scoreImpressives "0"
seta ui_scoreExcellents "0"
seta ui_scoreCaptures "0"
seta ui_scoreDefends "0"
seta ui_scoreAssists "0"
seta ui_scoreGauntlets "0"
seta ui_scoreScore "0"
seta ui_scorePerfect "0"
seta ui_scoreTeam "0 to 0"
seta ui_scoreBase "0"
seta ui_scoreTime "00:00"
seta ui_scoreTimeBonus "0"
seta ui_scoreSkillBonus "0"
seta ui_scoreShutoutBonus "0"
seta ui_smallFont "0.25"
seta ui_bigFont "0.4"
seta ui_findPlayer "Kyle"
seta ui_q3model "0"
seta ui_recordSPDemo "0"
seta ui_teamArenaFirstRun "1"
seta g_warmup "20"
seta capturelimit "20"
seta ui_serverStatusTimeOut "7000"
seta net_noudp "0"
seta net_noipx "0"
seta net_socksEnabled "0"
seta net_socksServer ""
seta net_socksPort "1080"
seta net_socksUsername ""
seta net_socksPassword ""
seta k_language "american"
seta s_language "deutsch"
seta r_ext_compress_textures "1"
seta r_ext_compress_lightmaps "0"
seta r_ext_preferred_tc_method "0"
seta g_duelWeaponDisable "0"
seta cl_anglespeedkey "1.5"
seta ui_r_glCustom "4"
seta r_fullscreen "0"
seta vm_game "0"
seta vm_cgame "0"
seta vm_ui "0"

351
CODE-mp/base/qconsole.log Normal file
View file

@ -0,0 +1,351 @@
logfile opened on Mon Feb 18 22:49:37 2002
]\hunksmalllog
================
Hunk Small log
================
size = 6032: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2699 (size)
size = 54120: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2694 (sizeof( stages[i] ))
size = 86184: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2650 (sizeof( shader_t ))
size = 72: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 621 (sizeof( modelHash_t ))
size = 272: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 578 (sizeof( *tr.models[tr.numModels] ))
size = 8: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2627 (sizeof( *skin->surfaces ))
size = 264: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2624 (sizeof( skin_t ))
size = 12968: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3787 (size * sizeof(char *))
size = 393864: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3744 (sum + numShaders*2)
size = 1252520: c:\projects\jk2\code-mp\renderer\tr_init.cpp, line: 1053 (sizeof( *backEndData[0] ) + sizeof(srfPoly_t) * max_polys + sizeof(polyVert_t) * max_polyverts)
1806304 Hunk memory
10 hunk blocks
]\logfile 0
]\hunksmalllog
================
Hunk Small log
================
size = 6032: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2699 (size)
size = 54120: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2694 (sizeof( stages[i] ))
size = 86184: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2650 (sizeof( shader_t ))
size = 72: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 621 (sizeof( modelHash_t ))
size = 272: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 578 (sizeof( *tr.models[tr.numModels] ))
size = 8: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2627 (sizeof( *skin->surfaces ))
size = 264: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2624 (sizeof( skin_t ))
size = 12968: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3787 (size * sizeof(char *))
size = 393864: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3744 (sum + numShaders*2)
size = 1252520: c:\projects\jk2\code-mp\renderer\tr_init.cpp, line: 1053 (sizeof( *backEndData[0] ) + sizeof(srfPoly_t) * max_polys + sizeof(polyVert_t) * max_polyverts)
1806304 Hunk memory
10 hunk blocks
]\logfile 2
]\hunksmalllog
================
Hunk Small log
================
size = 6032: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2699 (size)
size = 54120: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2694 (sizeof( stages[i] ))
size = 86184: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2650 (sizeof( shader_t ))
size = 72: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 621 (sizeof( modelHash_t ))
size = 272: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 578 (sizeof( *tr.models[tr.numModels] ))
size = 8: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2627 (sizeof( *skin->surfaces ))
size = 264: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2624 (sizeof( skin_t ))
size = 12968: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3787 (size * sizeof(char *))
size = 393864: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3744 (sum + numShaders*2)
size = 1252520: c:\projects\jk2\code-mp\renderer\tr_init.cpp, line: 1053 (sizeof( *backEndData[0] ) + sizeof(srfPoly_t) * max_polys + sizeof(polyVert_t) * max_polyverts)
1806304 Hunk memory
10 hunk blocks
]\dedicated 1
dedicated will be changed upon restarting.
----- CL_Shutdown -----
RE_Shutdown( 0 )
RE_Shutdown( 1 )
Shutting down OpenGL subsystem
...wglMakeCurrent( NULL, NULL ): success
...deleting GL context: success
...releasing DC: success
...destroying window
...shutting down QGL
...unloading OpenGL DLL
-----------------------
Hitch warning: 1943 msec frame time
================
Hunk Small log
================
size = 6032: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2699 (size)
size = 54120: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2694 (sizeof( stages[i] ))
size = 86184: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2650 (sizeof( shader_t ))
size = 72: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 621 (sizeof( modelHash_t ))
size = 272: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 578 (sizeof( *tr.models[tr.numModels] ))
size = 8: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2627 (sizeof( *skin->surfaces ))
size = 264: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2624 (sizeof( skin_t ))
size = 12968: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3787 (size * sizeof(char *))
size = 393864: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3744 (sum + numShaders*2)
size = 1252520: c:\projects\jk2\code-mp\renderer\tr_init.cpp, line: 1053 (sizeof( *backEndData[0] ) + sizeof(srfPoly_t) * max_polys + sizeof(polyVert_t) * max_polyverts)
1806304 Hunk memory
10 hunk blocks
Hitch warning: 1869 msec frame time
dedicated will be changed upon restarting.
----- Client Initialization -----
Cmd_AddCommand: toggleconsole already defined
Cmd_AddCommand: messagemode already defined
Cmd_AddCommand: messagemode2 already defined
Cmd_AddCommand: messagemode3 already defined
Cmd_AddCommand: messagemode4 already defined
Cmd_AddCommand: clear already defined
Cmd_AddCommand: condump already defined
Cmd_AddCommand: centerview already defined
Cmd_AddCommand: +taunt already defined
Cmd_AddCommand: -taunt already defined
Cmd_AddCommand: +moveup already defined
Cmd_AddCommand: -moveup already defined
Cmd_AddCommand: +movedown already defined
Cmd_AddCommand: -movedown already defined
Cmd_AddCommand: +left already defined
Cmd_AddCommand: -left already defined
Cmd_AddCommand: +right already defined
Cmd_AddCommand: -right already defined
Cmd_AddCommand: +forward already defined
Cmd_AddCommand: -forward already defined
Cmd_AddCommand: +back already defined
Cmd_AddCommand: -back already defined
Cmd_AddCommand: +lookup already defined
Cmd_AddCommand: -lookup already defined
Cmd_AddCommand: +lookdown already defined
Cmd_AddCommand: -lookdown already defined
Cmd_AddCommand: +strafe already defined
Cmd_AddCommand: -strafe already defined
Cmd_AddCommand: +moveleft already defined
Cmd_AddCommand: -moveleft already defined
Cmd_AddCommand: +moveright already defined
Cmd_AddCommand: -moveright already defined
Cmd_AddCommand: +speed already defined
Cmd_AddCommand: -speed already defined
Cmd_AddCommand: +attack already defined
Cmd_AddCommand: -attack already defined
Cmd_AddCommand: +use already defined
Cmd_AddCommand: -use already defined
Cmd_AddCommand: +force_grip already defined
Cmd_AddCommand: -force_grip already defined
Cmd_AddCommand: +altattack already defined
Cmd_AddCommand: -altattack already defined
Cmd_AddCommand: +useforce already defined
Cmd_AddCommand: -useforce already defined
Cmd_AddCommand: +force_lightning already defined
Cmd_AddCommand: -force_lightning already defined
Cmd_AddCommand: +force_drain already defined
Cmd_AddCommand: -force_drain already defined
Cmd_AddCommand: +button0 already defined
Cmd_AddCommand: -button0 already defined
Cmd_AddCommand: +button1 already defined
Cmd_AddCommand: -button1 already defined
Cmd_AddCommand: +button2 already defined
Cmd_AddCommand: -button2 already defined
Cmd_AddCommand: +button3 already defined
Cmd_AddCommand: -button3 already defined
Cmd_AddCommand: +button4 already defined
Cmd_AddCommand: -button4 already defined
Cmd_AddCommand: +button5 already defined
Cmd_AddCommand: -button5 already defined
Cmd_AddCommand: +button6 already defined
Cmd_AddCommand: -button6 already defined
Cmd_AddCommand: +button7 already defined
Cmd_AddCommand: -button7 already defined
Cmd_AddCommand: +button8 already defined
Cmd_AddCommand: -button8 already defined
Cmd_AddCommand: +button9 already defined
Cmd_AddCommand: -button9 already defined
Cmd_AddCommand: +button10 already defined
Cmd_AddCommand: -button10 already defined
Cmd_AddCommand: +button11 already defined
Cmd_AddCommand: -button11 already defined
Cmd_AddCommand: +button12 already defined
Cmd_AddCommand: -button12 already defined
Cmd_AddCommand: +button13 already defined
Cmd_AddCommand: -button13 already defined
Cmd_AddCommand: +button14 already defined
Cmd_AddCommand: -button14 already defined
Cmd_AddCommand: +mlook already defined
Cmd_AddCommand: -mlook already defined
Cmd_AddCommand: sv_saberswitch already defined
Cmd_AddCommand: engage_duel already defined
Cmd_AddCommand: force_heal already defined
Cmd_AddCommand: force_speed already defined
Cmd_AddCommand: force_pull already defined
Cmd_AddCommand: force_distract already defined
Cmd_AddCommand: force_rage already defined
Cmd_AddCommand: force_protect already defined
Cmd_AddCommand: force_absorb already defined
Cmd_AddCommand: force_healother already defined
Cmd_AddCommand: force_forcepowerother already defined
Cmd_AddCommand: force_seeing already defined
Cmd_AddCommand: use_seeker already defined
Cmd_AddCommand: use_field already defined
Cmd_AddCommand: use_bacta already defined
Cmd_AddCommand: use_electrobinoculars already defined
Cmd_AddCommand: zoom already defined
Cmd_AddCommand: use_sentry already defined
Cmd_AddCommand: saberAttackCycle already defined
Cmd_AddCommand: force_throw already defined
Cmd_AddCommand: clientinfo already defined
Cmd_AddCommand: reconnect already defined
Cmd_AddCommand: fs_openedList already defined
Cmd_AddCommand: fs_referencedList already defined
----- Initializing Renderer ----
-------------------------------
----- Client Initialization Complete -----
----- R_Init -----
Cmd_AddCommand: screenshot_tga already defined
Initializing OpenGL subsystem
...initializing QGL
...calling LoadLibrary( 'C:\WINDOWS\System32\opengl32.dll' ): succeeded
...setting mode 3: 640 480 W
...created window@0,0 (646x512)
Initializing OpenGL driver
...getting DC: succeeded
...GLW_ChoosePFD( 32, 24, 8 )
...50 PFDs found
...hardware acceleration found
...PIXELFORMAT 8 selected
...creating GL context: succeeded
...making context current: succeeded
Initializing OpenGL extensions
...GL_S3_s3tc available
...GL_EXT_texture_compression_s3tc available
...no tc preference specified
.....using GL_EXT_texture_compression_s3tc
...using GL_EXT_texture_env_add
...GL_EXT_texture_filter_anisotropic available
...using GL_EXT_texture_filter_anisotropic
...Using GL_EXT_texture_edge_clamp
...using WGL_EXT_swap_control
...using GL_ARB_multitexture
...using GL_EXT_compiled_vertex_array
...using GL_EXT_point_parameters
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce2 MX/AGP/SSE2
GL_VERSION: 1.3.0
GL_EXTENSIONS: GL_ARB_imaging GL_ARB_multitexture GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_transpose_matrix GL_S3_s3tc GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_packed_pixels GL_EXT_paletted_texture GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shared_texture_palette GL_EXT_stencil_wrap GL_EXT_texture_compression_s3tc GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_cube_map GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_vertex_weighting GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_evaluators GL_NV_fence GL_NV_fog_distance GL_NV_light_max_exponent GL_NV_packed_depth_stencil GL_NV_register_combiners GL_NV_texgen_emboss GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_NV_texture_rectangle GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_SGIS_generate_mipmap GL_SGIS_multitexture GL_SGIS_texture_lod GL_WIN_swap_hint WGL_EXT_swap_control
GL_MAX_TEXTURE_SIZE: 2048
GL_MAX_ACTIVE_TEXTURES_ARB: 2
PIXELFORMAT: color(32-bits) Z(24-bit) stencil(8-bits)
MODE: 3, 640 x 480 windowed hz:60
GAMMA: hardware w/ 0 overbright bits
CPU: Intel Pentium IV
rendering primitives: single glDrawElements
texturemode: GL_LINEAR_MIPMAP_LINEAR
picmip: 0
texture bits: 0
lightmap texture bits: 0
multitexture: enabled
compiled vertex arrays: enabled
texenv add: enabled
compressed textures: enabled
compressed lightmaps: disabled
texture compression method: GL_EXT_texture_compression_s3tc
anisotropic filtering: enabled
Initializing Shaders
...loading 'shaders/zoom.shader'
...loading 'shaders/yavin.shader'
...loading 'shaders/ui.shader'
...loading 'shaders/test.shader'
...loading 'shaders/system.shader'
...loading 'shaders/sprites.shader'
...loading 'shaders/skies.shader'
...loading 'shaders/scavenger.shader'
...loading 'shaders/sabers.shader'
...loading 'shaders/players.shader'
...loading 'shaders/nar_shaddaa.shader'
...loading 'shaders/mp.shader'
...loading 'shaders/models.shader'
...loading 'shaders/metashader.shader'
...loading 'shaders/marks.shader'
...loading 'shaders/jeffd_test.shader'
...loading 'shaders/items.shader'
...loading 'shaders/imperial.shader'
...loading 'shaders/gfx.shader'
...loading 'shaders/fogs.shader'
...loading 'shaders/flares.shader'
...loading 'shaders/explosions.shader'
...loading 'shaders/effects.shader'
...loading 'shaders/doomgiver.shader'
...loading 'shaders/decals.shader'
...loading 'shaders/common.shader'
...loading 'shaders/cinematics.shader'
...loading 'shaders/bespin.shader'
----- finished R_Init -----
------- sound initialization -------
Cmd_AddCommand: soundstop already defined
Initializing DirectSound
locked hardware. ok
------------------------------------
----- Sound Info -----
sound system is muted
1 stereo
32768 samples
16 samplebits
1 submission_chunk
22050 speed
0x110d86e0 dma buffer
No background file.
0.01MB audio data: ( 0.01MB WAV/MP3 ) + ( 0.00MB Music )
0.01MB in sfx_t alloc data (WAV/MP3) loaded this level
----------------------
Loading dll file ui.
Parsing menu file:ui/jk2mp/main.menu
Parsing menu file:ui/jk2mp/joinserver.menu
Parsing menu file:ui/jk2mp/player.menu
Parsing menu file:ui/jk2mp/createserver.menu
Parsing menu file:ui/jk2mp/connect.menu
Parsing menu file:ui/jk2mp/rules.menu
Parsing menu file:ui/jk2mp/rules_games.menu
Parsing menu file:ui/jk2mp/rules_force.menu
Parsing menu file:ui/jk2mp/rules_weapons.menu
Parsing menu file:ui/jk2mp/rules_items.menu
Parsing menu file:ui/jk2mp/controls.menu
Parsing menu file:ui/jk2mp/setup.menu
Parsing menu file:ui/jk2mp/demo.menu
Parsing menu file:ui/jk2mp/password.menu
Parsing menu file:ui/jk2mp/quit.menu
Parsing menu file:ui/jk2mp/error.menu
Parsing menu file:ui/jk2mp/serverinfo.menu
Parsing menu file:ui/jk2mp/findplayer.menu
Parsing menu file:ui/jk2mp/createfavorite.menu
Parsing menu file:ui/jk2mp/multiplayer.menu
Parsing menu file:ui/jk2mp/cdkey.menu
Parsing menu file:ui/jk2mp/advancedcreateserver.menu
Parsing menu file:ui/jk2mp/credits.menu
Parsing menu file:ui/jk2mp/vid_warning.menu
Parsing menu file:ui/jk2mp/videodriver.menu
UI menu load time = 2031 milli seconds
28 bots parsed
================
Hunk Small log
================
size = 12064: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2699 (size)
size = 108240: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2694 (sizeof( stages[i] ))
size = 172368: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 2650 (sizeof( shader_t ))
size = 144: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 621 (sizeof( modelHash_t ))
size = 544: c:\projects\jk2\code-mp\renderer\tr_model.cpp, line: 578 (sizeof( *tr.models[tr.numModels] ))
size = 16: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2627 (sizeof( *skin->surfaces ))
size = 528: c:\projects\jk2\code-mp\renderer\tr_image.cpp, line: 2624 (sizeof( skin_t ))
size = 25936: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3787 (size * sizeof(char *))
size = 787728: c:\projects\jk2\code-mp\renderer\tr_shader.cpp, line: 3744 (sum + numShaders*2)
size = 2505040: c:\projects\jk2\code-mp\renderer\tr_init.cpp, line: 1053 (sizeof( *backEndData[0] ) + sizeof(srfPoly_t) * max_polys + sizeof(polyVert_t) * max_polyverts)
3612608 Hunk memory
10 hunk blocks
----- CL_Shutdown -----
RE_Shutdown( 0 )
RE_Shutdown( 1 )
Shutting down OpenGL subsystem
...wglMakeCurrent( NULL, NULL ): success
...deleting GL context: success
...releasing DC: success
...destroying window
...shutting down QGL
...unloading OpenGL DLL
-----------------------

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

17
CODE-mp/base/server.cfg Normal file
View file

@ -0,0 +1,17 @@
// Server Config
seta sv_hostname "jkii-dedicated v1.01"
seta sv_maxclients 8
seta g_motd "report problems to drews@engr.wisc.edu"
sv_pure 0
sv_maxRate 10000
seta g_inactivity 0
seta rconpassword "raven2"
g_allowvote 1
set d1 "set timelimit 20; set capturelimit 20; map ffa_deathstar; set nextmap vstr d2"
set d2 "set timelimit 20; set capturelimit 20; map ffa_imperial; set nextmap vstr d3"
set d3 "map ffa_bespin; set nextmap vstr d4"
set d4 "map ffa_raven; set nextmap vstr d5"
set d5 "map ffa_yavin; set nextmap vstr d1"
vstr d1

1597
CODE-mp/base/vm/cgame.map Normal file

File diff suppressed because it is too large Load diff

BIN
CODE-mp/base/vm/cgame.qvm Normal file

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

1011
CODE-mp/base/vm/ui.map Normal file

File diff suppressed because it is too large Load diff

BIN
CODE-mp/base/vm/ui.qvm Normal file

Binary file not shown.

16
CODE-mp/botlib/botlib.plg Normal file
View file

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: botlib - Win32 Final JK2--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
botlib.lib - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View file

@ -1,5 +0,0 @@
SCC = This is a Source Code Control file
[botlib.dsp]
SCC_Aux_Path = "\\ravend\vss_projects\jk2sof2MP"
SCC_Project_Name = "$/General/code/botlib", ACAAAAAA

Binary file not shown.

View file

@ -8,6 +8,7 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
//=================================================
//ANIMS IN WHICH UPPER AND LOWER OBJECTS ARE IN MD3
//=================================================
ENUM2STRING(BOTH_1CRUFTFORGIL), //# G2 cannot have a reverse anim at beginning of file
//# #sep ENUM2STRING(BOTH_ DEATHS
ENUM2STRING(BOTH_DEATH1), //# First Death anim
ENUM2STRING(BOTH_DEATH2), //# Second Death anim
@ -23,13 +24,17 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_DEATH12), //#
ENUM2STRING(BOTH_DEATH13), //#
ENUM2STRING(BOTH_DEATH14), //#
ENUM2STRING(BOTH_DEATH14_UNGRIP), //# Desann's end death (cin #35)
ENUM2STRING(BOTH_DEATH14_SITUP), //# Tavion sitting up after having been thrown (cin #23)
ENUM2STRING(BOTH_DEATH15), //#
ENUM2STRING(BOTH_DEATH16), //#
ENUM2STRING(BOTH_DEATH17), //#
ENUM2STRING(BOTH_DEATH18), //#
ENUM2STRING(BOTH_DEATH19), //#
ENUM2STRING(BOTH_DEATH20), //#
ENUM2STRING(BOTH_DEATH21), //#
ENUM2STRING(BOTH_DEATH22), //#
ENUM2STRING(BOTH_DEATH23), //#
ENUM2STRING(BOTH_DEATH24), //#
ENUM2STRING(BOTH_DEATH25), //#
ENUM2STRING(BOTH_DEATHFORWARD1), //# First Death in which they get thrown forward
ENUM2STRING(BOTH_DEATHFORWARD2), //# Second Death in which they get thrown forward
@ -73,6 +78,12 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_DEAD17), //#
ENUM2STRING(BOTH_DEAD18), //#
ENUM2STRING(BOTH_DEAD19), //#
ENUM2STRING(BOTH_DEAD20), //#
ENUM2STRING(BOTH_DEAD21), //#
ENUM2STRING(BOTH_DEAD22), //#
ENUM2STRING(BOTH_DEAD23), //#
ENUM2STRING(BOTH_DEAD24), //#
ENUM2STRING(BOTH_DEAD25), //#
ENUM2STRING(BOTH_DEADFORWARD1), //# First thrown forward death finished pose
ENUM2STRING(BOTH_DEADFORWARD2), //# Second thrown forward death finished pose
ENUM2STRING(BOTH_DEADBACKWARD1), //# First thrown backward death finished pose
@ -124,6 +135,7 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
//# #sep ENUM2STRING(BOTH_ ATTACKS
ENUM2STRING(BOTH_ATTACK1), //# Attack with stun baton
ENUM2STRING(BOTH_ATTACK2), //# Attack with one-handed pistol
ENUM2STRING(BOTH_ATTACK2IDLE1), //# Idle with one-handed pistol
ENUM2STRING(BOTH_ATTACK3), //# Attack with blaster rifle
ENUM2STRING(BOTH_ATTACK4), //# Attack with disruptor
ENUM2STRING(BOTH_ATTACK5), //# Attack with bow caster
@ -607,19 +619,29 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_CCWCIRCLEBREAK), //#
ENUM2STRING(BOTH_CWCIRCLELOCK), //#
ENUM2STRING(BOTH_CCWCIRCLELOCK), //#
//other saber anims/attacks
ENUM2STRING(BOTH_SABERFAST_STANCE),
ENUM2STRING(BOTH_SABERSLOW_STANCE),
ENUM2STRING(BOTH_A2_STABBACK1), //# Stab saber backward
ENUM2STRING(BOTH_ATTACK_BACK), //# Swing around backwards and attack
ENUM2STRING(BOTH_JUMPFLIPSLASHDOWN1),//#
ENUM2STRING(BOTH_JUMPFLIPSTABDOWN),//#
ENUM2STRING(BOTH_FORCELEAP2_T__B_),//#
ENUM2STRING(BOTH_LUNGE2_B__T_),//#
ENUM2STRING(BOTH_CROUCHATTACKBACK1),//#
//# #sep ENUM2STRING(BOTH_ STANDING
ENUM2STRING(BOTH_STAND1), //# Standing idle), no weapon), hands down
ENUM2STRING(BOTH_STAND1_RANDOM1), //# Random standing idle
ENUM2STRING(BOTH_STAND1_RANDOM2), //# Random standing idle
ENUM2STRING(BOTH_STAND2), //# Standing idle with a weapon
ENUM2STRING(BOTH_STAND2_RANDOM1), //# Random standing idle
ENUM2STRING(BOTH_STAND2_RANDOM2), //# Random standing idle
ENUM2STRING(BOTH_STAND2_RANDOM3), //# Random standing idle
ENUM2STRING(BOTH_STAND2_RANDOM4), //# Random standing idle
ENUM2STRING(BOTH_STAND3), //# Standing hands behind back), at ease), etc.
ENUM2STRING(BOTH_STAND1), //# Standing idle, no weapon, hands down
ENUM2STRING(BOTH_STAND1IDLE1), //# Random standing idle
ENUM2STRING(BOTH_STAND2), //# Standing idle with a saber
ENUM2STRING(BOTH_STAND2IDLE1), //# Random standing idle
ENUM2STRING(BOTH_STAND2IDLE2),
ENUM2STRING(BOTH_STAND3), //# Standing idle with 2-handed weapon
ENUM2STRING(BOTH_STAND3IDLE1), //# Random standing idle
ENUM2STRING(BOTH_STAND4), //# hands clasp behind back
ENUM2STRING(BOTH_STAND5), //# standing idle), no weapon), hand down), back straight
ENUM2STRING(BOTH_STAND4IDLE1), //# Random standing idle
ENUM2STRING(BOTH_STAND5), //# standing idle, no weapon, hand down, back straight
ENUM2STRING(BOTH_STAND5IDLE1), //# Random standing idle
ENUM2STRING(BOTH_STAND6), //# one handed), gun at side), relaxed stand
ENUM2STRING(BOTH_STAND7), //# both hands on hips (female)
ENUM2STRING(BOTH_STAND8), //# both hands on hips (male)
@ -638,8 +660,21 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_STAND5_REELO), //# Reelo in his stand5 position (cin #18)
ENUM2STRING(BOTH_STAND1TOSTAND5), //# Transition from stand1 to stand5
ENUM2STRING(BOTH_STAND5TOSTAND1), //# Transition from stand5 to stand1
ENUM2STRING(BOTH_STAND5TOAIM), //# Transition of Kye aiming his gun at Desann (cin #9)
ENUM2STRING(BOTH_STAND5STARTLEDLOOKLEFT), //# Kyle turning to watch the bridge drop (cin #9)
ENUM2STRING(BOTH_STARTLEDLOOKLEFTTOSTAND5), //# Kyle returning to stand 5 from watching the bridge drop (cin #9)
ENUM2STRING(BOTH_STAND5TOSTAND8), //# Transition from stand5 to stand8
ENUM2STRING(BOTH_STAND7TOSTAND8), //# Tavion putting hands on back of chair (cin #11)
ENUM2STRING(BOTH_STAND8TOSTAND5), //# Transition from stand8 to stand5
ENUM2STRING(BOTH_STAND5SHIFTWEIGHT), //# Weightshift from stand5 to side and back to stand5
ENUM2STRING(BOTH_STAND5SHIFTWEIGHTSTART), //# From stand5 to side
ENUM2STRING(BOTH_STAND5SHIFTWEIGHTSTOP), //# From side to stand5
ENUM2STRING(BOTH_STAND5TURNLEFTSTART), //# Start turning left from stand5
ENUM2STRING(BOTH_STAND5TURNLEFTSTOP), //# Stop turning left from stand5
ENUM2STRING(BOTH_STAND5TURNRIGHTSTART), //# Start turning right from stand5
ENUM2STRING(BOTH_STAND5TURNRIGHTSTOP), //# Stop turning right from stand5
ENUM2STRING(BOTH_STAND5LOOK180LEFTSTART), //# Start looking over left shoulder (cin #17)
ENUM2STRING(BOTH_STAND5LOOK180LEFTSTOP), //# Stop looking over left shoulder (cin #17)
ENUM2STRING(BOTH_CONSOLE1START), //# typing at a console
ENUM2STRING(BOTH_CONSOLE1), //# typing at a console
@ -647,6 +682,8 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_CONSOLE2START), //# typing at a console with comm link in hand (cin #5)
ENUM2STRING(BOTH_CONSOLE2), //# typing at a console with comm link in hand (cin #5)
ENUM2STRING(BOTH_CONSOLE2STOP), //# typing at a console with comm link in hand (cin #5)
ENUM2STRING(BOTH_CONSOLE2HOLDCOMSTART), //# lean in to type at console while holding comm link in hand (cin #5)
ENUM2STRING(BOTH_CONSOLE2HOLDCOMSTOP), //# lean away after typing at console while holding comm link in hand (cin #5)
ENUM2STRING(BOTH_GUARD_LOOKAROUND1), //# Cradling weapon and looking around
ENUM2STRING(BOTH_GUARD_IDLE1), //# Cradling weapon and standing
@ -654,6 +691,53 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_GESTURE1), //# Generic gesture), non-specific
ENUM2STRING(BOTH_GESTURE2), //# Generic gesture), non-specific
ENUM2STRING(BOTH_GESTURE3), //# Generic gesture), non-specific
ENUM2STRING(BOTH_WALK1TALKCOMM1), //# Talking into coom link while walking
ENUM2STRING(BOTH_TALK1), //# Generic talk anim
ENUM2STRING(BOTH_TALK2), //# Generic talk anim
ENUM2STRING(BOTH_TALKCOMM1START), //# Start talking into a comm link
ENUM2STRING(BOTH_TALKCOMM1), //# Talking into a comm link
ENUM2STRING(BOTH_TALKCOMM1STOP), //# Stop talking into a comm link
ENUM2STRING(BOTH_TALKGESTURE1), //# Generic talk anim
ENUM2STRING(BOTH_TALKGESTURE2), //# Generic talk anim
ENUM2STRING(BOTH_TALKGESTURE3), //# Generic talk anim
ENUM2STRING(BOTH_TALKGESTURE4START), //# Beginning talk anim 4
ENUM2STRING(BOTH_TALKGESTURE4), //# Talk gesture 4
ENUM2STRING(BOTH_TALKGESTURE4STOP), //# Ending talk anim 4
ENUM2STRING(BOTH_TALKGESTURE5START), //# Start hand on chin
ENUM2STRING(BOTH_TALKGESTURE5), //# Hand on chin
ENUM2STRING(BOTH_TALKGESTURE5STOP), //# Stop hand on chin
ENUM2STRING(BOTH_TALKGESTURE6START), //# Starting Motions to self
ENUM2STRING(BOTH_TALKGESTURE6), //# Pointing at self
ENUM2STRING(BOTH_TALKGESTURE6STOP), //# Ending Motions to self
ENUM2STRING(BOTH_TALKGESTURE7START), //# Start touches Kyle on shoulder
ENUM2STRING(BOTH_TALKGESTURE7), //# Hold touches Kyle on shoulder
ENUM2STRING(BOTH_TALKGESTURE7STOP), //# Ending touches Kyle on shoulder
ENUM2STRING(BOTH_TALKGESTURE8START), //# Lando's chin hold
ENUM2STRING(BOTH_TALKGESTURE8), //# Lando's chin hold
ENUM2STRING(BOTH_TALKGESTURE8STOP), //# Lando's chin hold
ENUM2STRING(BOTH_TALKGESTURE9), //# Same as gesture 2 but with the right hand
ENUM2STRING(BOTH_TALKGESTURE10), //# Shoulder shrug
ENUM2STRING(BOTH_TALKGESTURE11START), //# Arms folded across chest
ENUM2STRING(BOTH_TALKGESTURE11STOP), //# Arms folded across chest
ENUM2STRING(BOTH_TALKGESTURE12), //# Tavion taunting Kyle
ENUM2STRING(BOTH_TALKGESTURE13START), //# Luke warning Kyle
ENUM2STRING(BOTH_TALKGESTURE13), //# Luke warning Kyle
ENUM2STRING(BOTH_TALKGESTURE13STOP), //# Luke warning Kyle
ENUM2STRING(BOTH_TALKGESTURE14), //# Luke gesturing to Kyle
ENUM2STRING(BOTH_TALKGESTURE15START), //# Desann taunting Kyle
ENUM2STRING(BOTH_TALKGESTURE15), //# Desann taunting Kyle
ENUM2STRING(BOTH_TALKGESTURE15STOP), //# Desann taunting Kyle
ENUM2STRING(BOTH_TALKGESTURE16), //# Bartender gesture cin #15
ENUM2STRING(BOTH_TALKGESTURE17), //# Bartender gesture cin #15
ENUM2STRING(BOTH_TALKGESTURE18), //# Bartender gesture cin #15
ENUM2STRING(BOTH_TALKGESTURE19START), //# Desann lifting his arm "Join me" (cin #34)
ENUM2STRING(BOTH_TALKGESTURE19STOP), //# Desann lifting his arm "Join me" (cin #34)
ENUM2STRING(BOTH_TALKGESTURE20START), //# Kyle lifting his arm "Join us" (cin #34)
ENUM2STRING(BOTH_TALKGESTURE21), //# generic talk gesture from stand3
ENUM2STRING(BOTH_TALKGESTURE22), //# generic talk gesture from stand3
ENUM2STRING(BOTH_TALKGESTURE23), //# generic talk gesture from stand3
ENUM2STRING(BOTH_PAUSE1START), //# Luke pauses to warn Kyle (cin #24) start
ENUM2STRING(BOTH_PAUSE1STOP), //# Luke pauses to warn Kyle (cin #24) stop
@ -670,6 +754,8 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_SITHEADTILTRSTOP), //# Head tilt to right from seated position
ENUM2STRING(BOTH_SITHEADNOD), //# Head shake YES from seated position
ENUM2STRING(BOTH_SITHEADSHAKE), //# Head shake NO from seated position
ENUM2STRING(BOTH_SIT2HEADTILTLSTART), //# Head tilt to left from seated position 2
ENUM2STRING(BOTH_SIT2HEADTILTLSTOP), //# Head tilt to left from seated position 2
ENUM2STRING(BOTH_REACH1START), //# Monmothma reaching for crystal
ENUM2STRING(BOTH_REACH1STOP), //# Monmothma reaching for crystal
@ -684,13 +770,6 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_EXAMINE3), //# Hold Lando looking around corner
ENUM2STRING(BOTH_EXAMINE3STOP), //# End Lando looking around corner
ENUM2STRING(BOTH_THROW1START), //# Kyle thrown to the right
ENUM2STRING(BOTH_THROW1), //# Kyle thrown to the right
ENUM2STRING(BOTH_THROW1STOP), //# Kyle thrown to the right
ENUM2STRING(BOTH_THROW2START), //# Kyle thrown to the left
ENUM2STRING(BOTH_THROW2), //# Kyle thrown to the left
ENUM2STRING(BOTH_THROW3), //# Kyle thrown backwards in cin #9
ENUM2STRING(BOTH_LEANLEFT2START), //# Start leaning left in chair
ENUM2STRING(BOTH_LEANLEFT2STOP), //# Stop leaning left in chair
ENUM2STRING(BOTH_LEANRIGHT3START), //# Start Lando leaning on wall
@ -726,6 +805,26 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_LAUGH1STOP), //# Reelo laughing (cin #18)
ENUM2STRING(BOTH_ESCAPEPOD_LEAVE1), //# Kyle leaving escape pod (cin #33)
ENUM2STRING(BOTH_ESCAPEPOD_LEAVE2), //# Jan leaving escape pod (cin #33)
ENUM2STRING(BOTH_HUGGER1), //# Kyle hugging Jan (cin #29)
ENUM2STRING(BOTH_HUGGERSTOP1), //# Kyle stop hugging Jan but don't let her go (cin #29)
ENUM2STRING(BOTH_HUGGERSTOP2), //# Kyle let go of Jan and step back (cin #29)
ENUM2STRING(BOTH_HUGGEE1), //# Jan being hugged (cin #29)
ENUM2STRING(BOTH_HUGGEESTOP1), //# Jan stop being hugged but don't let go (cin #29)
ENUM2STRING(BOTH_HUGGEESTOP2), //# Jan released from hug (cin #29)
ENUM2STRING(BOTH_KISSER1), //# Temp until the Kiss anim gets split up
ENUM2STRING(BOTH_KISSER1START1), //# Kyle start kissing Jan
ENUM2STRING(BOTH_KISSER1START2), //# Kyle start kissing Jan
ENUM2STRING(BOTH_KISSER1LOOP), //# Kyle loop kissing Jan
ENUM2STRING(BOTH_KISSER1STOP), //# Temp until the Kiss anim gets split up
ENUM2STRING(BOTH_KISSER1STOP1), //# Kyle stop kissing but don't let go
ENUM2STRING(BOTH_KISSER1STOP2), //# Kyle step back from Jan
ENUM2STRING(BOTH_KISSEE1), //# Temp until the Kiss anim gets split up
ENUM2STRING(BOTH_KISSEE1START1), //# Jan start being kissed
ENUM2STRING(BOTH_KISSEE1START2), //# Jan start2 being kissed
ENUM2STRING(BOTH_KISSEE1LOOP), //# Jan loop being kissed
ENUM2STRING(BOTH_KISSEE1STOP), //# Temp until the Kiss anim gets split up
ENUM2STRING(BOTH_KISSEE1STOP1), //# Jan stop being kissed but don't let go
ENUM2STRING(BOTH_KISSEE1STOP2), //# Jan wait for Kyle to step back
ENUM2STRING(BOTH_BARTENDER_IDLE1), //# Bartender idle in cin #15
ENUM2STRING(BOTH_BARTENDER_THROW1), //# Bartender throws glass in cin #15
ENUM2STRING(BOTH_BARTENDER_COWERSTART), //# Start of Bartender raising both hands up in surrender (cin #16)
@ -735,6 +834,7 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_THREATEN1), //# Kyle threatening Bartender with lightsaber (cin #16)
ENUM2STRING(BOTH_RADIO_ONOFF), //# Mech Galak turning on his suit radio (cin #32)
ENUM2STRING(BOTH_TRIUMPHANT1START), //# Mech Galak raising his arms in victory (cin #32)
ENUM2STRING(BOTH_TRIUMPHANT1STARTGESTURE), //# Mech Galak raising his arms in victory (cin #32)
ENUM2STRING(BOTH_TRIUMPHANT1STOP), //# Mech Galak lowering his arms in victory (cin #32)
ENUM2STRING(BOTH_SABERTHROW1START), //# Desann throwing his light saber (cin #26)
@ -758,6 +858,8 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_SIT2TO3), //# Trans from sit2 to sit3?
ENUM2STRING(BOTH_SIT2TOSTAND5), //# Transition from sit 2 to stand 5
ENUM2STRING(BOTH_STAND5TOSIT2), //# Transition from stand 5 to sit 2
ENUM2STRING(BOTH_SIT2TOSIT4), //# Trans from sit2 to sit4 (cin #12) Luke leaning back from lotus position.
ENUM2STRING(BOTH_SIT3TO1), //# Trans from sit3 to sit1?
ENUM2STRING(BOTH_SIT3TO2), //# Trans from sit3 to sit2?
ENUM2STRING(BOTH_SIT3TOSTAND5), //# transition from sit 3 to stand 5
@ -778,23 +880,22 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_UNCROUCH1), //# Transition from crouch to standing
ENUM2STRING(BOTH_CROUCH2IDLE), //# crouch and resting on back righ heel), no weapon
ENUM2STRING(BOTH_CROUCH2TOSTAND1), //# going from crouch2 to stand1
ENUM2STRING(BOTH_UNCROUCH3), //# Desann uncrouching down to Kyle (cin 9)
ENUM2STRING(BOTH_CROUCH3), //# Desann crouching down to Kyle (cin 9)
ENUM2STRING(BOTH_UNCROUCH3), //# Desann uncrouching down to Kyle (cin 9)
ENUM2STRING(BOTH_CROUCH4), //# Slower version of crouch1 for cinematics
ENUM2STRING(BOTH_UNCROUCH4), //# Slower version of uncrouch1 for cinematics
ENUM2STRING(BOTH_GET_UP1), //# Get up from the ground), face down
ENUM2STRING(BOTH_GET_UP2), //# Get up from the ground), face up
ENUM2STRING(BOTH_COCKPIT_CONSOLE1), //# work console1 while sitting in a cockpit.
ENUM2STRING(BOTH_COCKPIT_CONSOLE2), //# work console2 while sitting in a cockpit.
ENUM2STRING(BOTH_COCKPIT_SIT), //# sit in a cockpit.
ENUM2STRING(BOTH_GUNSIT1), //# sitting on an emplaced gun.
ENUM2STRING(BOTH_DEATH14_UNGRIP), //# Desann's end death (cin #35)
ENUM2STRING(BOTH_DEATH14_SITUP), //# Tavion sitting up after having been thrown (cin #23)
ENUM2STRING(BOTH_KNEES1), //# Tavion on her knees
ENUM2STRING(BOTH_KNEES2), //# Tavion on her knees looking down
ENUM2STRING(BOTH_KNEES2TO1), //# Transition of KNEES2 to KNEES1
ENUM2STRING(BOTH_STRUGGLE1START), //# Kyle struggling under crate
ENUM2STRING(BOTH_STRUGGLE1), //# Kyle struggling under crate
ENUM2STRING(BOTH_STRUGGLE1STOP), //# Kyle struggling under crate
ENUM2STRING(BOTH_RUMMAGE1START), //# Kyle rummaging for crystal (cin 2)
ENUM2STRING(BOTH_RUMMAGE1), //# Kyle rummaging for crystal (cin 2)
@ -812,6 +913,9 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_WALK5), //# Tavion taunting Kyle (cin 22)
ENUM2STRING(BOTH_WALK6), //# Slow walk for Luke (cin 12)
ENUM2STRING(BOTH_WALK7), //# Fast walk
ENUM2STRING(BOTH_WALK8), //# Normal walk with hands behind back (Luke in cin#12)
ENUM2STRING(BOTH_WALK9), //# Lando walk (cin #17)
ENUM2STRING(BOTH_WALK10), //# Lando walk (cin #17)
ENUM2STRING(BOTH_WALKTORUN1), //# transition from walk to run
ENUM2STRING(BOTH_RUN1), //# Full run
ENUM2STRING(BOTH_RUN1START), //# Start into full run1
@ -824,10 +928,12 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_RUNSTRAFE_RIGHT1), //# Sidestep right), should loop
ENUM2STRING(BOTH_TURN_LEFT1), //# Turn left), should loop
ENUM2STRING(BOTH_TURN_RIGHT1), //# Turn right), should loop
ENUM2STRING(BOTH_TURNSTAND1), //# Turn from STAND1 position
ENUM2STRING(BOTH_TURNSTAND2), //# Turn from STAND2 position
ENUM2STRING(BOTH_TURNSTAND3), //# Turn from STAND3 position
ENUM2STRING(BOTH_TURNSTAND4), //# Turn from STAND4 position
ENUM2STRING(BOTH_TURNSTAND5), //# Turn from STAND5 position
ENUM2STRING(BOTH_TURNCROUCH1), //# Turn from CROUCH1 position
ENUM2STRING(BOTH_RUNAWAY1), //# Running scared
ENUM2STRING(BOTH_SWIM1), //# Swimming
@ -898,16 +1004,7 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_DIVE1), //# Dive!
ENUM2STRING(BOTH_SABERFAST_STANCE),
ENUM2STRING(BOTH_SABERSLOW_STANCE),
ENUM2STRING(BOTH_ENGAGETAUNT),
ENUM2STRING(BOTH_A2_STABBACK1), //# Stab saber backward
ENUM2STRING(BOTH_ATTACK_BACK), //# Swing around backwards and attack
ENUM2STRING(BOTH_JUMPFLIPSLASHDOWN1),//#
ENUM2STRING(BOTH_JUMPFLIPSTABDOWN),//#
ENUM2STRING(BOTH_FORCELEAP2_T__B_),//#
ENUM2STRING(BOTH_LUNGE2_B__T_),//#
ENUM2STRING(BOTH_CROUCHATTACKBACK1),//#
ENUM2STRING(BOTH_ARIAL_LEFT), //#
ENUM2STRING(BOTH_ARIAL_RIGHT), //#
ENUM2STRING(BOTH_CARTWHEEL_LEFT), //#
@ -963,10 +1060,6 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_ARIAL_F1),//#
ENUM2STRING(BOTH_BUTTERFLY_FR1),//#
ENUM2STRING(BOTH_BUTTERFLY_FL1),//#
ENUM2STRING(BOTH_POSE1),//#
ENUM2STRING(BOTH_POSE2),//#
ENUM2STRING(BOTH_POSE3),//#
ENUM2STRING(BOTH_POSE4),//#
//# #sep BOTH_ MISC MOVEMENT
ENUM2STRING(BOTH_HIT1), //# Kyle hit by crate in cin #9
@ -999,12 +1092,7 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
//# #sep BOTH_ SWIMMING
ENUM2STRING(BOTH_SWIM_IDLE1), //# Swimming Idle 1
ENUM2STRING(BOTH_SWIMFORWARDSTART), //# Swim forward start
ENUM2STRING(BOTH_SWIMFORWARD), //# Swim forward loop
ENUM2STRING(BOTH_SWIMFORWARDSTOP), //# Swim forward end
ENUM2STRING(BOTH_SWIMBACKWARDSTART),//# Swim backward start
ENUM2STRING(BOTH_SWIMBACKWARD), //# Swim backward loop
ENUM2STRING(BOTH_SWIMBACKWARDSTOP), //# Swim backward end
//# #sep ENUM2STRING(BOTH_ LYING
ENUM2STRING(BOTH_LIE_DOWN1), //# From a stand position), get down on ground), face down
@ -1030,6 +1118,26 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_PROPUP1), //# Kyle getting up from having been knocked down (cin #9 end)
ENUM2STRING(BOTH_CRAWLBACK1), //# Lying on back), crawling backwards with elbows
ENUM2STRING(BOTH_SITWALL1), //# Sitting against a wall
ENUM2STRING(BOTH_SLEEP1), //# laying on back-rknee up-rhand on torso
ENUM2STRING(BOTH_SLEEP2), //# on floor-back against wall-arms crossed
ENUM2STRING(BOTH_SLEEP3), //# Sleeping in a chair
ENUM2STRING(BOTH_SLEEP4), //# Sleeping slumped over table
ENUM2STRING(BOTH_SLEEP5), //# Laying on side sleeping on flat sufrace
ENUM2STRING(BOTH_SLEEP6START), //# Kyle leaning back to sleep (cin 20)
ENUM2STRING(BOTH_SLEEP6STOP), //# Kyle waking up and shaking his head (cin 21)
ENUM2STRING(BOTH_SLEEP1GETUP), //# alarmed and getting up out of sleep1 pose to stand
ENUM2STRING(BOTH_SLEEP1GETUP2), //#
ENUM2STRING(BOTH_SLEEP2GETUP), //# alarmed and getting up out of sleep2 pose to stand
ENUM2STRING(BOTH_SLEEP3GETUP), //# alarmed and getting up out of sleep3 pose to stand
ENUM2STRING(BOTH_SLEEP3DEATH), //# death in chair), from sleep3 idle
ENUM2STRING(BOTH_SLEEP3DEAD), //# death in chair), from sleep3 idle
ENUM2STRING(BOTH_SLEEP_IDLE1), //# rub face and nose while asleep from sleep pose 1
ENUM2STRING(BOTH_SLEEP_IDLE2), //# shift position while asleep - stays in sleep2
ENUM2STRING(BOTH_SLEEP_IDLE3), //# Idle anim from sleep pose 3
ENUM2STRING(BOTH_SLEEP_IDLE4), //# Idle anim from sleep pose 4
ENUM2STRING(BOTH_SLEEP1_NOSE), //# Scratch nose from SLEEP1 pose
ENUM2STRING(BOTH_SLEEP2_SHIFT), //# Shift in sleep from SLEEP2 pose
ENUM2STRING(BOTH_RESTRAINED1), //# Telsia tied to medical table
ENUM2STRING(BOTH_RESTRAINED1POINT), //# Telsia tied to medical table pointing at Munro
ENUM2STRING(BOTH_LIFTED1), //# Fits with ENUM2STRING(BOTH_LIFT1), lifted on shoulder
@ -1060,6 +1168,7 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_MINDTRICK1), //# Use off-hand to do mind trick
ENUM2STRING(BOTH_MINDTRICK2), //# Use off-hand to do distraction
ENUM2STRING(BOTH_FORCELIGHTNING), //# Use off-hand to do lightning
ENUM2STRING(BOTH_FORCELIGHTNING_START), //# Use off-hand to do lightning - start
ENUM2STRING(BOTH_FORCELIGHTNING_HOLD), //# Use off-hand to do lightning - hold
ENUM2STRING(BOTH_FORCELIGHTNING_RELEASE),//# Use off-hand to do lightning - release
ENUM2STRING(BOTH_FORCEHEAL_START), //# Healing meditation pose start
@ -1067,13 +1176,51 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
ENUM2STRING(BOTH_FORCEHEAL_QUICK), //# Healing meditation gesture
ENUM2STRING(BOTH_SABERPULL), //# Use off-hand to do force power.
ENUM2STRING(BOTH_FORCEGRIP1), //# force-gripping (no anim?)
ENUM2STRING(BOTH_FORCEGRIP2), //# force-gripping (?)
ENUM2STRING(BOTH_FORCEGRIP3), //# force-gripping (right-hand)
ENUM2STRING(BOTH_FORCEGRIP3THROW), //# throwing while force-gripping (right hand)
ENUM2STRING(BOTH_FORCEGRIP_HOLD), //# Use off-hand to do grip - hold
ENUM2STRING(BOTH_FORCEGRIP_RELEASE),//# Use off-hand to do grip - release
ENUM2STRING(BOTH_TOSS1), //# throwing to left after force gripping
ENUM2STRING(BOTH_TOSS2), //# throwing to right after force gripping
ENUM2STRING(BOTH_COCKPIT_TALKR1START), //# turn head from straight forward to looking full right
ENUM2STRING(BOTH_COCKPIT_TALKR1STARTTOMID), //# from TALKR1START to looking at hologram (cin #1)
ENUM2STRING(BOTH_COCKPIT_TALKR1MIDTOSTART), //# from looking at hologram to TALKR1START (cin #1)
ENUM2STRING(BOTH_COCKPIT_TALKR1STOP), //# return head to straight forward from BOTH_COCKPIT_TALKR1
ENUM2STRING(BOTH_COCKPIT_TALKR1STOPTOMID), //# from TALKR1STOP to TALKR1MID
ENUM2STRING(BOTH_COCKPIT_TALKR1MIDTOSTOP), //# from looking at hologram to TALKR1STOP (cin #1)
ENUM2STRING(BOTH_COCKPIT_TALKR1), //# talk to right side
ENUM2STRING(BOTH_COCKPIT_TALKL1START), //# turn head from straight forward to looking full left
ENUM2STRING(BOTH_COCKPIT_TALKL1STARTTOMID), //# from TALKL1START to looking at hologram (cin #1)
ENUM2STRING(BOTH_COCKPIT_TALKL1MIDTOSTART), //# from looking at hologram to TALKL1START (cin #1)
ENUM2STRING(BOTH_COCKPIT_TALKL1STOP), //# return head to straight forward from BOTH_COCKPIT_TALKL1
ENUM2STRING(BOTH_COCKPIT_TALKL1STOPTOMID), //# from TALKL1STOP to TALKL1MID
ENUM2STRING(BOTH_COCKPIT_TALKL1MIDTOSTOP), //# from looking at hologram to TALKL1STOP (cin #1)
ENUM2STRING(BOTH_COCKPIT_TALKL1), //# talk to left side
ENUM2STRING(BOTH_COCKPIT_CONSOLE1), //# type at controls
ENUM2STRING(BOTH_COCKPIT_CONSOLE2), //# type at controls
ENUM2STRING(BOTH_COCKPIT_CONSOLE2_PARTIAL), //# last part of console2 anim (cin #1) used by Jan
ENUM2STRING(BOTH_COCKPIT_HEADNOD), //# nod head yes while sitting
ENUM2STRING(BOTH_COCKPIT_HEADSHAKE), //# shake head no while sitting
ENUM2STRING(BOTH_COCKPIT_HEADTILTLSTART), //# start tilt head left while sitting
ENUM2STRING(BOTH_COCKPIT_HEADTILTLSTOP), //# stop tilt head left while sitting
ENUM2STRING(BOTH_COCKPIT_HEADTILTRSTART), //# start tilt head right while sitting
ENUM2STRING(BOTH_COCKPIT_HEADTILTRSTOP), //# stop tilt head right while sitting
ENUM2STRING(BOTH_COCKPIT_TALKGESTURE7START), //# Lando's supporting hand to Kyle (cin #21)
ENUM2STRING(BOTH_COCKPIT_TALKGESTURE7STOP), //# Lando's supporting hand away from Kyle (cin #21)
ENUM2STRING(BOTH_COCKPIT_TALKGESTURE8START), //# Hand to Lando's chin (cin #21)
ENUM2STRING(BOTH_COCKPIT_TALKGESTURE8STOP), //# hand away from Lando's chin *cin #21)
ENUM2STRING(BOTH_COCKPIT_TALKGESTURE11START), //#
ENUM2STRING(BOTH_COCKPIT_TALKGESTURE11STOP), //#
ENUM2STRING(BOTH_COCKPIT_SLEEP6START), //#
ENUM2STRING(BOTH_COCKPIT_SLEEP6STOP), //#
//=================================================
//ANIMS IN WHICH ONLY THE UPPER OBJECTS ARE IN MD3
//=================================================
@ -1114,22 +1261,6 @@ stringID_table_t animTable [MAX_ANIMATIONS+1] =
//# #sep ENUM2STRING(TORSO_ USING NON-WEAPON OBJECTS
//# #sep ENUM2STRING(TORSO_ MISC
ENUM2STRING(TORSO_TALKR1START), //# begin turning head for ENUM2STRING(BOTH_ENUM2STRING(TORSO_TALKR
ENUM2STRING(TORSO_TALKR1HOLD), //# non-looping version of talk to right side
ENUM2STRING(TORSO_TALKR1STOP), //# return head to straight forward from ENUM2STRING(BOTH_ENUM2STRING(TORSO_TALKL
ENUM2STRING(TORSO_TALKR1), //# talk to right side
ENUM2STRING(TORSO_TALKL1START), //# begin turning head for ENUM2STRING(BOTH_ENUM2STRING(TORSO_TALKL
ENUM2STRING(TORSO_TALKL1HOLD), //# non-looping version of talk to left side
ENUM2STRING(TORSO_TALKL1STOP), //# return head to straight forward from ENUM2STRING(BOTH_ENUM2STRING(TORSO_TALKL
ENUM2STRING(TORSO_TALKL1), //# talk to left side
ENUM2STRING(TORSO_LOOKL1), //# looking left
ENUM2STRING(TORSO_LOOKR1), //# looking right
ENUM2STRING(TORSO_LOOKR2START), //# turn not so far as TALKR1
ENUM2STRING(TORSO_LOOKR2STOP), //# turn not so far as TALKR1
ENUM2STRING(TORSO_LOOKR2), //# looking right - not so far as LOOKR1
ENUM2STRING(TORSO_LOOKL2START), //# turn not so far as TALKL1
ENUM2STRING(TORSO_LOOKL2STOP), //# turn not so far as TALKL1
ENUM2STRING(TORSO_LOOKL2), //# looking right - not so far as LOOKL1
ENUM2STRING(TORSO_HANDGESTURE1), //# gestures to left one hand
ENUM2STRING(TORSO_HANDGESTURE2), //# gestures to right one hand
ENUM2STRING(TORSO_HANDGESTURE3), //# gestures to the left both hands

View file

@ -1134,7 +1134,12 @@ void CG_DrawHUD(centity_t *cent)
}
//scoreStr = va("Score: %i", cgs.clientinfo[cg.snap->ps.clientNum].score);
if (0 && cgs.gametype < GT_TEAM )
if ( cgs.gametype == GT_TOURNAMENT )
{//A duel that requires more than one kill to knock the current enemy back to the queue
//show current kills out of how many needed
scoreStr = va("Score: %i/%i", cg.snap->ps.persistant[PERS_SCORE], cgs.fraglimit);
}
else if (0 && cgs.gametype < GT_TEAM )
{ // This is a teamless mode, draw the score bias.
scoreBias = cg.snap->ps.persistant[PERS_SCORE] - cgs.scores1;
if (scoreBias == 0)
@ -1790,7 +1795,7 @@ static float CG_DrawEnemyInfo ( float y )
ci = &cgs.clientinfo[ clientNum ];
if (!ci || !ci->modelIcon)
if ( !ci )
{
return y;
}
@ -1798,7 +1803,10 @@ static float CG_DrawEnemyInfo ( float y )
size = ICON_SIZE * 1.25;
y += 5;
CG_DrawPic( 640 - size - 5, y, size, size, ci->modelIcon );
if ( ci->modelIcon )
{
CG_DrawPic( 640 - size - 5, y, size, size, ci->modelIcon );
}
y += size;
@ -1807,6 +1815,14 @@ static float CG_DrawEnemyInfo ( float y )
y += 15;
CG_Text_Paint( 630 - CG_Text_Width ( title, 0.7f, FONT_MEDIUM ), y, 0.7f, colorWhite, title, 0, 0, 0, FONT_MEDIUM );
if ( cgs.gametype == GT_TOURNAMENT && cgs.clientinfo[cg.snap->ps.clientNum].team != TEAM_SPECTATOR)
{//also print their score
char text[1024];
y += 15;
Com_sprintf(text, sizeof(text), "%i/%i", cgs.clientinfo[clientNum].score, cgs.fraglimit );
CG_Text_Paint( 630 - CG_Text_Width ( text, 0.7f, FONT_MEDIUM ), y, 0.7f, colorWhite, text, 0, 0, 0, FONT_MEDIUM );
}
return y + BIGCHAR_HEIGHT + 2;
}
@ -2669,6 +2685,12 @@ static void CG_DrawCrosshair( vec3_t worldPoint, int chEntValid ) {
ecolor[1] = 0.0;//G
ecolor[2] = 0.0;//B
}
else if (crossEnt->currentState.eType == ET_GRAPPLE)
{
ecolor[0] = 1.0;//R
ecolor[1] = 0.0;//G
ecolor[2] = 0.0;//B
}
}
ecolor[3] = 1.0;
@ -3283,13 +3305,20 @@ static void CG_DrawSpectator(void)
CG_Text_Paint ( 320 - CG_Text_Width ( text, 1.0f, 3 ) / 2, 420, 1.0f, colorWhite, text, 0, 0, 0, 3 );
if (cgs.clientinfo[cgs.duelist1].modelIcon &&
cgs.clientinfo[cgs.duelist2].modelIcon)
trap_R_SetColor( colorTable[CT_WHITE] );
if ( cgs.clientinfo[cgs.duelist1].modelIcon )
{
trap_R_SetColor( colorTable[CT_WHITE] );
CG_DrawPic( 10, SCREEN_HEIGHT-(size*1.5), size, size, cgs.clientinfo[cgs.duelist1].modelIcon );
}
if ( cgs.clientinfo[cgs.duelist2].modelIcon )
{
CG_DrawPic( SCREEN_WIDTH-size-10, SCREEN_HEIGHT-(size*1.5), size, size, cgs.clientinfo[cgs.duelist2].modelIcon );
}
Com_sprintf(text, sizeof(text), "%i/%i", cgs.clientinfo[cgs.duelist1].score, cgs.fraglimit );
CG_Text_Paint( 42 - CG_Text_Width( text, 1.0f, 2 ) / 2, SCREEN_HEIGHT-(size*1.5) + 64, 1.0f, colorWhite, text, 0, 0, 0, 2 );
Com_sprintf(text, sizeof(text), "%i/%i", cgs.clientinfo[cgs.duelist2].score, cgs.fraglimit );
CG_Text_Paint( SCREEN_WIDTH-size+22 - CG_Text_Width( text, 1.0f, 2 ) / 2, SCREEN_HEIGHT-(size*1.5) + 64, 1.0f, colorWhite, text, 0, 0, 0, 2 );
}
else
{
@ -4262,6 +4291,7 @@ static void CG_Draw2D( void ) {
CG_DrawSpectator();
CG_DrawCrosshair(NULL, 0);
CG_DrawCrosshairNames();
CG_SaberClashFlare();
} else {
// don't draw any status if dead or the scoreboard is being explicitly shown
if ( !cg.showScores && cg.snap->ps.stats[STAT_HEALTH] > 0 ) {

View file

@ -208,50 +208,69 @@ to a fixed color.
Coordinates are at 640 by 480 virtual resolution
==================
*/
#include "../../ui/menudef.h" // for "ITEM_TEXTSTYLE_SHADOWED"
void CG_DrawStringExt( int x, int y, const char *string, const float *setColor,
qboolean forceColor, qboolean shadow, int charWidth, int charHeight, int maxChars )
{
vec4_t color;
const char *s;
int xx;
if (trap_Language_IsAsian())
{
// hack-a-doodle-do (post-release quick fix code)...
//
vec4_t color;
memcpy(color,setColor, sizeof(color)); // de-const it
CG_Text_Paint(x, y, 1.0f, // float scale,
color, // vec4_t color,
string, // const char *text,
0.0f, // float adjust,
0, // int limit,
shadow ? ITEM_TEXTSTYLE_SHADOWED : 0, // int style,
FONT_MEDIUM // iMenuFont
) ;
}
else
{
vec4_t color;
const char *s;
int xx;
// draw the drop shadow
if (shadow) {
color[0] = color[1] = color[2] = 0;
color[3] = setColor[3];
trap_R_SetColor( color );
// draw the drop shadow
if (shadow) {
color[0] = color[1] = color[2] = 0;
color[3] = setColor[3];
trap_R_SetColor( color );
s = string;
xx = x;
while ( *s ) {
if ( Q_IsColorString( s ) ) {
s += 2;
continue;
}
CG_DrawChar( xx + 2, y + 2, charWidth, charHeight, *s );
xx += charWidth;
s++;
}
}
// draw the colored text
s = string;
xx = x;
trap_R_SetColor( setColor );
while ( *s ) {
if ( Q_IsColorString( s ) ) {
if ( !forceColor ) {
memcpy( color, g_color_table[ColorIndex(*(s+1))], sizeof( color ) );
color[3] = setColor[3];
trap_R_SetColor( color );
}
s += 2;
continue;
}
CG_DrawChar( xx + 2, y + 2, charWidth, charHeight, *s );
CG_DrawChar( xx, y, charWidth, charHeight, *s );
xx += charWidth;
s++;
}
trap_R_SetColor( NULL );
}
// draw the colored text
s = string;
xx = x;
trap_R_SetColor( setColor );
while ( *s ) {
if ( Q_IsColorString( s ) ) {
if ( !forceColor ) {
memcpy( color, g_color_table[ColorIndex(*(s+1))], sizeof( color ) );
color[3] = setColor[3];
trap_R_SetColor( color );
}
s += 2;
continue;
}
CG_DrawChar( xx, y, charWidth, charHeight, *s );
xx += charWidth;
s++;
}
trap_R_SetColor( NULL );
}
void CG_DrawBigString( int x, int y, const char *s, float alpha ) {

View file

@ -726,15 +726,69 @@ Throws specified debris from within a given bounding box in the world
#define DEBRIS_SPECIALCASE_CHUNKS -2
#define DEBRIS_SPECIALCASE_WOOD -3
#define DEBRIS_SPECIALCASE_GLASS -4
#define NUM_DEBRIS_MODELS_GLASS 8
#define NUM_DEBRIS_MODELS_WOOD 8
#define NUM_DEBRIS_MODELS_CHUNKS 3
#define NUM_DEBRIS_MODELS_ROCKS 4 //12
int dbModels_Glass[NUM_DEBRIS_MODELS_GLASS];
int dbModels_Wood[NUM_DEBRIS_MODELS_WOOD];
int dbModels_Chunks[NUM_DEBRIS_MODELS_CHUNKS];
int dbModels_Rocks[NUM_DEBRIS_MODELS_ROCKS];
void CG_CreateDebris(int entnum, vec3_t org, vec3_t mins, vec3_t maxs, int debrissound, int debrismodel)
{
vec3_t velocity, a, shardorg, dif, difx;
float windowmass;
float shardsthrow = 0;
char chunkname[256];
int rfact = 0;
int omodel = debrismodel;
if (omodel == DEBRIS_SPECIALCASE_GLASS && !dbModels_Glass[0])
{ //glass no longer exists, using it for metal.
dbModels_Glass[0] = trap_R_RegisterModel("models/chunks/metal/metal1_1.md3");
dbModels_Glass[1] = trap_R_RegisterModel("models/chunks/metal/metal1_2.md3");
dbModels_Glass[2] = trap_R_RegisterModel("models/chunks/metal/metal1_3.md3");
dbModels_Glass[3] = trap_R_RegisterModel("models/chunks/metal/metal1_4.md3");
dbModels_Glass[4] = trap_R_RegisterModel("models/chunks/metal/metal2_1.md3");
dbModels_Glass[5] = trap_R_RegisterModel("models/chunks/metal/metal2_2.md3");
dbModels_Glass[6] = trap_R_RegisterModel("models/chunks/metal/metal2_3.md3");
dbModels_Glass[7] = trap_R_RegisterModel("models/chunks/metal/metal2_4.md3");
}
if (omodel == DEBRIS_SPECIALCASE_WOOD && !dbModels_Wood[0])
{
dbModels_Wood[0] = trap_R_RegisterModel("models/chunks/crate/crate1_1.md3");
dbModels_Wood[1] = trap_R_RegisterModel("models/chunks/crate/crate1_2.md3");
dbModels_Wood[2] = trap_R_RegisterModel("models/chunks/crate/crate1_3.md3");
dbModels_Wood[3] = trap_R_RegisterModel("models/chunks/crate/crate1_4.md3");
dbModels_Wood[4] = trap_R_RegisterModel("models/chunks/crate/crate2_1.md3");
dbModels_Wood[5] = trap_R_RegisterModel("models/chunks/crate/crate2_2.md3");
dbModels_Wood[6] = trap_R_RegisterModel("models/chunks/crate/crate2_3.md3");
dbModels_Wood[7] = trap_R_RegisterModel("models/chunks/crate/crate2_4.md3");
}
if (omodel == DEBRIS_SPECIALCASE_CHUNKS && !dbModels_Chunks[0])
{
dbModels_Chunks[0] = trap_R_RegisterModel("models/chunks/generic/chunks_1.md3");
dbModels_Chunks[1] = trap_R_RegisterModel("models/chunks/generic/chunks_2.md3");
}
if (omodel == DEBRIS_SPECIALCASE_ROCK && !dbModels_Rocks[0])
{
dbModels_Rocks[0] = trap_R_RegisterModel("models/chunks/rock/rock1_1.md3");
dbModels_Rocks[1] = trap_R_RegisterModel("models/chunks/rock/rock1_2.md3");
dbModels_Rocks[2] = trap_R_RegisterModel("models/chunks/rock/rock1_3.md3");
dbModels_Rocks[3] = trap_R_RegisterModel("models/chunks/rock/rock1_4.md3");
/*
dbModels_Rocks[4] = trap_R_RegisterModel("models/chunks/rock/rock2_1.md3");
dbModels_Rocks[5] = trap_R_RegisterModel("models/chunks/rock/rock2_2.md3");
dbModels_Rocks[6] = trap_R_RegisterModel("models/chunks/rock/rock2_3.md3");
dbModels_Rocks[7] = trap_R_RegisterModel("models/chunks/rock/rock2_4.md3");
dbModels_Rocks[8] = trap_R_RegisterModel("models/chunks/rock/rock3_1.md3");
dbModels_Rocks[9] = trap_R_RegisterModel("models/chunks/rock/rock3_2.md3");
dbModels_Rocks[10] = trap_R_RegisterModel("models/chunks/rock/rock3_3.md3");
dbModels_Rocks[11] = trap_R_RegisterModel("models/chunks/rock/rock3_4.md3");
*/
}
VectorSubtract(maxs, mins, a);
windowmass = VectorLength(a); //should give us some idea of how big the chunk of glass is
@ -747,35 +801,19 @@ void CG_CreateDebris(int entnum, vec3_t org, vec3_t mins, vec3_t maxs, int debri
if (omodel == DEBRIS_SPECIALCASE_GLASS)
{
Com_sprintf(chunkname, sizeof(chunkname), "models/chunks/glass/glchunks_%i.md3", Q_irand(1, 6));
debrismodel = trap_R_RegisterModel(chunkname);
debrismodel = dbModels_Glass[Q_irand(0, NUM_DEBRIS_MODELS_GLASS-1)];
}
else if (omodel == DEBRIS_SPECIALCASE_WOOD)
{
Com_sprintf(chunkname, sizeof(chunkname), "models/chunks/generic/wood_%i.md3", Q_irand(1, 3));
debrismodel = trap_R_RegisterModel(chunkname);
debrismodel = dbModels_Wood[Q_irand(0, NUM_DEBRIS_MODELS_WOOD-1)];
}
else if (omodel == DEBRIS_SPECIALCASE_CHUNKS)
{
Com_sprintf(chunkname, sizeof(chunkname), "models/chunks/generic/chunks_%i.md3", Q_irand(1, 6));
debrismodel = trap_R_RegisterModel(chunkname);
debrismodel = dbModels_Chunks[Q_irand(0, NUM_DEBRIS_MODELS_CHUNKS-1)];
}
else if (omodel == DEBRIS_SPECIALCASE_ROCK)
{
rfact = Q_irand(1, 3);
if (rfact == 1)
{
Com_sprintf(chunkname, sizeof(chunkname), "models/chunks/rock/rock_small.md3");
}
else if (rfact == 2)
{
Com_sprintf(chunkname, sizeof(chunkname), "models/chunks/rock/rock_med.md3");
}
else
{
Com_sprintf(chunkname, sizeof(chunkname), "models/chunks/rock/rock_big.md3");
}
debrismodel = trap_R_RegisterModel(chunkname);
debrismodel = dbModels_Rocks[Q_irand(0, NUM_DEBRIS_MODELS_ROCKS-1)];
}
VectorCopy(org, shardorg);
@ -1158,168 +1196,3 @@ void CG_LaunchGib( vec3_t origin, vec3_t velocity, qhandle_t hModel ) {
le->leBounceSoundType = LEBS_BLOOD;
le->leMarkType = LEMT_BLOOD;
}
/*
===================
CG_GibPlayer
Generated a bunch of gibs launching out from the bodies location
===================
*/
#define GIB_VELOCITY 250
#define GIB_JUMP 250
void CG_GibPlayer( vec3_t playerOrigin ) {
vec3_t origin, velocity;
if ( !cg_blood.integer ) {
return;
}
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
if ( rand() & 1 ) {
// CG_LaunchGib( origin, velocity, cgs.media.gibSkull );
} else {
// CG_LaunchGib( origin, velocity, cgs.media.gibBrain );
}
// allow gibs to be turned off for speed
if ( !cg_gibs.integer ) {
return;
}
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibAbdomen );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibArm );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibChest );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibFist );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibFoot );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibForearm );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibIntestine );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibLeg );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*GIB_VELOCITY;
velocity[1] = crandom()*GIB_VELOCITY;
velocity[2] = GIB_JUMP + crandom()*GIB_VELOCITY;
// CG_LaunchGib( origin, velocity, cgs.media.gibLeg );
}
/*
==================
CG_LaunchGib
==================
*/
void CG_LaunchExplode( vec3_t origin, vec3_t velocity, qhandle_t hModel ) {
localEntity_t *le;
refEntity_t *re;
le = CG_AllocLocalEntity();
re = &le->refEntity;
le->leType = LE_FRAGMENT;
le->startTime = cg.time;
le->endTime = le->startTime + 10000 + random() * 6000;
VectorCopy( origin, re->origin );
AxisCopy( axisDefault, re->axis );
re->hModel = hModel;
le->pos.trType = TR_GRAVITY;
VectorCopy( origin, le->pos.trBase );
VectorCopy( velocity, le->pos.trDelta );
le->pos.trTime = cg.time;
le->bounceFactor = 0.1f;
le->leBounceSoundType = LEBS_BRASS;
le->leMarkType = LEMT_NONE;
}
#define EXP_VELOCITY 100
#define EXP_JUMP 150
/*
===================
CG_GibPlayer
Generated a bunch of gibs launching out from the bodies location
===================
*/
void CG_BigExplode( vec3_t playerOrigin ) {
vec3_t origin, velocity;
if ( !cg_blood.integer ) {
return;
}
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*EXP_VELOCITY;
velocity[1] = crandom()*EXP_VELOCITY;
velocity[2] = EXP_JUMP + crandom()*EXP_VELOCITY;
// CG_LaunchExplode( origin, velocity, cgs.media.smoke2 );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*EXP_VELOCITY;
velocity[1] = crandom()*EXP_VELOCITY;
velocity[2] = EXP_JUMP + crandom()*EXP_VELOCITY;
// CG_LaunchExplode( origin, velocity, cgs.media.smoke2 );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*EXP_VELOCITY*1.5;
velocity[1] = crandom()*EXP_VELOCITY*1.5;
velocity[2] = EXP_JUMP + crandom()*EXP_VELOCITY;
// CG_LaunchExplode( origin, velocity, cgs.media.smoke2 );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*EXP_VELOCITY*2.0;
velocity[1] = crandom()*EXP_VELOCITY*2.0;
velocity[2] = EXP_JUMP + crandom()*EXP_VELOCITY;
// CG_LaunchExplode( origin, velocity, cgs.media.smoke2 );
VectorCopy( playerOrigin, origin );
velocity[0] = crandom()*EXP_VELOCITY*2.5;
velocity[1] = crandom()*EXP_VELOCITY*2.5;
velocity[2] = EXP_JUMP + crandom()*EXP_VELOCITY;
// CG_LaunchExplode( origin, velocity, cgs.media.smoke2 );
}

View file

@ -492,6 +492,7 @@ static void CG_General( centity_t *cent ) {
int beamID;
vec3_t beamOrg;
mdxaBone_t matrix;
qboolean doNotSetModel = qfalse;
if (cent->currentState.modelGhoul2 == 127)
{ //not ready to be drawn or initialized..
@ -512,8 +513,19 @@ static void CG_General( centity_t *cent ) {
cent->currentState.modelindex < MAX_CLIENTS &&
cent->currentState.weapon == G2_MODEL_PART)
{ //special case for client limbs
centity_t *clEnt = &cg_entities[cent->currentState.modelindex];
centity_t *clEnt;
int dismember_settings = cg_dismember.integer;
doNotSetModel = qtrue;
if (cent->currentState.modelindex >= 0)
{
clEnt = &cg_entities[cent->currentState.modelindex];
}
else
{
clEnt = &cg_entities[cent->currentState.otherEntityNum2];
}
if (!dismember_settings)
{ //This client does not wish to see dismemberment.
@ -551,9 +563,8 @@ static void CG_General( centity_t *cent ) {
cent->bolt4 = -1;
cent->trailTime = 0;
switch (cent->currentState.modelGhoul2)
if (cent->currentState.modelGhoul2 == G2_MODELPART_HEAD)
{
case G2_MODELPART_HEAD:
limbBone = "cervical";
rotateBone = "cranium";
limbName = "head";
@ -562,8 +573,9 @@ static void CG_General( centity_t *cent ) {
limbTagName = "*head_cap_torso";
stubTagName = "*torso_cap_head";
limb_anim = BOTH_DISMEMBER_HEAD1;
break;
case G2_MODELPART_WAIST:
}
else if (cent->currentState.modelGhoul2 == G2_MODELPART_WAIST)
{
limbBone = "pelvis";
rotateBone = "thoracic";
limbName = "torso";
@ -572,8 +584,9 @@ static void CG_General( centity_t *cent ) {
limbTagName = "*torso_cap_hips";
stubTagName = "*hips_cap_torso";
limb_anim = BOTH_DISMEMBER_TORSO1;
break;
case G2_MODELPART_LARM:
}
else if (cent->currentState.modelGhoul2 == G2_MODELPART_LARM)
{
limbBone = "lhumerus";
rotateBone = "lradius";
limbName = "l_arm";
@ -582,8 +595,9 @@ static void CG_General( centity_t *cent ) {
limbTagName = "*l_arm_cap_torso";
stubTagName = "*torso_cap_l_arm";
limb_anim = BOTH_DISMEMBER_LARM;
break;
case G2_MODELPART_RARM:
}
else if (cent->currentState.modelGhoul2 == G2_MODELPART_RARM)
{
limbBone = "rhumerus";
rotateBone = "rradius";
limbName = "r_arm";
@ -592,8 +606,20 @@ static void CG_General( centity_t *cent ) {
limbTagName = "*r_arm_cap_torso";
stubTagName = "*torso_cap_r_arm";
limb_anim = BOTH_DISMEMBER_RARM;
break;
case G2_MODELPART_LLEG:
}
else if (cent->currentState.modelGhoul2 == G2_MODELPART_RHAND)
{
limbBone = "rradiusX";
rotateBone = "rhand";
limbName = "r_hand";
limbCapName = "r_hand_cap_r_arm_off";
stubCapName = "r_arm_cap_r_hand_off";
limbTagName = "*r_hand_cap_r_arm";
stubTagName = "*r_arm_cap_r_hand";
limb_anim = BOTH_DISMEMBER_RARM;
}
else if (cent->currentState.modelGhoul2 == G2_MODELPART_LLEG)
{
limbBone = "lfemurYZ";
rotateBone = "ltibia";
limbName = "l_leg";
@ -602,8 +628,9 @@ static void CG_General( centity_t *cent ) {
limbTagName = "*l_leg_cap_hips";
stubTagName = "*hips_cap_l_leg";
limb_anim = BOTH_DISMEMBER_LLEG;
break;
case G2_MODELPART_RLEG:
}
else if (cent->currentState.modelGhoul2 == G2_MODELPART_RLEG)
{
limbBone = "rfemurYZ";
rotateBone = "rtibia";
limbName = "r_leg";
@ -612,8 +639,9 @@ static void CG_General( centity_t *cent ) {
limbTagName = "*r_leg_cap_hips";
stubTagName = "*hips_cap_r_leg";
limb_anim = BOTH_DISMEMBER_RLEG;
break;
default:
}
else
{
limbBone = "rfemurYZ";
rotateBone = "rtibia";
limbName = "r_leg";
@ -622,7 +650,6 @@ static void CG_General( centity_t *cent ) {
limbTagName = "*r_leg_cap_hips";
stubTagName = "*hips_cap_r_leg";
limb_anim = BOTH_DISMEMBER_RLEG;
break;
}
if (clEnt && clEnt->ghoul2)
@ -632,28 +659,35 @@ static void CG_General( centity_t *cent ) {
int flags=BONE_ANIM_OVERRIDE_FREEZE;
clientInfo_t *ci;
ci = &cgs.clientinfo[ clEnt->currentState.number ];
if (clEnt->currentState.number < MAX_CLIENTS)
{
ci = &cgs.clientinfo[ clEnt->currentState.number ];
}
else
{
ci = NULL;
}
if (ci)
{
/*
if (cent->currentState.modelGhoul2 == G2_MODELPART_WAIST)
{
anim = &ci->animations[ cent->currentState.modelindex2 ];
}
else
*/
{
anim = &bgGlobalAnimations[ limb_anim ];
}
//anim = &bgGlobalAnimations[ limb_anim ];
//I guess it looks better to continue the body anim on the severed limb. If not a bit strange. It's what
//SP seems to do anyway.
anim = &bgGlobalAnimations[ (clEnt->currentState.torsoAnim&~ANIM_TOGGLEBIT) ];
}
else
{ //a g2anim ent, maybe? For those, we can settle for generic limb anims.
anim = &bgGlobalAnimations[ limb_anim ];
}
trap_G2API_DuplicateGhoul2Instance(clEnt->ghoul2, &cent->ghoul2);
if (anim)
{
int aNum;
animSpeed = 50.0f / anim->frameLerp;
/*
if (cent->currentState.modelGhoul2 == G2_MODELPART_WAIST)
{
trap_G2API_SetBoneAnim(cent->ghoul2, 0, "upper_lumbar", anim->firstFrame, anim->firstFrame + anim->numFrames, flags, animSpeed, cg.time, -1, 0);
@ -664,6 +698,31 @@ static void CG_General( centity_t *cent ) {
trap_G2API_SetBoneAnim(cent->ghoul2, 0, "upper_lumbar", anim->firstFrame + anim->numFrames-1, anim->firstFrame + anim->numFrames, flags, animSpeed, cg.time, -1, 0);
trap_G2API_SetBoneAnim(cent->ghoul2, 0, "model_root", anim->firstFrame + anim->numFrames-1, anim->firstFrame + anim->numFrames, flags, animSpeed, cg.time, -1, 0);
}
*/
//I guess it looks better to continue the body anim on the severed limb. If not a bit strange. It's what
//SP seems to do anyway.
if (ci)
{
aNum = ci->frame+1;
while (aNum >= anim->firstFrame+anim->numFrames)
{
aNum--;
}
if (aNum < anim->firstFrame-1)
{ //wrong animation...?
aNum = (anim->firstFrame+anim->numFrames)-1;
}
}
else
{
aNum = anim->firstFrame;
}
trap_G2API_SetBoneAnim(cent->ghoul2, 0, "upper_lumbar", aNum, anim->firstFrame + anim->numFrames, flags, animSpeed, cg.time, -1, 150);
trap_G2API_SetBoneAnim(cent->ghoul2, 0, "model_root", aNum, anim->firstFrame + anim->numFrames, flags, animSpeed, cg.time, -1, 150);
trap_G2API_SetBoneAnim(cent->ghoul2, 0, "Motion", aNum, anim->firstFrame + anim->numFrames, flags, animSpeed, cg.time, -1, 150);
}
}
@ -709,7 +768,7 @@ static void CG_General( centity_t *cent ) {
trap_FX_PlayEffectID(trap_FX_RegisterEffect("blaster/smoke_bolton"), boltOrg, boltAng);
}
if (cent->currentState.modelGhoul2 == G2_MODELPART_RARM || cent->currentState.modelGhoul2 == G2_MODELPART_WAIST)
if (cent->currentState.modelGhoul2 == G2_MODELPART_RARM || cent->currentState.modelGhoul2 == G2_MODELPART_RHAND || cent->currentState.modelGhoul2 == G2_MODELPART_WAIST)
{ //Cut his weapon holding arm off, so remove the weapon
if (trap_G2API_HasGhoul2ModelOnIndex(&(clEnt->ghoul2), 1))
{
@ -734,6 +793,10 @@ static void CG_General( centity_t *cent ) {
trap_G2API_GiveMeVectorFromMatrix(&matrix, ORIGIN, boltOrg);
trap_G2API_GiveMeVectorFromMatrix(&matrix, NEGATIVE_Y, boltAng);
if (!boltAng[0] && !boltAng[1] && !boltAng[2])
{
boltAng[1] = 1;
}
trap_FX_PlayEffectID(trap_FX_RegisterEffect("blaster/smoke_bolton"), boltOrg, boltAng);
cent->trailTime = cg.time + 400;
@ -989,7 +1052,7 @@ Ghoul2 Insert End
VectorCopy( cg.autoAngles, cent->lerpAngles );
AxisCopy( cg.autoAxis, ent.axis );
}
else
else if (!doNotSetModel)
{
ent.hModel = cgs.gameModels[s1->modelindex];
}
@ -1076,6 +1139,13 @@ Ghoul2 Insert End
cent->dustTrailTime = 0;
}
if (cent->currentState.modelGhoul2 &&
!ent.ghoul2 &&
!ent.hModel)
{
return;
}
// add to refresh list
trap_R_AddRefEntityToScene (&ent);
@ -2294,10 +2364,16 @@ static void CG_TeamBase( centity_t *cent ) {
else {
model.hModel = cgs.media.neutralFlagBaseModel;
}
trap_R_AddRefEntityToScene( &model );
if (cent->currentState.eType != ET_GRAPPLE)
{ //do not do this for g2animents
trap_R_AddRefEntityToScene( &model );
}
}
}
void CG_G2Animated( centity_t *cent );
/*
===============
CG_AddCEntity
@ -2366,6 +2442,8 @@ Ghoul2 Insert End
case ET_SPEAKER:
CG_Speaker( cent );
break;
case ET_GRAPPLE: //An entity that wants to be able to use ghoul2 humanoid anims. Like a player, but not.
CG_G2Animated( cent );
case ET_TEAM:
CG_TeamBase( cent );
break;

View file

@ -640,6 +640,10 @@ void CG_ReattachLimb(centity_t *source)
limbName = "r_arm";
stubCapName = "torso_cap_r_arm_off";
break;
case G2_MODELPART_RHAND:
limbName = "r_hand";
stubCapName = "r_arm_cap_r_hand_off";
break;
case G2_MODELPART_LLEG:
limbName = "l_leg";
stubCapName = "hips_cap_l_leg_off";
@ -649,9 +653,9 @@ void CG_ReattachLimb(centity_t *source)
stubCapName = "hips_cap_r_leg_off";
break;
default:
limbName = "r_leg";
stubCapName = "hips_cap_r_leg_off";
break;
source->torsoBolt = 0;
source->ghoul2weapon = NULL;
return;
}
trap_G2API_SetSurfaceOnOff(source->ghoul2, limbName, 0);
@ -1014,7 +1018,7 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
cl_ent->isATST = 0;
cl_ent->atstFootClang = 0;
cl_ent->atstSwinging = 0;
cl_ent->torsoBolt = 0;
// cl_ent->torsoBolt = 0;
cl_ent->bolt1 = 0;
cl_ent->bolt2 = 0;
cl_ent->bolt3 = 0;
@ -1340,7 +1344,7 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
break;
case EV_FIRE_WEAPON:
DEBUGNAME("EV_FIRE_WEAPON");
if (cent->currentState.number >= MAX_CLIENTS)
if (cent->currentState.number >= MAX_CLIENTS && cent->currentState.eType != ET_GRAPPLE)
{ //special case for turret firing
vec3_t gunpoint, gunangle;
mdxaBone_t matrix;
@ -1431,7 +1435,23 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
case EV_SABER_HIT:
DEBUGNAME("EV_SABER_HIT");
if (es->eventParm)
if (es->eventParm == 16)
{ //Make lots of sparks, something special happened
vec3_t fxDir;
VectorCopy(es->angles, fxDir);
if (!fxDir[0] && !fxDir[1] && !fxDir[2])
{
fxDir[1] = 1;
}
trap_S_StartSound(es->origin, es->number, CHAN_AUTO, trap_S_RegisterSound("sound/weapons/saber/saberhit.wav"));
trap_FX_PlayEffectID( trap_FX_RegisterEffect("saber/blood_sparks.efx"), es->origin, fxDir );
trap_FX_PlayEffectID( trap_FX_RegisterEffect("saber/blood_sparks.efx"), es->origin, fxDir );
trap_FX_PlayEffectID( trap_FX_RegisterEffect("saber/blood_sparks.efx"), es->origin, fxDir );
trap_FX_PlayEffectID( trap_FX_RegisterEffect("saber/blood_sparks.efx"), es->origin, fxDir );
trap_FX_PlayEffectID( trap_FX_RegisterEffect("saber/blood_sparks.efx"), es->origin, fxDir );
trap_FX_PlayEffectID( trap_FX_RegisterEffect("saber/blood_sparks.efx"), es->origin, fxDir );
}
else if (es->eventParm)
{ //hit a person
vec3_t fxDir;
VectorCopy(es->angles, fxDir);
@ -1611,6 +1631,13 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
break;
case PDSOUND_ABSORBHIT:
sID = trap_S_RegisterSound("sound/weapons/force/absorbhit.mp3");
if (es->trickedentindex >= 0 && es->trickedentindex < MAX_CLIENTS)
{
int clnum = es->trickedentindex;
cg_entities[clnum].teamPowerEffectTime = cg.time + 1000;
cg_entities[clnum].teamPowerType = 3;
}
break;
case PDSOUND_ABSORB:
sID = trap_S_RegisterSound("sound/weapons/force/absorb.mp3");
@ -2209,7 +2236,9 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
// local player sounds are triggered in CG_CheckLocalSounds,
// so ignore events on the player
DEBUGNAME("EV_PAIN");
if ( cent->currentState.number != cg.snap->ps.clientNum ) {
if ( !cg_oldPainSounds.integer || (cent->currentState.number != cg.snap->ps.clientNum) )
{
CG_PainEvent( cent, es->eventParm );
}
break;
@ -2265,7 +2294,7 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
case EV_GIB_PLAYER:
DEBUGNAME("EV_GIB_PLAYER");
//trap_S_StartSound( NULL, es->number, CHAN_BODY, cgs.media.gibSound );
CG_GibPlayer( cent->lerpOrigin );
//CG_GibPlayer( cent->lerpOrigin );
break;
case EV_STARTLOOPINGSOUND:

View file

@ -106,6 +106,7 @@ void CG_DrawInformation( void ) {
int value, valueNOFP;
qhandle_t levelshot;
char buf[1024];
int iPropHeight = 18; // I know, this is total crap, but as a post release asian-hack.... -Ste
info = CG_ConfigString( CS_SERVERINFO );
sysInfo = CG_ConfigString( CS_SYSTEMINFO );
@ -147,7 +148,7 @@ void CG_DrawInformation( void ) {
Q_CleanStr(buf);
UI_DrawProportionalString( 320, y, buf,
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
// pure server
s = Info_ValueForKey( sysInfo, "sv_pure" );
@ -155,7 +156,7 @@ void CG_DrawInformation( void ) {
const char *psPure = CG_GetStripEdString("INGAMETEXT", "PURE_SERVER");
UI_DrawProportionalString( 320, y, psPure,
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
// server-specific message of the day
@ -163,7 +164,18 @@ void CG_DrawInformation( void ) {
if ( s[0] ) {
UI_DrawProportionalString( 320, y, s,
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
{ // display global MOTD at bottom (mirrors ui_main UI_DrawConnectScreen
char motdString[1024];
trap_Cvar_VariableStringBuffer( "cl_motdString", motdString, sizeof( motdString ) );
if (motdString[0])
{
UI_DrawProportionalString( 320, 425, motdString,
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
}
}
// some extra space after hostname and motd
@ -175,7 +187,7 @@ void CG_DrawInformation( void ) {
if ( s[0] ) {
UI_DrawProportionalString( 320, y, s,
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
// cheats warning
@ -183,7 +195,7 @@ void CG_DrawInformation( void ) {
if ( s[0] == '1' ) {
UI_DrawProportionalString( 320, y, CG_GetStripEdString("INGAMETEXT", "CHEATSAREENABLED"),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
// game type
@ -221,13 +233,13 @@ void CG_DrawInformation( void ) {
}
UI_DrawProportionalString( 320, y, s,
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
value = atoi( Info_ValueForKey( info, "timelimit" ) );
if ( value ) {
UI_DrawProportionalString( 320, y, va( "%s %i", CG_GetStripEdString("INGAMETEXT", "TIMELIMIT"), value ),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
if (cgs.gametype < GT_CTF ) {
@ -235,7 +247,7 @@ void CG_DrawInformation( void ) {
if ( value ) {
UI_DrawProportionalString( 320, y, va( "%s %i", CG_GetStripEdString("INGAMETEXT", "FRAGLIMIT"), value ),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
if (cgs.gametype == GT_TOURNAMENT)
@ -244,7 +256,7 @@ void CG_DrawInformation( void ) {
if ( value ) {
UI_DrawProportionalString( 320, y, va( "%s %i", CG_GetStripEdString("INGAMETEXT", "WINLIMIT"), value ),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
}
}
@ -254,7 +266,7 @@ void CG_DrawInformation( void ) {
if ( value ) {
UI_DrawProportionalString( 320, y, va( "%s %i", CG_GetStripEdString("INGAMETEXT", "CAPTURELIMIT"), value ),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
}
@ -264,7 +276,7 @@ void CG_DrawInformation( void ) {
if ( value ) {
UI_DrawProportionalString( 320, y, CG_GetStripEdString("INGAMETEXT", "FORCEBASEDTEAMS"),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
}
@ -278,7 +290,7 @@ void CG_DrawInformation( void ) {
UI_DrawProportionalString( 320, y, va( "%s %s", fmStr, CG_GetStripEdString("INGAMETEXT", forceMasteryLevels[value]) ),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
else if (!valueNOFP)
{
@ -287,7 +299,7 @@ void CG_DrawInformation( void ) {
UI_DrawProportionalString( 320, y, va( "%s %s", fmStr, (char *)CG_GetStripEdString("INGAMETEXT", forceMasteryLevels[7]) ),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
if (cgs.gametype == GT_TOURNAMENT)
@ -301,75 +313,75 @@ void CG_DrawInformation( void ) {
if ( cgs.gametype != GT_JEDIMASTER && value ) {
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "SABERONLYSET") ),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
if ( valueNOFP ) {
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "NOFPSET") ),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
}
// Display the rules based on type
y += PROP_HEIGHT;
y += iPropHeight;
switch ( cgs.gametype ) {
case GT_FFA:
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_FFA_1")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
break;
case GT_HOLOCRON:
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_HOLO_1")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_HOLO_2")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
break;
case GT_JEDIMASTER:
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_JEDI_1")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_JEDI_2")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
break;
case GT_SINGLE_PLAYER:
break;
case GT_TOURNAMENT:
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_DUEL_1")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_DUEL_2")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
break;
case GT_TEAM:
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_TEAM_1")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_TEAM_2")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
break;
case GT_SAGA:
break;
case GT_CTF:
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_CTF_1")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_CTF_2")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
break;
case GT_CTY:
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_CTY_1")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
UI_DrawProportionalString( 320, y, va( "%s", (char *)CG_GetStripEdString("INGAMETEXT", "RULES_CTY_2")),
UI_CENTER|UI_INFOFONT|UI_DROPSHADOW, colorWhite );
y += PROP_HEIGHT;
y += iPropHeight;
break;
default:
break;

View file

@ -235,7 +235,7 @@ typedef struct centity_s {
int trickAlphaTime;
int teamPowerEffectTime;
qboolean teamPowerType; //0 regen, 1 heal, 2 drain
qboolean teamPowerType; //0 regen, 1 heal, 2 drain, 3 absorb
} centity_t;
@ -956,9 +956,9 @@ typedef struct {
qhandle_t teamRedShader;
qhandle_t teamBlueShader;
qhandle_t balloonShader;
qhandle_t connectionShader;
qhandle_t selectShader;
qhandle_t viewBloodShader;
qhandle_t tracerShader;
qhandle_t crosshairShader[NUM_CROSSHAIRS];
@ -967,9 +967,6 @@ typedef struct {
qhandle_t noammoShader;
qhandle_t smokePuffShader;
qhandle_t smokePuffRageProShader;
qhandle_t shotgunSmokePuffShader;
qhandle_t plasmaBallShader;
qhandle_t waterBubbleShader;
qhandle_t bloodTrailShader;
@ -1316,6 +1313,11 @@ typedef struct {
int capturelimit;
int timelimit;
int maxclients;
qboolean needpass;
qboolean jediVmerc;
int wDisable;
int fDisable;
char mapname[MAX_QPATH];
char redTeam[MAX_QPATH];
char blueTeam[MAX_QPATH];
@ -1413,7 +1415,6 @@ extern vmCvar_t cg_bobpitch;
extern vmCvar_t cg_bobroll;
//extern vmCvar_t cg_swingSpeed;
extern vmCvar_t cg_shadows;
extern vmCvar_t cg_gibs;
extern vmCvar_t cg_drawTimer;
extern vmCvar_t cg_drawFPS;
extern vmCvar_t cg_drawSnapshot;
@ -1460,9 +1461,22 @@ extern vmCvar_t cg_zoomFov;
extern vmCvar_t cg_swingAngles;
extern vmCvar_t cg_oldPainSounds;
#ifdef G2_COLLISION_ENABLED
extern vmCvar_t cg_saberModelTraceEffect;
#endif
extern vmCvar_t cg_fpls;
extern vmCvar_t cg_saberDynamicMarks;
extern vmCvar_t cg_saberDynamicMarkTime;
extern vmCvar_t cg_saberContact;
extern vmCvar_t cg_saberTrail;
extern vmCvar_t cg_duelHeadAngles;
extern vmCvar_t cg_speedTrail;
extern vmCvar_t cg_auraShell;
@ -1788,9 +1802,6 @@ void CG_GlassShatter(int entnum, vec3_t dmgPt, vec3_t dmgDir, float dmgRadius, i
void CG_CreateDebris(int entnum, vec3_t org, vec3_t mins, vec3_t maxs, int debrissound, int debrismodel);
void CG_ScorePlum( int client, vec3_t org, int score );
void CG_GibPlayer( vec3_t playerOrigin );
void CG_BigExplode( vec3_t playerOrigin );
void CG_Bleed( vec3_t origin, int entityNum );
localEntity_t *CG_MakeExplosion( vec3_t origin, vec3_t dir,
@ -1963,7 +1974,9 @@ int trap_R_Font_StrLenPixels(const char *text, const int iFontIndex, const flo
int trap_R_Font_StrLenChars(const char *text);
int trap_R_Font_HeightPixels(const int iFontIndex, const float scale);
void trap_R_Font_DrawString(int ox, int oy, const char *text, const float *rgba, const int setIndex, int iCharLimit, const float scale);
unsigned trap_AnyLanguage_ReadCharFromString( const char **ppText );
qboolean trap_Language_IsAsian(void);
qboolean trap_Language_UsesSpaces(void);
unsigned trap_AnyLanguage_ReadCharFromString( const char *psText, int *piAdvanceCount, qboolean *pbIsTrailingPunctuation/* = NULL*/ );
// a scene is built up by calls to R_ClearScene and the various R_Add functions.
@ -2170,6 +2183,8 @@ void FX_BlasterWeaponHitWall( vec3_t origin, vec3_t normal );
void FX_BlasterWeaponHitPlayer( vec3_t origin, vec3_t normal, qboolean humanoid );
void trap_G2API_CollisionDetect ( CollisionRecord_t *collRecMap, void* ghoul2, const vec3_t angles, const vec3_t position,int frameNumber, int entNum, const vec3_t rayStart, const vec3_t rayEnd, const vec3_t scale, int traceFlags, int useLod, float fRadius );
/*
Ghoul2 Insert Start
@ -2183,6 +2198,8 @@ qboolean trap_G2API_GetBoltMatrix(void *ghoul2, const int modelIndex, const int
const vec3_t angles, const vec3_t position, const int frameNum, qhandle_t *modelList, vec3_t scale);
qboolean trap_G2API_GetBoltMatrix_NoReconstruct(void *ghoul2, const int modelIndex, const int boltIndex, mdxaBone_t *matrix,
const vec3_t angles, const vec3_t position, const int frameNum, qhandle_t *modelList, vec3_t scale);
qboolean trap_G2API_GetBoltMatrix_NoRecNoRot(void *ghoul2, const int modelIndex, const int boltIndex, mdxaBone_t *matrix,
const vec3_t angles, const vec3_t position, const int frameNum, qhandle_t *modelList, vec3_t scale);
int trap_G2API_InitGhoul2Model(void **ghoul2Ptr, const char *fileName, int modelIndex, qhandle_t customSkin,
qhandle_t customShader, int modelFlags, int lodBias);

View file

@ -365,7 +365,6 @@ vmCvar_t cg_bobpitch;
vmCvar_t cg_bobroll;
//vmCvar_t cg_swingSpeed;
vmCvar_t cg_shadows;
vmCvar_t cg_gibs;
vmCvar_t cg_drawTimer;
vmCvar_t cg_drawFPS;
vmCvar_t cg_drawSnapshot;
@ -411,9 +410,22 @@ vmCvar_t cg_zoomFov;
vmCvar_t cg_swingAngles;
vmCvar_t cg_oldPainSounds;
#ifdef G2_COLLISION_ENABLED
vmCvar_t cg_saberModelTraceEffect;
#endif
vmCvar_t cg_fpls;
vmCvar_t cg_saberDynamicMarks;
vmCvar_t cg_saberDynamicMarkTime;
vmCvar_t cg_saberContact;
vmCvar_t cg_saberTrail;
vmCvar_t cg_duelHeadAngles;
vmCvar_t cg_speedTrail;
vmCvar_t cg_auraShell;
@ -505,7 +517,6 @@ static cvarTable_t cvarTable[] = { // bk001129
{ &cg_viewsize, "cg_viewsize", "100", CVAR_ARCHIVE },
{ &cg_stereoSeparation, "cg_stereoSeparation", "0.4", CVAR_ARCHIVE },
{ &cg_shadows, "cg_shadows", "1", CVAR_ARCHIVE },
{ &cg_gibs, "cg_gibs", "1", CVAR_ARCHIVE },
{ &cg_draw2D, "cg_draw2D", "1", CVAR_ARCHIVE },
{ &cg_drawStatus, "cg_drawStatus", "1", CVAR_ARCHIVE },
{ &cg_drawTimer, "cg_drawTimer", "0", CVAR_ARCHIVE },
@ -553,15 +564,28 @@ static cvarTable_t cvarTable[] = { // bk001129
{ &cg_swingAngles, "cg_swingAngles", "1", 0 },
{ &cg_oldPainSounds, "cg_oldPainSounds", "0", 0 },
#ifdef G2_COLLISION_ENABLED
{ &cg_saberModelTraceEffect, "cg_saberModelTraceEffect", "0", 0 },
#endif
{ &cg_fpls, "cg_fpls", "0", 0 },
{ &cg_saberDynamicMarks, "cg_saberDynamicMarks", "0", 0 },
{ &cg_saberDynamicMarkTime, "cg_saberDynamicMarkTime", "60000", 0 },
{ &cg_saberContact, "cg_saberContact", "1", 0 },
{ &cg_saberTrail, "cg_saberTrail", "1", 0 },
{ &cg_duelHeadAngles, "cg_duelHeadAngles", "0", 0 },
{ &cg_speedTrail, "cg_speedTrail", "1", 0 },
{ &cg_auraShell, "cg_auraShell", "1", 0 },
{ &cg_animBlend, "cg_animBlend", "1", 0 },
{ &cg_dismember, "cg_dismember", "0", 0 },
{ &cg_dismember, "cg_dismember", "0", CVAR_ARCHIVE },
{ &cg_thirdPerson, "cg_thirdPerson", "0", 0 },
{ &cg_thirdPersonRange, "cg_thirdPersonRange", "80", CVAR_CHEAT },
@ -1267,22 +1291,20 @@ static void CG_RegisterGraphics( void ) {
cgs.media.chunkyNumberShaders[i] = trap_R_RegisterShaderNoMip( sb_c_nums[i] );
}
cgs.media.balloonShader = trap_R_RegisterShader( "gfx/mp/chat_icon" );
cgs.media.viewBloodShader = trap_R_RegisterShader( "viewBloodBlend" );
cgs.media.deferShader = trap_R_RegisterShaderNoMip( "gfx/2d/defer.tga" );
cgs.media.smokePuffShader = trap_R_RegisterShader( "smokePuff" );
cgs.media.smokePuffRageProShader = trap_R_RegisterShader( "smokePuffRagePro" );
cgs.media.shotgunSmokePuffShader = trap_R_RegisterShader( "shotgunSmokePuff" );
cgs.media.plasmaBallShader = trap_R_RegisterShader( "sprites/plasma1" );
cgs.media.bloodTrailShader = trap_R_RegisterShader( "bloodTrail" );
cgs.media.lagometerShader = trap_R_RegisterShader("gfx/2d/lag" );
cgs.media.connectionShader = trap_R_RegisterShader( "disconnected" );
cgs.media.lagometerShader = trap_R_RegisterShaderNoMip("gfx/2d/lag" );
cgs.media.connectionShader = trap_R_RegisterShaderNoMip( "gfx/2d/net" );
cgs.media.waterBubbleShader = trap_R_RegisterShader( "waterBubble" );
cgs.media.tracerShader = trap_R_RegisterShader( "gfx/misc/tracer" );
cgs.media.selectShader = trap_R_RegisterShader( "gfx/2d/select" );
Com_Printf( S_COLOR_CYAN "---------- Fx System Initialization ---------\n" );
trap_FX_InitSystem();
@ -2005,14 +2027,15 @@ static clientInfo_t * CG_InfoFromScoreIndex(int index, int team, int *scoreIndex
return &cgs.clientinfo[ cg.scores[index].client ];
}
static const char *CG_FeederItemText(float feederID, int index, int column, qhandle_t *handle) {
static const char *CG_FeederItemText(float feederID, int index, int column,
qhandle_t *handle1, qhandle_t *handle2, qhandle_t *handle3) {
gitem_t *item;
int scoreIndex = 0;
clientInfo_t *info = NULL;
int team = -1;
score_t *sp = NULL;
*handle = -1;
*handle1 = *handle2 = *handle3 = -1;
if (feederID == FEEDER_REDTEAM_LIST) {
team = TEAM_RED;
@ -2028,17 +2051,17 @@ static const char *CG_FeederItemText(float feederID, int index, int column, qhan
case 0:
if ( info->powerups & ( 1 << PW_NEUTRALFLAG ) ) {
item = BG_FindItemForPowerup( PW_NEUTRALFLAG );
*handle = cg_items[ ITEM_INDEX(item) ].icon;
*handle1 = cg_items[ ITEM_INDEX(item) ].icon;
} else if ( info->powerups & ( 1 << PW_REDFLAG ) ) {
item = BG_FindItemForPowerup( PW_REDFLAG );
*handle = cg_items[ ITEM_INDEX(item) ].icon;
*handle1 = cg_items[ ITEM_INDEX(item) ].icon;
} else if ( info->powerups & ( 1 << PW_BLUEFLAG ) ) {
item = BG_FindItemForPowerup( PW_BLUEFLAG );
*handle = cg_items[ ITEM_INDEX(item) ].icon;
*handle1 = cg_items[ ITEM_INDEX(item) ].icon;
} else {
/*
if ( info->botSkill > 0 && info->botSkill <= 5 ) {
*handle = cgs.media.botSkillShaders[ info->botSkill - 1 ];
*handle1 = cgs.media.botSkillShaders[ info->botSkill - 1 ];
} else if ( info->handicap < 100 ) {
return va("%i", info->handicap );
}
@ -2049,7 +2072,7 @@ static const char *CG_FeederItemText(float feederID, int index, int column, qhan
if (team == -1) {
return "";
} else {
*handle = CG_StatusHandle(info->teamTask);
*handle1 = CG_StatusHandle(info->teamTask);
}
break;
case 2:
@ -2194,6 +2217,8 @@ void CG_LoadHudMenu()
cgDC.Font_StrLenChars = &trap_R_Font_StrLenChars;
cgDC.Font_HeightPixels = &trap_R_Font_HeightPixels;
cgDC.Font_DrawString = &trap_R_Font_DrawString;
cgDC.Language_IsAsian = &trap_Language_IsAsian;
cgDC.Language_UsesSpaces = &trap_Language_UsesSpaces;
cgDC.AnyLanguage_ReadCharFromString = &trap_AnyLanguage_ReadCharFromString;
cgDC.ownerDrawItem = &CG_OwnerDraw;
cgDC.getValue = &CG_GetValue;

View file

@ -379,6 +379,8 @@ extern int MenuFontToHandle(int iMenuFont);
//
static void CG_Text_Paint_Limit(float *maxX, float x, float y, float scale, vec4_t color, const char* text, float adjust, int limit, int iMenuFont)
{
qboolean bIsTrailingPunctuation;
// this is kinda dirty, but...
//
int iFontIndex = MenuFontToHandle(iMenuFont);
@ -400,9 +402,12 @@ static void CG_Text_Paint_Limit(float *maxX, float x, float y, float scale, vec4
&& psOut < &sTemp[sizeof(sTemp)-1] // sanity
)
{
psOutLastGood = psOut;
uiLetter = trap_AnyLanguage_ReadCharFromString(&psText);
int iAdvanceCount;
psOutLastGood = psOut;
uiLetter = trap_AnyLanguage_ReadCharFromString(psText, &iAdvanceCount, &bIsTrailingPunctuation);
psText += iAdvanceCount;
if (uiLetter > 255)
{
*psOut++ = uiLetter>>8;
@ -967,7 +972,7 @@ void CG_KeyEvent(int key, qboolean down) {
if (cgs.capturedItem) {
cgs.capturedItem = NULL;
} else {
if (key == K_MOUSE2 && down) {
if (key == A_MOUSE2 && down) {
cgs.capturedItem = Display_CaptureItem(cgs.cursorX, cgs.cursorY);
}
}

File diff suppressed because it is too large Load diff

View file

@ -332,9 +332,14 @@ void CG_CheckLocalSounds( playerState_t *ps, playerState_t *ops ) {
}
// health changes of more than -3 should make pain sounds
if ( ps->stats[STAT_HEALTH] < (ops->stats[STAT_HEALTH] - 3)) {
if ( ps->stats[STAT_HEALTH] > 0 ) {
CG_PainEvent( &cg.predictedPlayerEntity, ps->stats[STAT_HEALTH] );
if (cg_oldPainSounds.integer)
{
if ( ps->stats[STAT_HEALTH] < (ops->stats[STAT_HEALTH] - 3))
{
if ( ps->stats[STAT_HEALTH] > 0 )
{
CG_PainEvent( &cg.predictedPlayerEntity, ps->stats[STAT_HEALTH] );
}
}
}

View file

@ -49,7 +49,7 @@ functions imported from the main executable
==================================================================
*/
#define CGAME_IMPORT_API_VERSION 4
#define CGAME_IMPORT_API_VERSION 5
typedef enum {
CG_PRINT = 0,
@ -104,6 +104,8 @@ typedef enum {
CG_R_FONT_STRLENCHARS,
CG_R_FONT_STRHEIGHTPIXELS,
CG_R_FONT_DRAWSTRING,
CG_LANGUAGE_ISASIAN,
CG_LANGUAGE_USESSPACES,
CG_ANYLANGUAGE_READCHARFROMSTRING,
CGAME_MEMSET = 100,
@ -216,7 +218,9 @@ Ghoul2 Insert Start
CG_G2_GIVEMEVECTORFROMMATRIX,
CG_G2_GETBOLT,
CG_G2_GETBOLT_NOREC,
CG_G2_GETBOLT_NOREC_NOROT,
CG_G2_INITGHOUL2MODEL,
CG_G2_COLLISIONDETECT,
CG_G2_CLEANMODELS,
CG_G2_ANGLEOVERRIDE,
CG_G2_PLAYANIM,

View file

@ -257,11 +257,6 @@ qboolean CG_DrawOldScoreboard( void ) {
return qfalse;
}
if ( cgs.gametype == GT_SINGLE_PLAYER && cg.predictedPlayerState.pm_type == PM_INTERMISSION ) {
cg.deferredPlayerLoading = 0;
return qfalse;
}
// don't draw scoreboard during death while warmup up
if ( cg.warmup && !cg.showScores ) {
return qfalse;
@ -368,7 +363,12 @@ qboolean CG_DrawOldScoreboard( void ) {
CG_DrawPic ( SB_SCORELINE_X - 40, y - 5, SB_SCORELINE_WIDTH + 80, 40, trap_R_RegisterShaderNoMip ( "gfx/menus/menu_buttonback.tga" ) );
CG_Text_Paint ( SB_NAME_X, y, 1.0f, colorWhite, "Name", 0, 0, ITEM_TEXTSTYLE_OUTLINED, FONT_MEDIUM );
// "NAME", "SCORE", "PING", "TIME" weren't localised, GODDAMMIT!!!!!!!!
//
// Unfortunately, since it's so sodding late now and post release I can't enable the localisation code (REM'd) since some of
// the localised strings don't fit - since no-one's ever seen them to notice this. Smegging brilliant. Thanks people.
//
CG_Text_Paint ( SB_NAME_X, y, 1.0f, colorWhite, /*CG_GetStripEdString("MENUS3", "NAME")*/"Name",0, 0, ITEM_TEXTSTYLE_OUTLINED, FONT_MEDIUM );
if (cgs.gametype == GT_TOURNAMENT)
{
char sWL[100];
@ -378,10 +378,10 @@ qboolean CG_DrawOldScoreboard( void ) {
}
else
{
CG_Text_Paint ( SB_SCORE_X, y, 1.0f, colorWhite, "Score", 0, 0, ITEM_TEXTSTYLE_OUTLINED, FONT_MEDIUM );
CG_Text_Paint ( SB_SCORE_X, y, 1.0f, colorWhite, /*CG_GetStripEdString("MENUS3", "SCORE")*/"Score", 0, 0, ITEM_TEXTSTYLE_OUTLINED, FONT_MEDIUM );
}
CG_Text_Paint ( SB_PING_X, y, 1.0f, colorWhite, "Ping", 0, 0, ITEM_TEXTSTYLE_OUTLINED, FONT_MEDIUM );
CG_Text_Paint ( SB_TIME_X, y, 1.0f, colorWhite, "Time", 0, 0, ITEM_TEXTSTYLE_OUTLINED, FONT_MEDIUM );
CG_Text_Paint ( SB_PING_X, y, 1.0f, colorWhite, /*CG_GetStripEdString("MENUS0", "PING")*/"Ping", 0, 0, ITEM_TEXTSTYLE_OUTLINED, FONT_MEDIUM );
CG_Text_Paint ( SB_TIME_X, y, 1.0f, colorWhite, /*CG_GetStripEdString("MENUS3", "TIME")*/"Time", 0, 0, ITEM_TEXTSTYLE_OUTLINED, FONT_MEDIUM );
y = SB_TOP;

View file

@ -61,6 +61,8 @@ static void CG_ParseScores( void ) {
cg.numScores = MAX_CLIENTS;
}
cg.numScores = readScores;
cg.teamScores[0] = atoi( CG_Argv( 2 ) );
cg.teamScores[1] = atoi( CG_Argv( 3 ) );
@ -134,6 +136,10 @@ void CG_ParseServerinfo( void ) {
info = CG_ConfigString( CS_SERVERINFO );
cgs.gametype = atoi( Info_ValueForKey( info, "g_gametype" ) );
trap_Cvar_Set("g_gametype", va("%i", cgs.gametype));
cgs.needpass = atoi( Info_ValueForKey( info, "needpass" ) );
cgs.jediVmerc = atoi( Info_ValueForKey( info, "g_jediVmerc" ) );
cgs.wDisable = atoi( Info_ValueForKey( info, "wdisable" ) );
cgs.fDisable = atoi( Info_ValueForKey( info, "fdisable" ) );
cgs.dmflags = atoi( Info_ValueForKey( info, "dmflags" ) );
cgs.teamflags = atoi( Info_ValueForKey( info, "teamflags" ) );
cgs.fraglimit = atoi( Info_ValueForKey( info, "fraglimit" ) );
@ -143,6 +149,7 @@ void CG_ParseServerinfo( void ) {
cgs.maxclients = atoi( Info_ValueForKey( info, "sv_maxclients" ) );
mapname = Info_ValueForKey( info, "mapname" );
//rww - You must do this one here, Info_ValueForKey always uses the same memory pointer.
trap_Cvar_Set ( "ui_about_mapname", mapname );
@ -525,7 +532,7 @@ void CG_KillCEntityInstances()
cg_entities[i].frame_minus2_refreshed = 0;
cg_entities[i].dustTrailTime = 0;
cg_entities[i].ghoul2weapon = NULL;
cg_entities[i].torsoBolt = 0;
// cg_entities[i].torsoBolt = 0;
cg_entities[i].trailTime = 0;
cg_entities[i].frame_hold_time = 0;
cg_entities[i].frame_hold_refreshed = 0;

View file

@ -52,7 +52,9 @@ equ trap_R_Font_StrLenPixels -49 ; CG_R_FONT_STRLENPIXELS
equ trap_R_Font_StrLenChars -50 ; CG_R_FONT_STRLENCHARS
equ trap_R_Font_HeightPixels -51 ; CG_R_FONT_STRHEIGHTPIXELS
equ trap_R_Font_DrawString -52 ; CG_R_FONT_DRAWSTRING
equ trap_AnyLanguage_ReadCharFromString -53 ; CG_ANYLANGUAGE_READCHARFROMSTRING
equ trap_Language_IsAsian -53 ; CG_LANGUAGE_ISASIAN
equ trap_Language_UsesSpaces -54 ; CG_LANGUAGE_USESSPACES
equ trap_AnyLanguage_ReadCharFromString -55 ; CG_ANYLANGUAGE_READCHARFROMSTRING
equ trap_R_ClearScene -201 ; CG_R_CLEARSCENE
equ trap_R_AddRefEntityToScene -202 ; CG_R_ADDREFENTITYTOSCENE
equ trap_R_AddPolyToScene -203 ; CG_R_ADDPOLYTOSCENE
@ -136,22 +138,24 @@ equ trap_G2_HaveWeGhoul2Models -282 ; CG_G2_HAVEWEGHOULMODELS
equ trap_G2API_GiveMeVectorFromMatrix -283 ; CG_G2_GIVEMEVECTORFROMMATRIX
equ trap_G2API_GetBoltMatrix -284 ; CG_G2_GETBOLT
equ trap_G2API_GetBoltMatrix_NoReconstruct -285 ; CG_G2_GETBOLT_NOREC
equ trap_G2API_InitGhoul2Model -286 ; CG_G2_INITGHOUL2MODEL
equ trap_G2API_CleanGhoul2Models -287 ; CG_G2_CLEANMODELS
equ trap_G2API_SetBoneAngles -288 ; CG_G2_ANGLEOVERRIDE
equ trap_G2API_SetBoneAnim -289 ; CG_G2_PLAYANIM
equ trap_G2API_GetGLAName -290 ; CG_G2_GETGLANAME
equ trap_G2API_CopyGhoul2Instance -291 ; CG_G2_COPYGHOUL2INSTANCE
equ trap_G2API_CopySpecificGhoul2Model -292 ; CG_G2_COPYSPECIFICGHOUL2MODEL
equ trap_G2API_DuplicateGhoul2Instance -293 ; CG_G2_DUPLICATEGHOUL2INSTANCE
equ trap_G2API_HasGhoul2ModelOnIndex -294 ; CG_G2_HASGHOUL2MODELONINDEX
equ trap_G2API_RemoveGhoul2Model -295 ; CG_G2_REMOVEGHOUL2MODEL
equ trap_G2API_AddBolt -296 ; CG_G2_ADDBOLT
equ trap_G2API_SetBoltInfo -297 ; CG_G2_SETBOLTON
equ trap_G2API_SetRootSurface -298 ; CG_G2_SETROOTSURFACE
equ trap_G2API_SetSurfaceOnOff -299 ; CG_G2_SETSURFACEONOFF
equ trap_G2API_SetNewOrigin -300 ; CG_G2_SETNEWORIGIN
equ trap_CG_RegisterSharedMemory -301 ; CG_SET_SHARED_BUFFER
equ trap_G2API_GetBoltMatrix_NoRecNoRot -286 ; CG_G2_GETBOLT_NOREC_NOROT
equ trap_G2API_InitGhoul2Model -287 ; CG_G2_INITGHOUL2MODEL
equ trap_G2API_CollisionDetect -288 ; CG_G2_COLLISIONDETECT
equ trap_G2API_CleanGhoul2Models -289 ; CG_G2_CLEANMODELS
equ trap_G2API_SetBoneAngles -290 ; CG_G2_ANGLEOVERRIDE
equ trap_G2API_SetBoneAnim -291 ; CG_G2_PLAYANIM
equ trap_G2API_GetGLAName -292 ; CG_G2_GETGLANAME
equ trap_G2API_CopyGhoul2Instance -293 ; CG_G2_COPYGHOUL2INSTANCE
equ trap_G2API_CopySpecificGhoul2Model -294 ; CG_G2_COPYSPECIFICGHOUL2MODEL
equ trap_G2API_DuplicateGhoul2Instance -295 ; CG_G2_DUPLICATEGHOUL2INSTANCE
equ trap_G2API_HasGhoul2ModelOnIndex -296 ; CG_G2_HASGHOUL2MODELONINDEX
equ trap_G2API_RemoveGhoul2Model -297 ; CG_G2_REMOVEGHOUL2MODEL
equ trap_G2API_AddBolt -298 ; CG_G2_ADDBOLT
equ trap_G2API_SetBoltInfo -299 ; CG_G2_SETBOLTON
equ trap_G2API_SetRootSurface -300 ; CG_G2_SETROOTSURFACE
equ trap_G2API_SetSurfaceOnOff -301 ; CG_G2_SETSURFACEONOFF
equ trap_G2API_SetNewOrigin -302 ; CG_G2_SETNEWORIGIN
equ trap_CG_RegisterSharedMemory -303 ; CG_SET_SHARED_BUFFER
; hardcoded functions

View file

@ -244,9 +244,19 @@ void trap_R_Font_DrawString(int ox, int oy, const char *text, const float *rgba,
syscall( CG_R_FONT_DRAWSTRING, ox, oy, text, rgba, setIndex, iCharLimit, PASSFLOAT(scale));
}
unsigned int trap_AnyLanguage_ReadCharFromString( const char **ppText )
qboolean trap_Language_IsAsian(void)
{
return syscall( CG_ANYLANGUAGE_READCHARFROMSTRING, ppText);
return syscall( CG_LANGUAGE_ISASIAN );
}
qboolean trap_Language_UsesSpaces(void)
{
return syscall( CG_LANGUAGE_USESSPACES );
}
unsigned int trap_AnyLanguage_ReadCharFromString( const char *psText, int *piAdvanceCount, qboolean *pbIsTrailingPunctuation/* = NULL*/ )
{
return syscall( CG_ANYLANGUAGE_READCHARFROMSTRING, psText, piAdvanceCount, pbIsTrailingPunctuation);
}
void trap_R_ClearScene( void ) {
@ -659,12 +669,36 @@ qboolean trap_G2API_GetBoltMatrix_NoReconstruct(void *ghoul2, const int modelInd
return (qboolean)(syscall(CG_G2_GETBOLT_NOREC, ghoul2, modelIndex, boltIndex, matrix, angles, position, frameNum, modelList, scale));
}
qboolean trap_G2API_GetBoltMatrix_NoRecNoRot(void *ghoul2, const int modelIndex, const int boltIndex, mdxaBone_t *matrix,
const vec3_t angles, const vec3_t position, const int frameNum, qhandle_t *modelList, vec3_t scale)
{ //Same as above but force it to not reconstruct the skeleton before getting the bolt position
return (qboolean)(syscall(CG_G2_GETBOLT_NOREC_NOROT, ghoul2, modelIndex, boltIndex, matrix, angles, position, frameNum, modelList, scale));
}
int trap_G2API_InitGhoul2Model(void **ghoul2Ptr, const char *fileName, int modelIndex, qhandle_t customSkin,
qhandle_t customShader, int modelFlags, int lodBias)
{
return syscall(CG_G2_INITGHOUL2MODEL, ghoul2Ptr, fileName, modelIndex, customSkin, customShader, modelFlags, lodBias);
}
void trap_G2API_CollisionDetect (
CollisionRecord_t *collRecMap,
void* ghoul2,
const vec3_t angles,
const vec3_t position,
int frameNumber,
int entNum,
const vec3_t rayStart,
const vec3_t rayEnd,
const vec3_t scale,
int traceFlags,
int useLod,
float fRadius
)
{
syscall ( CG_G2_COLLISIONDETECT, collRecMap, ghoul2, angles, position, frameNumber, entNum, rayStart, rayEnd, scale, traceFlags, useLod, PASSFLOAT(fRadius) );
}
void trap_G2API_CleanGhoul2Models(void **ghoul2Ptr)
{
syscall(CG_G2_CLEANMODELS, ghoul2Ptr);

View file

@ -1559,7 +1559,14 @@ void CG_DrawActiveFrame( int serverTime, stereoFrame_t stereoView, qboolean demo
if (cg.snap->ps.stats[STAT_HEALTH] > 0 && (cg.predictedPlayerState.weapon == WP_SABER || cg.predictedPlayerState.usingATST ||
cg.predictedPlayerState.forceHandExtend == HANDEXTEND_KNOCKDOWN || cg.predictedPlayerState.fallingToDeath))
{
cg.renderingThirdPerson = 1;
if (cg_fpls.integer && cg.predictedPlayerState.weapon == WP_SABER)
{ //force to first person for fpls
cg.renderingThirdPerson = 0;
}
else
{
cg.renderingThirdPerson = 1;
}
}
else if (cg.snap->ps.zoomMode)
{ //always force first person when zoomed

View file

@ -1417,50 +1417,36 @@ void CG_Weapon_f( void ) {
if (num >= WP_THERMAL)
{
int prenum = 0;
int loopback = 0;
int weap, i = 0;
if (cg.snap->ps.weapon >= WP_THERMAL &&
cg.snap->ps.weapon <= WP_DET_PACK)
{
num = cg.snap->ps.weapon;
prenum = num;
num++;
// already in cycle range so start with next cycle item
weap = cg.snap->ps.weapon + 1;
}
else
{
prenum = num;
// not in cycle range, so start with thermal detonator
weap = WP_THERMAL;
}
if (num > WP_DET_PACK)
// prevent an endless loop
while ( i <= 4 )
{
num = WP_THERMAL;
}
while (prenum != num || !loopback)
{
if (num > WP_DET_PACK)
if (weap > WP_DET_PACK)
{
num = WP_THERMAL;
loopback = 1;
weap = WP_THERMAL;
}
if (CG_WeaponSelectable(num))
if (CG_WeaponSelectable(weap))
{
num = weap;
break;
}
if (num == prenum)
{
break;
}
num++;
}
if (num > WP_DET_PACK)
{
num = WP_THERMAL;
weap++;
i++;
}
}

View file

@ -1,5 +0,0 @@
SCC = This is a Source Code Control file
[JK2_cgame.dsp]
SCC_Aux_Path = "\\ravend\vss_projects\jk2sof2MP"
SCC_Project_Name = "$/General/code/cgame", UPCAAAAA

1597
CODE-mp/cgame/vm/cgame.map Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

490
CODE-mp/client/OpenAL/al.h Normal file
View file

@ -0,0 +1,490 @@
#ifndef _AL_H_
#define _AL_H_
/**
* OpenAL cross platform audio library
* Copyright (C) 1999-2000 by authors.
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
* Or go to http://www.gnu.org/copyleft/lgpl.html
*/
#include "altypes.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#ifdef _OPENAL32LIB
#define ALAPI __declspec(dllexport)
#else
#define ALAPI __declspec(dllimport)
#endif
#define ALAPIENTRY __cdecl
#define AL_CALLBACK
#else
#ifdef TARGET_OS_MAC
#if TARGET_OS_MAC
#pragma export on
#endif
#endif
#define ALAPI
#define ALAPIENTRY __cdecl
#define AL_CALLBACK
#endif
#define OPENAL
#ifndef AL_NO_PROTOTYPES
/**
* OpenAL Maintenance Functions
* Initialization and exiting.
* State Management and Query.
* Error Handling.
* Extension Support.
*/
/** State management. */
ALAPI ALvoid ALAPIENTRY alEnable( ALenum capability );
ALAPI ALvoid ALAPIENTRY alDisable( ALenum capability );
ALAPI ALboolean ALAPIENTRY alIsEnabled( ALenum capability );
/** Application preferences for driver performance choices. */
ALAPI ALvoid ALAPIENTRY alHint( ALenum target, ALenum mode );
/** State retrieval. */
ALAPI ALboolean ALAPIENTRY alGetBoolean( ALenum param );
ALAPI ALint ALAPIENTRY alGetInteger( ALenum param );
ALAPI ALfloat ALAPIENTRY alGetFloat( ALenum param );
ALAPI ALdouble ALAPIENTRY alGetDouble( ALenum param );
ALAPI ALvoid ALAPIENTRY alGetBooleanv( ALenum param, ALboolean* data );
ALAPI ALvoid ALAPIENTRY alGetIntegerv( ALenum param, ALint* data );
ALAPI ALvoid ALAPIENTRY alGetFloatv( ALenum param, ALfloat* data );
ALAPI ALvoid ALAPIENTRY alGetDoublev( ALenum param, ALdouble* data );
ALAPI ALubyte* ALAPIENTRY alGetString( ALenum param );
/**
* Error support.
* Obtain the most recent error generated in the AL state machine.
*/
ALAPI ALenum ALAPIENTRY alGetError( ALvoid );
/**
* Extension support.
* Obtain the address of a function (usually an extension)
* with the name fname. All addresses are context-independent.
*/
ALAPI ALboolean ALAPIENTRY alIsExtensionPresent( ALubyte* fname );
/**
* Extension support.
* Obtain the address of a function (usually an extension)
* with the name fname. All addresses are context-independent.
*/
ALAPI ALvoid* ALAPIENTRY alGetProcAddress( ALubyte* fname );
/**
* Extension support.
* Obtain the integer value of an enumeration (usually an extension) with the name ename.
*/
ALAPI ALenum ALAPIENTRY alGetEnumValue( ALubyte* ename );
/**
* LISTENER
* Listener is the sample position for a given context.
* The multi-channel (usually stereo) output stream generated
* by the mixer is parametrized by this Listener object:
* its position and velocity relative to Sources, within
* occluder and reflector geometry.
*/
/**
*
* Listener Environment: default 0.
*/
ALAPI ALvoid ALAPIENTRY alListeneri( ALenum param, ALint value );
/**
*
* Listener Gain: default 1.0f.
*/
ALAPI ALvoid ALAPIENTRY alListenerf( ALenum param, ALfloat value );
/**
*
* Listener Position.
* Listener Velocity.
*/
ALAPI ALvoid ALAPIENTRY alListener3f( ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 );
/**
*
* Listener Position: ALfloat[3]
* Listener Velocity: ALfloat[3]
* Listener Orientation: ALfloat[6] (forward and up vector).
*/
ALAPI ALvoid ALAPIENTRY alListenerfv( ALenum param, ALfloat* values );
ALAPI ALvoid ALAPIENTRY alGetListeneri( ALenum param, ALint* value );
ALAPI ALvoid ALAPIENTRY alGetListenerf( ALenum param, ALfloat* value );
ALAPI ALvoid ALAPIENTRY alGetListener3f( ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3 );
ALAPI ALvoid ALAPIENTRY alGetListenerfv( ALenum param, ALfloat* values );
/**
* SOURCE
* Source objects are by default localized. Sources
* take the PCM data provided in the specified Buffer,
* apply Source-specific modifications, and then
* submit them to be mixed according to spatial
* arrangement etc.
*/
/** Create Source objects. */
ALAPI ALvoid ALAPIENTRY alGenSources( ALsizei n, ALuint* sources );
/** Delete Source objects. */
ALAPI ALvoid ALAPIENTRY alDeleteSources( ALsizei n, ALuint* sources );
/** Verify a handle is a valid Source. */
ALAPI ALboolean ALAPIENTRY alIsSource( ALuint id );
/** Set an integer parameter for a Source object. */
ALAPI ALvoid ALAPIENTRY alSourcei( ALuint source, ALenum param, ALint value );
ALAPI ALvoid ALAPIENTRY alSourcef( ALuint source, ALenum param, ALfloat value );
ALAPI ALvoid ALAPIENTRY alSource3f( ALuint source, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 );
ALAPI ALvoid ALAPIENTRY alSourcefv( ALuint source, ALenum param, ALfloat* values );
/** Get an integer parameter for a Source object. */
ALAPI ALvoid ALAPIENTRY alGetSourcei( ALuint source, ALenum param, ALint* value );
ALAPI ALvoid ALAPIENTRY alGetSourcef( ALuint source, ALenum param, ALfloat* value );
ALAPI ALvoid ALAPIENTRY alGetSource3f( ALuint source, ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3 );
ALAPI ALvoid ALAPIENTRY alGetSourcefv( ALuint source, ALenum param, ALfloat* values );
ALAPI ALvoid ALAPIENTRY alSourcePlayv( ALsizei n, ALuint *sources );
ALAPI ALvoid ALAPIENTRY alSourcePausev( ALsizei n, ALuint *sources );
ALAPI ALvoid ALAPIENTRY alSourceStopv( ALsizei n, ALuint *sources );
ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n,ALuint *sources);
/** Activate a source, start replay. */
ALAPI ALvoid ALAPIENTRY alSourcePlay( ALuint source );
/**
* Pause a source,
* temporarily remove it from the mixer list.
*/
ALAPI ALvoid ALAPIENTRY alSourcePause( ALuint source );
/**
* Stop a source,
* temporarily remove it from the mixer list,
* and reset its internal state to pre-Play.
* To remove a Source completely, it has to be
* deleted following Stop, or before Play.
*/
ALAPI ALvoid ALAPIENTRY alSourceStop( ALuint source );
/**
* Rewinds a source,
* temporarily remove it from the mixer list,
* and reset its internal state to pre-Play.
*/
ALAPI ALvoid ALAPIENTRY alSourceRewind( ALuint source );
/**
* BUFFER
* Buffer objects are storage space for sample data.
* Buffers are referred to by Sources. There can be more than
* one Source using the same Buffer data. If Buffers have
* to be duplicated on a per-Source basis, the driver has to
* take care of allocation, copying, and deallocation as well
* as propagating buffer data changes.
*/
/** Buffer object generation. */
ALAPI ALvoid ALAPIENTRY alGenBuffers( ALsizei n, ALuint* buffers );
ALAPI ALvoid ALAPIENTRY alDeleteBuffers( ALsizei n, ALuint* buffers );
ALAPI ALboolean ALAPIENTRY alIsBuffer( ALuint buffer );
/**
* Specify the data to be filled into a buffer.
*/
ALAPI ALvoid ALAPIENTRY alBufferData( ALuint buffer,
ALenum format,
ALvoid* data,
ALsizei size,
ALsizei freq );
ALAPI ALvoid ALAPIENTRY alGetBufferi( ALuint buffer, ALenum param, ALint* value );
ALAPI ALvoid ALAPIENTRY alGetBufferf( ALuint buffer, ALenum param, ALfloat* value );
/**
* Queue stuff
*/
ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers( ALuint source, ALsizei n, ALuint* buffers );
ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers( ALuint source, ALsizei n, ALuint* buffers );
/**
* Knobs and dials
*/
ALAPI ALvoid ALAPIENTRY alDistanceModel( ALenum value );
ALAPI ALvoid ALAPIENTRY alDopplerFactor( ALfloat value );
ALAPI ALvoid ALAPIENTRY alDopplerVelocity( ALfloat value );
#else /* AL_NO_PROTOTYPES */
/**
* OpenAL Maintenance Functions
* Initialization and exiting.
* State Management and Query.
* Error Handling.
* Extension Support.
*/
/** State management. */
ALAPI ALvoid ALAPIENTRY (*alEnable)( ALenum capability );
ALAPI ALvoid ALAPIENTRY (*alDisable)( ALenum capability );
ALAPI ALboolean ALAPIENTRY (*alIsEnabled)( ALenum capability );
/** Application preferences for driver performance choices. */
ALAPI ALvoid ALAPIENTRY (*alHint)( ALenum target, ALenum mode );
/** State retrieval. */
ALAPI ALboolean ALAPIENTRY (*alGetBoolean)( ALenum param );
ALAPI ALint ALAPIENTRY (*alGetInteger)( ALenum param );
ALAPI ALfloat ALAPIENTRY (*alGetFloat)( ALenum param );
ALAPI ALdouble ALAPIENTRY (*alGetDouble)( ALenum param );
ALAPI ALvoid ALAPIENTRY (*alGetBooleanv)( ALenum param, ALboolean* data );
ALAPI ALvoid ALAPIENTRY (*alGetIntegerv)( ALenum param, ALint* data );
ALAPI ALvoid ALAPIENTRY (*alGetFloatv)( ALenum param, ALfloat* data );
ALAPI ALvoid ALAPIENTRY (*alGetDoublev)( ALenum param, ALdouble* data );
ALAPI ALubyte* ALAPIENTRY (*alGetString)( ALenum param );
/**
* Error support.
* Obtain the most recent error generated in the AL state machine.
*/
ALAPI ALenum ALAPIENTRY (*alGetError)( ALvoid );
/**
* Extension support.
* Obtain the address of a function (usually an extension)
* with the name fname. All addresses are context-independent.
*/
ALAPI ALboolean ALAPIENTRY (*alIsExtensionPresent)( ALubyte* fname );
/**
* Extension support.
* Obtain the address of a function (usually an extension)
* with the name fname. All addresses are context-independent.
*/
ALAPI ALvoid* ALAPIENTRY (*alGetProcAddress)( ALubyte* fname );
/**
* Extension support.
* Obtain the integer value of an enumeration (usually an extension) with the name ename.
*/
ALAPI ALenum ALAPIENTRY (*alGetEnumValue)( ALubyte* ename );
/**
* LISTENER
* Listener is the sample position for a given context.
* The multi-channel (usually stereo) output stream generated
* by the mixer is parametrized by this Listener object:
* its position and velocity relative to Sources, within
* occluder and reflector geometry.
*/
/**
*
* Listener Environment: default 0.
*/
ALAPI ALvoid ALAPIENTRY (*alListeneri)( ALenum param, ALint value );
/**
*
* Listener Gain: default 1.0f.
*/
ALAPI ALvoid ALAPIENTRY (*alListenerf)( ALenum param, ALfloat value );
/**
*
* Listener Position.
* Listener Velocity.
*/
ALAPI ALvoid ALAPIENTRY (*alListener3f)( ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 );
/**
*
* Listener Position: ALfloat[3]
* Listener Velocity: ALfloat[3]
* Listener Orientation: ALfloat[6] (forward and up vector).
*/
ALAPI ALvoid ALAPIENTRY (*alListenerfv)( ALenum param, ALfloat* values );
ALAPI ALvoid ALAPIENTRY (*alGetListeneri)( ALenum param, ALint* value );
ALAPI ALvoid ALAPIENTRY (*alGetListenerf)( ALenum param, ALfloat* value );
ALAPI ALvoid ALAPIENTRY (*alGetListener3f)( ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3 );
ALAPI ALvoid ALAPIENTRY (*alGetListenerfv)( ALenum param, ALfloat* values );
/**
* SOURCE
* Source objects are by default localized. Sources
* take the PCM data provided in the specified Buffer,
* apply Source-specific modifications, and then
* submit them to be mixed according to spatial
* arrangement etc.
*/
/** Create Source objects. */
ALAPI ALvoid ALAPIENTRY (*alGenSources)( ALsizei n, ALuint* sources );
/** Delete Source objects. */
ALAPI ALvoid ALAPIENTRY (*alDeleteSources)( ALsizei n, ALuint* sources );
/** Verify a handle is a valid Source. */
ALAPI ALboolean ALAPIENTRY (*alIsSource)( ALuint id );
/** Set an integer parameter for a Source object. */
ALAPI ALvoid ALAPIENTRY (*alSourcei)( ALuint source, ALenum param, ALint value );
ALAPI ALvoid ALAPIENTRY (*alSourcef)( ALuint source, ALenum param, ALfloat value );
ALAPI ALvoid ALAPIENTRY (*alSource3f)( ALuint source, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 );
ALAPI ALvoid ALAPIENTRY (*alSourcefv)( ALuint source, ALenum param, ALfloat* values );
/** Get an integer parameter for a Source object. */
ALAPI ALvoid ALAPIENTRY (*alGetSourcei)( ALuint source, ALenum param, ALint* value );
ALAPI ALvoid ALAPIENTRY (*alGetSourcef)( ALuint source, ALenum param, ALfloat* value );
ALAPI ALvoid ALAPIENTRY (*alGetSourcefv)( ALuint source, ALenum param, ALfloat* values );
ALAPI ALvoid ALAPIENTRY (*alSourcePlayv)( ALsizei n, ALuint *sources );
ALAPI ALvoid ALAPIENTRY (*alSourceStopv)( ALsizei n, ALuint *sources );
/** Activate a source, start replay. */
ALAPI ALvoid ALAPIENTRY (*alSourcePlay)( ALuint source );
/**
* Pause a source,
* temporarily remove it from the mixer list.
*/
ALAPI ALvoid ALAPIENTRY (*alSourcePause)( ALuint source );
/**
* Stop a source,
* temporarily remove it from the mixer list,
* and reset its internal state to pre-Play.
* To remove a Source completely, it has to be
* deleted following Stop, or before Play.
*/
ALAPI ALvoid ALAPIENTRY (*alSourceStop)( ALuint source );
/**
* BUFFER
* Buffer objects are storage space for sample data.
* Buffers are referred to by Sources. There can be more than
* one Source using the same Buffer data. If Buffers have
* to be duplicated on a per-Source basis, the driver has to
* take care of allocation, copying, and deallocation as well
* as propagating buffer data changes.
*/
/** Buffer object generation. */
ALAPI ALvoid ALAPIENTRY (*alGenBuffers)( ALsizei n, ALuint* buffers );
ALAPI ALvoid ALAPIENTRY (*alDeleteBuffers)( ALsizei n, ALuint* buffers );
ALAPI ALboolean ALAPIENTRY (*alIsBuffer)( ALuint buffer );
/**
* Specify the data to be filled into a buffer.
*/
ALAPI ALvoid ALAPIENTRY (*alBufferData)( ALuint buffer,
ALenum format,
ALvoid* data,
ALsizei size,
ALsizei freq );
ALAPI ALvoid ALAPIENTRY (*alGetBufferi)( ALuint buffer, ALenum param, ALint* value );
ALAPI ALvoid ALAPIENTRY (*alGetBufferf)( ALuint buffer, ALenum param, ALfloat* value );
/**
* Queue stuff
*/
ALAPI ALvoid ALAPIENTRY (*alSourceQueueBuffers)( ALuint source, ALsizei n, ALuint* buffers );
ALAPI ALvoid ALAPIENTRY (*alSourceUnqueueBuffers)( ALuint source, ALsizei n, ALuint* buffers );
/**
* Knobs and dials
*/
ALAPI ALvoid ALAPIENTRY (*alDistanceModel)( ALenum value );
ALAPI ALvoid ALAPIENTRY (*alDopplerFactor)( ALfloat value );
ALAPI ALvoid ALAPIENTRY (*alDopplerVelocity)( ALfloat value );
#endif /* AL_NO_PROTOTYPES */
#ifdef TARGET_OS_MAC
#if TARGET_OS_MAC
#pragma export off
#endif
#endif
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,90 @@
#ifndef _ALC_H_
#define _ALC_H_
#include "altypes.h"
#include "alctypes.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#ifdef _OPENAL32LIB
#define ALCAPI __declspec(dllexport)
#else
#define ALCAPI __declspec(dllimport)
#endif
typedef struct ALCdevice_struct ALCdevice;
typedef struct ALCcontext_struct ALCcontext;
#define ALCAPIENTRY __cdecl
#else
#ifdef TARGET_OS_MAC
#if TARGET_OS_MAC
#pragma export on
#endif
#endif
#define ALCAPI
#define ALCAPIENTRY __cdecl
#endif
#ifndef ALC_NO_PROTOTYPES
ALCAPI ALCubyte* ALCAPIENTRY alcGetString(ALCdevice *device,ALCenum param);
ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALCsizei size,ALCint *data);
ALCAPI ALCdevice* ALCAPIENTRY alcOpenDevice(ALCubyte *deviceName);
ALCAPI ALCvoid ALCAPIENTRY alcCloseDevice(ALCdevice *device);
ALCAPI ALCcontext*ALCAPIENTRY alcCreateContext(ALCdevice *device,ALCint *attrList);
ALCAPI ALCboolean ALCAPIENTRY alcMakeContextCurrent(ALCcontext *context);
ALCAPI ALCvoid ALCAPIENTRY alcProcessContext(ALCcontext *context);
ALCAPI ALCcontext*ALCAPIENTRY alcGetCurrentContext(ALCvoid);
ALCAPI ALCdevice* ALCAPIENTRY alcGetContextsDevice(ALCcontext *context);
ALCAPI ALCvoid ALCAPIENTRY alcSuspendContext(ALCcontext *context);
ALCAPI ALCvoid ALCAPIENTRY alcDestroyContext(ALCcontext *context);
ALCAPI ALCenum ALCAPIENTRY alcGetError(ALCdevice *device);
ALCAPI ALCboolean ALCAPIENTRY alcIsExtensionPresent(ALCdevice *device,ALCubyte *extName);
ALCAPI ALCvoid * ALCAPIENTRY alcGetProcAddress(ALCdevice *device,ALCubyte *funcName);
ALCAPI ALCenum ALCAPIENTRY alcGetEnumValue(ALCdevice *device,ALCubyte *enumName);
#else /* AL_NO_PROTOTYPES */
ALCAPI ALCubyte* ALCAPIENTRY (*alcGetString)(ALCdevice *device,ALCenum param);
ALCAPI ALCvoid ALCAPIENTRY (*alcGetIntegerv)(ALCdevice * device,ALCenum param,ALCsizei size,ALCint *data);
ALCAPI ALCdevice* ALCAPIENTRY (*alcOpenDevice)(ALubyte *deviceName);
ALCAPI ALCvoid ALCAPIENTRY (*alcCloseDevice)(ALCdevice *device);
ALCAPI ALCcontext*ALCAPIENTRY (*alcCreateContext)(ALCdevice *device,ALCint *attrList);
ALCAPI ALCboolean ALCAPIENTRY (*alcMakeContextCurrent)(ALCcontext *context);
ALCAPI ALCvoid ALCAPIENTRY (*alcProcessContext)(ALCcontext *context);
ALCAPI ALCcontext*ALCAPIENTRY (*alcGetCurrentContext)(ALCvoid);
ALCAPI ALCdevice* ALCAPIENTRY (*alcGetContextsDevice)(ALCcontext *context);
ALCAPI ALCvoid ALCAPIENTRY (*alcSuspendContext)(ALCcontext *context);
ALCAPI ALCvoid ALCAPIENTRY (*alcDestroyContext)(ALCcontext *context);
ALCAPI ALCenum ALCAPIENTRY (*alcGetError)(ALCdevice *device);
ALCAPI ALCboolean ALCAPIENTRY (*alcIsExtensionPresent)(ALCdevice *device,ALCubyte *extName);
ALCAPI ALCvoid * ALCAPIENTRY (*alcGetProcAddress)(ALCdevice *device,ALCubyte *funcName);
ALCAPI ALCenum ALCAPIENTRY (*alcGetEnumValue)(ALCdevice *device,ALCubyte *enumName);
#endif /* AL_NO_PROTOTYPES */
#ifdef TARGET_OS_MAC
#if TARGET_OS_MAC
#pragma export off
#endif
#endif
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,125 @@
#ifndef _ALCTYPES_H_
#define _ALCTYPES_H_
/**
* OpenAL cross platform audio library
* Copyright (C) 1999-2000 by authors.
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
* Or go to http://www.gnu.org/copyleft/lgpl.html
*/
#ifdef __cplusplus
extern "C" {
#endif
/** ALC boolean type. */
typedef char ALCboolean;
/** ALC 8bit signed byte. */
typedef char ALCbyte;
/** ALC 8bit unsigned byte. */
typedef unsigned char ALCubyte;
/** ALC 16bit signed short integer type. */
typedef short ALCshort;
/** ALC 16bit unsigned short integer type. */
typedef unsigned short ALCushort;
/** ALC 32bit unsigned integer type. */
typedef unsigned ALCuint;
/** ALC 32bit signed integer type. */
typedef int ALCint;
/** ALC 32bit floating point type. */
typedef float ALCfloat;
/** ALC 64bit double point type. */
typedef double ALCdouble;
/** ALC 32bit type. */
typedef unsigned int ALCsizei;
/** ALC void type */
typedef void ALCvoid;
/** ALC enumerations. */
typedef int ALCenum;
/* Bad value. */
#define ALC_INVALID (-1)
/* Boolean False. */
#define ALC_FALSE 0
/* Boolean True. */
#define ALC_TRUE 1
/** Errors: No Error. */
#define ALC_NO_ERROR ALC_FALSE
#define ALC_MAJOR_VERSION 0x1000
#define ALC_MINOR_VERSION 0x1001
#define ALC_ATTRIBUTES_SIZE 0x1002
#define ALC_ALL_ATTRIBUTES 0x1003
#define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004
#define ALC_DEVICE_SPECIFIER 0x1005
#define ALC_EXTENSIONS 0x1006
#define ALC_FREQUENCY 0x1007
#define ALC_REFRESH 0x1008
#define ALC_SYNC 0x1009
/**
* The device argument does not name a valid dvice.
*/
#define ALC_INVALID_DEVICE 0xA001
/**
* The context argument does not name a valid context.
*/
#define ALC_INVALID_CONTEXT 0xA002
/**
* A function was called at inappropriate time,
* or in an inappropriate way, causing an illegal state.
* This can be an incompatible ALenum, object ID,
* and/or function.
*/
#define ALC_INVALID_ENUM 0xA003
/**
* Illegal value passed as an argument to an AL call.
* Applies to parameter values, but not to enumerations.
*/
#define ALC_INVALID_VALUE 0xA004
/**
* A function could not be completed,
* because there is not enough memory available.
*/
#define ALC_OUT_OF_MEMORY 0xA005
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,332 @@
#ifndef _ALTYPES_H_
#define _ALTYPES_H_
/**
* OpenAL cross platform audio library
* Copyright (C) 1999-2000 by authors.
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
* Or go to http://www.gnu.org/copyleft/lgpl.html
*/
#ifdef __cplusplus
extern "C" {
#endif
/** OpenAL boolean type. */
typedef char ALboolean;
/** OpenAL 8bit signed byte. */
typedef char ALbyte;
/** OpenAL 8bit unsigned byte. */
typedef unsigned char ALubyte;
/** OpenAL 16bit signed short integer type. */
typedef short ALshort;
/** OpenAL 16bit unsigned short integer type. */
typedef unsigned short ALushort;
/** OpenAL 32bit unsigned integer type. */
typedef unsigned ALuint;
/** OpenAL 32bit signed integer type. */
typedef int ALint;
/** OpenAL 32bit floating point type. */
typedef float ALfloat;
/** OpenAL 64bit double point type. */
typedef double ALdouble;
/** OpenAL 32bit type. */
typedef unsigned int ALsizei;
/** OpenAL void type */
typedef void ALvoid;
/** OpenAL enumerations. */
typedef int ALenum;
/* Bad value. */
#define AL_INVALID (-1)
/* Disable value. */
#define AL_NONE 0
/* Boolean False. */
#define AL_FALSE 0
/* Boolean True. */
#define AL_TRUE 1
/**
* Indicate the type of AL_SOURCE.
* Sources can be spatialized
*/
#define AL_SOURCE_TYPE 0x200
/** Indicate source has absolute coordinates. */
#define AL_SOURCE_ABSOLUTE 0x201
/** Indicate Source has listener relative coordinates. */
#define AL_SOURCE_RELATIVE 0x202
/**
* Directional source, inner cone angle, in degrees.
* Range: [0-360]
* Default: 360
*/
#define AL_CONE_INNER_ANGLE 0x1001
/**
* Directional source, outer cone angle, in degrees.
* Range: [0-360]
* Default: 360
*/
#define AL_CONE_OUTER_ANGLE 0x1002
/**
* Specify the pitch to be applied, either at source,
* or on mixer results, at listener.
* Range: [0.5-2.0]
* Default: 1.0
*/
#define AL_PITCH 0x1003
/**
* Specify the current location in three dimensional space.
* OpenAL, like OpenGL, uses a right handed coordinate system,
* where in a frontal default view X (thumb) points right,
* Y points up (index finger), and Z points towards the
* viewer/camera (middle finger).
* To switch from a left handed coordinate system, flip the
* sign on the Z coordinate.
* Listener position is always in the world coordinate system.
*/
#define AL_POSITION 0x1004
/** Specify the current direction as forward vector. */
#define AL_DIRECTION 0x1005
/** Specify the current velocity in three dimensional space. */
#define AL_VELOCITY 0x1006
/**
* Indicate whether source has to loop infinite.
* Type: ALboolean
* Range: [AL_TRUE, AL_FALSE]
* Default: AL_FALSE
*/
#define AL_LOOPING 0x1007
/**
* Indicate the buffer to provide sound samples.
* Type: ALuint.
* Range: any valid Buffer id.
*/
#define AL_BUFFER 0x1009
/**
* Indicate the gain (volume amplification) applied.
* Type: ALfloat.
* Range: ]0.0- ]
* A value of 1.0 means un-attenuated/unchanged.
* Each division by 2 equals an attenuation of -6dB.
* Each multiplicaton with 2 equals an amplification of +6dB.
* A value of 0.0 is meaningless with respect to a logarithmic
* scale; it is interpreted as zero volume - the channel
* is effectively disabled.
*/
#define AL_GAIN 0x100A
/**
* Indicate minimum source attenuation.
* Type: ALfloat
* Range: [0.0 - 1.0]
*/
#define AL_MIN_GAIN 0x100D
/**
* Indicate maximum source attenuation.
* Type: ALfloat
* Range: [0.0 - 1.0]
*/
#define AL_MAX_GAIN 0x100E
/**
* Specify the current orientation.
* Type: ALfv6 (at/up)
* Range: N/A
*/
#define AL_ORIENTATION 0x100F
/* byte offset into source (in canon format). -1 if source
* is not playing. Don't set this, get this.
*
* Type: ALfloat
* Range: [0.0 - ]
* Default: 1.0
*/
#define AL_REFERENCE_DISTANCE 0x1020
/**
* Indicate the rolloff factor for the source.
* Type: ALfloat
* Range: [0.0 - ]
* Default: 1.0
*/
#define AL_ROLLOFF_FACTOR 0x1021
/**
* Indicate the gain (volume amplification) applied.
* Type: ALfloat.
* Range: ]0.0- ]
* A value of 1.0 means un-attenuated/unchanged.
* Each division by 2 equals an attenuation of -6dB.
* Each multiplicaton with 2 equals an amplification of +6dB.
* A value of 0.0 is meaningless with respect to a logarithmic
* scale; it is interpreted as zero volume - the channel
* is effectively disabled.
*/
#define AL_CONE_OUTER_GAIN 0x1022
/**
* Specify the maximum distance.
* Type: ALfloat
* Range: [0.0 - ]
*/
#define AL_MAX_DISTANCE 0x1023
/**
* Specify the channel mask. (Creative)
* Type: ALuint
* Range: [0 - 255]
*/
#define AL_CHANNEL_MASK 0x3000
/**
* Source state information
*/
#define AL_SOURCE_STATE 0x1010
#define AL_INITIAL 0x1011
#define AL_PLAYING 0x1012
#define AL_PAUSED 0x1013
#define AL_STOPPED 0x1014
/**
* Buffer Queue params
*/
#define AL_BUFFERS_QUEUED 0x1015
#define AL_BUFFERS_PROCESSED 0x1016
/** Sound buffers: format specifier. */
#define AL_FORMAT_MONO8 0x1100
#define AL_FORMAT_MONO16 0x1101
#define AL_FORMAT_STEREO8 0x1102
#define AL_FORMAT_STEREO16 0x1103
/**
* Sound buffers: frequency, in units of Hertz [Hz].
* This is the number of samples per second. Half of the
* sample frequency marks the maximum significant
* frequency component.
*/
#define AL_FREQUENCY 0x2001
#define AL_BITS 0x2002
#define AL_CHANNELS 0x2003
#define AL_SIZE 0x2004
#define AL_DATA 0x2005
/**
* Buffer state.
*
* Not supported for public use (yet).
*/
#define AL_UNUSED 0x2010
#define AL_PENDING 0x2011
#define AL_PROCESSED 0x2012
/** Errors: No Error. */
#define AL_NO_ERROR AL_FALSE
/**
* Illegal name passed as an argument to an AL call.
*/
#define AL_INVALID_NAME 0xA001
/**
* Illegal enum passed as an argument to an AL call.
*/
#define AL_INVALID_ENUM 0xA002
/**
* Illegal value passed as an argument to an AL call.
* Applies to parameter values, but not to enumerations.
*/
#define AL_INVALID_VALUE 0xA003
/**
* A function was called at inappropriate time,
* or in an inappropriate way, causing an illegal state.
* This can be an incompatible ALenum, object ID,
* and/or function.
*/
#define AL_INVALID_OPERATION 0xA004
/**
* A function could not be completed,
* because there is not enough memory available.
*/
#define AL_OUT_OF_MEMORY 0xA005
/** Context strings: Vendor Name. */
#define AL_VENDOR 0xB001
#define AL_VERSION 0xB002
#define AL_RENDERER 0xB003
#define AL_EXTENSIONS 0xB004
/** Global tweakage. */
/**
* Doppler scale. Default 1.0
*/
#define AL_DOPPLER_FACTOR 0xC000
/**
* Doppler velocity. Default 1.0
*/
#define AL_DOPPLER_VELOCITY 0xC001
/**
* Distance model. Default AL_INVERSE_DISTANCE_CLAMPED
*/
#define AL_DISTANCE_MODEL 0xD000
/** Distance models. */
#define AL_INVERSE_DISTANCE 0xD001
#define AL_INVERSE_DISTANCE_CLAMPED 0xD002
/**
* enables
*/
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,34 @@
#ifndef _ALU_H_
#define _ALU_H_
#define ALUAPI
#define ALUAPIENTRY __cdecl
#define BUFFERSIZE 48000
#define FRACTIONBITS 14
#define FRACTIONMASK ((1L<<FRACTIONBITS)-1)
#define OUTPUTCHANNELS 2
#include "altypes.h"
#ifdef __cplusplus
extern "C" {
#endif
ALUAPI ALint ALUAPIENTRY aluF2L(ALfloat value);
ALUAPI ALshort ALUAPIENTRY aluF2S(ALfloat value);
ALUAPI ALvoid ALUAPIENTRY aluCrossproduct(ALfloat *inVector1,ALfloat *inVector2,ALfloat *outVector);
ALUAPI ALfloat ALUAPIENTRY aluDotproduct(ALfloat *inVector1,ALfloat *inVector2);
ALUAPI ALvoid ALUAPIENTRY aluNormalize(ALfloat *inVector);
ALUAPI ALvoid ALUAPIENTRY aluMatrixVector(ALfloat matrix[3][3],ALfloat *vector);
ALUAPI ALvoid ALUAPIENTRY aluCalculateSourceParameters(ALuint source,ALuint channels,ALfloat *drysend,ALfloat *wetsend,ALfloat *pitch);
ALUAPI ALvoid ALUAPIENTRY aluMixData(ALvoid *context,ALvoid *buffer,ALsizei size,ALenum format);
ALUAPI ALvoid ALUAPIENTRY aluSetReverb(ALvoid *Reverb,ALuint Environment);
ALUAPI ALvoid ALUAPIENTRY aluReverb(ALvoid *Reverb,ALfloat Buffer[][2],ALsizei BufferSize);
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,24 @@
#ifndef _ALUT_H_
#define _ALUT_H_
#define ALUTAPI
#define ALUTAPIENTRY __cdecl
#include "al.h"
#include "alu.h"
#ifdef __cplusplus
extern "C" {
#endif
ALUTAPI ALvoid ALUTAPIENTRY alutInit(ALint *argc,ALbyte **argv);
ALUTAPI ALvoid ALUTAPIENTRY alutExit(ALvoid);
ALUTAPI ALvoid ALUTAPIENTRY alutLoadWAVFile(ALbyte *file,ALenum *format,ALvoid **data,ALsizei *size,ALsizei *freq,ALboolean *loop);
ALUTAPI ALvoid ALUTAPIENTRY alutLoadWAVMemory(ALbyte *memory,ALenum *format,ALvoid **data,ALsizei *size,ALsizei *freq,ALboolean *loop);
ALUTAPI ALvoid ALUTAPIENTRY alutUnloadWAV(ALenum format,ALvoid *data,ALsizei size,ALsizei freq);
#ifdef __cplusplus
}
#endif
#endif

View file

@ -28,6 +28,10 @@ Ghoul2 Insert Start
#include "../qcommon/strip.h"
#ifdef G2_COLLISION_ENABLED
extern CMiniHeap *G2VertSpaceClient;
#endif
/*
Ghoul2 Insert End
*/
@ -635,8 +639,12 @@ int CL_CgameSystemCalls( int *args ) {
case CG_R_FONT_DRAWSTRING:
re.Font_DrawString( args[1], args[2], (const char *)VMA(3), (const float *) VMA(4), args[5], args[6], VMF(7) );
return 0;
case CG_LANGUAGE_ISASIAN:
return re.Language_IsAsian();
case CG_LANGUAGE_USESSPACES:
return re.Language_UsesSpaces();
case CG_ANYLANGUAGE_READCHARFROMSTRING:
return re.AnyLanguage_ReadCharFromString( (const char **)VMA(1) );
return re.AnyLanguage_ReadCharFromString( (const char *) VMA(1), (int *) VMA(2), (qboolean *) VMA(3) );
case CG_R_CLEARSCENE:
re.ClearScene();
return 0;
@ -994,11 +1002,34 @@ Ghoul2 Insert Start
gG2_GBMNoReconstruct = qtrue;
return G2API_GetBoltMatrix(*((CGhoul2Info_v *)args[1]), args[2], args[3], (mdxaBone_t *)VMA(4), (const float *)VMA(5),(const float *)VMA(6), args[7], (qhandle_t *)VMA(8), (float *)VMA(9));
case CG_G2_GETBOLT_NOREC_NOROT:
gG2_GBMNoReconstruct = qtrue;
gG2_GBMUseSPMethod = qtrue;
return G2API_GetBoltMatrix(*((CGhoul2Info_v *)args[1]), args[2], args[3], (mdxaBone_t *)VMA(4), (const float *)VMA(5),(const float *)VMA(6), args[7], (qhandle_t *)VMA(8), (float *)VMA(9));
case CG_G2_INITGHOUL2MODEL:
RicksCrazyOnServer=false;
return G2API_InitGhoul2Model((CGhoul2Info_v **)VMA(1), (const char *)VMA(2), args[3], (qhandle_t) args[4],
(qhandle_t) args[5], args[6], args[7]);
case CG_G2_COLLISIONDETECT:
#ifdef G2_COLLISION_ENABLED
G2API_CollisionDetect ( (CollisionRecord_t*)VMA(1), *((CGhoul2Info_v *)args[2]),
(const float*)VMA(3),
(const float*)VMA(4),
args[5],
args[6],
(float*)VMA(7),
(float*)VMA(8),
(float*)VMA(9),
G2VertSpaceClient,
args[10],
args[11],
VMF(12) );
#endif
return 0;
case CG_G2_ANGLEOVERRIDE:
return G2API_SetBoneAngles(*((CGhoul2Info_v *)args[1]), args[2], (const char *)VMA(3), (float *)VMA(4), args[5],
(const Eorientations) args[6], (const Eorientations) args[7], (const Eorientations) args[8],

View file

@ -30,8 +30,8 @@ void Con_ToggleConsole_f (void) {
return;
}
Field_Clear( &g_consoleField );
g_consoleField.widthInChars = g_console_field_width;
Field_Clear( &kg.g_consoleField );
kg.g_consoleField.widthInChars = g_console_field_width;
Con_ClearNotify ();
cls.keyCatchers ^= KEYCATCH_CONSOLE;
@ -277,11 +277,11 @@ void Con_Init (void) {
con_notifytime = Cvar_Get ("con_notifytime", "3", 0);
con_conspeed = Cvar_Get ("scr_conspeed", "3", 0);
Field_Clear( &g_consoleField );
g_consoleField.widthInChars = g_console_field_width;
Field_Clear( &kg.g_consoleField );
kg.g_consoleField.widthInChars = g_console_field_width;
for ( i = 0 ; i < COMMAND_HISTORY ; i++ ) {
Field_Clear( &historyEditLines[i] );
historyEditLines[i].widthInChars = g_console_field_width;
Field_Clear( &kg.historyEditLines[i] );
kg.historyEditLines[i].widthInChars = g_console_field_width;
}
Cmd_AddCommand ("toggleconsole", Con_ToggleConsole_f);
@ -349,8 +349,8 @@ void CL_ConsolePrint( char *txt ) {
color = ColorIndex(COLOR_WHITE);
while ( (c = *txt) != 0 ) {
if ( Q_IsColorString( txt ) ) {
while ( (c = (unsigned char) *txt) != 0 ) {
if ( Q_IsColorString( (unsigned char*) txt ) ) {
color = ColorIndex( *(txt+1) );
txt += 2;
continue;
@ -424,17 +424,19 @@ void Con_DrawInput (void) {
return;
}
y = con.vislines - ( SMALLCHAR_HEIGHT * 2 );
y = con.vislines - ( SMALLCHAR_HEIGHT * (re.Language_IsAsian() ? 1.5 : 2) );
re.SetColor( con.color );
SCR_DrawSmallChar( (int)(con.xadjust + 1 * SMALLCHAR_WIDTH), y, ']' );
Field_Draw( &g_consoleField, (int)(con.xadjust + 2 * SMALLCHAR_WIDTH), y,
Field_Draw( &kg.g_consoleField, (int)(con.xadjust + 2 * SMALLCHAR_WIDTH), y,
SCREEN_WIDTH - 3 * SMALLCHAR_WIDTH, qtrue );
}
/*
================
Con_DrawNotify
@ -471,22 +473,59 @@ void Con_DrawNotify (void)
continue;
}
for (x = 0 ; x < con.linewidth ; x++) {
if ( ( text[x] & 0xff ) == ' ' ) {
continue;
}
if ( ( (text[x]>>8)&7 ) != currentColor ) {
currentColor = (text[x]>>8)&7;
re.SetColor( g_color_table[currentColor] );
}
if (!cl_conXOffset)
{
cl_conXOffset = Cvar_Get ("cl_conXOffset", "0", 0);
}
SCR_DrawSmallChar( (int)(cl_conXOffset->integer + con.xadjust + (x+1)*SMALLCHAR_WIDTH), v, text[x] & 0xff );
if (!cl_conXOffset)
{
cl_conXOffset = Cvar_Get ("cl_conXOffset", "0", 0);
}
v += SMALLCHAR_HEIGHT;
// asian language needs to use the new font system to print glyphs...
//
// (ignore colours since we're going to print the whole thing as one string)
//
if (re.Language_IsAsian())
{
static int iFontIndex = re.RegisterFont("ocr_a"); // this seems naughty
const float fFontScale = 0.75f*con.yadjust;
const int iPixelHeightToAdvance = 2+(1.3/con.yadjust) * re.Font_HeightPixels(iFontIndex, fFontScale); // for asian spacing, since we don't want glyphs to touch.
// concat the text to be printed...
//
char sTemp[4096]={0}; // ott
for (x = 0 ; x < con.linewidth ; x++)
{
if ( ( (text[x]>>8)&7 ) != currentColor ) {
currentColor = (text[x]>>8)&7;
strcat(sTemp,va("^%i", (text[x]>>8)&7) );
}
strcat(sTemp,va("%c",text[x] & 0xFF));
}
//
// and print...
//
re.Font_DrawString(cl_conXOffset->integer + con.xadjust*(con.xadjust + (1*SMALLCHAR_WIDTH/*aesthetics*/)), con.yadjust*(v), sTemp, g_color_table[currentColor], iFontIndex, -1, fFontScale);
v += iPixelHeightToAdvance;
}
else
{
for (x = 0 ; x < con.linewidth ; x++) {
if ( ( text[x] & 0xff ) == ' ' ) {
continue;
}
if ( ( (text[x]>>8)&7 ) != currentColor ) {
currentColor = (text[x]>>8)&7;
re.SetColor( g_color_table[currentColor] );
}
if (!cl_conXOffset)
{
cl_conXOffset = Cvar_Get ("cl_conXOffset", "0", 0);
}
SCR_DrawSmallChar( (int)(cl_conXOffset->integer + con.xadjust + (x+1)*SMALLCHAR_WIDTH), v, text[x] & 0xff );
}
v += SMALLCHAR_HEIGHT;
}
}
re.SetColor( NULL );
@ -589,7 +628,19 @@ void Con_DrawSolidConsole( float frac ) {
currentColor = 7;
re.SetColor( g_color_table[currentColor] );
for (i=0 ; i<rows ; i++, y -= SMALLCHAR_HEIGHT, row--)
static int iFontIndexForAsian = 0;
const float fFontScaleForAsian = 0.75f*con.yadjust;
int iPixelHeightToAdvance = SMALLCHAR_HEIGHT;
if (re.Language_IsAsian())
{
if (!iFontIndexForAsian)
{
iFontIndexForAsian = re.RegisterFont("ocr_a");
}
iPixelHeightToAdvance = (1.3/con.yadjust) * re.Font_HeightPixels(iFontIndexForAsian, fFontScaleForAsian); // for asian spacing, since we don't want glyphs to touch.
}
for (i=0 ; i<rows ; i++, y -= iPixelHeightToAdvance, row--)
{
if (row < 0)
break;
@ -600,16 +651,41 @@ void Con_DrawSolidConsole( float frac ) {
text = con.text + (row % con.totallines)*con.linewidth;
for (x=0 ; x<con.linewidth ; x++) {
if ( ( text[x] & 0xff ) == ' ' ) {
continue;
// asian language needs to use the new font system to print glyphs...
//
// (ignore colours since we're going to print the whole thing as one string)
//
if (re.Language_IsAsian())
{
// concat the text to be printed...
//
char sTemp[4096]={0}; // ott
for (x = 0 ; x < con.linewidth ; x++)
{
if ( ( (text[x]>>8)&7 ) != currentColor ) {
currentColor = (text[x]>>8)&7;
strcat(sTemp,va("^%i", (text[x]>>8)&7) );
}
strcat(sTemp,va("%c",text[x] & 0xFF));
}
//
// and print...
//
re.Font_DrawString(con.xadjust*(con.xadjust + (1*SMALLCHAR_WIDTH/*(aesthetics)*/)), con.yadjust*(y), sTemp, g_color_table[currentColor], iFontIndexForAsian, -1, fFontScaleForAsian);
}
else
{
for (x=0 ; x<con.linewidth ; x++) {
if ( ( text[x] & 0xff ) == ' ' ) {
continue;
}
if ( ( (text[x]>>8)&7 ) != currentColor ) {
currentColor = (text[x]>>8)&7;
re.SetColor( g_color_table[currentColor] );
if ( ( (text[x]>>8)&7 ) != currentColor ) {
currentColor = (text[x]>>8)&7;
re.SetColor( g_color_table[currentColor] );
}
SCR_DrawSmallChar( (int) (con.xadjust + (x+1)*SMALLCHAR_WIDTH), y, text[x] & 0xff );
}
SCR_DrawSmallChar( (int) (con.xadjust + (x+1)*SMALLCHAR_WIDTH), y, text[x] & 0xff );
}
}
@ -712,7 +788,7 @@ void Con_Close( void ) {
if ( !com_cl_running->integer ) {
return;
}
Field_Clear( &g_consoleField );
Field_Clear( &kg.g_consoleField );
Con_ClearNotify ();
cls.keyCatchers &= ~KEYCATCH_CONSOLE;
con.finalFrac = 0; // none visible

View file

@ -586,12 +586,12 @@ void CL_CmdButtons( usercmd_t *cmd ) {
}
if ( cls.keyCatchers ) {
// cmd->buttons |= BUTTON_TALK;
cmd->buttons |= BUTTON_TALK;
}
// allow the game to know if any key at all is
// currently pressed, even if it isn't bound to anything
if ( anykeydown && !cls.keyCatchers ) {
if ( kg.anykeydown && !cls.keyCatchers ) {
cmd->buttons |= BUTTON_ANY;
}
}

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more