├── .gitignore ├── COPYING.txt ├── Makefile ├── Makefile.q3lite ├── README.md ├── code ├── AL │ ├── VERSION │ ├── al.h │ ├── alc.h │ ├── alext.h │ ├── efx-creative.h │ ├── efx-presets.h │ └── efx.h ├── SDL2 │ └── include │ │ ├── SDL.h │ │ ├── SDL_assert.h │ │ ├── SDL_atomic.h │ │ ├── SDL_audio.h │ │ ├── SDL_bits.h │ │ ├── SDL_blendmode.h │ │ ├── SDL_clipboard.h │ │ ├── SDL_config.h │ │ ├── SDL_config.h.cmake │ │ ├── SDL_config.h.in │ │ ├── SDL_config_android.h │ │ ├── SDL_config_iphoneos.h │ │ ├── SDL_config_macosx.h │ │ ├── SDL_config_minimal.h │ │ ├── SDL_config_os2.h │ │ ├── SDL_config_pandora.h │ │ ├── SDL_config_psp.h │ │ ├── SDL_config_windows.h │ │ ├── SDL_config_winrt.h │ │ ├── SDL_config_wiz.h │ │ ├── SDL_copying.h │ │ ├── SDL_cpuinfo.h │ │ ├── SDL_egl.h │ │ ├── SDL_endian.h │ │ ├── SDL_error.h │ │ ├── SDL_events.h │ │ ├── SDL_filesystem.h │ │ ├── SDL_gamecontroller.h │ │ ├── SDL_gesture.h │ │ ├── SDL_haptic.h │ │ ├── SDL_hints.h │ │ ├── SDL_joystick.h │ │ ├── SDL_keyboard.h │ │ ├── SDL_keycode.h │ │ ├── SDL_loadso.h │ │ ├── SDL_log.h │ │ ├── SDL_main.h │ │ ├── SDL_messagebox.h │ │ ├── SDL_mouse.h │ │ ├── SDL_mutex.h │ │ ├── SDL_name.h │ │ ├── SDL_opengl.h │ │ ├── SDL_opengl_glext.h │ │ ├── SDL_opengles.h │ │ ├── SDL_opengles2.h │ │ ├── SDL_opengles2_gl2.h │ │ ├── SDL_opengles2_gl2ext.h │ │ ├── SDL_opengles2_gl2platform.h │ │ ├── SDL_opengles2_khrplatform.h │ │ ├── SDL_pixels.h │ │ ├── SDL_platform.h │ │ ├── SDL_power.h │ │ ├── SDL_quit.h │ │ ├── SDL_rect.h │ │ ├── SDL_render.h │ │ ├── SDL_revision.h │ │ ├── SDL_rwops.h │ │ ├── SDL_scancode.h │ │ ├── SDL_sensor.h │ │ ├── SDL_shape.h │ │ ├── SDL_stdinc.h │ │ ├── SDL_surface.h │ │ ├── SDL_system.h │ │ ├── SDL_syswm.h │ │ ├── SDL_test.h │ │ ├── SDL_test_assert.h │ │ ├── SDL_test_common.h │ │ ├── SDL_test_compare.h │ │ ├── SDL_test_crc32.h │ │ ├── SDL_test_font.h │ │ ├── SDL_test_fuzzer.h │ │ ├── SDL_test_harness.h │ │ ├── SDL_test_images.h │ │ ├── SDL_test_log.h │ │ ├── SDL_test_md5.h │ │ ├── SDL_test_memory.h │ │ ├── SDL_test_random.h │ │ ├── SDL_thread.h │ │ ├── SDL_timer.h │ │ ├── SDL_touch.h │ │ ├── SDL_types.h │ │ ├── SDL_version.h │ │ ├── SDL_video.h │ │ ├── SDL_vulkan.h │ │ ├── begin_code.h │ │ └── close_code.h ├── asm │ ├── ftola.asm │ ├── ftola.c │ ├── matha.s │ ├── qasm-inline.h │ ├── qasm.h │ ├── snapvector.asm │ ├── snapvector.c │ ├── snd_mixa.s │ └── vm_x86_64.asm ├── botlib │ ├── aasfile.h │ ├── be_aas.h │ ├── be_aas_bsp.h │ ├── be_aas_bspq3.c │ ├── be_aas_cluster.c │ ├── be_aas_cluster.h │ ├── be_aas_debug.c │ ├── be_aas_debug.h │ ├── be_aas_def.h │ ├── be_aas_entity.c │ ├── be_aas_entity.h │ ├── be_aas_file.c │ ├── be_aas_file.h │ ├── be_aas_funcs.h │ ├── be_aas_main.c │ ├── be_aas_main.h │ ├── be_aas_move.c │ ├── be_aas_move.h │ ├── be_aas_optimize.c │ ├── be_aas_optimize.h │ ├── be_aas_reach.c │ ├── be_aas_reach.h │ ├── be_aas_route.c │ ├── be_aas_route.h │ ├── be_aas_routealt.c │ ├── be_aas_routealt.h │ ├── be_aas_sample.c │ ├── be_aas_sample.h │ ├── be_ai_char.c │ ├── be_ai_char.h │ ├── be_ai_chat.c │ ├── be_ai_chat.h │ ├── be_ai_gen.c │ ├── be_ai_gen.h │ ├── be_ai_goal.c │ ├── be_ai_goal.h │ ├── be_ai_move.c │ ├── be_ai_move.h │ ├── be_ai_weap.c │ ├── be_ai_weap.h │ ├── be_ai_weight.c │ ├── be_ai_weight.h │ ├── be_ea.c │ ├── be_ea.h │ ├── be_interface.c │ ├── be_interface.h │ ├── botlib.h │ ├── l_crc.c │ ├── l_crc.h │ ├── l_libvar.c │ ├── l_libvar.h │ ├── l_log.c │ ├── l_log.h │ ├── l_memory.c │ ├── l_memory.h │ ├── l_precomp.c │ ├── l_precomp.h │ ├── l_script.c │ ├── l_script.h │ ├── l_struct.c │ ├── l_struct.h │ └── l_utils.h ├── cgame │ ├── cg_consolecmds.c │ ├── cg_draw.c │ ├── cg_drawtools.c │ ├── cg_effects.c │ ├── cg_ents.c │ ├── cg_event.c │ ├── cg_info.c │ ├── cg_local.h │ ├── cg_localents.c │ ├── cg_main.c │ ├── cg_marks.c │ ├── cg_newdraw.c │ ├── cg_particles.c │ ├── cg_players.c │ ├── cg_playerstate.c │ ├── cg_predict.c │ ├── cg_public.h │ ├── cg_scoreboard.c │ ├── cg_servercmds.c │ ├── cg_snapshot.c │ ├── cg_syscalls.asm │ ├── cg_syscalls.c │ ├── cg_view.c │ └── cg_weapons.c ├── client │ ├── cl_avi.c │ ├── cl_cgame.c │ ├── cl_cin.c │ ├── cl_console.c │ ├── cl_curl.c │ ├── cl_curl.h │ ├── cl_input.c │ ├── cl_keys.c │ ├── cl_main.c │ ├── cl_net_chan.c │ ├── cl_parse.c │ ├── cl_scrn.c │ ├── cl_ui.c │ ├── client.h │ ├── keycodes.h │ ├── keys.h │ ├── libmumblelink.c │ ├── libmumblelink.h │ ├── qal.c │ ├── qal.h │ ├── snd_adpcm.c │ ├── snd_codec.c │ ├── snd_codec.h │ ├── snd_codec_ogg.c │ ├── snd_codec_opus.c │ ├── snd_codec_wav.c │ ├── snd_dma.c │ ├── snd_local.h │ ├── snd_main.c │ ├── snd_mem.c │ ├── snd_mix.c │ ├── snd_openal.c │ ├── snd_public.h │ └── snd_wavelet.c ├── curl-7.54.0 │ └── include │ │ ├── README │ │ └── curl │ │ ├── curl.h │ │ ├── curlbuild.h │ │ ├── curlrules.h │ │ ├── curlver.h │ │ ├── easy.h │ │ ├── mprintf.h │ │ ├── multi.h │ │ ├── stdcheaders.h │ │ ├── system.h │ │ └── typecheck-gcc.h ├── game │ ├── ai_chat.c │ ├── ai_chat.h │ ├── ai_cmd.c │ ├── ai_cmd.h │ ├── ai_dmnet.c │ ├── ai_dmnet.h │ ├── ai_dmq3.c │ ├── ai_dmq3.h │ ├── ai_main.c │ ├── ai_main.h │ ├── ai_team.c │ ├── ai_team.h │ ├── ai_vcmd.c │ ├── ai_vcmd.h │ ├── bg_lib.c │ ├── bg_lib.h │ ├── bg_local.h │ ├── bg_misc.c │ ├── bg_pmove.c │ ├── bg_public.h │ ├── bg_slidemove.c │ ├── chars.h │ ├── g_active.c │ ├── g_arenas.c │ ├── g_bot.c │ ├── g_client.c │ ├── g_cmds.c │ ├── g_combat.c │ ├── g_items.c │ ├── g_local.h │ ├── g_main.c │ ├── g_mem.c │ ├── g_misc.c │ ├── g_missile.c │ ├── g_mover.c │ ├── g_public.h │ ├── g_rankings.c │ ├── g_rankings.h │ ├── g_session.c │ ├── g_spawn.c │ ├── g_svcmds.c │ ├── g_syscalls.asm │ ├── g_syscalls.c │ ├── g_target.c │ ├── g_team.c │ ├── g_team.h │ ├── g_trigger.c │ ├── g_utils.c │ ├── g_weapon.c │ ├── inv.h │ ├── match.h │ └── syn.h ├── jpeg-8c │ ├── README │ ├── ioquake3-changes.diff │ ├── jaricom.c │ ├── jcapimin.c │ ├── jcapistd.c │ ├── jcarith.c │ ├── jccoefct.c │ ├── jccolor.c │ ├── jcdctmgr.c │ ├── jchuff.c │ ├── jcinit.c │ ├── jcmainct.c │ ├── jcmarker.c │ ├── jcmaster.c │ ├── jcomapi.c │ ├── jconfig.h │ ├── jcparam.c │ ├── jcprepct.c │ ├── jcsample.c │ ├── jctrans.c │ ├── jdapimin.c │ ├── jdapistd.c │ ├── jdarith.c │ ├── jdatadst.c │ ├── jdatasrc.c │ ├── jdcoefct.c │ ├── jdcolor.c │ ├── jdct.h │ ├── jddctmgr.c │ ├── jdhuff.c │ ├── jdinput.c │ ├── jdmainct.c │ ├── jdmarker.c │ ├── jdmaster.c │ ├── jdmerge.c │ ├── jdpostct.c │ ├── jdsample.c │ ├── jdtrans.c │ ├── jerror.c │ ├── jerror.h │ ├── jfdctflt.c │ ├── jfdctfst.c │ ├── jfdctint.c │ ├── jidctflt.c │ ├── jidctfst.c │ ├── jidctint.c │ ├── jinclude.h │ ├── jmemmgr.c │ ├── jmemnobs.c │ ├── jmemsys.h │ ├── jmorecfg.h │ ├── jpegint.h │ ├── jpeglib.h │ ├── jquant1.c │ ├── jquant2.c │ ├── jutils.c │ └── jversion.h ├── libogg-1.3.3 │ ├── include │ │ └── ogg │ │ │ ├── config_types.h │ │ │ ├── ogg.h │ │ │ └── os_types.h │ └── src │ │ ├── bitwise.c │ │ └── framing.c ├── libs │ ├── macosx │ │ ├── libSDL2-2.0.0.dylib │ │ └── libSDL2main.a │ ├── q3lite │ │ └── pi │ │ │ ├── libSDL2-2.0.so.0 │ │ │ ├── libSDL2-2.0.so.0.9.0 │ │ │ └── libSDL2.so │ ├── win32 │ │ ├── SDL2.dll │ │ ├── libSDL2.a │ │ ├── libSDL2.dll.a │ │ ├── libSDL2main.a │ │ └── libcurl.a │ └── win64 │ │ ├── SDL264.dll │ │ ├── libSDL264.a │ │ ├── libSDL264.dll.a │ │ ├── libSDL264main.a │ │ └── libcurl.a ├── libvorbis-1.3.6 │ ├── include │ │ └── vorbis │ │ │ ├── codec.h │ │ │ ├── vorbisenc.h │ │ │ └── vorbisfile.h │ └── lib │ │ ├── analysis.c │ │ ├── backends.h │ │ ├── bitrate.c │ │ ├── bitrate.h │ │ ├── block.c │ │ ├── books │ │ ├── coupled │ │ │ ├── res_books_51.h │ │ │ └── res_books_stereo.h │ │ ├── floor │ │ │ └── floor_books.h │ │ └── uncoupled │ │ │ └── res_books_uncoupled.h │ │ ├── codebook.c │ │ ├── codebook.h │ │ ├── codec_internal.h │ │ ├── envelope.c │ │ ├── envelope.h │ │ ├── floor0.c │ │ ├── floor1.c │ │ ├── highlevel.h │ │ ├── info.c │ │ ├── lookup.c │ │ ├── lookup.h │ │ ├── lookup_data.h │ │ ├── lpc.c │ │ ├── lpc.h │ │ ├── lsp.c │ │ ├── lsp.h │ │ ├── mapping0.c │ │ ├── masking.h │ │ ├── mdct.c │ │ ├── mdct.h │ │ ├── misc.h │ │ ├── modes │ │ ├── floor_all.h │ │ ├── psych_11.h │ │ ├── psych_16.h │ │ ├── psych_44.h │ │ ├── psych_8.h │ │ ├── residue_16.h │ │ ├── residue_44.h │ │ ├── residue_44p51.h │ │ ├── residue_44u.h │ │ ├── residue_8.h │ │ ├── setup_11.h │ │ ├── setup_16.h │ │ ├── setup_22.h │ │ ├── setup_32.h │ │ ├── setup_44.h │ │ ├── setup_44p51.h │ │ ├── setup_44u.h │ │ ├── setup_8.h │ │ └── setup_X.h │ │ ├── os.h │ │ ├── psy.c │ │ ├── psy.h │ │ ├── registry.c │ │ ├── registry.h │ │ ├── res0.c │ │ ├── scales.h │ │ ├── sharedbook.c │ │ ├── smallft.c │ │ ├── smallft.h │ │ ├── synthesis.c │ │ ├── vorbisenc.c │ │ ├── vorbisfile.c │ │ ├── window.c │ │ └── window.h ├── null │ ├── mac_net.c │ ├── null_client.c │ ├── null_glimp.c │ ├── null_input.c │ ├── null_main.c │ ├── null_net.c │ └── null_snddma.c ├── opus-1.2.1 │ ├── celt │ │ ├── _kiss_fft_guts.h │ │ ├── arch.h │ │ ├── arm │ │ │ ├── arm2gnu.pl │ │ │ ├── arm_celt_map.c │ │ │ ├── armcpu.c │ │ │ ├── armcpu.h │ │ │ ├── armopts.s.in │ │ │ ├── celt_ne10_fft.c │ │ │ ├── celt_ne10_mdct.c │ │ │ ├── celt_neon_intr.c │ │ │ ├── celt_pitch_xcorr_arm-gnu.S │ │ │ ├── celt_pitch_xcorr_arm.s │ │ │ ├── fft_arm.h │ │ │ ├── fixed_arm64.h │ │ │ ├── fixed_armv4.h │ │ │ ├── fixed_armv5e.h │ │ │ ├── kiss_fft_armv4.h │ │ │ ├── kiss_fft_armv5e.h │ │ │ ├── mdct_arm.h │ │ │ ├── pitch_arm.h │ │ │ └── pitch_neon_intr.c │ │ ├── bands.c │ │ ├── bands.h │ │ ├── celt.c │ │ ├── celt.h │ │ ├── celt_decoder.c │ │ ├── celt_encoder.c │ │ ├── celt_lpc.c │ │ ├── celt_lpc.h │ │ ├── cpu_support.h │ │ ├── cwrs.c │ │ ├── cwrs.h │ │ ├── ecintrin.h │ │ ├── entcode.c │ │ ├── entcode.h │ │ ├── entdec.c │ │ ├── entdec.h │ │ ├── entenc.c │ │ ├── entenc.h │ │ ├── fixed_debug.h │ │ ├── fixed_generic.h │ │ ├── float_cast.h │ │ ├── kiss_fft.c │ │ ├── kiss_fft.h │ │ ├── laplace.c │ │ ├── laplace.h │ │ ├── mathops.c │ │ ├── mathops.h │ │ ├── mdct.c │ │ ├── mdct.h │ │ ├── mfrngcod.h │ │ ├── mips │ │ │ ├── celt_mipsr1.h │ │ │ ├── fixed_generic_mipsr1.h │ │ │ ├── kiss_fft_mipsr1.h │ │ │ ├── mdct_mipsr1.h │ │ │ ├── pitch_mipsr1.h │ │ │ └── vq_mipsr1.h │ │ ├── modes.c │ │ ├── modes.h │ │ ├── opus_custom_demo.c │ │ ├── os_support.h │ │ ├── pitch.c │ │ ├── pitch.h │ │ ├── quant_bands.c │ │ ├── quant_bands.h │ │ ├── rate.c │ │ ├── rate.h │ │ ├── stack_alloc.h │ │ ├── static_modes_fixed.h │ │ ├── static_modes_fixed_arm_ne10.h │ │ ├── static_modes_float.h │ │ ├── static_modes_float_arm_ne10.h │ │ ├── vq.c │ │ ├── vq.h │ │ └── x86 │ │ │ ├── celt_lpc_sse.c │ │ │ ├── celt_lpc_sse.h │ │ │ ├── pitch_sse.c │ │ │ ├── pitch_sse.h │ │ │ ├── pitch_sse2.c │ │ │ ├── pitch_sse4_1.c │ │ │ ├── vq_sse.h │ │ │ ├── vq_sse2.c │ │ │ ├── x86_celt_map.c │ │ │ ├── x86cpu.c │ │ │ └── x86cpu.h │ ├── include │ │ ├── opus.h │ │ ├── opus_custom.h │ │ ├── opus_defines.h │ │ ├── opus_multistream.h │ │ └── opus_types.h │ ├── silk │ │ ├── A2NLSF.c │ │ ├── API.h │ │ ├── CNG.c │ │ ├── HP_variable_cutoff.c │ │ ├── Inlines.h │ │ ├── LPC_analysis_filter.c │ │ ├── LPC_fit.c │ │ ├── LPC_inv_pred_gain.c │ │ ├── LP_variable_cutoff.c │ │ ├── MacroCount.h │ │ ├── MacroDebug.h │ │ ├── NLSF2A.c │ │ ├── NLSF_VQ.c │ │ ├── NLSF_VQ_weights_laroia.c │ │ ├── NLSF_decode.c │ │ ├── NLSF_del_dec_quant.c │ │ ├── NLSF_encode.c │ │ ├── NLSF_stabilize.c │ │ ├── NLSF_unpack.c │ │ ├── NSQ.c │ │ ├── NSQ.h │ │ ├── NSQ_del_dec.c │ │ ├── PLC.c │ │ ├── PLC.h │ │ ├── SigProc_FIX.h │ │ ├── VAD.c │ │ ├── VQ_WMat_EC.c │ │ ├── ana_filt_bank_1.c │ │ ├── arm │ │ │ ├── LPC_inv_pred_gain_arm.h │ │ │ ├── LPC_inv_pred_gain_neon_intr.c │ │ │ ├── NSQ_del_dec_arm.h │ │ │ ├── NSQ_del_dec_neon_intr.c │ │ │ ├── NSQ_neon.c │ │ │ ├── NSQ_neon.h │ │ │ ├── SigProc_FIX_armv4.h │ │ │ ├── SigProc_FIX_armv5e.h │ │ │ ├── arm_silk_map.c │ │ │ ├── biquad_alt_arm.h │ │ │ ├── biquad_alt_neon_intr.c │ │ │ ├── macros_arm64.h │ │ │ ├── macros_armv4.h │ │ │ └── macros_armv5e.h │ │ ├── biquad_alt.c │ │ ├── bwexpander.c │ │ ├── bwexpander_32.c │ │ ├── check_control_input.c │ │ ├── code_signs.c │ │ ├── control.h │ │ ├── control_SNR.c │ │ ├── control_audio_bandwidth.c │ │ ├── control_codec.c │ │ ├── debug.c │ │ ├── debug.h │ │ ├── dec_API.c │ │ ├── decode_core.c │ │ ├── decode_frame.c │ │ ├── decode_indices.c │ │ ├── decode_parameters.c │ │ ├── decode_pitch.c │ │ ├── decode_pulses.c │ │ ├── decoder_set_fs.c │ │ ├── define.h │ │ ├── enc_API.c │ │ ├── encode_indices.c │ │ ├── encode_pulses.c │ │ ├── errors.h │ │ ├── fixed │ │ │ ├── LTP_analysis_filter_FIX.c │ │ │ ├── LTP_scale_ctrl_FIX.c │ │ │ ├── apply_sine_window_FIX.c │ │ │ ├── autocorr_FIX.c │ │ │ ├── burg_modified_FIX.c │ │ │ ├── corrMatrix_FIX.c │ │ │ ├── encode_frame_FIX.c │ │ │ ├── find_LPC_FIX.c │ │ │ ├── find_LTP_FIX.c │ │ │ ├── find_pitch_lags_FIX.c │ │ │ ├── find_pred_coefs_FIX.c │ │ │ ├── k2a_FIX.c │ │ │ ├── k2a_Q16_FIX.c │ │ │ ├── main_FIX.h │ │ │ ├── noise_shape_analysis_FIX.c │ │ │ ├── pitch_analysis_core_FIX.c │ │ │ ├── process_gains_FIX.c │ │ │ ├── regularize_correlations_FIX.c │ │ │ ├── residual_energy16_FIX.c │ │ │ ├── residual_energy_FIX.c │ │ │ ├── schur64_FIX.c │ │ │ ├── schur_FIX.c │ │ │ ├── structs_FIX.h │ │ │ ├── vector_ops_FIX.c │ │ │ └── warped_autocorrelation_FIX.c │ │ ├── float │ │ │ ├── LPC_analysis_filter_FLP.c │ │ │ ├── LPC_inv_pred_gain_FLP.c │ │ │ ├── LTP_analysis_filter_FLP.c │ │ │ ├── LTP_scale_ctrl_FLP.c │ │ │ ├── SigProc_FLP.h │ │ │ ├── apply_sine_window_FLP.c │ │ │ ├── autocorrelation_FLP.c │ │ │ ├── burg_modified_FLP.c │ │ │ ├── bwexpander_FLP.c │ │ │ ├── corrMatrix_FLP.c │ │ │ ├── encode_frame_FLP.c │ │ │ ├── energy_FLP.c │ │ │ ├── find_LPC_FLP.c │ │ │ ├── find_LTP_FLP.c │ │ │ ├── find_pitch_lags_FLP.c │ │ │ ├── find_pred_coefs_FLP.c │ │ │ ├── inner_product_FLP.c │ │ │ ├── k2a_FLP.c │ │ │ ├── main_FLP.h │ │ │ ├── noise_shape_analysis_FLP.c │ │ │ ├── pitch_analysis_core_FLP.c │ │ │ ├── process_gains_FLP.c │ │ │ ├── regularize_correlations_FLP.c │ │ │ ├── residual_energy_FLP.c │ │ │ ├── scale_copy_vector_FLP.c │ │ │ ├── scale_vector_FLP.c │ │ │ ├── schur_FLP.c │ │ │ ├── sort_FLP.c │ │ │ ├── structs_FLP.h │ │ │ ├── warped_autocorrelation_FLP.c │ │ │ └── wrappers_FLP.c │ │ ├── gain_quant.c │ │ ├── init_decoder.c │ │ ├── init_encoder.c │ │ ├── inner_prod_aligned.c │ │ ├── interpolate.c │ │ ├── lin2log.c │ │ ├── log2lin.c │ │ ├── macros.h │ │ ├── main.h │ │ ├── mips │ │ │ ├── NSQ_del_dec_mipsr1.h │ │ │ ├── macros_mipsr1.h │ │ │ └── sigproc_fix_mipsr1.h │ │ ├── pitch_est_defines.h │ │ ├── pitch_est_tables.c │ │ ├── process_NLSFs.c │ │ ├── quant_LTP_gains.c │ │ ├── resampler.c │ │ ├── resampler_down2.c │ │ ├── resampler_down2_3.c │ │ ├── resampler_private.h │ │ ├── resampler_private_AR2.c │ │ ├── resampler_private_IIR_FIR.c │ │ ├── resampler_private_down_FIR.c │ │ ├── resampler_private_up2_HQ.c │ │ ├── resampler_rom.c │ │ ├── resampler_rom.h │ │ ├── resampler_structs.h │ │ ├── shell_coder.c │ │ ├── sigm_Q15.c │ │ ├── sort.c │ │ ├── stereo_LR_to_MS.c │ │ ├── stereo_MS_to_LR.c │ │ ├── stereo_decode_pred.c │ │ ├── stereo_encode_pred.c │ │ ├── stereo_find_predictor.c │ │ ├── stereo_quant_pred.c │ │ ├── structs.h │ │ ├── sum_sqr_shift.c │ │ ├── table_LSF_cos.c │ │ ├── tables.h │ │ ├── tables_LTP.c │ │ ├── tables_NLSF_CB_NB_MB.c │ │ ├── tables_NLSF_CB_WB.c │ │ ├── tables_gain.c │ │ ├── tables_other.c │ │ ├── tables_pitch_lag.c │ │ ├── tables_pulses_per_block.c │ │ ├── tuning_parameters.h │ │ ├── typedef.h │ │ └── x86 │ │ │ ├── NSQ_del_dec_sse.c │ │ │ ├── NSQ_sse.c │ │ │ ├── SigProc_FIX_sse.h │ │ │ ├── VAD_sse.c │ │ │ ├── VQ_WMat_EC_sse.c │ │ │ ├── main_sse.h │ │ │ └── x86_silk_map.c │ └── src │ │ ├── analysis.c │ │ ├── analysis.h │ │ ├── mlp.c │ │ ├── mlp.h │ │ ├── mlp_data.c │ │ ├── opus.c │ │ ├── opus_decoder.c │ │ ├── opus_encoder.c │ │ ├── opus_multistream.c │ │ ├── opus_multistream_decoder.c │ │ ├── opus_multistream_encoder.c │ │ ├── opus_private.h │ │ ├── repacketizer.c │ │ └── tansig_table.h ├── opusfile-0.9 │ ├── include │ │ └── opusfile.h │ └── src │ │ ├── http.c │ │ ├── info.c │ │ ├── internal.c │ │ ├── internal.h │ │ ├── opusfile.c │ │ ├── stream.c │ │ ├── wincerts.c │ │ └── winerrno.h ├── q3_ui │ ├── ui_addbots.c │ ├── ui_atoms.c │ ├── ui_cdkey.c │ ├── ui_cinematics.c │ ├── ui_confirm.c │ ├── ui_connect.c │ ├── ui_controls2.c │ ├── ui_credits.c │ ├── ui_demo2.c │ ├── ui_display.c │ ├── ui_gameinfo.c │ ├── ui_ingame.c │ ├── ui_loadconfig.c │ ├── ui_local.h │ ├── ui_login.c │ ├── ui_main.c │ ├── ui_menu.c │ ├── ui_mfield.c │ ├── ui_mods.c │ ├── ui_network.c │ ├── ui_options.c │ ├── ui_playermodel.c │ ├── ui_players.c │ ├── ui_playersettings.c │ ├── ui_preferences.c │ ├── ui_qmenu.c │ ├── ui_rankings.c │ ├── ui_rankstatus.c │ ├── ui_removebots.c │ ├── ui_saveconfig.c │ ├── ui_serverinfo.c │ ├── ui_servers2.c │ ├── ui_setup.c │ ├── ui_signup.c │ ├── ui_sound.c │ ├── ui_sparena.c │ ├── ui_specifyleague.c │ ├── ui_specifyserver.c │ ├── ui_splevel.c │ ├── ui_sppostgame.c │ ├── ui_spreset.c │ ├── ui_spskill.c │ ├── ui_startserver.c │ ├── ui_team.c │ ├── ui_teamorders.c │ └── ui_video.c ├── qcommon │ ├── cm_load.c │ ├── cm_local.h │ ├── cm_patch.c │ ├── cm_patch.h │ ├── cm_polylib.c │ ├── cm_polylib.h │ ├── cm_public.h │ ├── cm_test.c │ ├── cm_trace.c │ ├── cmd.c │ ├── common.c │ ├── cvar.c │ ├── files.c │ ├── huffman.c │ ├── huffman_static.c │ ├── ioapi.c │ ├── ioapi.h │ ├── json.h │ ├── md4.c │ ├── md5.c │ ├── msg.c │ ├── net_chan.c │ ├── net_ip.c │ ├── puff.c │ ├── puff.h │ ├── q_math.c │ ├── q_platform.h │ ├── q_shared.c │ ├── q_shared.h │ ├── qcommon.h │ ├── qfiles.h │ ├── surfaceflags.h │ ├── unzip.c │ ├── unzip.h │ ├── vm.c │ ├── vm_armv7l.c │ ├── vm_interpreted.c │ ├── vm_local.h │ ├── vm_none.c │ ├── vm_powerpc.c │ ├── vm_powerpc_asm.c │ ├── vm_powerpc_asm.h │ ├── vm_sparc.c │ ├── vm_sparc.h │ └── vm_x86.c ├── renderercommon │ ├── iqm.h │ ├── qgl.h │ ├── tr_common.h │ ├── tr_font.c │ ├── tr_image_bmp.c │ ├── tr_image_jpg.c │ ├── tr_image_pcx.c │ ├── tr_image_png.c │ ├── tr_image_tga.c │ ├── tr_noise.c │ ├── tr_public.h │ └── tr_types.h ├── renderergl1 │ ├── tr_animation.c │ ├── tr_backend.c │ ├── tr_bsp.c │ ├── tr_cmds.c │ ├── tr_curve.c │ ├── tr_flares.c │ ├── tr_image.c │ ├── tr_init.c │ ├── tr_light.c │ ├── tr_local.h │ ├── tr_main.c │ ├── tr_marks.c │ ├── tr_mesh.c │ ├── tr_model.c │ ├── tr_model_iqm.c │ ├── tr_scene.c │ ├── tr_shade.c │ ├── tr_shade_calc.c │ ├── tr_shader.c │ ├── tr_shadows.c │ ├── tr_sky.c │ ├── tr_subs.c │ ├── tr_surface.c │ └── tr_world.c ├── renderergl2 │ ├── glsl │ │ ├── bokeh_fp.glsl │ │ ├── bokeh_vp.glsl │ │ ├── calclevels4x_fp.glsl │ │ ├── calclevels4x_vp.glsl │ │ ├── depthblur_fp.glsl │ │ ├── depthblur_vp.glsl │ │ ├── dlight_fp.glsl │ │ ├── dlight_vp.glsl │ │ ├── down4x_fp.glsl │ │ ├── down4x_vp.glsl │ │ ├── fogpass_fp.glsl │ │ ├── fogpass_vp.glsl │ │ ├── generic_fp.glsl │ │ ├── generic_vp.glsl │ │ ├── lightall_fp.glsl │ │ ├── lightall_vp.glsl │ │ ├── pshadow_fp.glsl │ │ ├── pshadow_vp.glsl │ │ ├── shadowfill_fp.glsl │ │ ├── shadowfill_vp.glsl │ │ ├── shadowmask_fp.glsl │ │ ├── shadowmask_vp.glsl │ │ ├── ssao_fp.glsl │ │ ├── ssao_vp.glsl │ │ ├── texturecolor_fp.glsl │ │ ├── texturecolor_vp.glsl │ │ ├── tonemap_fp.glsl │ │ └── tonemap_vp.glsl │ ├── tr_animation.c │ ├── tr_backend.c │ ├── tr_bsp.c │ ├── tr_cmds.c │ ├── tr_curve.c │ ├── tr_dsa.c │ ├── tr_dsa.h │ ├── tr_extensions.c │ ├── tr_extramath.c │ ├── tr_extramath.h │ ├── tr_extratypes.h │ ├── tr_fbo.c │ ├── tr_fbo.h │ ├── tr_flares.c │ ├── tr_glsl.c │ ├── tr_image.c │ ├── tr_image_dds.c │ ├── tr_init.c │ ├── tr_light.c │ ├── tr_local.h │ ├── tr_main.c │ ├── tr_marks.c │ ├── tr_mesh.c │ ├── tr_model.c │ ├── tr_model_iqm.c │ ├── tr_postprocess.c │ ├── tr_postprocess.h │ ├── tr_scene.c │ ├── tr_shade.c │ ├── tr_shade_calc.c │ ├── tr_shader.c │ ├── tr_shadows.c │ ├── tr_sky.c │ ├── tr_subs.c │ ├── tr_surface.c │ ├── tr_vbo.c │ └── tr_world.c ├── renderergles1 │ ├── tr_animation.c │ ├── tr_backend.c │ ├── tr_bsp.c │ ├── tr_cmds.c │ ├── tr_curve.c │ ├── tr_flares.c │ ├── tr_image.c │ ├── tr_init.c │ ├── tr_light.c │ ├── tr_local.h │ ├── tr_main.c │ ├── tr_marks.c │ ├── tr_mesh.c │ ├── tr_model.c │ ├── tr_model_iqm.c │ ├── tr_scene.c │ ├── tr_shade.c │ ├── tr_shade_calc.c │ ├── tr_shader.c │ ├── tr_shadows.c │ ├── tr_sky.c │ ├── tr_subs.c │ ├── tr_surface.c │ └── tr_world.c ├── sdl │ ├── sdl_gamma.c │ ├── sdl_glimp.c │ ├── sdl_icon.h │ ├── sdl_input.c │ └── sdl_snd.c ├── server │ ├── server.h │ ├── sv_bot.c │ ├── sv_ccmds.c │ ├── sv_client.c │ ├── sv_game.c │ ├── sv_init.c │ ├── sv_main.c │ ├── sv_net_chan.c │ ├── sv_rankings.c │ ├── sv_snapshot.c │ └── sv_world.c ├── sys │ ├── con_log.c │ ├── con_passive.c │ ├── con_tty.c │ ├── con_win32.c │ ├── sys_loadlib.h │ ├── sys_local.h │ ├── sys_main.c │ ├── sys_osx.m │ ├── sys_unix.c │ ├── sys_win32.c │ ├── win_manifest.xml │ ├── win_resource.h │ └── win_resource.rc ├── tools │ ├── asm │ │ ├── README.Id │ │ ├── cmdlib.c │ │ ├── cmdlib.h │ │ ├── lib.txt │ │ ├── mathlib.h │ │ ├── notes.txt │ │ ├── ops.txt │ │ ├── opstrings.h │ │ └── q3asm.c │ └── lcc │ │ ├── COPYRIGHT │ │ ├── LOG │ │ ├── README │ │ ├── README.id │ │ ├── cpp │ │ ├── cpp.c │ │ ├── cpp.h │ │ ├── eval.c │ │ ├── getopt.c │ │ ├── hideset.c │ │ ├── include.c │ │ ├── lex.c │ │ ├── macro.c │ │ ├── nlist.c │ │ ├── tokens.c │ │ └── unix.c │ │ ├── doc │ │ ├── 4.html │ │ ├── bprint.1 │ │ ├── bprint.pdf │ │ ├── install.html │ │ ├── lcc.1 │ │ └── lcc.pdf │ │ ├── etc │ │ ├── bytecode.c │ │ └── lcc.c │ │ ├── lburg │ │ ├── gram.c │ │ ├── gram.y │ │ ├── lburg.1 │ │ ├── lburg.c │ │ └── lburg.h │ │ └── src │ │ ├── alloc.c │ │ ├── bind.c │ │ ├── bytecode.c │ │ ├── c.h │ │ ├── config.h │ │ ├── dag.c │ │ ├── dagcheck.md │ │ ├── decl.c │ │ ├── enode.c │ │ ├── error.c │ │ ├── event.c │ │ ├── expr.c │ │ ├── gen.c │ │ ├── init.c │ │ ├── inits.c │ │ ├── input.c │ │ ├── lex.c │ │ ├── list.c │ │ ├── main.c │ │ ├── null.c │ │ ├── output.c │ │ ├── prof.c │ │ ├── profio.c │ │ ├── simp.c │ │ ├── stmt.c │ │ ├── string.c │ │ ├── sym.c │ │ ├── symbolic.c │ │ ├── token.h │ │ ├── trace.c │ │ ├── tree.c │ │ └── types.c ├── ui │ ├── ui_atoms.c │ ├── ui_gameinfo.c │ ├── ui_local.h │ ├── ui_main.c │ ├── ui_players.c │ ├── ui_public.h │ ├── ui_shared.c │ ├── ui_shared.h │ ├── ui_syscalls.asm │ └── ui_syscalls.c └── zlib │ ├── adler32.c │ ├── crc32.c │ ├── crc32.h │ ├── inffast.c │ ├── inffast.h │ ├── inffixed.h │ ├── inflate.c │ ├── inflate.h │ ├── inftrees.c │ ├── inftrees.h │ ├── zconf.h │ ├── zlib.h │ ├── zutil.c │ └── zutil.h ├── id-readme.txt ├── make-raspberrypi.sh ├── md4-readme.txt ├── misc ├── ReadMe-OSX.rtf ├── ioquake3-folder.icns ├── linux │ ├── q3a.service │ ├── server_compile.sh │ └── start_server.sh ├── msvc │ ├── cgame.def │ ├── cgame.vcproj │ ├── game.def │ ├── game.vcproj │ ├── glsl_stringify.vbs │ ├── ioq3.sln │ ├── opengl1.vcproj │ ├── opengl2.vcproj │ ├── q3_ui.def │ ├── q3_ui.vcproj │ ├── quake3.vcproj │ ├── ui.def │ └── ui.vcproj ├── msvc10 │ ├── cgame.vcxproj │ ├── cgame.vcxproj.filters │ ├── game.vcxproj │ ├── game.vcxproj.filters │ ├── ioq3.sln │ ├── q3_ui.vcxproj │ ├── q3_ui.vcxproj.filters │ ├── quake3.vcxproj │ ├── quake3.vcxproj.filters │ ├── ui.vcxproj │ └── ui.vcxproj.filters ├── msvc11 │ ├── cgame.vcxproj │ ├── cgame.vcxproj.filters │ ├── game.vcxproj │ ├── game.vcxproj.filters │ ├── ioq3.sln │ ├── q3_ui.vcxproj │ ├── q3_ui.vcxproj.filters │ ├── quake3.vcxproj │ ├── quake3.vcxproj.filters │ ├── ui.vcxproj │ └── ui.vcxproj.filters ├── msvc12 │ ├── cgame.def │ ├── cgame.vcxproj │ ├── game.def │ ├── game.vcxproj │ ├── glsl_stringify.vbs │ ├── ioq3.sln │ ├── opengl1.vcxproj │ ├── opengl1.vcxproj.filters │ ├── opengl2.vcxproj │ ├── opengl2.vcxproj.filters │ ├── q3_ui.def │ ├── q3_ui.vcxproj │ ├── quake3.vcxproj │ ├── quake3.vcxproj.filters │ ├── ui.def │ └── ui.vcxproj ├── nsis │ ├── Makefile │ ├── ioquake3-q3a.nsi │ ├── ioquake3-q3ctc.nsi │ └── ioquake3.nsi.in ├── osx │ └── start_server.sh ├── osxfe │ └── ioquake3fe │ │ ├── Controller.h │ │ ├── Controller.m │ │ ├── English.lproj │ │ ├── ErrorWindow.xib │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── MainMenu.xib │ │ ├── ErrorWindow.h │ │ ├── ErrorWindow.m │ │ ├── ErrorWindowController.h │ │ ├── ErrorWindowController.m │ │ ├── Info.plist │ │ ├── ioquake3.icns │ │ ├── ioquake3fe.xcodeproj │ │ ├── TemplateIcon.icns │ │ ├── bw.mode1v3 │ │ ├── bw.pbxuser │ │ └── project.pbxproj │ │ ├── ioquake3fe_Prefix.pch │ │ └── main.m ├── q3lite │ ├── Q3A_EULA.txt │ ├── Q3A_navigate.txt │ ├── autoexec.cfg │ ├── bonus │ │ └── baseq3 │ │ │ ├── q3dm17.cfg │ │ │ └── q3dm_template.cfg │ ├── img │ │ ├── app_menu.jpg │ │ ├── q3lite-screenshot.jpg │ │ ├── q3lite_logo.gif │ │ └── spacer.gif │ ├── pi │ │ ├── lxde-pi-applications.menu │ │ ├── q3admin │ │ ├── q3lite │ │ ├── q3lite-ded │ │ ├── q3lite.desktop │ │ ├── q3lite.directory │ │ ├── q3lite_ded.desktop │ │ ├── q3lite_ded.service │ │ ├── q3lite_rcon.desktop │ │ ├── q3lite_timedemo.desktop │ │ ├── rcmd.sh │ │ └── rcon │ ├── q3lite.png │ ├── q3lite_rcon.png │ ├── q3lite_server.png │ ├── q3lite_timedemo.png │ └── server.cfg ├── quake3-tango.png ├── quake3-tango.xcf ├── quake3.icns ├── quake3.ico ├── quake3.png ├── quake3.svg ├── quake3_flat.icns ├── quake3_flat.iconset │ ├── icon_128x128.png │ ├── icon_128x128@2x.png │ ├── icon_16x16.png │ ├── icon_16x16@2x.png │ ├── icon_256x256.png │ ├── icon_256x256@2x.png │ ├── icon_32x32.png │ ├── icon_32x32@2x.png │ ├── icon_512x512.png │ └── icon_512x512@2x.png ├── setup │ ├── MacOSX │ │ └── SLA-dmg.sh │ ├── Makefile │ ├── Solaris_pkg.sh │ ├── doit │ ├── install-desktop-files.sh │ ├── ioq3demo.sh │ ├── ioquake3.SlackBuild │ ├── ioquake3.desktop │ ├── ioquake3.sh │ ├── pkg │ │ ├── ioq3ded.sh │ │ ├── ioquake3.sh │ │ ├── ioquake3 │ │ │ ├── depend │ │ │ ├── pkginfo.template │ │ │ ├── postinstall │ │ │ ├── postremove │ │ │ ├── preinstall │ │ │ ├── preremove │ │ │ ├── prototype.template │ │ │ └── space │ │ ├── ioquake3d │ │ │ ├── depend │ │ │ ├── pkginfo.template │ │ │ ├── postinstall │ │ │ ├── postremove │ │ │ ├── preinstall │ │ │ ├── preremove │ │ │ ├── prototype.template │ │ │ └── space │ │ └── ioquake3m │ │ │ ├── depend │ │ │ ├── pkginfo.template │ │ │ ├── postinstall │ │ │ ├── postremove │ │ │ ├── preinstall │ │ │ ├── preremove │ │ │ ├── prototype.template │ │ │ └── space │ ├── preuninstall.sh │ ├── setup.xml.in │ ├── setup.xml.mod │ ├── slack-desc │ └── splash.xpm └── xcode │ ├── botlib.xcodeproj │ └── project.pbxproj │ ├── cgame.xcodeproj │ └── project.pbxproj │ ├── game.xcodeproj │ └── project.pbxproj │ ├── ioquake3-Info.plist │ ├── ioquake3-Prefix.pch │ ├── ioquake3.xcodeproj │ └── project.pbxproj │ ├── ioquake3.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ ├── all game.xcscheme │ │ └── all ioquake3.xcscheme │ ├── jpeg8.xcodeproj │ └── project.pbxproj │ ├── q3_ui.xcodeproj │ └── project.pbxproj │ ├── renderer_opengl1.xcodeproj │ └── project.pbxproj │ ├── renderer_opengl2.xcodeproj │ └── project.pbxproj │ ├── speex.xcodeproj │ └── project.pbxproj │ ├── ui.xcodeproj │ └── project.pbxproj │ └── xcode-readme.txt ├── opengl2-readme.md └── ui ├── hud.txt ├── hud2.txt ├── ingame.txt ├── menudef.h └── menus.txt /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | Makefile.local 3 | *.swp 4 | *tags 5 | *~ 6 | 7 | # OS X 8 | #################### 9 | .Spotlight-V100/ 10 | .Trashes/ 11 | ._* 12 | .AppleDouble 13 | .DS_Store 14 | .LSOverride 15 | Icon? 16 | 17 | # Xcode 18 | #################### 19 | *.mode1v3 20 | *.mode2v3 21 | *.pbxuser 22 | *.perspectivev3 23 | *.user 24 | *.xcuserstate 25 | *.moved-aside 26 | *~.nib 27 | .idea/ 28 | DerivedData/ 29 | project.xcworkspace/ 30 | xcuserdata/ 31 | profile 32 | !default.pbxuser 33 | !default.mode1v3 34 | !default.mode2v3 35 | !default.perspectivev3 36 | 37 | # Microsoft Visual Studio 38 | #################### 39 | *.sdf 40 | *.opensdf 41 | *.suo 42 | -------------------------------------------------------------------------------- /code/AL/VERSION: -------------------------------------------------------------------------------- 1 | This file identifies the version of the AL headers in this directory. If you 2 | change or update the AL headers in any way, please make sure you also update 3 | this file. 4 | 5 | openal-soft-1.15.1 6 | -------------------------------------------------------------------------------- /code/AL/efx-creative.h: -------------------------------------------------------------------------------- 1 | /* The tokens that would be defined here are already defined in efx.h. This 2 | * empty file is here to provide compatibility with Windows-based projects 3 | * that would include it. */ 4 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_clipboard.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_clipboard.h 24 | * 25 | * Include file for SDL clipboard handling 26 | */ 27 | 28 | #ifndef SDL_clipboard_h_ 29 | #define SDL_clipboard_h_ 30 | 31 | #include "SDL_stdinc.h" 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /* Function prototypes */ 40 | 41 | /** 42 | * \brief Put UTF-8 text into the clipboard 43 | * 44 | * \sa SDL_GetClipboardText() 45 | */ 46 | extern DECLSPEC int SDLCALL SDL_SetClipboardText(const char *text); 47 | 48 | /** 49 | * \brief Get UTF-8 text from the clipboard, which must be freed with SDL_free() 50 | * 51 | * \sa SDL_SetClipboardText() 52 | */ 53 | extern DECLSPEC char * SDLCALL SDL_GetClipboardText(void); 54 | 55 | /** 56 | * \brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty 57 | * 58 | * \sa SDL_GetClipboardText() 59 | */ 60 | extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void); 61 | 62 | 63 | /* Ends C function definitions when using C++ */ 64 | #ifdef __cplusplus 65 | } 66 | #endif 67 | #include "close_code.h" 68 | 69 | #endif /* SDL_clipboard_h_ */ 70 | 71 | /* vi: set ts=4 sw=4 expandtab: */ 72 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_copying.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_name.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef SDLname_h_ 23 | #define SDLname_h_ 24 | 25 | #if defined(__STDC__) || defined(__cplusplus) 26 | #define NeedFunctionPrototypes 1 27 | #endif 28 | 29 | #define SDL_NAME(X) SDL_##X 30 | 31 | #endif /* SDLname_h_ */ 32 | 33 | /* vi: set ts=4 sw=4 expandtab: */ 34 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_opengles.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 1.X API headers. 26 | */ 27 | #include "SDL_config.h" 28 | 29 | #ifdef __IPHONEOS__ 30 | #include 31 | #include 32 | #else 33 | #include 34 | #include 35 | #endif 36 | 37 | #ifndef APIENTRY 38 | #define APIENTRY 39 | #endif 40 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_opengles2.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles2.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 2.0 API headers. 26 | */ 27 | #include "SDL_config.h" 28 | 29 | #ifndef _MSC_VER 30 | 31 | #ifdef __IPHONEOS__ 32 | #include 33 | #include 34 | #else 35 | #include 36 | #include 37 | #include 38 | #endif 39 | 40 | #else /* _MSC_VER */ 41 | 42 | /* OpenGL ES2 headers for Visual Studio */ 43 | #include "SDL_opengles2_khrplatform.h" 44 | #include "SDL_opengles2_gl2platform.h" 45 | #include "SDL_opengles2_gl2.h" 46 | #include "SDL_opengles2_gl2ext.h" 47 | 48 | #endif /* _MSC_VER */ 49 | 50 | #ifndef APIENTRY 51 | #define APIENTRY GL_APIENTRY 52 | #endif 53 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_opengles2_gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ 5 | 6 | /* 7 | * This document is licensed under the SGI Free Software B License Version 8 | * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 9 | */ 10 | 11 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 12 | * 13 | * Adopters may modify khrplatform.h and this file to suit their platform. 14 | * You are encouraged to submit all modifications to the Khronos group so that 15 | * they can be included in future versions of this file. Please submit changes 16 | * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 17 | * by filing a bug against product "OpenGL-ES" component "Registry". 18 | */ 19 | 20 | /*#include */ 21 | 22 | #ifndef GL_APICALL 23 | #define GL_APICALL KHRONOS_APICALL 24 | #endif 25 | 26 | #ifndef GL_APIENTRY 27 | #define GL_APIENTRY KHRONOS_APIENTRY 28 | #endif 29 | 30 | #endif /* __gl2platform_h_ */ 31 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_revision.h: -------------------------------------------------------------------------------- 1 | #define SDL_REVISION "hg-12373:8feb5da6f2fb" 2 | #define SDL_REVISION_NUMBER 12373 3 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_test.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | #ifndef SDL_test_h_ 31 | #define SDL_test_h_ 32 | 33 | #include "SDL.h" 34 | #include "SDL_test_assert.h" 35 | #include "SDL_test_common.h" 36 | #include "SDL_test_compare.h" 37 | #include "SDL_test_crc32.h" 38 | #include "SDL_test_font.h" 39 | #include "SDL_test_fuzzer.h" 40 | #include "SDL_test_harness.h" 41 | #include "SDL_test_images.h" 42 | #include "SDL_test_log.h" 43 | #include "SDL_test_md5.h" 44 | #include "SDL_test_memory.h" 45 | #include "SDL_test_random.h" 46 | 47 | #include "begin_code.h" 48 | /* Set up for C function definitions, even when using C++ */ 49 | #ifdef __cplusplus 50 | extern "C" { 51 | #endif 52 | 53 | /* Global definitions */ 54 | 55 | /* 56 | * Note: Maximum size of SDLTest log message is less than SDL's limit 57 | * to ensure we can fit additional information such as the timestamp. 58 | */ 59 | #define SDLTEST_MAX_LOGMESSAGE_LENGTH 3584 60 | 61 | /* Ends C function definitions when using C++ */ 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | #include "close_code.h" 66 | 67 | #endif /* SDL_test_h_ */ 68 | 69 | /* vi: set ts=4 sw=4 expandtab: */ 70 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_test_log.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_log.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | * 32 | * Wrapper to log in the TEST category 33 | * 34 | */ 35 | 36 | #ifndef SDL_test_log_h_ 37 | #define SDL_test_log_h_ 38 | 39 | #include "begin_code.h" 40 | /* Set up for C function definitions, even when using C++ */ 41 | #ifdef __cplusplus 42 | extern "C" { 43 | #endif 44 | 45 | /** 46 | * \brief Prints given message with a timestamp in the TEST category and INFO priority. 47 | * 48 | * \param fmt Message to be logged 49 | */ 50 | void SDLTest_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 51 | 52 | /** 53 | * \brief Prints given message with a timestamp in the TEST category and the ERROR priority. 54 | * 55 | * \param fmt Message to be logged 56 | */ 57 | void SDLTest_LogError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 58 | 59 | /* Ends C function definitions when using C++ */ 60 | #ifdef __cplusplus 61 | } 62 | #endif 63 | #include "close_code.h" 64 | 65 | #endif /* SDL_test_log_h_ */ 66 | 67 | /* vi: set ts=4 sw=4 expandtab: */ 68 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_test_memory.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_memory.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | #ifndef SDL_test_memory_h_ 31 | #define SDL_test_memory_h_ 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | 40 | /** 41 | * \brief Start tracking SDL memory allocations 42 | * 43 | * \note This should be called before any other SDL functions for complete tracking coverage 44 | */ 45 | int SDLTest_TrackAllocations(); 46 | 47 | /** 48 | * \brief Print a log of any outstanding allocations 49 | * 50 | * \note This can be called after SDL_Quit() 51 | */ 52 | void SDLTest_LogAllocations(); 53 | 54 | 55 | /* Ends C function definitions when using C++ */ 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | #include "close_code.h" 60 | 61 | #endif /* SDL_test_memory_h_ */ 62 | 63 | /* vi: set ts=4 sw=4 expandtab: */ 64 | -------------------------------------------------------------------------------- /code/SDL2/include/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_types.h 24 | * 25 | * \deprecated 26 | */ 27 | 28 | /* DEPRECATED */ 29 | #include "SDL_stdinc.h" 30 | -------------------------------------------------------------------------------- /code/SDL2/include/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file close_code.h 24 | * 25 | * This file reverses the effects of begin_code.h and should be included 26 | * after you finish any function and structure declarations in your headers 27 | */ 28 | 29 | #undef _begin_code_h 30 | 31 | /* Reset structure packing at previous byte alignment */ 32 | #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__) 33 | #ifdef __BORLANDC__ 34 | #pragma nopackwarning 35 | #endif 36 | #pragma pack(pop) 37 | #endif /* Compiler needs structure packing set */ 38 | -------------------------------------------------------------------------------- /code/asm/matha.s: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | // 30 | // math.s 31 | // x86 assembly-language math routines. 32 | 33 | #include "qasm.h" 34 | 35 | 36 | #if id386 37 | 38 | .text 39 | 40 | // TODO: rounding needed? 41 | // stack parameter offset 42 | #define val 4 43 | 44 | .globl C(Invert24To16) 45 | C(Invert24To16): 46 | 47 | movl val(%esp),%ecx 48 | movl $0x100,%edx // 0x10000000000 as dividend 49 | cmpl %edx,%ecx 50 | jle LOutOfRange 51 | 52 | subl %eax,%eax 53 | divl %ecx 54 | 55 | ret 56 | 57 | LOutOfRange: 58 | movl $0xFFFFFFFF,%eax 59 | ret 60 | 61 | #endif // id386 62 | -------------------------------------------------------------------------------- /code/asm/qasm-inline.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | #ifndef __ASM_INLINE_I386__ 30 | #define __ASM_INLINE_I386__ 31 | 32 | #include "../qcommon/q_platform.h" 33 | 34 | #if idx64 35 | #define EAX "%%rax" 36 | #define EBX "%%rbx" 37 | #define ESP "%%rsp" 38 | #define EDI "%%rdi" 39 | #else 40 | #define EAX "%%eax" 41 | #define EBX "%%ebx" 42 | #define ESP "%%esp" 43 | #define EDI "%%edi" 44 | #endif 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /code/asm/qasm.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | #ifndef __ASM_I386__ 30 | #define __ASM_I386__ 31 | 32 | #include "../qcommon/q_platform.h" 33 | 34 | #ifdef __ELF__ 35 | .section .note.GNU-stack,"",@progbits 36 | #endif 37 | 38 | #if defined(__ELF__) || defined(__WIN64__) 39 | #define C(label) label 40 | #else 41 | #define C(label) _##label 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /code/botlib/be_aas_cluster.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | /***************************************************************************** 31 | * name: be_aas_cluster.h 32 | * 33 | * desc: AAS 34 | * 35 | * $Archive: /source/code/botlib/be_aas_cluster.h $ 36 | * 37 | *****************************************************************************/ 38 | 39 | #ifdef AASINTERN 40 | //initialize the AAS clustering 41 | void AAS_InitClustering(void); 42 | // 43 | void AAS_SetViewPortalsAsClusterPortals(void); 44 | #endif //AASINTERN 45 | 46 | -------------------------------------------------------------------------------- /code/botlib/be_aas_file.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | /***************************************************************************** 31 | * name: be_aas_file.h 32 | * 33 | * desc: AAS 34 | * 35 | * $Archive: /source/code/botlib/be_aas_file.h $ 36 | * 37 | *****************************************************************************/ 38 | 39 | #ifdef AASINTERN 40 | //loads the AAS file with the given name 41 | int AAS_LoadAASFile(char *filename); 42 | //writes an AAS file with the given name 43 | qboolean AAS_WriteAASFile(char *filename); 44 | //dumps the loaded AAS data 45 | void AAS_DumpAASData(void); 46 | //print AAS file information 47 | void AAS_FileInfo(void); 48 | #endif //AASINTERN 49 | 50 | -------------------------------------------------------------------------------- /code/botlib/be_aas_funcs.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | /***************************************************************************** 31 | * name: be_aas_funcs.h 32 | * 33 | * desc: AAS 34 | * 35 | * $Archive: /source/code/botlib/be_aas_funcs.h $ 36 | * 37 | *****************************************************************************/ 38 | 39 | #ifndef BSPCINCLUDE 40 | 41 | #include "be_aas_main.h" 42 | #include "be_aas_entity.h" 43 | #include "be_aas_sample.h" 44 | #include "be_aas_cluster.h" 45 | #include "be_aas_reach.h" 46 | #include "be_aas_route.h" 47 | #include "be_aas_routealt.h" 48 | #include "be_aas_debug.h" 49 | #include "be_aas_file.h" 50 | #include "be_aas_optimize.h" 51 | #include "be_aas_bsp.h" 52 | #include "be_aas_move.h" 53 | 54 | #endif //BSPCINCLUDE 55 | -------------------------------------------------------------------------------- /code/botlib/be_aas_optimize.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | /***************************************************************************** 31 | * name: be_aas_optimize.h 32 | * 33 | * desc: AAS 34 | * 35 | * $Archive: /source/code/botlib/be_aas_optimize.h $ 36 | * 37 | *****************************************************************************/ 38 | 39 | void AAS_Optimize(void); 40 | 41 | -------------------------------------------------------------------------------- /code/botlib/be_aas_routealt.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | /***************************************************************************** 31 | * name: be_aas_routealt.h 32 | * 33 | * desc: AAS 34 | * 35 | * $Archive: /source/code/botlib/be_aas_routealt.h $ 36 | * 37 | *****************************************************************************/ 38 | 39 | #ifdef AASINTERN 40 | void AAS_InitAlternativeRouting(void); 41 | void AAS_ShutdownAlternativeRouting(void); 42 | #endif //AASINTERN 43 | 44 | 45 | int AAS_AlternativeRouteGoals(vec3_t start, int startareanum, vec3_t goal, int goalareanum, int travelflags, 46 | aas_altroutegoal_t *altroutegoals, int maxaltroutegoals, 47 | int type); 48 | -------------------------------------------------------------------------------- /code/botlib/be_ai_gen.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | // 30 | 31 | /***************************************************************************** 32 | * name: be_ai_gen.h 33 | * 34 | * desc: genetic selection 35 | * 36 | * $Archive: /source/code/botlib/be_ai_gen.h $ 37 | * 38 | *****************************************************************************/ 39 | 40 | int GeneticParentsAndChildSelection(int numranks, float *ranks, int *parent1, int *parent2, int *child); 41 | -------------------------------------------------------------------------------- /code/botlib/l_crc.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | typedef unsigned short crc_t; 31 | 32 | void CRC_Init(unsigned short *crcvalue); 33 | void CRC_ProcessByte(unsigned short *crcvalue, byte data); 34 | unsigned short CRC_Value(unsigned short crcvalue); 35 | unsigned short CRC_ProcessString(unsigned char *data, int length); 36 | void CRC_ContinueProcessString(unsigned short *crc, char *data, int length); 37 | -------------------------------------------------------------------------------- /code/botlib/l_utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | /***************************************************************************** 31 | * name: l_util.h 32 | * 33 | * desc: utils 34 | * 35 | * $Archive: /source/code/botlib/l_util.h $ 36 | * 37 | *****************************************************************************/ 38 | 39 | #define Vector2Angles(v,a) vectoangles(v,a) 40 | #define Maximum(x,y) (x > y ? x : y) 41 | #define Minimum(x,y) (x < y ? x : y) 42 | -------------------------------------------------------------------------------- /code/client/libmumblelink.h: -------------------------------------------------------------------------------- 1 | /* libmumblelink.h -- mumble link interface 2 | 3 | Copyright (C) 2008 Ludwig Nussel 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | */ 22 | 23 | int mumble_link(const char* name); 24 | int mumble_islinked(void); 25 | void mumble_update_coordinates(float fPosition[3], float fFront[3], float fTop[3]); 26 | 27 | /* new for mumble 1.2: also set camera position */ 28 | void mumble_update_coordinates2(float fAvatarPosition[3], float fAvatarFront[3], float fAvatarTop[3], 29 | float fCameraPosition[3], float fCameraFront[3], float fCameraTop[3]); 30 | 31 | void mumble_set_description(const char* description); 32 | void mumble_set_context(const unsigned char* context, size_t len); 33 | void mumble_set_identity(const char* identity); 34 | 35 | void mumble_unlink(void); 36 | -------------------------------------------------------------------------------- /code/curl-7.54.0/include/curl/mprintf.h: -------------------------------------------------------------------------------- 1 | #ifndef __CURL_MPRINTF_H 2 | #define __CURL_MPRINTF_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.haxx.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | ***************************************************************************/ 24 | 25 | #include 26 | #include /* needed for FILE */ 27 | #include "curl.h" /* for CURL_EXTERN */ 28 | 29 | #ifdef __cplusplus 30 | extern "C" { 31 | #endif 32 | 33 | CURL_EXTERN int curl_mprintf(const char *format, ...); 34 | CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...); 35 | CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...); 36 | CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength, 37 | const char *format, ...); 38 | CURL_EXTERN int curl_mvprintf(const char *format, va_list args); 39 | CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args); 40 | CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args); 41 | CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength, 42 | const char *format, va_list args); 43 | CURL_EXTERN char *curl_maprintf(const char *format, ...); 44 | CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args); 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif /* __CURL_MPRINTF_H */ 51 | -------------------------------------------------------------------------------- /code/curl-7.54.0/include/curl/stdcheaders.h: -------------------------------------------------------------------------------- 1 | #ifndef __STDC_HEADERS_H 2 | #define __STDC_HEADERS_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.haxx.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | ***************************************************************************/ 24 | 25 | #include 26 | 27 | size_t fread(void *, size_t, size_t, FILE *); 28 | size_t fwrite(const void *, size_t, size_t, FILE *); 29 | 30 | int strcasecmp(const char *, const char *); 31 | int strncasecmp(const char *, const char *, size_t); 32 | 33 | #endif /* __STDC_HEADERS_H */ 34 | -------------------------------------------------------------------------------- /code/game/ai_cmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | // 30 | 31 | /***************************************************************************** 32 | * name: ai_cmd.h 33 | * 34 | * desc: Quake3 bot AI 35 | * 36 | * $Archive: /source/code/botai/ai_chat.c $ 37 | * 38 | *****************************************************************************/ 39 | 40 | extern int notleader[MAX_CLIENTS]; 41 | 42 | int BotMatchMessage(bot_state_t *bs, char *message); 43 | void BotPrintTeamGoal(bot_state_t *bs); 44 | 45 | -------------------------------------------------------------------------------- /code/game/ai_team.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | // 30 | 31 | /***************************************************************************** 32 | * name: ai_team.h 33 | * 34 | * desc: Quake3 bot AI 35 | * 36 | * $Archive: /source/code/botai/ai_chat.c $ 37 | * 38 | *****************************************************************************/ 39 | 40 | void BotTeamAI(bot_state_t *bs); 41 | int BotGetTeamMateTaskPreference(bot_state_t *bs, int teammate); 42 | void BotSetTeamMateTaskPreference(bot_state_t *bs, int teammate, int preference); 43 | void BotVoiceChat(bot_state_t *bs, int toclient, char *voicechat); 44 | void BotVoiceChatOnly(bot_state_t *bs, int toclient, char *voicechat); 45 | 46 | 47 | -------------------------------------------------------------------------------- /code/game/ai_vcmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | // 30 | 31 | /***************************************************************************** 32 | * name: ai_vcmd.h 33 | * 34 | * desc: Quake3 bot AI 35 | * 36 | * $Archive: /source/code/botai/ai_vcmd.c $ 37 | * 38 | *****************************************************************************/ 39 | 40 | int BotVoiceChatCommand(bot_state_t *bs, int mode, char *voicechat); 41 | void BotVoiceChat_Defend(bot_state_t *bs, int client, int mode); 42 | 43 | 44 | -------------------------------------------------------------------------------- /code/game/syn.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | #define CONTEXT_ALL 0xFFFFFFFF 31 | #define CONTEXT_NORMAL 1 32 | #define CONTEXT_NEARBYITEM 2 33 | #define CONTEXT_CTFREDTEAM 4 34 | #define CONTEXT_CTFBLUETEAM 8 35 | #define CONTEXT_REPLY 16 36 | #define CONTEXT_OBELISKREDTEAM 32 37 | #define CONTEXT_OBELISKBLUETEAM 64 38 | #define CONTEXT_HARVESTERREDTEAM 128 39 | #define CONTEXT_HARVESTERBLUETEAM 256 40 | 41 | #define CONTEXT_NAMES 1024 42 | -------------------------------------------------------------------------------- /code/jpeg-8c/jconfig.h: -------------------------------------------------------------------------------- 1 | /* jconfig.h. Generated from jconfig.cfg by configure. */ 2 | /* jconfig.cfg --- source file edited by configure script */ 3 | /* see jconfig.txt for explanations */ 4 | 5 | /* Define this if you get warnings about undefined structures. */ 6 | /* #undef INCOMPLETE_TYPES_BROKEN */ 7 | 8 | #define HAVE_PROTOTYPES 1 9 | #define HAVE_UNSIGNED_CHAR 1 10 | #define HAVE_UNSIGNED_SHORT 1 11 | /* #undef void */ 12 | /* #undef const */ 13 | /* #undef CHAR_IS_UNSIGNED */ 14 | 15 | #ifdef JPEG_INTERNALS 16 | 17 | #define HAVE_STDDEF_H 1 18 | #define HAVE_STDLIB_H 1 19 | #define HAVE_LOCALE_H 1 20 | /* #undef NEED_BSD_STRINGS */ 21 | /* #undef NEED_SYS_TYPES_H */ 22 | /* #undef NEED_FAR_POINTERS */ 23 | /* #undef NEED_SHORT_EXTERNAL_NAMES */ 24 | 25 | /* Define "boolean" as unsigned char, not int, on Windows systems. */ 26 | #ifdef _WIN32 27 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ 28 | typedef unsigned char boolean; 29 | #endif 30 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ 31 | #endif 32 | 33 | /* #undef RIGHT_SHIFT_IS_UNSIGNED */ 34 | #ifdef _MSC_VER 35 | #define INLINE __inline 36 | #else 37 | #define INLINE __inline__ 38 | #endif 39 | /* These are for configuring the JPEG memory manager. */ 40 | /* #undef DEFAULT_MAX_MEM */ 41 | /* #undef NO_MKTEMP */ 42 | 43 | #endif /* JPEG_INTERNALS */ 44 | 45 | #ifdef JPEG_CJPEG_DJPEG 46 | 47 | #define BMP_SUPPORTED /* BMP image file format */ 48 | #define GIF_SUPPORTED /* GIF image file format */ 49 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 50 | /* #undef RLE_SUPPORTED */ 51 | #define TARGA_SUPPORTED /* Targa image file format */ 52 | 53 | /* #undef TWO_FILE_COMMANDLINE */ 54 | /* #undef NEED_SIGNAL_CATCHER */ 55 | /* #undef DONT_USE_B_MODE */ 56 | 57 | /* Define this if you want percent-done progress reports from cjpeg/djpeg. */ 58 | /* #undef PROGRESS_REPORT */ 59 | 60 | #endif /* JPEG_CJPEG_DJPEG */ 61 | -------------------------------------------------------------------------------- /code/jpeg-8c/jversion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jversion.h 3 | * 4 | * Copyright (C) 1991-2011, Thomas G. Lane, Guido Vollbeding. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains software version identification. 9 | */ 10 | 11 | 12 | #define JVERSION "8c 16-Jan-2011" 13 | 14 | #define JCOPYRIGHT "Copyright (C) 2011, Thomas G. Lane, Guido Vollbeding" 15 | -------------------------------------------------------------------------------- /code/libogg-1.3.3/include/ogg/config_types.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONFIG_TYPES_H__ 2 | #define __CONFIG_TYPES_H__ 3 | 4 | /* these are filled in by configure */ 5 | /* #define INCLUDE_INTTYPES_H 1 */ 6 | #define INCLUDE_STDINT_H 1 7 | /* #define INCLUDE_SYS_TYPES_H 1 */ 8 | 9 | #if INCLUDE_INTTYPES_H 10 | # include 11 | #endif 12 | #if INCLUDE_STDINT_H 13 | # include 14 | #endif 15 | #if INCLUDE_SYS_TYPES_H 16 | # include 17 | #endif 18 | 19 | typedef int16_t ogg_int16_t; 20 | typedef uint16_t ogg_uint16_t; 21 | typedef int32_t ogg_int32_t; 22 | typedef uint32_t ogg_uint32_t; 23 | typedef int64_t ogg_int64_t; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /code/libs/macosx/libSDL2-2.0.0.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/macosx/libSDL2-2.0.0.dylib -------------------------------------------------------------------------------- /code/libs/macosx/libSDL2main.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/macosx/libSDL2main.a -------------------------------------------------------------------------------- /code/libs/q3lite/pi/libSDL2-2.0.so.0: -------------------------------------------------------------------------------- 1 | libSDL2-2.0.so.0.9.0 -------------------------------------------------------------------------------- /code/libs/q3lite/pi/libSDL2-2.0.so.0.9.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/q3lite/pi/libSDL2-2.0.so.0.9.0 -------------------------------------------------------------------------------- /code/libs/q3lite/pi/libSDL2.so: -------------------------------------------------------------------------------- 1 | libSDL2-2.0.so.0.9.0 -------------------------------------------------------------------------------- /code/libs/win32/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win32/SDL2.dll -------------------------------------------------------------------------------- /code/libs/win32/libSDL2.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win32/libSDL2.a -------------------------------------------------------------------------------- /code/libs/win32/libSDL2.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win32/libSDL2.dll.a -------------------------------------------------------------------------------- /code/libs/win32/libSDL2main.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win32/libSDL2main.a -------------------------------------------------------------------------------- /code/libs/win32/libcurl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win32/libcurl.a -------------------------------------------------------------------------------- /code/libs/win64/SDL264.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win64/SDL264.dll -------------------------------------------------------------------------------- /code/libs/win64/libSDL264.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win64/libSDL264.a -------------------------------------------------------------------------------- /code/libs/win64/libSDL264.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win64/libSDL264.dll.a -------------------------------------------------------------------------------- /code/libs/win64/libSDL264main.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win64/libSDL264main.a -------------------------------------------------------------------------------- /code/libs/win64/libcurl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/libs/win64/libcurl.a -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/bitrate.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: bitrate tracking and management 14 | 15 | ********************************************************************/ 16 | 17 | #ifndef _V_BITRATE_H_ 18 | #define _V_BITRATE_H_ 19 | 20 | #include "vorbis/codec.h" 21 | #include "codec_internal.h" 22 | #include "os.h" 23 | 24 | /* encode side bitrate tracking */ 25 | typedef struct bitrate_manager_state { 26 | int managed; 27 | 28 | long avg_reservoir; 29 | long minmax_reservoir; 30 | long avg_bitsper; 31 | long min_bitsper; 32 | long max_bitsper; 33 | 34 | long short_per_long; 35 | double avgfloat; 36 | 37 | vorbis_block *vb; 38 | int choice; 39 | } bitrate_manager_state; 40 | 41 | typedef struct bitrate_manager_info{ 42 | long avg_rate; 43 | long min_rate; 44 | long max_rate; 45 | long reservoir_bits; 46 | double reservoir_bias; 47 | 48 | double slew_damp; 49 | 50 | } bitrate_manager_info; 51 | 52 | extern void vorbis_bitrate_init(vorbis_info *vi,bitrate_manager_state *bs); 53 | extern void vorbis_bitrate_clear(bitrate_manager_state *bs); 54 | extern int vorbis_bitrate_managed(vorbis_block *vb); 55 | extern int vorbis_bitrate_addblock(vorbis_block *vb); 56 | extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op); 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/highlevel.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: highlevel encoder setup struct separated out for vorbisenc clarity 14 | 15 | ********************************************************************/ 16 | 17 | typedef struct highlevel_byblocktype { 18 | double tone_mask_setting; 19 | double tone_peaklimit_setting; 20 | double noise_bias_setting; 21 | double noise_compand_setting; 22 | } highlevel_byblocktype; 23 | 24 | typedef struct highlevel_encode_setup { 25 | int set_in_stone; 26 | const void *setup; 27 | double base_setting; 28 | 29 | double impulse_noisetune; 30 | 31 | /* bitrate management below all settable */ 32 | float req; 33 | int managed; 34 | long bitrate_min; 35 | long bitrate_av; 36 | double bitrate_av_damp; 37 | long bitrate_max; 38 | long bitrate_reservoir; 39 | double bitrate_reservoir_bias; 40 | 41 | int impulse_block_p; 42 | int noise_normalize_p; 43 | int coupling_p; 44 | 45 | double stereo_point_setting; 46 | double lowpass_kHz; 47 | int lowpass_altered; 48 | 49 | double ath_floating_dB; 50 | double ath_absolute_dB; 51 | 52 | double amplitude_track_dBpersec; 53 | double trigger_setting; 54 | 55 | highlevel_byblocktype block[4]; /* padding, impulse, transition, long */ 56 | 57 | } highlevel_encode_setup; 58 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/lookup.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: lookup based functions 14 | 15 | ********************************************************************/ 16 | 17 | #ifndef _V_LOOKUP_H_ 18 | 19 | #ifdef FLOAT_LOOKUP 20 | extern float vorbis_coslook(float a); 21 | extern float vorbis_invsqlook(float a); 22 | extern float vorbis_invsq2explook(int a); 23 | extern float vorbis_fromdBlook(float a); 24 | #endif 25 | #ifdef INT_LOOKUP 26 | extern long vorbis_invsqlook_i(long a,long e); 27 | extern long vorbis_coslook_i(long a); 28 | extern float vorbis_fromdBlook_i(long a); 29 | #endif 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/lpc.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: LPC low level routines 14 | 15 | ********************************************************************/ 16 | 17 | #ifndef _V_LPC_H_ 18 | #define _V_LPC_H_ 19 | 20 | #include "vorbis/codec.h" 21 | 22 | /* simple linear scale LPC code */ 23 | extern float vorbis_lpc_from_data(float *data,float *lpc,int n,int m); 24 | 25 | extern void vorbis_lpc_predict(float *coeff,float *prime,int m, 26 | float *data,long n); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/lsp.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: LSP (also called LSF) conversion routines 14 | 15 | ********************************************************************/ 16 | 17 | 18 | #ifndef _V_LSP_H_ 19 | #define _V_LSP_H_ 20 | 21 | extern int vorbis_lpc_to_lsp(float *lpc,float *lsp,int m); 22 | 23 | extern void vorbis_lsp_to_curve(float *curve,int *map,int n,int ln, 24 | float *lsp,int m, 25 | float amp,float ampoffset); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/mdct.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: modified discrete cosine transform prototypes 14 | 15 | ********************************************************************/ 16 | 17 | #ifndef _OGG_mdct_H_ 18 | #define _OGG_mdct_H_ 19 | 20 | #include "vorbis/codec.h" 21 | 22 | 23 | 24 | 25 | 26 | /*#define MDCT_INTEGERIZED <- be warned there could be some hurt left here*/ 27 | #ifdef MDCT_INTEGERIZED 28 | 29 | #define DATA_TYPE int 30 | #define REG_TYPE register int 31 | #define TRIGBITS 14 32 | #define cPI3_8 6270 33 | #define cPI2_8 11585 34 | #define cPI1_8 15137 35 | 36 | #define FLOAT_CONV(x) ((int)((x)*(1<>TRIGBITS) 38 | #define HALVE(x) ((x)>>1) 39 | 40 | #else 41 | 42 | #define DATA_TYPE float 43 | #define REG_TYPE float 44 | #define cPI3_8 .38268343236508977175F 45 | #define cPI2_8 .70710678118654752441F 46 | #define cPI1_8 .92387953251128675613F 47 | 48 | #define FLOAT_CONV(x) (x) 49 | #define MULT_NORM(x) (x) 50 | #define HALVE(x) ((x)*.5f) 51 | 52 | #endif 53 | 54 | 55 | typedef struct { 56 | int n; 57 | int log2n; 58 | 59 | DATA_TYPE *trig; 60 | int *bitrev; 61 | 62 | DATA_TYPE scale; 63 | } mdct_lookup; 64 | 65 | extern void mdct_init(mdct_lookup *lookup,int n); 66 | extern void mdct_clear(mdct_lookup *l); 67 | extern void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out); 68 | extern void mdct_backward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out); 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/misc.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: miscellaneous prototypes 14 | 15 | ********************************************************************/ 16 | 17 | #ifndef _V_RANDOM_H_ 18 | #define _V_RANDOM_H_ 19 | #include "vorbis/codec.h" 20 | 21 | extern void *_vorbis_block_alloc(vorbis_block *vb,long bytes); 22 | extern void _vorbis_block_ripcord(vorbis_block *vb); 23 | extern int ov_ilog(ogg_uint32_t v); 24 | 25 | #ifdef ANALYSIS 26 | extern int analysis_noisy; 27 | extern void _analysis_output(char *base,int i,float *v,int n,int bark,int dB, 28 | ogg_int64_t off); 29 | extern void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB, 30 | ogg_int64_t off); 31 | #endif 32 | 33 | #ifdef DEBUG_MALLOC 34 | 35 | #define _VDBG_GRAPHFILE "malloc.m" 36 | #undef _VDBG_GRAPHFILE 37 | extern void *_VDBG_malloc(void *ptr,long bytes,char *file,long line); 38 | extern void _VDBG_free(void *ptr,char *file,long line); 39 | 40 | #ifndef MISC_C 41 | #undef _ogg_malloc 42 | #undef _ogg_calloc 43 | #undef _ogg_realloc 44 | #undef _ogg_free 45 | 46 | #define _ogg_malloc(x) _VDBG_malloc(NULL,(x),__FILE__,__LINE__) 47 | #define _ogg_calloc(x,y) _VDBG_malloc(NULL,(x)*(y),__FILE__,__LINE__) 48 | #define _ogg_realloc(x,y) _VDBG_malloc((x),(y),__FILE__,__LINE__) 49 | #define _ogg_free(x) _VDBG_free((x),__FILE__,__LINE__) 50 | #endif 51 | #endif 52 | 53 | #endif 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/modes/setup_44p51.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: toplevel settings for 44.1/48kHz 5.1 surround modes 14 | 15 | ********************************************************************/ 16 | 17 | #include "modes/residue_44p51.h" 18 | 19 | static const double rate_mapping_44p51[12]={ 20 | 14000.,20000.,28000.,38000.,46000.,54000., 21 | 75000.,96000.,120000.,140000.,180000.,240001. 22 | }; 23 | 24 | static const ve_setup_data_template ve_setup_44_51={ 25 | 11, 26 | rate_mapping_44p51, 27 | quality_mapping_44, 28 | 6, 29 | 40000, 30 | 70000, 31 | 32 | blocksize_short_44, 33 | blocksize_long_44, 34 | 35 | _psy_tone_masteratt_44, 36 | _psy_tone_0dB, 37 | _psy_tone_suppress, 38 | 39 | _vp_tonemask_adj_otherblock, 40 | _vp_tonemask_adj_longblock, 41 | _vp_tonemask_adj_otherblock, 42 | 43 | _psy_noiseguards_44, 44 | _psy_noisebias_impulse, 45 | _psy_noisebias_padding, 46 | _psy_noisebias_trans, 47 | _psy_noisebias_long, 48 | _psy_noise_suppress, 49 | 50 | _psy_compand_44, 51 | _psy_compand_short_mapping, 52 | _psy_compand_long_mapping, 53 | 54 | {_noise_start_short_44,_noise_start_long_44}, 55 | {_noise_part_short_44,_noise_part_long_44}, 56 | _noise_thresh_44, 57 | 58 | _psy_ath_floater, 59 | _psy_ath_abs, 60 | 61 | _psy_lowpass_44, 62 | 63 | _psy_global_44, 64 | _global_mapping_44, 65 | _psy_stereo_modes_44, 66 | 67 | _floor_books, 68 | _floor, 69 | 3, 70 | _floor_mapping_44, 71 | 72 | _mapres_template_44_51 73 | }; 74 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/registry.c: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: registry for time, floor, res backends and channel mappings 14 | 15 | ********************************************************************/ 16 | 17 | #include "vorbis/codec.h" 18 | #include "codec_internal.h" 19 | #include "registry.h" 20 | #include "misc.h" 21 | /* seems like major overkill now; the backend numbers will grow into 22 | the infrastructure soon enough */ 23 | 24 | extern const vorbis_func_floor floor0_exportbundle; 25 | extern const vorbis_func_floor floor1_exportbundle; 26 | extern const vorbis_func_residue residue0_exportbundle; 27 | extern const vorbis_func_residue residue1_exportbundle; 28 | extern const vorbis_func_residue residue2_exportbundle; 29 | extern const vorbis_func_mapping mapping0_exportbundle; 30 | 31 | const vorbis_func_floor *const _floor_P[]={ 32 | &floor0_exportbundle, 33 | &floor1_exportbundle, 34 | }; 35 | 36 | const vorbis_func_residue *const _residue_P[]={ 37 | &residue0_exportbundle, 38 | &residue1_exportbundle, 39 | &residue2_exportbundle, 40 | }; 41 | 42 | const vorbis_func_mapping *const _mapping_P[]={ 43 | &mapping0_exportbundle, 44 | }; 45 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/registry.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: registry for time, floor, res backends and channel mappings 14 | 15 | ********************************************************************/ 16 | 17 | #ifndef _V_REG_H_ 18 | #define _V_REG_H_ 19 | 20 | #define VI_TRANSFORMB 1 21 | #define VI_WINDOWB 1 22 | #define VI_TIMEB 1 23 | #define VI_FLOORB 2 24 | #define VI_RESB 3 25 | #define VI_MAPB 1 26 | 27 | extern const vorbis_func_floor *const _floor_P[]; 28 | extern const vorbis_func_residue *const _residue_P[]; 29 | extern const vorbis_func_mapping *const _mapping_P[]; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/smallft.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: fft transform 14 | 15 | ********************************************************************/ 16 | 17 | #ifndef _V_SMFT_H_ 18 | #define _V_SMFT_H_ 19 | 20 | #include "vorbis/codec.h" 21 | 22 | typedef struct { 23 | int n; 24 | float *trigcache; 25 | int *splitcache; 26 | } drft_lookup; 27 | 28 | extern void drft_forward(drft_lookup *l,float *data); 29 | extern void drft_backward(drft_lookup *l,float *data); 30 | extern void drft_init(drft_lookup *l,int n); 31 | extern void drft_clear(drft_lookup *l); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /code/libvorbis-1.3.6/lib/window.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: window functions 14 | 15 | ********************************************************************/ 16 | 17 | #ifndef _V_WINDOW_ 18 | #define _V_WINDOW_ 19 | 20 | extern const float *_vorbis_window_get(int n); 21 | extern void _vorbis_apply_window(float *d,int *winno,long *blocksizes, 22 | int lW,int W,int nW); 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /code/null/mac_net.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | #include "../qcommon/q_shared.h" 31 | #include "../qcommon/qcommon.h" 32 | 33 | /* 34 | ============= 35 | NET_StringToAdr 36 | 37 | localhost 38 | idnewt 39 | idnewt:28000 40 | 192.246.40.70 41 | 192.246.40.70:28000 42 | ============= 43 | */ 44 | qboolean NET_StringToAdr (char *s, netadr_t *a) 45 | { 46 | if (!strcmp (s, "localhost")) { 47 | memset (a, 0, sizeof(*a)); 48 | a->type = NA_LOOPBACK; 49 | return true; 50 | } 51 | 52 | return false; 53 | } 54 | 55 | /* 56 | ================== 57 | Sys_SendPacket 58 | ================== 59 | */ 60 | void Sys_SendPacket( int length, void *data, netadr_t to ) { 61 | } 62 | -------------------------------------------------------------------------------- /code/null/null_input.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | void IN_Init( void ) { 31 | } 32 | 33 | void IN_Frame (void) { 34 | } 35 | 36 | void IN_Shutdown( void ) { 37 | } 38 | 39 | void IN_Restart( void ) { 40 | } 41 | 42 | -------------------------------------------------------------------------------- /code/null/null_net.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | #include "../qcommon/qcommon.h" 31 | 32 | /* 33 | ============= 34 | NET_StringToAdr 35 | 36 | localhost 37 | idnewt 38 | idnewt:28000 39 | 192.246.40.70 40 | 192.246.40.70:28000 41 | ============= 42 | */ 43 | qboolean NET_StringToAdr (char *s, netadr_t *a) 44 | { 45 | if (!strcmp (s, "localhost")) { 46 | memset (a, 0, sizeof(*a)); 47 | a->type = NA_LOOPBACK; 48 | return true; 49 | } 50 | 51 | return false; 52 | } 53 | 54 | /* 55 | ================== 56 | Sys_SendPacket 57 | ================== 58 | */ 59 | void Sys_SendPacket( int length, void *data, netadr_t to ) { 60 | } 61 | -------------------------------------------------------------------------------- /code/opus-1.2.1/celt/arm/armopts.s.in: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2013 Mozilla Corporation */ 2 | /* 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | - Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | - Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 15 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 16 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 17 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 18 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 19 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 20 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 21 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 22 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 23 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | */ 26 | 27 | ; Set the following to 1 if we have EDSP instructions 28 | ; (LDRD/STRD, etc., ARMv5E and later). 29 | OPUS_ARM_MAY_HAVE_EDSP * @OPUS_ARM_MAY_HAVE_EDSP@ 30 | 31 | ; Set the following to 1 if we have ARMv6 media instructions. 32 | OPUS_ARM_MAY_HAVE_MEDIA * @OPUS_ARM_MAY_HAVE_MEDIA@ 33 | 34 | ; Set the following to 1 if we have NEON (some ARMv7) 35 | OPUS_ARM_MAY_HAVE_NEON * @OPUS_ARM_MAY_HAVE_NEON@ 36 | 37 | END 38 | -------------------------------------------------------------------------------- /code/opus-1.2.1/celt/arm/fixed_arm64.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2015 Vidyo */ 2 | /* 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | - Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | - Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 15 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 16 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 17 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 18 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 19 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 20 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 21 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 22 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 23 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | */ 26 | 27 | #ifndef FIXED_ARM64_H 28 | #define FIXED_ARM64_H 29 | 30 | #include 31 | 32 | #undef SIG2WORD16 33 | #define SIG2WORD16(x) (vqmovns_s32(PSHR32((x), SIG_SHIFT))) 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /code/opus-1.2.1/celt/cwrs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2007-2008 CSIRO 2 | Copyright (c) 2007-2009 Xiph.Org Foundation 3 | Copyright (c) 2007-2009 Timothy B. Terriberry 4 | Written by Timothy B. Terriberry and Jean-Marc Valin */ 5 | /* 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions 8 | are met: 9 | 10 | - Redistributions of source code must retain the above copyright 11 | notice, this list of conditions and the following disclaimer. 12 | 13 | - Redistributions in binary form must reproduce the above copyright 14 | notice, this list of conditions and the following disclaimer in the 15 | documentation and/or other materials provided with the distribution. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 21 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 22 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 23 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 24 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 25 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 26 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #ifndef CWRS_H 31 | #define CWRS_H 32 | 33 | #include "arch.h" 34 | #include "stack_alloc.h" 35 | #include "entenc.h" 36 | #include "entdec.h" 37 | 38 | #ifdef CUSTOM_MODES 39 | int log2_frac(opus_uint32 val, int frac); 40 | #endif 41 | 42 | void get_required_bits(opus_int16 *bits, int N, int K, int frac); 43 | 44 | void encode_pulses(const int *_y, int N, int K, ec_enc *enc); 45 | 46 | opus_val32 decode_pulses(int *_y, int N, int K, ec_dec *dec); 47 | 48 | #endif /* CWRS_H */ 49 | -------------------------------------------------------------------------------- /code/opus-1.2.1/celt/x86/vq_sse.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2016 Jean-Marc Valin */ 2 | /* 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | - Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | - Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 15 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 16 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 17 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 18 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 19 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 20 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 21 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 22 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 23 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | */ 26 | 27 | #ifndef VQ_SSE_H 28 | #define VQ_SSE_H 29 | 30 | #if defined(OPUS_X86_MAY_HAVE_SSE2) && !defined(FIXED_POINT) 31 | #define OVERRIDE_OP_PVQ_SEARCH 32 | 33 | opus_val16 op_pvq_search_sse2(celt_norm *_X, int *iy, int K, int N, int arch); 34 | 35 | #if defined(OPUS_X86_PRESUME_SSE2) 36 | #define op_pvq_search(x, iy, K, N, arch) \ 37 | (op_pvq_search_sse2(x, iy, K, N, arch)) 38 | 39 | #else 40 | 41 | extern opus_val16 (*const OP_PVQ_SEARCH_IMPL[OPUS_ARCHMASK + 1])( 42 | celt_norm *_X, int *iy, int K, int N, int arch); 43 | 44 | # define op_pvq_search(X, iy, K, N, arch) \ 45 | ((*OP_PVQ_SEARCH_IMPL[(arch) & OPUS_ARCHMASK])(X, iy, K, N, arch)) 46 | 47 | #endif 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /code/opus-1.2.1/silk/arm/SigProc_FIX_armv4.h: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | Copyright (C) 2013 Xiph.Org Foundation and contributors 3 | Copyright (c) 2013 Parrot 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions 6 | are met: 7 | - Redistributions of source code must retain the above copyright notice, 8 | this list of conditions and the following disclaimer. 9 | - Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | - Neither the name of Internet Society, IETF or IETF Trust, nor the 13 | names of specific contributors, may be used to endorse or promote 14 | products derived from this software without specific prior written 15 | permission. 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 20 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 | POSSIBILITY OF SUCH DAMAGE. 27 | ***********************************************************************/ 28 | 29 | #ifndef SILK_SIGPROC_FIX_ARMv4_H 30 | #define SILK_SIGPROC_FIX_ARMv4_H 31 | 32 | #undef silk_MLA 33 | static OPUS_INLINE opus_int32 silk_MLA_armv4(opus_int32 a, opus_int32 b, 34 | opus_int32 c) 35 | { 36 | opus_int32 res; 37 | __asm__( 38 | "#silk_MLA\n\t" 39 | "mla %0, %1, %2, %3\n\t" 40 | : "=&r"(res) 41 | : "r"(b), "r"(c), "r"(a) 42 | ); 43 | return res; 44 | } 45 | #define silk_MLA(a, b, c) (silk_MLA_armv4(a, b, c)) 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /code/opus-1.2.1/silk/arm/macros_arm64.h: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | Copyright (C) 2015 Vidyo 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | - Redistributions of source code must retain the above copyright notice, 7 | this list of conditions and the following disclaimer. 8 | - Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | - Neither the name of Internet Society, IETF or IETF Trust, nor the 12 | names of specific contributors, may be used to endorse or promote 13 | products derived from this software without specific prior written 14 | permission. 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 19 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 | POSSIBILITY OF SUCH DAMAGE. 26 | ***********************************************************************/ 27 | 28 | #ifndef SILK_MACROS_ARM64_H 29 | #define SILK_MACROS_ARM64_H 30 | 31 | #include 32 | 33 | #undef silk_ADD_SAT32 34 | #define silk_ADD_SAT32(a, b) (vqadds_s32((a), (b))) 35 | 36 | #undef silk_SUB_SAT32 37 | #define silk_SUB_SAT32(a, b) (vqsubs_s32((a), (b))) 38 | 39 | #endif /* SILK_MACROS_ARM64_H */ 40 | -------------------------------------------------------------------------------- /code/opus-1.2.1/src/mlp.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008-2011 Octasic Inc. 2 | Written by Jean-Marc Valin */ 3 | /* 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions 6 | are met: 7 | 8 | - Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | 11 | - Redistributions in binary form must reproduce the above copyright 12 | notice, this list of conditions and the following disclaimer in the 13 | documentation and/or other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 18 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 19 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 20 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #ifndef _MLP_H_ 29 | #define _MLP_H_ 30 | 31 | #include "arch.h" 32 | 33 | typedef struct { 34 | int layers; 35 | const int *topo; 36 | const float *weights; 37 | } MLP; 38 | 39 | extern const MLP net; 40 | 41 | void mlp_process(const MLP *m, const float *in, float *out); 42 | 43 | #endif /* _MLP_H_ */ 44 | -------------------------------------------------------------------------------- /code/opusfile-0.9/src/internal.c: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE libopusfile SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE libopusfile SOURCE CODE IS (C) COPYRIGHT 2012 * 9 | * by the Xiph.Org Foundation and contributors http://www.xiph.org/ * 10 | * * 11 | ********************************************************************/ 12 | #ifdef HAVE_CONFIG_H 13 | #include "config.h" 14 | #endif 15 | 16 | #include "internal.h" 17 | 18 | #if defined(OP_ENABLE_ASSERTIONS) 19 | void op_fatal_impl(const char *_str,const char *_file,int _line){ 20 | fprintf(stderr,"Fatal (internal) error in %s, line %i: %s\n", 21 | _file,_line,_str); 22 | abort(); 23 | } 24 | #endif 25 | 26 | /*A version of strncasecmp() that is guaranteed to only ignore the case of 27 | ASCII characters.*/ 28 | int op_strncasecmp(const char *_a,const char *_b,int _n){ 29 | int i; 30 | for(i=0;i<_n;i++){ 31 | int a; 32 | int b; 33 | int d; 34 | a=_a[i]; 35 | b=_b[i]; 36 | if(a>='a'&&a<='z')a-='a'-'A'; 37 | if(b>='a'&&b<='z')b-='a'-'A'; 38 | d=a-b; 39 | if(d)return d; 40 | } 41 | return 0; 42 | } 43 | -------------------------------------------------------------------------------- /code/qcommon/puff.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This is a modified version of Mark Adlers work, 3 | * see below for the original copyright. 4 | * 2006 - Joerg Dietrich 5 | */ 6 | 7 | /* puff.h 8 | Copyright (C) 2002, 2003 Mark Adler, all rights reserved 9 | version 1.7, 3 Mar 2002 10 | 11 | This software is provided 'as-is', without any express or implied 12 | warranty. In no event will the author be held liable for any damages 13 | arising from the use of this software. 14 | 15 | Permission is granted to anyone to use this software for any purpose, 16 | including commercial applications, and to alter it and redistribute it 17 | freely, subject to the following restrictions: 18 | 19 | 1. The origin of this software must not be misrepresented; you must not 20 | claim that you wrote the original software. If you use this software 21 | in a product, an acknowledgment in the product documentation would be 22 | appreciated but is not required. 23 | 2. Altered source versions must be plainly marked as such, and must not be 24 | misrepresented as being the original software. 25 | 3. This notice may not be removed or altered from any source distribution. 26 | 27 | Mark Adler madler@alumni.caltech.edu 28 | */ 29 | 30 | #ifndef __PUFF_H 31 | #define __PUFF_H 32 | 33 | #include "q_shared.h" /* for definitions of the types */ 34 | 35 | /* 36 | * See puff.c for purpose and usage. 37 | */ 38 | int32_t puff(uint8_t *dest, /* pointer to destination pointer */ 39 | uint32_t *destlen, /* amount of output space */ 40 | uint8_t *source, /* pointer to source data pointer */ 41 | uint32_t *sourcelen); /* amount of input available */ 42 | 43 | #endif // __PUFF_H 44 | -------------------------------------------------------------------------------- /code/qcommon/vm_none.c: -------------------------------------------------------------------------------- 1 | #include "vm_local.h" 2 | 3 | int VM_CallCompiled( vm_t *vm, int *args ) { 4 | exit(99); 5 | return 0; 6 | } 7 | 8 | void VM_Compile( vm_t *vm, vmHeader_t *header ) { 9 | exit(99); 10 | } 11 | -------------------------------------------------------------------------------- /code/qcommon/vm_sparc.h: -------------------------------------------------------------------------------- 1 | #ifndef VM_SPARC_H 2 | #define VM_SPARC_H 3 | 4 | /* integer regs */ 5 | #define G0 0 6 | #define G1 1 7 | #define G2 2 8 | #define G3 3 9 | #define G4 4 10 | #define G5 5 11 | #define G6 6 12 | #define G7 7 13 | #define O0 8 14 | #define O1 9 15 | #define O2 10 16 | #define O3 11 17 | #define O4 12 18 | #define O5 13 19 | #define O6 14 20 | #define O7 15 21 | #define L0 16 22 | #define L1 17 23 | #define L2 18 24 | #define L3 19 25 | #define L4 20 26 | #define L5 21 27 | #define L6 22 28 | #define L7 23 29 | #define I0 24 30 | #define I1 25 31 | #define I2 26 32 | #define I3 27 33 | #define I4 28 34 | #define I5 29 35 | #define I6 30 36 | #define I7 31 37 | 38 | /* float regs */ 39 | #define F0 0 40 | #define F1 1 41 | #define F2 2 42 | #define F3 3 43 | #define F4 4 44 | #define F5 5 45 | #define F6 6 46 | #define F7 7 47 | #define F8 8 48 | #define F9 9 49 | #define F10 10 50 | #define F11 11 51 | #define F12 12 52 | #define F13 13 53 | #define F14 14 54 | #define F15 15 55 | #define F16 16 56 | #define F17 17 57 | #define F18 18 58 | #define F19 19 59 | #define F20 20 60 | #define F21 21 61 | #define F22 22 62 | #define F23 23 63 | #define F24 24 64 | #define F25 25 65 | #define F26 26 66 | #define F27 27 67 | #define F28 28 68 | #define F29 29 69 | #define F30 30 70 | #define F31 31 71 | 72 | /* state registers */ 73 | #define Y_REG 0 74 | #define CCR_REG 2 75 | #define ASI_REG 3 76 | #define FPRS_REG 6 77 | 78 | #endif 79 | -------------------------------------------------------------------------------- /code/renderergl1/tr_subs.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 2010 James Canete (use.less01@gmail.com) 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | // tr_subs.c - common function replacements for modular renderer 30 | 31 | #include "tr_local.h" 32 | 33 | void QDECL Com_Printf( const char *msg, ... ) 34 | { 35 | va_list argptr; 36 | char text[1024]; 37 | 38 | va_start(argptr, msg); 39 | Q_vsnprintf(text, sizeof(text), msg, argptr); 40 | va_end(argptr); 41 | 42 | ri.Printf(PRINT_ALL, "%s", text); 43 | } 44 | 45 | void QDECL Com_Error( int level, const char *error, ... ) 46 | { 47 | va_list argptr; 48 | char text[1024]; 49 | 50 | va_start(argptr, error); 51 | Q_vsnprintf(text, sizeof(text), error, argptr); 52 | va_end(argptr); 53 | 54 | ri.Error(level, "%s", text); 55 | } 56 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/bokeh_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec3 attr_Position; 2 | attribute vec4 attr_TexCoord0; 3 | 4 | uniform mat4 u_ModelViewProjectionMatrix; 5 | 6 | varying vec2 var_TexCoords; 7 | 8 | 9 | void main() 10 | { 11 | gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0); 12 | var_TexCoords = attr_TexCoord0.st; 13 | } 14 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/calclevels4x_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D u_TextureMap; 2 | 3 | uniform vec4 u_Color; 4 | 5 | uniform vec2 u_InvTexRes; 6 | varying vec2 var_TexCoords; 7 | 8 | const vec3 LUMINANCE_VECTOR = vec3(0.2125, 0.7154, 0.0721); //vec3(0.299, 0.587, 0.114); 9 | 10 | vec3 GetValues(vec2 offset, vec3 current) 11 | { 12 | vec2 tc = var_TexCoords + u_InvTexRes * offset; 13 | vec3 minAvgMax = texture2D(u_TextureMap, tc).rgb; 14 | 15 | #ifdef FIRST_PASS 16 | 17 | #if defined(USE_PBR) 18 | minAvgMax *= minAvgMax; 19 | #endif 20 | 21 | float lumi = max(dot(LUMINANCE_VECTOR, minAvgMax), 0.000001); 22 | float loglumi = clamp(log2(lumi), -10.0, 10.0); 23 | minAvgMax = vec3(loglumi * 0.05 + 0.5); 24 | #endif 25 | 26 | return vec3(min(current.x, minAvgMax.x), current.y + minAvgMax.y, max(current.z, minAvgMax.z)); 27 | } 28 | 29 | void main() 30 | { 31 | vec3 current = vec3(1.0, 0.0, 0.0); 32 | 33 | #ifdef FIRST_PASS 34 | current = GetValues(vec2( 0.0, 0.0), current); 35 | #else 36 | current = GetValues(vec2(-1.5, -1.5), current); 37 | current = GetValues(vec2(-0.5, -1.5), current); 38 | current = GetValues(vec2( 0.5, -1.5), current); 39 | current = GetValues(vec2( 1.5, -1.5), current); 40 | 41 | current = GetValues(vec2(-1.5, -0.5), current); 42 | current = GetValues(vec2(-0.5, -0.5), current); 43 | current = GetValues(vec2( 0.5, -0.5), current); 44 | current = GetValues(vec2( 1.5, -0.5), current); 45 | 46 | current = GetValues(vec2(-1.5, 0.5), current); 47 | current = GetValues(vec2(-0.5, 0.5), current); 48 | current = GetValues(vec2( 0.5, 0.5), current); 49 | current = GetValues(vec2( 1.5, 0.5), current); 50 | 51 | current = GetValues(vec2(-1.5, 1.5), current); 52 | current = GetValues(vec2(-0.5, 1.5), current); 53 | current = GetValues(vec2( 0.5, 1.5), current); 54 | current = GetValues(vec2( 1.5, 1.5), current); 55 | 56 | current.y *= 0.0625; 57 | #endif 58 | 59 | gl_FragColor = vec4(current, 1.0); 60 | } 61 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/calclevels4x_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec3 attr_Position; 2 | attribute vec4 attr_TexCoord0; 3 | 4 | uniform mat4 u_ModelViewProjectionMatrix; 5 | 6 | varying vec2 var_TexCoords; 7 | 8 | 9 | void main() 10 | { 11 | gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0); 12 | var_TexCoords = attr_TexCoord0.st; 13 | } 14 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/depthblur_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec4 attr_Position; 2 | attribute vec4 attr_TexCoord0; 3 | 4 | uniform vec4 u_ViewInfo; // zfar / znear, zfar, 1/width, 1/height 5 | 6 | varying vec2 var_ScreenTex; 7 | 8 | void main() 9 | { 10 | gl_Position = attr_Position; 11 | vec2 wh = vec2(1.0) / u_ViewInfo.zw - vec2(1.0); 12 | var_ScreenTex = (floor(attr_TexCoord0.xy * wh) + vec2(0.5)) * u_ViewInfo.zw; 13 | 14 | //vec2 screenCoords = gl_Position.xy / gl_Position.w; 15 | //var_ScreenTex = screenCoords * 0.5 + 0.5; 16 | } 17 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/dlight_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D u_DiffuseMap; 2 | 3 | uniform int u_AlphaTest; 4 | 5 | varying vec2 var_Tex1; 6 | varying vec4 var_Color; 7 | 8 | 9 | void main() 10 | { 11 | vec4 color = texture2D(u_DiffuseMap, var_Tex1); 12 | 13 | float alpha = color.a * var_Color.a; 14 | if (u_AlphaTest == 1) 15 | { 16 | if (alpha == 0.0) 17 | discard; 18 | } 19 | else if (u_AlphaTest == 2) 20 | { 21 | if (alpha >= 0.5) 22 | discard; 23 | } 24 | else if (u_AlphaTest == 3) 25 | { 26 | if (alpha < 0.5) 27 | discard; 28 | } 29 | 30 | gl_FragColor.rgb = color.rgb * var_Color.rgb; 31 | gl_FragColor.a = alpha; 32 | } 33 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/down4x_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D u_TextureMap; 2 | 3 | uniform vec2 u_InvTexRes; 4 | varying vec2 var_TexCoords; 5 | 6 | void main() 7 | { 8 | vec4 color; 9 | vec2 tc; 10 | 11 | tc = var_TexCoords + u_InvTexRes * vec2(-1.5, -1.5); color = texture2D(u_TextureMap, tc); 12 | tc = var_TexCoords + u_InvTexRes * vec2(-0.5, -1.5); color += texture2D(u_TextureMap, tc); 13 | tc = var_TexCoords + u_InvTexRes * vec2( 0.5, -1.5); color += texture2D(u_TextureMap, tc); 14 | tc = var_TexCoords + u_InvTexRes * vec2( 1.5, -1.5); color += texture2D(u_TextureMap, tc); 15 | 16 | tc = var_TexCoords + u_InvTexRes * vec2(-1.5, -0.5); color += texture2D(u_TextureMap, tc); 17 | tc = var_TexCoords + u_InvTexRes * vec2(-0.5, -0.5); color += texture2D(u_TextureMap, tc); 18 | tc = var_TexCoords + u_InvTexRes * vec2( 0.5, -0.5); color += texture2D(u_TextureMap, tc); 19 | tc = var_TexCoords + u_InvTexRes * vec2( 1.5, -0.5); color += texture2D(u_TextureMap, tc); 20 | 21 | tc = var_TexCoords + u_InvTexRes * vec2(-1.5, 0.5); color += texture2D(u_TextureMap, tc); 22 | tc = var_TexCoords + u_InvTexRes * vec2(-0.5, 0.5); color += texture2D(u_TextureMap, tc); 23 | tc = var_TexCoords + u_InvTexRes * vec2( 0.5, 0.5); color += texture2D(u_TextureMap, tc); 24 | tc = var_TexCoords + u_InvTexRes * vec2( 1.5, 0.5); color += texture2D(u_TextureMap, tc); 25 | 26 | tc = var_TexCoords + u_InvTexRes * vec2(-1.5, 1.5); color += texture2D(u_TextureMap, tc); 27 | tc = var_TexCoords + u_InvTexRes * vec2(-0.5, 1.5); color += texture2D(u_TextureMap, tc); 28 | tc = var_TexCoords + u_InvTexRes * vec2( 0.5, 1.5); color += texture2D(u_TextureMap, tc); 29 | tc = var_TexCoords + u_InvTexRes * vec2( 1.5, 1.5); color += texture2D(u_TextureMap, tc); 30 | 31 | color *= 0.0625; 32 | 33 | gl_FragColor = color; 34 | } 35 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/down4x_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec3 attr_Position; 2 | attribute vec4 attr_TexCoord0; 3 | 4 | uniform mat4 u_ModelViewProjectionMatrix; 5 | 6 | varying vec2 var_TexCoords; 7 | 8 | 9 | void main() 10 | { 11 | gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0); 12 | var_TexCoords = attr_TexCoord0.st; 13 | } 14 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/fogpass_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform vec4 u_Color; 2 | 3 | varying float var_Scale; 4 | 5 | void main() 6 | { 7 | gl_FragColor = u_Color; 8 | gl_FragColor.a = sqrt(clamp(var_Scale, 0.0, 1.0)); 9 | } 10 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/generic_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D u_DiffuseMap; 2 | 3 | uniform int u_AlphaTest; 4 | 5 | varying vec2 var_DiffuseTex; 6 | 7 | varying vec4 var_Color; 8 | 9 | 10 | void main() 11 | { 12 | vec4 color = texture2D(u_DiffuseMap, var_DiffuseTex); 13 | 14 | float alpha = color.a * var_Color.a; 15 | if (u_AlphaTest == 1) 16 | { 17 | if (alpha == 0.0) 18 | discard; 19 | } 20 | else if (u_AlphaTest == 2) 21 | { 22 | if (alpha >= 0.5) 23 | discard; 24 | } 25 | else if (u_AlphaTest == 3) 26 | { 27 | if (alpha < 0.5) 28 | discard; 29 | } 30 | 31 | gl_FragColor.rgb = color.rgb * var_Color.rgb; 32 | gl_FragColor.a = alpha; 33 | } 34 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/pshadow_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D u_ShadowMap; 2 | 3 | uniform vec3 u_LightForward; 4 | uniform vec3 u_LightUp; 5 | uniform vec3 u_LightRight; 6 | uniform vec4 u_LightOrigin; 7 | uniform float u_LightRadius; 8 | varying vec3 var_Position; 9 | varying vec3 var_Normal; 10 | 11 | void main() 12 | { 13 | vec3 lightToPos = var_Position - u_LightOrigin.xyz; 14 | vec2 st = vec2(-dot(u_LightRight, lightToPos), dot(u_LightUp, lightToPos)); 15 | 16 | float fade = length(st); 17 | 18 | #if defined(USE_DISCARD) 19 | if (fade >= 1.0) 20 | { 21 | discard; 22 | } 23 | #endif 24 | 25 | fade = clamp(8.0 - fade * 8.0, 0.0, 1.0); 26 | 27 | st = st * 0.5 + vec2(0.5); 28 | 29 | #if defined(USE_SOLID_PSHADOWS) 30 | float intensity = max(sign(u_LightRadius - length(lightToPos)), 0.0); 31 | #else 32 | float intensity = clamp((1.0 - dot(lightToPos, lightToPos) / (u_LightRadius * u_LightRadius)) * 2.0, 0.0, 1.0); 33 | #endif 34 | 35 | float lightDist = length(lightToPos); 36 | float dist; 37 | 38 | #if defined(USE_DISCARD) 39 | if (dot(u_LightForward, lightToPos) <= 0.0) 40 | { 41 | discard; 42 | } 43 | 44 | if (dot(var_Normal, lightToPos) > 0.0) 45 | { 46 | discard; 47 | } 48 | #else 49 | intensity *= max(sign(dot(u_LightForward, lightToPos)), 0.0); 50 | intensity *= max(sign(-dot(var_Normal, lightToPos)), 0.0); 51 | #endif 52 | 53 | intensity *= fade; 54 | 55 | float part; 56 | #if defined(USE_PCF) 57 | part = float(texture2D(u_ShadowMap, st + vec2(-1.0/512.0, -1.0/512.0)).r != 1.0); 58 | part += float(texture2D(u_ShadowMap, st + vec2( 1.0/512.0, -1.0/512.0)).r != 1.0); 59 | part += float(texture2D(u_ShadowMap, st + vec2(-1.0/512.0, 1.0/512.0)).r != 1.0); 60 | part += float(texture2D(u_ShadowMap, st + vec2( 1.0/512.0, 1.0/512.0)).r != 1.0); 61 | #else 62 | part = float(texture2D(u_ShadowMap, st).r != 1.0); 63 | #endif 64 | 65 | if (part <= 0.0) 66 | { 67 | discard; 68 | } 69 | 70 | #if defined(USE_PCF) 71 | intensity *= part * 0.25; 72 | #else 73 | intensity *= part; 74 | #endif 75 | 76 | gl_FragColor.rgb = vec3(0); 77 | gl_FragColor.a = clamp(intensity, 0.0, 0.75); 78 | } 79 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/pshadow_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec3 attr_Position; 2 | attribute vec3 attr_Normal; 3 | 4 | uniform mat4 u_ModelViewProjectionMatrix; 5 | varying vec3 var_Position; 6 | varying vec3 var_Normal; 7 | 8 | 9 | void main() 10 | { 11 | gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0); 12 | 13 | var_Position = attr_Position; 14 | var_Normal = attr_Normal; 15 | } 16 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/shadowfill_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform vec4 u_LightOrigin; 2 | uniform float u_LightRadius; 3 | 4 | varying vec3 var_Position; 5 | 6 | void main() 7 | { 8 | #if defined(USE_DEPTH) 9 | float depth = length(u_LightOrigin.xyz - var_Position) / u_LightRadius; 10 | #if 0 11 | // 32 bit precision 12 | const vec4 bitSh = vec4( 256 * 256 * 256, 256 * 256, 256, 1); 13 | const vec4 bitMsk = vec4( 0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0); 14 | 15 | vec4 comp; 16 | comp = depth * bitSh; 17 | comp.xyz = fract(comp.xyz); 18 | comp -= comp.xxyz * bitMsk; 19 | gl_FragColor = comp; 20 | #endif 21 | 22 | #if 1 23 | // 24 bit precision 24 | const vec3 bitSh = vec3( 256 * 256, 256, 1); 25 | const vec3 bitMsk = vec3( 0, 1.0 / 256.0, 1.0 / 256.0); 26 | 27 | vec3 comp; 28 | comp = depth * bitSh; 29 | comp.xy = fract(comp.xy); 30 | comp -= comp.xxy * bitMsk; 31 | gl_FragColor = vec4(comp, 1.0); 32 | #endif 33 | 34 | #if 0 35 | // 8 bit precision 36 | gl_FragColor = vec4(depth, depth, depth, 1); 37 | #endif 38 | #else 39 | gl_FragColor = vec4(0, 0, 0, 1); 40 | #endif 41 | } 42 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/shadowmask_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec4 attr_Position; 2 | attribute vec4 attr_TexCoord0; 3 | 4 | uniform vec3 u_ViewForward; 5 | uniform vec3 u_ViewLeft; 6 | uniform vec3 u_ViewUp; 7 | uniform vec4 u_ViewInfo; // zfar / znear 8 | 9 | varying vec2 var_DepthTex; 10 | varying vec3 var_ViewDir; 11 | 12 | void main() 13 | { 14 | gl_Position = attr_Position; 15 | vec2 screenCoords = gl_Position.xy / gl_Position.w; 16 | var_DepthTex = attr_TexCoord0.xy; 17 | var_ViewDir = u_ViewForward + u_ViewLeft * -screenCoords.x + u_ViewUp * screenCoords.y; 18 | } 19 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/ssao_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec4 attr_Position; 2 | attribute vec4 attr_TexCoord0; 3 | 4 | varying vec2 var_ScreenTex; 5 | 6 | void main() 7 | { 8 | gl_Position = attr_Position; 9 | var_ScreenTex = attr_TexCoord0.xy; 10 | //vec2 screenCoords = gl_Position.xy / gl_Position.w; 11 | //var_ScreenTex = screenCoords * 0.5 + 0.5; 12 | } 13 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/texturecolor_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D u_DiffuseMap; 2 | uniform vec4 u_Color; 3 | 4 | varying vec2 var_Tex1; 5 | 6 | 7 | void main() 8 | { 9 | gl_FragColor = texture2D(u_DiffuseMap, var_Tex1) * u_Color; 10 | } 11 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/texturecolor_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec3 attr_Position; 2 | attribute vec4 attr_TexCoord0; 3 | 4 | uniform mat4 u_ModelViewProjectionMatrix; 5 | 6 | varying vec2 var_Tex1; 7 | 8 | 9 | void main() 10 | { 11 | gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0); 12 | var_Tex1 = attr_TexCoord0.st; 13 | } 14 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/tonemap_fp.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D u_TextureMap; 2 | uniform sampler2D u_LevelsMap; 3 | 4 | uniform vec4 u_Color; 5 | 6 | 7 | uniform vec2 u_AutoExposureMinMax; 8 | uniform vec3 u_ToneMinAvgMaxLinear; 9 | 10 | varying vec2 var_TexCoords; 11 | varying float var_InvWhite; 12 | 13 | const vec3 LUMINANCE_VECTOR = vec3(0.2125, 0.7154, 0.0721); //vec3(0.299, 0.587, 0.114); 14 | 15 | float FilmicTonemap(float x) 16 | { 17 | const float SS = 0.22; // Shoulder Strength 18 | const float LS = 0.30; // Linear Strength 19 | const float LA = 0.10; // Linear Angle 20 | const float TS = 0.20; // Toe Strength 21 | const float TAN = 0.01; // Toe Angle Numerator 22 | const float TAD = 0.30; // Toe Angle Denominator 23 | 24 | return ((x*(SS*x+LA*LS)+TS*TAN)/(x*(SS*x+LS)+TS*TAD)) - TAN/TAD; 25 | } 26 | 27 | void main() 28 | { 29 | vec4 color = texture2D(u_TextureMap, var_TexCoords) * u_Color; 30 | 31 | #if defined(USE_PBR) 32 | color.rgb *= color.rgb; 33 | #endif 34 | 35 | vec3 minAvgMax = texture2D(u_LevelsMap, var_TexCoords).rgb; 36 | vec3 logMinAvgMaxLum = clamp(minAvgMax * 20.0 - 10.0, -u_AutoExposureMinMax.y, -u_AutoExposureMinMax.x); 37 | 38 | float invAvgLum = u_ToneMinAvgMaxLinear.y * exp2(-logMinAvgMaxLum.y); 39 | 40 | color.rgb = color.rgb * invAvgLum - u_ToneMinAvgMaxLinear.xxx; 41 | color.rgb = max(vec3(0.0), color.rgb); 42 | 43 | color.r = FilmicTonemap(color.r); 44 | color.g = FilmicTonemap(color.g); 45 | color.b = FilmicTonemap(color.b); 46 | 47 | color.rgb = clamp(color.rgb * var_InvWhite, 0.0, 1.0); 48 | 49 | #if defined(USE_PBR) 50 | color.rgb = sqrt(color.rgb); 51 | #endif 52 | 53 | // add a bit of dither to reduce banding 54 | color.rgb += vec3(1.0/510.0 * mod(gl_FragCoord.x + gl_FragCoord.y, 2.0) - 1.0/1020.0); 55 | 56 | gl_FragColor = color; 57 | } 58 | -------------------------------------------------------------------------------- /code/renderergl2/glsl/tonemap_vp.glsl: -------------------------------------------------------------------------------- 1 | attribute vec3 attr_Position; 2 | attribute vec4 attr_TexCoord0; 3 | 4 | uniform mat4 u_ModelViewProjectionMatrix; 5 | uniform vec3 u_ToneMinAvgMaxLinear; 6 | 7 | varying vec2 var_TexCoords; 8 | varying float var_InvWhite; 9 | 10 | float FilmicTonemap(float x) 11 | { 12 | const float SS = 0.22; // Shoulder Strength 13 | const float LS = 0.30; // Linear Strength 14 | const float LA = 0.10; // Linear Angle 15 | const float TS = 0.20; // Toe Strength 16 | const float TAN = 0.01; // Toe Angle Numerator 17 | const float TAD = 0.30; // Toe Angle Denominator 18 | 19 | return ((x*(SS*x+LA*LS)+TS*TAN)/(x*(SS*x+LS)+TS*TAD)) - TAN/TAD; 20 | } 21 | 22 | void main() 23 | { 24 | gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0); 25 | var_TexCoords = attr_TexCoord0.st; 26 | var_InvWhite = 1.0 / FilmicTonemap(u_ToneMinAvgMaxLinear.z - u_ToneMinAvgMaxLinear.x); 27 | } 28 | -------------------------------------------------------------------------------- /code/renderergl2/tr_extratypes.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 2009-2011 Andrei Drexler, Richard Allen, James Canete 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | #ifndef __TR_EXTRATYPES_H__ 31 | #define __TR_EXTRATYPES_H__ 32 | 33 | // tr_extratypes.h, for mods that want to extend tr_types.h without losing compatibility with original VMs 34 | 35 | // extra refdef flags start at 0x0008 36 | #define RDF_NOFOG 0x0008 // don't apply fog to polys added using RE_AddPolyToScene 37 | #define RDF_EXTRA 0x0010 // Makro - refdefex_t to follow after refdef_t 38 | #define RDF_SUNLIGHT 0x0020 // SmileTheory - render sunlight and shadows 39 | 40 | typedef struct { 41 | float blurFactor; 42 | float sunDir[3]; 43 | float sunCol[3]; 44 | float sunAmbCol[3]; 45 | } refdefex_t; 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /code/renderergl2/tr_main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/renderergl2/tr_main.c -------------------------------------------------------------------------------- /code/renderergl2/tr_postprocess.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 2011 Andrei Drexler, Richard Allen, James Canete 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | #ifndef TR_POSTPROCESS_H 31 | #define TR_POSTPROCESS_H 32 | 33 | #include "tr_fbo.h" 34 | 35 | void RB_ToneMap(FBO_t *hdrFbo, ivec4_t hdrBox, FBO_t *ldrFbo, ivec4_t ldrBox, int autoExposure); 36 | void RB_BokehBlur(FBO_t *src, ivec4_t srcBox, FBO_t *dst, ivec4_t dstBox, float blur); 37 | void RB_SunRays(FBO_t *srcFbo, ivec4_t srcBox, FBO_t *dstFbo, ivec4_t dstBox); 38 | void RB_GaussianBlur(float blur); 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /code/renderergl2/tr_subs.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 2010 James Canete (use.less01@gmail.com) 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | // tr_subs.c - common function replacements for modular renderer 30 | 31 | #include "tr_local.h" 32 | 33 | void QDECL Com_Printf( const char *msg, ... ) 34 | { 35 | va_list argptr; 36 | char text[1024]; 37 | 38 | va_start(argptr, msg); 39 | Q_vsnprintf(text, sizeof(text), msg, argptr); 40 | va_end(argptr); 41 | 42 | ri.Printf(PRINT_ALL, "%s", text); 43 | } 44 | 45 | void QDECL Com_Error( int level, const char *error, ... ) 46 | { 47 | va_list argptr; 48 | char text[1024]; 49 | 50 | va_start(argptr, error); 51 | Q_vsnprintf(text, sizeof(text), error, argptr); 52 | va_end(argptr); 53 | 54 | ri.Error(level, "%s", text); 55 | } 56 | -------------------------------------------------------------------------------- /code/renderergles1/tr_subs.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 2010 James Canete (use.less01@gmail.com) 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | // tr_subs.c - common function replacements for modular renderer 30 | 31 | #include "tr_local.h" 32 | 33 | void QDECL Com_Printf( const char *msg, ... ) 34 | { 35 | va_list argptr; 36 | char text[1024]; 37 | 38 | va_start(argptr, msg); 39 | Q_vsnprintf(text, sizeof(text), msg, argptr); 40 | va_end(argptr); 41 | 42 | ri.Printf(PRINT_ALL, "%s", text); 43 | } 44 | 45 | void QDECL Com_Error( int level, const char *error, ... ) 46 | { 47 | va_list argptr; 48 | char text[1024]; 49 | 50 | va_start(argptr, error); 51 | Q_vsnprintf(text, sizeof(text), error, argptr); 52 | va_end(argptr); 53 | 54 | ri.Error(level, "%s", text); 55 | } 56 | -------------------------------------------------------------------------------- /code/sys/con_passive.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 4 | 5 | This file is part of Q3lite Source Code. 6 | 7 | Q3lite Source Code is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 3 of the License, 10 | or (at your option) any later version. 11 | 12 | Q3lite Source Code is distributed in the hope that it will be 13 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Q3lite Source Code. If not, see . 19 | 20 | In addition, Q3lite Source Code is also subject to certain additional terms. 21 | You should have received a copy of these additional terms immediately following 22 | the terms and conditions of the GNU General Public License. If not, please 23 | request a copy in writing from id Software at the address below. 24 | If you have questions concerning this license or the applicable additional 25 | terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., 26 | Suite 120, Rockville, Maryland 20850 USA. 27 | =========================================================================== 28 | */ 29 | 30 | #include "../qcommon/q_shared.h" 31 | #include "../qcommon/qcommon.h" 32 | #include "sys_local.h" 33 | 34 | #include 35 | 36 | /* 37 | ================== 38 | CON_Shutdown 39 | ================== 40 | */ 41 | void CON_Shutdown( void ) 42 | { 43 | } 44 | 45 | /* 46 | ================== 47 | CON_Init 48 | ================== 49 | */ 50 | void CON_Init( void ) 51 | { 52 | } 53 | 54 | /* 55 | ================== 56 | CON_Input 57 | ================== 58 | */ 59 | char *CON_Input( void ) 60 | { 61 | return NULL; 62 | } 63 | 64 | /* 65 | ================== 66 | CON_Print 67 | ================== 68 | */ 69 | void CON_Print( const char *msg ) 70 | { 71 | if( com_ansiColor && com_ansiColor->integer ) 72 | Sys_AnsiColorPrint( msg ); 73 | else 74 | fputs( msg, stderr ); 75 | } 76 | -------------------------------------------------------------------------------- /code/sys/win_manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | True/PM 34 | PerMonitorV2, PerMonitor 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /code/sys/win_resource.rc: -------------------------------------------------------------------------------- 1 | //Microsoft Developer Studio generated resource script. 2 | // 3 | #include "win_resource.h" 4 | 5 | #define APSTUDIO_READONLY_SYMBOLS 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // 8 | // Generated from the TEXTINCLUDE 2 resource. 9 | // 10 | #include 11 | 12 | ///////////////////////////////////////////////////////////////////////////// 13 | #undef APSTUDIO_READONLY_SYMBOLS 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | // English (U.S.) resources 17 | 18 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) 19 | #ifdef _WIN32 20 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US 21 | #pragma code_page(1252) 22 | #endif //_WIN32 23 | 24 | #ifdef APSTUDIO_INVOKED 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // 27 | // TEXTINCLUDE 28 | // 29 | 30 | 1 TEXTINCLUDE DISCARDABLE 31 | BEGIN 32 | "resource.h\0" 33 | END 34 | 35 | 2 TEXTINCLUDE DISCARDABLE 36 | BEGIN 37 | "#include ""winres.h""\r\n" 38 | "\0" 39 | END 40 | 41 | 3 TEXTINCLUDE DISCARDABLE 42 | BEGIN 43 | "\0" 44 | END 45 | 46 | #endif // APSTUDIO_INVOKED 47 | 48 | 49 | ///////////////////////////////////////////////////////////////////////////// 50 | // 51 | // Icon 52 | // 53 | 54 | // Icon with lowest ID value placed first to ensure application icon 55 | // remains consistent on all systems. 56 | #ifndef __MINGW32__ 57 | IDI_ICON1 ICON DISCARDABLE "../quake3.ico" 58 | #else 59 | IDI_ICON1 ICON DISCARDABLE "misc/quake3.ico" 60 | #endif 61 | 62 | 63 | ///////////////////////////////////////////////////////////////////////////// 64 | // 65 | // String Table 66 | // 67 | 68 | STRINGTABLE DISCARDABLE 69 | BEGIN 70 | IDS_STRING1 "Quake3" 71 | END 72 | 73 | ///////////////////////////////////////////////////////////////////////////// 74 | // 75 | // Application Manifest 76 | // 77 | CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "win_manifest.xml" 78 | 79 | #endif // English (U.S.) resources 80 | ///////////////////////////////////////////////////////////////////////////// 81 | 82 | 83 | -------------------------------------------------------------------------------- /code/tools/asm/README.Id: -------------------------------------------------------------------------------- 1 | 2002-10-25 Timothee Besset 2 | If you are looking for a faster version of the q3asm tool, try: 3 | http://www.icculus.org/~phaethon/q3/q3asm-turbo/q3asm-turbo.html 4 | 5 | 2001-10-31 Timothee Besset 6 | updated from the $/source/q3asm code 7 | modified for portability and use with >= 1.31 mod source release 8 | 9 | the cmdlib.c cmdlib.h mathlib.h qfiles.h have been copied from 10 | $/source/common 11 | -------------------------------------------------------------------------------- /code/tools/asm/lib.txt: -------------------------------------------------------------------------------- 1 | 2 | strlen 3 | strcasecmp 4 | tolower 5 | strcat 6 | strncpy 7 | strcmp 8 | strcpy 9 | strchr 10 | 11 | vsprintf 12 | 13 | memcpy 14 | memset 15 | rand 16 | 17 | atoi 18 | atof 19 | 20 | abs 21 | 22 | floor 23 | fabs 24 | tan 25 | atan 26 | sqrt 27 | log 28 | cos 29 | sin 30 | atan2 31 | 32 | -------------------------------------------------------------------------------- /code/tools/asm/notes.txt: -------------------------------------------------------------------------------- 1 | 2 | don't do any parameter conversion (double to float, etc) 3 | 4 | 5 | 6 | Why? 7 | 8 | Security. 9 | Portability. 10 | 11 | It may be more aproachable. 12 | 13 | can still use regular dlls for development purposes 14 | 15 | lcc 16 | q3asm 17 | -------------------------------------------------------------------------------- /code/tools/asm/ops.txt: -------------------------------------------------------------------------------- 1 | CNSTF, 2 | CNSTI, 3 | CNSTP, 4 | CNSTU, 5 | 6 | ARGB, 7 | ARGF, 8 | ARGI, 9 | ARGP, 10 | ARGU, 11 | 12 | ASGNB, 13 | ASGNF, 14 | ASGNI, 15 | ASGNP, 16 | ASGNU, 17 | 18 | INDIRB, 19 | INDIRF, 20 | INDIRI, 21 | INDIRP, 22 | INDIRU, 23 | 24 | CVFF, 25 | CVFI, 26 | 27 | CVIF, 28 | CVII, 29 | CVIU, 30 | 31 | CVPU, 32 | 33 | CVUI, 34 | CVUP, 35 | CVUU, 36 | 37 | NEGF, 38 | NEGI, 39 | 40 | CALLB, 41 | CALLF, 42 | CALLI, 43 | CALLP, 44 | CALLU, 45 | CALLV, 46 | 47 | RETF, 48 | RETI, 49 | RETP, 50 | RETU, 51 | RETV, 52 | 53 | ADDRGP, 54 | 55 | ADDRFP, 56 | 57 | ADDRLP, 58 | 59 | ADDF, 60 | ADDI, 61 | ADDP, 62 | ADDU, 63 | 64 | SUBF, 65 | SUBI, 66 | SUBP, 67 | SUBU, 68 | 69 | LSHI, 70 | LSHU, 71 | 72 | MODI, 73 | MODU, 74 | 75 | RSHI, 76 | RSHU, 77 | 78 | BANDI, 79 | BANDU, 80 | 81 | BCOMI, 82 | BCOMU, 83 | 84 | BORI, 85 | BORU, 86 | 87 | BXORI, 88 | BXORU, 89 | 90 | DIVF, 91 | DIVI, 92 | DIVU, 93 | 94 | MULF, 95 | MULI, 96 | MULU, 97 | 98 | EQF, 99 | EQI, 100 | EQU, 101 | 102 | GEF, 103 | GEI, 104 | GEU, 105 | 106 | GTF, 107 | GTI, 108 | GTU, 109 | 110 | LEF, 111 | LEI, 112 | LEU, 113 | 114 | LTF, 115 | LTI, 116 | LTU, 117 | 118 | NEF, 119 | NEI, 120 | NEU, 121 | 122 | JUMPV, 123 | 124 | LABELV, 125 | 126 | LOADB, 127 | LOADF, 128 | LOADI, 129 | LOADP, 130 | LOADU, 131 | 132 | 133 | -------------------------------------------------------------------------------- /code/tools/lcc/README: -------------------------------------------------------------------------------- 1 | This hierarchy is the distribution for lcc version 4.1. 2 | 3 | lcc version 3.x is described in the book "A Retargetable C Compiler: 4 | Design and Implementation" (Addison-Wesley, 1995, ISBN 0-8053-1670-1). 5 | There are significant differences between 3.x and 4.x, most notably in 6 | the intermediate code. doc/4.html summarizes the differences. 7 | 8 | VERSION 4.1 IS INCOMPATIBLE WITH EARLIER VERSIONS OF LCC. DO NOT 9 | UNLOAD THIS DISTRIBUTION ON TOP OF A 3.X DISTRIBUTION. 10 | 11 | LOG describes the changes since the last release. 12 | 13 | CPYRIGHT describes the conditions under you can use, copy, modify, and 14 | distribute lcc or works derived from lcc. 15 | 16 | doc/install.html is an HTML file that gives a complete description of 17 | the distribution and installation instructions. 18 | 19 | Chris Fraser / cwfraser@microsoft.com 20 | David Hanson / drh@microsoft.com 21 | $Revision: 145 $ $Date: 2001-10-17 16:53:10 -0500 (Wed, 17 Oct 2001) $ 22 | -------------------------------------------------------------------------------- /code/tools/lcc/README.id: -------------------------------------------------------------------------------- 1 | 2001-10-31 Timothee Besset 2 | updated from the $/source/lcc code 3 | modified for portability and use with >= 1.31 mod source release 4 | -------------------------------------------------------------------------------- /code/tools/lcc/cpp/getopt.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define EPR fprintf(stderr, 4 | #define ERR(str, chr) if(opterr){EPR "%s%c\n", str, chr);} 5 | int opterr = 1; 6 | int optind = 1; 7 | int optopt; 8 | char *optarg; 9 | 10 | int 11 | lcc_getopt (int argc, char *const argv[], const char *opts) 12 | { 13 | static int sp = 1; 14 | int c; 15 | char *cp; 16 | 17 | if (sp == 1) { 18 | if (optind >= argc || 19 | argv[optind][0] != '-' || argv[optind][1] == '\0') 20 | return -1; 21 | else if (strcmp(argv[optind], "--") == 0) { 22 | optind++; 23 | return -1; 24 | } 25 | } 26 | optopt = c = argv[optind][sp]; 27 | if (c == ':' || (cp=strchr(opts, c)) == 0) { 28 | ERR (": illegal option -- ", c); 29 | if (argv[optind][++sp] == '\0') { 30 | optind++; 31 | sp = 1; 32 | } 33 | return '?'; 34 | } 35 | if (*++cp == ':') { 36 | if (argv[optind][sp+1] != '\0') 37 | optarg = &argv[optind++][sp+1]; 38 | else if (++optind >= argc) { 39 | ERR (": option requires an argument -- ", c); 40 | sp = 1; 41 | return '?'; 42 | } else 43 | optarg = argv[optind++]; 44 | sp = 1; 45 | } else { 46 | if (argv[optind][++sp] == '\0') { 47 | sp = 1; 48 | optind++; 49 | } 50 | optarg = 0; 51 | } 52 | return c; 53 | } 54 | -------------------------------------------------------------------------------- /code/tools/lcc/doc/bprint.1: -------------------------------------------------------------------------------- 1 | .\" $Id: bprint.1 145 2001-10-17 21:53:10Z timo $ 2 | .TH BPRINT 1 "local \- $Date: 2001-10-17 16:53:10 -0500 (Wed, 17 Oct 2001) $" 3 | .SH NAME 4 | bprint \- expression profiler 5 | .SH SYNOPSIS 6 | .B bprint 7 | [ 8 | .I option ... 9 | ] 10 | [ 11 | .I file ... 12 | ] 13 | .SH DESCRIPTION 14 | .I bprint 15 | produces on the standard output a listing of the programs compiled by 16 | .I lcc 17 | with the 18 | .B \-b 19 | option. 20 | Executing an 21 | .B a.out 22 | so compiled appends profiling data to 23 | .BR prof.out . 24 | The first token of each expression in the listing is preceded 25 | by the number of times it was executed 26 | enclosed in angle brackets as determined from the data in 27 | .BR prof.out . 28 | .I bprint 29 | interprets the following options. 30 | .TP 31 | .B \-c 32 | Compress the 33 | .B prof.out 34 | file, which otherwise grows with every execution of 35 | .BR a.out . 36 | .TP 37 | .B \-b 38 | Print an annotated listing as described above. 39 | .TP 40 | .B \-n 41 | Include line numbers in the listing. 42 | .TP 43 | .B \-f 44 | Print only the number of invocations of each function. 45 | A second 46 | .B \-f 47 | summarizes call sites instead of callers. 48 | .TP 49 | .BI \-I \*Sdir 50 | specifies additional directories in which to seek 51 | files given in 52 | .B prof.out 53 | that do not begin with `/'. 54 | .PP 55 | If any file names are given, only the requested data for those files are printed 56 | in the order presented. 57 | If no options are given, 58 | .B \-b 59 | is assumed. 60 | .SH FILES 61 | .PP 62 | .ta \w'$LCCDIR/liblcc.{a,lib}XX'u 63 | .nf 64 | prof.out profiling data 65 | $LCCDIR/liblcc.{a,lib} \fIlcc\fP-specific library 66 | .SH "SEE ALSO" 67 | .IR lcc (1), 68 | .IR prof (1) 69 | .SH BUGS 70 | Macros and comments can confuse 71 | .I bprint 72 | because it uses post-expansion source coordinates 73 | to annotate pre-expansion source files. 74 | If 75 | .I bprint 76 | sees that it's about to print a statement count 77 | .I inside 78 | a number or identifier, it moves the count to just 79 | .I before 80 | the token. 81 | .PP 82 | Can't cope with an ill-formed 83 | .BR prof.out . 84 | -------------------------------------------------------------------------------- /code/tools/lcc/doc/bprint.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/tools/lcc/doc/bprint.pdf -------------------------------------------------------------------------------- /code/tools/lcc/doc/lcc.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/code/tools/lcc/doc/lcc.pdf -------------------------------------------------------------------------------- /code/tools/lcc/etc/bytecode.c: -------------------------------------------------------------------------------- 1 | /* quake3 bytecode target */ 2 | 3 | #include 4 | #include 5 | #include "../../../qcommon/q_platform.h" 6 | 7 | #ifdef _WIN32 8 | #define BINEXT ".exe" 9 | #else 10 | #define BINEXT "" 11 | #endif 12 | 13 | char *suffixes[] = { ".c", ".i", ".asm", ".o", ".out", 0 }; 14 | char inputs[256] = ""; 15 | char *cpp[] = { "q3cpp" BINEXT, 16 | "-D__STDC__=1", "-D__STRICT_ANSI__", "-D__signed__=signed", "-DQ3_VM", 17 | "$1", "$2", "$3", 0 }; 18 | char *include[] = { 0 }; 19 | char *com[] = { "q3rcc" BINEXT, "-target=bytecode", "$1", "$2", "$3", 0 }; 20 | char *ld[] = { 0 }; 21 | char *as[] = { 0 }; 22 | 23 | extern char *concat(char *, char *); 24 | 25 | /* 26 | =============== 27 | UpdatePaths 28 | 29 | Updates the paths to q3cpp and q3rcc based on 30 | the directory that contains q3lcc 31 | =============== 32 | */ 33 | void UpdatePaths( const char *lccBinary ) 34 | { 35 | char basepath[ 1024 ]; 36 | char *p; 37 | size_t basepathsz = sizeof( basepath ) - 1; 38 | 39 | strncpy( basepath, lccBinary, basepathsz ); 40 | basepath[basepathsz] = 0; 41 | p = strrchr( basepath, PATH_SEP ); 42 | 43 | if( p ) 44 | { 45 | *( p + 1 ) = '\0'; 46 | 47 | cpp[ 0 ] = concat( basepath, "q3cpp" BINEXT ); 48 | com[ 0 ] = concat( basepath, "q3rcc" BINEXT ); 49 | } 50 | } 51 | 52 | int option(char *arg) { 53 | if (strncmp(arg, "-lccdir=", 8) == 0) { 54 | cpp[0] = concat(&arg[8], "/q3cpp" BINEXT); 55 | include[0] = concat("-I", concat(&arg[8], "/include")); 56 | com[0] = concat(&arg[8], "/q3rcc" BINEXT); 57 | } else if (strncmp(arg, "-lcppdir=", 9) == 0) { 58 | cpp[0] = concat(&arg[9], "/q3cpp" BINEXT); 59 | } else if (strncmp(arg, "-lrccdir=", 9) == 0) { 60 | com[0] = concat(&arg[9], "/q3rcc" BINEXT); 61 | } else if (strcmp(arg, "-p") == 0 || strcmp(arg, "-pg") == 0) { 62 | fprintf( stderr, "no profiling supported, %s ignored.\n", arg); 63 | } else if (strcmp(arg, "-b") == 0) 64 | ; 65 | else if (strcmp(arg, "-g") == 0) 66 | fprintf( stderr, "no debugging supported, %s ignored.\n", arg); 67 | else if (strncmp(arg, "-ld=", 4) == 0 || strcmp(arg, "-static") == 0) { 68 | fprintf( stderr, "no linking supported, %s ignored.\n", arg); 69 | } else 70 | return 0; 71 | return 1; 72 | } 73 | -------------------------------------------------------------------------------- /code/tools/lcc/lburg/lburg.h: -------------------------------------------------------------------------------- 1 | #ifndef BURG_INCLUDED 2 | #define BURG_INCLUDED 3 | 4 | /* iburg.c: */ 5 | extern void *alloc(int nbytes); 6 | 7 | typedef enum { TERM=1, NONTERM } Kind; 8 | typedef struct rule *Rule; 9 | typedef struct term *Term; 10 | struct term { /* terminals: */ 11 | char *name; /* terminal name */ 12 | Kind kind; /* TERM */ 13 | int esn; /* external symbol number */ 14 | int arity; /* operator arity */ 15 | Term link; /* next terminal in esn order */ 16 | Rule rules; /* rules whose pattern starts with term */ 17 | }; 18 | 19 | typedef struct nonterm *Nonterm; 20 | struct nonterm { /* nonterminals: */ 21 | char *name; /* nonterminal name */ 22 | Kind kind; /* NONTERM */ 23 | int number; /* identifying number */ 24 | int lhscount; /* # times nt appears in a rule lhs */ 25 | int reached; /* 1 iff reached from start nonterminal */ 26 | Rule rules; /* rules w/nonterminal on lhs */ 27 | Rule chain; /* chain rules w/nonterminal on rhs */ 28 | Nonterm link; /* next terminal in number order */ 29 | }; 30 | extern Nonterm nonterm(char *id); 31 | extern Term term(char *id, int esn); 32 | 33 | typedef struct tree *Tree; 34 | struct tree { /* tree patterns: */ 35 | void *op; /* a terminal or nonterminal */ 36 | Tree left, right; /* operands */ 37 | int nterms; /* number of terminal nodes in this tree */ 38 | }; 39 | extern Tree tree(char *op, Tree left, Tree right); 40 | 41 | struct rule { /* rules: */ 42 | Nonterm lhs; /* lefthand side nonterminal */ 43 | Tree pattern; /* rule pattern */ 44 | int ern; /* external rule number */ 45 | int packed; /* packed external rule number */ 46 | int cost; /* cost, if a constant */ 47 | char *code; /* cost, if an expression */ 48 | char *template; /* assembler template */ 49 | Rule link; /* next rule in ern order */ 50 | Rule next; /* next rule with same pattern root */ 51 | Rule chain; /* next chain rule with same rhs */ 52 | Rule decode; /* next rule with same lhs */ 53 | Rule kids; /* next rule with same _kids pattern */ 54 | }; 55 | extern Rule rule(char *id, Tree pattern, char *template, char *code); 56 | 57 | /* gram.y: */ 58 | void yyerror(char *fmt, ...); 59 | int yyparse(void); 60 | void yywarn(char *fmt, ...); 61 | extern int errcnt; 62 | extern FILE *infp; 63 | extern FILE *outfp; 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /code/tools/lcc/src/alloc.c: -------------------------------------------------------------------------------- 1 | #include "c.h" 2 | struct block { 3 | struct block *next; 4 | char *limit; 5 | char *avail; 6 | }; 7 | union align { 8 | long l; 9 | char *p; 10 | double d; 11 | int (*f)(void); 12 | }; 13 | union header { 14 | struct block b; 15 | union align a; 16 | }; 17 | #ifdef PURIFY 18 | union header *arena[3]; 19 | 20 | void *allocate(unsigned long n, unsigned a) { 21 | union header *new = malloc(sizeof *new + n); 22 | 23 | assert(a < NELEMS(arena)); 24 | if (new == NULL) { 25 | error("insufficient memory\n"); 26 | exit(1); 27 | } 28 | new->b.next = (void *)arena[a]; 29 | arena[a] = new; 30 | return new + 1; 31 | } 32 | 33 | void deallocate(unsigned a) { 34 | union header *p, *q; 35 | 36 | assert(a < NELEMS(arena)); 37 | for (p = arena[a]; p; p = q) { 38 | q = (void *)p->b.next; 39 | free(p); 40 | } 41 | arena[a] = NULL; 42 | } 43 | 44 | void *newarray(unsigned long m, unsigned long n, unsigned a) { 45 | return allocate(m*n, a); 46 | } 47 | #else 48 | static struct block 49 | first[] = { { NULL }, { NULL }, { NULL } }, 50 | *arena[] = { &first[0], &first[1], &first[2] }; 51 | static struct block *freeblocks; 52 | 53 | void *allocate(unsigned long n, unsigned a) { 54 | struct block *ap; 55 | 56 | assert(a < NELEMS(arena)); 57 | assert(n > 0); 58 | ap = arena[a]; 59 | n = roundup(n, sizeof (union align)); 60 | while (n > ap->limit - ap->avail) { 61 | if ((ap->next = freeblocks) != NULL) { 62 | freeblocks = freeblocks->next; 63 | ap = ap->next; 64 | } else 65 | { 66 | unsigned m = sizeof (union header) + n + roundup(10*1024, sizeof (union align)); 67 | ap->next = malloc(m); 68 | ap = ap->next; 69 | if (ap == NULL) { 70 | error("insufficient memory\n"); 71 | exit(1); 72 | } 73 | ap->limit = (char *)ap + m; 74 | } 75 | ap->avail = (char *)((union header *)ap + 1); 76 | ap->next = NULL; 77 | arena[a] = ap; 78 | 79 | } 80 | ap->avail += n; 81 | return ap->avail - n; 82 | } 83 | 84 | void *newarray(unsigned long m, unsigned long n, unsigned a) { 85 | return allocate(m*n, a); 86 | } 87 | void deallocate(unsigned a) { 88 | assert(a < NELEMS(arena)); 89 | arena[a]->next = freeblocks; 90 | freeblocks = first[a].next; 91 | first[a].next = NULL; 92 | arena[a] = &first[a]; 93 | } 94 | #endif 95 | -------------------------------------------------------------------------------- /code/tools/lcc/src/bind.c: -------------------------------------------------------------------------------- 1 | #include "c.h" 2 | extern Interface nullIR; 3 | extern Interface bytecodeIR; 4 | Binding bindings[] = { 5 | { "null", &nullIR }, 6 | { "bytecode", &bytecodeIR }, 7 | { NULL, NULL }, 8 | }; 9 | -------------------------------------------------------------------------------- /code/tools/lcc/src/event.c: -------------------------------------------------------------------------------- 1 | #include "c.h" 2 | 3 | 4 | struct entry { 5 | Apply func; 6 | void *cl; 7 | }; 8 | 9 | Events events; 10 | void attach(Apply func, void *cl, List *list) { 11 | struct entry *p; 12 | 13 | NEW(p, PERM); 14 | p->func = func; 15 | p->cl = cl; 16 | *list = append(p, *list); 17 | } 18 | void apply(List event, void *arg1, void *arg2) { 19 | if (event) { 20 | List lp = event; 21 | do { 22 | struct entry *p = lp->x; 23 | (*p->func)(p->cl, arg1, arg2); 24 | lp = lp->link; 25 | } while (lp != event); 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /code/tools/lcc/src/inits.c: -------------------------------------------------------------------------------- 1 | void init(int argc, char *argv[]) { 2 | {extern void input_init(int, char *[]); input_init(argc, argv);} 3 | {extern void main_init(int, char *[]); main_init(argc, argv);} 4 | {extern void prof_init(int, char *[]); prof_init(argc, argv);} 5 | {extern void trace_init(int, char *[]); trace_init(argc, argv);} 6 | {extern void type_init(int, char *[]); type_init(argc, argv);} 7 | } 8 | -------------------------------------------------------------------------------- /code/tools/lcc/src/list.c: -------------------------------------------------------------------------------- 1 | #include "c.h" 2 | 3 | 4 | static List freenodes; /* free list nodes */ 5 | 6 | /* append - append x to list, return new list */ 7 | List append(void *x, List list) { 8 | List new; 9 | 10 | if ((new = freenodes) != NULL) 11 | freenodes = freenodes->link; 12 | else 13 | NEW(new, PERM); 14 | if (list) { 15 | new->link = list->link; 16 | list->link = new; 17 | } else 18 | new->link = new; 19 | new->x = x; 20 | return new; 21 | } 22 | 23 | /* length - # elements in list */ 24 | int length(List list) { 25 | int n = 0; 26 | 27 | if (list) { 28 | List lp = list; 29 | do 30 | n++; 31 | while ((lp = lp->link) != list); 32 | } 33 | return n; 34 | } 35 | 36 | /* ltov - convert list to a NULL-terminated vector allocated in arena */ 37 | void *ltov(List *list, unsigned arena) { 38 | int i = 0; 39 | void **array = newarray(length(*list) + 1, sizeof array[0], arena); 40 | 41 | if (*list) { 42 | List lp = *list; 43 | do { 44 | lp = lp->link; 45 | array[i++] = lp->x; 46 | } while (lp != *list); 47 | #ifndef PURIFY 48 | lp = (*list)->link; 49 | (*list)->link = freenodes; 50 | freenodes = lp; 51 | #endif 52 | } 53 | *list = NULL; 54 | array[i] = NULL; 55 | return array; 56 | } 57 | -------------------------------------------------------------------------------- /code/tools/lcc/src/null.c: -------------------------------------------------------------------------------- 1 | #include "c.h" 2 | #define I(f) null_##f 3 | 4 | static Node I(gen)(Node p) { return p; } 5 | static void I(address)(Symbol q, Symbol p, long n) {} 6 | static void I(blockbeg)(Env *e) {} 7 | static void I(blockend)(Env *e) {} 8 | static void I(defaddress)(Symbol p) {} 9 | static void I(defconst)(int suffix, int size, Value v) {} 10 | static void I(defstring)(int len, char *s) {} 11 | static void I(defsymbol)(Symbol p) {} 12 | static void I(emit)(Node p) {} 13 | static void I(export)(Symbol p) {} 14 | static void I(function)(Symbol f, Symbol caller[], Symbol callee[], int ncalls) {} 15 | static void I(global)(Symbol p) {} 16 | static void I(import)(Symbol p) {} 17 | static void I(local)(Symbol p) {} 18 | static void I(progbeg)(int argc, char *argv[]) {} 19 | static void I(progend)(void) {} 20 | static void I(segment)(int s) {} 21 | static void I(space)(int n) {} 22 | static void I(stabblock)(int brace, int lev, Symbol *p) {} 23 | static void I(stabend)(Coordinate *cp, Symbol p, Coordinate **cpp, Symbol *sp, Symbol *stab) {} 24 | static void I(stabfend)(Symbol p, int lineno) {} 25 | static void I(stabinit)(char *file, int argc, char *argv[]) {} 26 | static void I(stabline)(Coordinate *cp) {} 27 | static void I(stabsym)(Symbol p) {} 28 | static void I(stabtype)(Symbol p) {} 29 | 30 | 31 | Interface nullIR = { 32 | {1, 1, 0}, /* char */ 33 | {2, 2, 0}, /* short */ 34 | {4, 4, 0}, /* int */ 35 | {8, 8, 1}, /* long */ 36 | {8 ,8, 1}, /* long long */ 37 | {4, 4, 1}, /* float */ 38 | {8, 8, 1}, /* double */ 39 | {16,16,1}, /* long double */ 40 | {4, 4, 0}, /* T* */ 41 | {0, 4, 0}, /* struct */ 42 | 1, /* little_endian */ 43 | 0, /* mulops_calls */ 44 | 0, /* wants_callb */ 45 | 0, /* wants_argb */ 46 | 1, /* left_to_right */ 47 | 0, /* wants_dag */ 48 | 0, /* unsigned_char */ 49 | I(address), 50 | I(blockbeg), 51 | I(blockend), 52 | I(defaddress), 53 | I(defconst), 54 | I(defstring), 55 | I(defsymbol), 56 | I(emit), 57 | I(export), 58 | I(function), 59 | I(gen), 60 | I(global), 61 | I(import), 62 | I(local), 63 | I(progbeg), 64 | I(progend), 65 | I(segment), 66 | I(space), 67 | I(stabblock), 68 | I(stabend), 69 | I(stabfend), 70 | I(stabinit), 71 | I(stabline), 72 | I(stabsym), 73 | I(stabtype) 74 | }; 75 | -------------------------------------------------------------------------------- /code/zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /misc/ReadMe-OSX.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430 2 | {\fonttbl\f0\fswiss\fcharset0 ArialMT;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \paperw11905\paperh16837\margl1440\margr1440\vieww11380\viewh12260\viewkind0 5 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 6 | 7 | \f0\b\fs24 \cf0 Welcome to ioquake3.\ 8 | \ 9 | You can find us on the web at:\ 10 | http://www.ioquake3.org/\ 11 | This is the 1.36 release for Mac OS X.\ 12 | If you run into any issues, please check out our website's discussion page for a place to talk about them and get help.\ 13 | http://ioquake3.org/discussion/\ 14 | \ 15 | To install, simply copy the ioquake3 folder to your applications directory, then copy the pak0.pk3 file\ 16 | from your legal Quake 3 Arena CDROM into the baseq3 sub-folder.\ 17 | You can also copy it over from a boot camp'd steam install or whatever. \ 18 | Just make sure to get your cd key as well.\ 19 | \ 20 | If you don't have Quake 3, check out some of the excellent games made with ioquake3:\ 21 | http://ioquake3.org/extras/derivative-games/\ 22 | \ 23 | On ioquake3.org you can also find links to the latest source for this release, packages for other platforms, and more.\ 24 | I hope to see you on server.ioquake3.org soon!\ 25 | -\ 26 | Thanks,\ 27 | Zachary Slater\ 28 | zachary@ioquake.org\ 29 | } -------------------------------------------------------------------------------- /misc/ioquake3-folder.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/ioquake3-folder.icns -------------------------------------------------------------------------------- /misc/linux/q3a.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=This service spawns an ioquake3 Internet server 3 | # A map will need to be loaded for players to be able to join. 4 | # For additional settings see http://wiki.ioquake3.org/Sys_Admin_Guide 5 | 6 | [Service] 7 | User=q3a 8 | ExecStart=/usr/local/games/quake3/ioq3ded.x86_64 +set dedicated 2 9 | Restart=on-abort 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /misc/linux/server_compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | localPATH=`pwd` 3 | export BUILD_CLIENT="0" 4 | export BUILD_SERVER="1" 5 | export USE_CURL="1" 6 | export USE_CODEC_OPUS="1" 7 | export USE_VOIP="1" 8 | export COPYDIR="~/ioquake3" 9 | IOQ3REMOTE="https://github.com/ioquake/ioq3.git" 10 | IOQ3LOCAL="/tmp/ioquake3compile" 11 | JOPTS="-j2" 12 | echo "This process requires you to have the following installed through your distribution: 13 | make 14 | git 15 | and all of the ioquake3 dependencies necessary for an ioquake3 server. 16 | If you do not have the necessary dependencies this script will bail out. 17 | Please post a message to http://discourse.ioquake.org/ asking for help and include whatever error messages you received during the compile phase. 18 | Please edit this script. Inside you will find a COPYDIR variable you can alter to change where ioquake3 will be installed to." 19 | while true; do 20 | read -p "Are you ready to compile ioquake3 in the $IOQ3LOCAL directory, and have it installed into $COPYDIR? " yn 21 | case $yn in 22 | [Yy]* ) 23 | if [ -x "$(command -v git)" ] && [ -x "$(command -v make)" ] ; then 24 | git clone $IOQ3REMOTE $IOQ3LOCAL && cd $IOQ3LOCAL && make $JOPTS && make copyfiles && cd $localPATH && rm -rf $IOQ3LOCAL 25 | fi 26 | exit;; 27 | [Nn]* ) exit;; 28 | * ) echo "Please answer yes or no.";; 29 | esac 30 | done 31 | -------------------------------------------------------------------------------- /misc/linux/start_server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Edit this script to change the path to ioquake3's dedicated server executable and which binary if you aren't on x86_64." 3 | echo "Set the sv_dlURL setting to a url like http://yoursite.com/ioquake3_path for ioquake3 clients to download extra data." 4 | 5 | # sv_dlURL needs to have quotes escaped like \"http://yoursite.com/ioquake3_path\" or it will be set to "http:" in-game. 6 | 7 | ~/ioquake3/ioq3ded.x86_64 +set dedicated 2 +set sv_allowDownload 1 +set sv_dlURL \"\" +set com_hunkmegs 64 "$@" 8 | -------------------------------------------------------------------------------- /misc/msvc/cgame.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | vmMain 3 | dllEntry -------------------------------------------------------------------------------- /misc/msvc/game.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | dllEntry 3 | vmMain -------------------------------------------------------------------------------- /misc/msvc/glsl_stringify.vbs: -------------------------------------------------------------------------------- 1 | Dim fso, infile, outfile, line 2 | Set fso = CreateObject("Scripting.FileSystemObject") 3 | Set infile = fso.OpenTextFile(WScript.Arguments(0)) 4 | Set outfile = fso.CreateTextFile(WScript.Arguments(1), True) 5 | 6 | outfile.WriteLine("const char *fallbackShader_" & fso.GetBaseName(WScript.Arguments(0)) & " =") 7 | While Not infile.AtEndOfStream 8 | line = infile.ReadLine 9 | line = Replace(line, "\", "\\") 10 | line = Replace(line, Chr(9), "\t") 11 | line = Replace(line, Chr(34), "\" & chr(34)) 12 | line = Chr(34) & line & "\n" & Chr(34) 13 | outfile.WriteLine(line) 14 | Wend 15 | outfile.WriteLine(";") 16 | 17 | infile.Close 18 | outfile.Close -------------------------------------------------------------------------------- /misc/msvc/q3_ui.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | vmMain 3 | dllEntry -------------------------------------------------------------------------------- /misc/msvc/ui.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | vmMain 3 | dllEntry -------------------------------------------------------------------------------- /misc/msvc12/cgame.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | vmMain 3 | dllEntry -------------------------------------------------------------------------------- /misc/msvc12/game.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | dllEntry 3 | vmMain -------------------------------------------------------------------------------- /misc/msvc12/glsl_stringify.vbs: -------------------------------------------------------------------------------- 1 | Dim fso, infile, outfile, line 2 | Set fso = CreateObject("Scripting.FileSystemObject") 3 | Set infile = fso.OpenTextFile(WScript.Arguments(0)) 4 | Set outfile = fso.CreateTextFile(WScript.Arguments(1), True) 5 | 6 | outfile.WriteLine("const char *fallbackShader_" & fso.GetBaseName(WScript.Arguments(0)) & " =") 7 | While Not infile.AtEndOfStream 8 | line = infile.ReadLine 9 | line = Replace(line, "\", "\\") 10 | line = Replace(line, Chr(9), "\t") 11 | line = Replace(line, Chr(34), "\" & chr(34)) 12 | line = Chr(34) & line & "\n" & Chr(34) 13 | outfile.WriteLine(line) 14 | Wend 15 | outfile.WriteLine(";") 16 | 17 | infile.Close 18 | outfile.Close -------------------------------------------------------------------------------- /misc/msvc12/q3_ui.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | vmMain 3 | dllEntry -------------------------------------------------------------------------------- /misc/msvc12/ui.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | vmMain 3 | dllEntry -------------------------------------------------------------------------------- /misc/nsis/Makefile: -------------------------------------------------------------------------------- 1 | ifndef VERSION 2 | VERSION=1.36_SVN 3 | endif 4 | ifndef RELEASE 5 | RELEASE=0 6 | endif 7 | ifndef PLATFORM 8 | PLATFORM=mingw32 9 | endif 10 | ifndef ARCH 11 | ARCH=x86 12 | endif 13 | ifndef INSTALLDIR 14 | INSTALLDIR=. 15 | endif 16 | ifndef USE_RENDERER_DLOPEN 17 | USE_RENDERER_DLOPEN=1 18 | endif 19 | ifndef USE_OPENAL_DLOPEN 20 | USE_OPENAL_DLOPEN=1 21 | endif 22 | ifndef USE_CURL_DLOPEN 23 | USE_CURL_DLOPEN=0 24 | endif 25 | ifndef USE_INTERNAL_SPEEX 26 | USE_INTERNAL_SPEEX=1 27 | endif 28 | ifndef USE_INTERNAL_ZLIB 29 | USE_INTERNAL_ZLIB=1 30 | endif 31 | ifndef USE_INTERNAL_JPEG 32 | USE_INTERNAL_JPEG=1 33 | endif 34 | ifndef SDLDLL 35 | ifeq ($(ARCH),x86_64) 36 | SDLDLL=SDL264.dll 37 | else 38 | SDLDLL=SDL2.dll 39 | endif 40 | endif 41 | ifndef OPENALDLL 42 | ifeq ($(ARCH),x86_64) 43 | OPENALDLL=OpenAL64.dll 44 | else 45 | OPENALDLL=OpenAL32.dll 46 | endif 47 | endif 48 | 49 | DEFINES= 50 | ifeq ($(USE_RENDERER_DLOPEN),1) 51 | DEFINES+= -DUSE_RENDERER_DLOPEN 52 | endif 53 | ifeq ($(USE_OPENAL_DLOPEN),1) 54 | DEFINES+= -DUSE_OPENAL_DLOPEN 55 | endif 56 | ifeq ($(USE_CURL_DLOPEN),1) 57 | DEFINES+= -DUSE_CURL_DLOPEN 58 | endif 59 | ifeq ($(USE_INTERNAL_SPEEX),1) 60 | DEFINES+= -DUSE_INTERNAL_SPEEX 61 | endif 62 | ifeq ($(USE_INTERNAL_ZLIB),1) 63 | DEFINES+= -DUSE_INTERNAL_ZLIB 64 | endif 65 | ifeq ($(USE_INTERNAL_JPEG),1) 66 | DEFINES+= -DUSE_INTERNAL_JPEG 67 | endif 68 | 69 | 70 | all: ioquake3-$(VERSION)-$(RELEASE).$(ARCH).exe 71 | 72 | ioquake3.$(ARCH).nsi: ioquake3.nsi.in 73 | sed 's/XXXVERSIONXXX/$(VERSION)/;s/XXXRELEASEXXX/$(RELEASE)/;s/mingw32/$(PLATFORM)/g;s/x86/$(ARCH)/g;s/SDL2.dll/$(SDLDLL)/g;s/OpenAL32.dll/$(OPENALDLL)/g' < $< > $@ 74 | 75 | ioquake3-$(VERSION)-$(RELEASE).$(ARCH).exe: ioquake3.$(ARCH).nsi 76 | makensis $(DEFINES) ioquake3.$(ARCH).nsi 77 | 78 | clean: 79 | rm -rf *.exe ioquake3.$(ARCH).nsi 80 | 81 | install: 82 | mkdir -p $(INSTALLDIR) 83 | mv ioquake3-$(VERSION)-$(RELEASE).$(ARCH).exe $(INSTALLDIR) 84 | 85 | .PHONY: all clean 86 | 87 | -------------------------------------------------------------------------------- /misc/osx/start_server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Edit this script to change the path to ioquake3's dedicated server executable." 3 | echo "Set the sv_dlURL setting to a url like http://yoursite.com/ioquake3_path for ioquake3 clients to download extra data." 4 | 5 | # sv_dlURL needs to have quotes escaped like \"http://yoursite.com/ioquake3_path\" or it will be set to "http:" in-game. 6 | 7 | /Applications/ioquake3/ioquake3.app/Contents/MacOS/ioq3ded +set dedicated 2 +set sv_allowDownload 1 +set sv_dlURL \"\" +set com_hunkmegs 64 "$@" 8 | -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/Controller.h: -------------------------------------------------------------------------------- 1 | // 2 | // Controller.h 3 | // ioquake3fe 4 | // 5 | // Created by Ben Wilber on 3/11/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface Controller : NSObject { 12 | IBOutlet id argsTextField; 13 | NSTask *quakeTask; 14 | NSFileHandle *quakeOut; 15 | NSMutableData *quakeData; 16 | } 17 | 18 | - (IBAction)launch:(id)sender; 19 | - (void)readPipe:(NSNotification *)note; 20 | - (void)taskNote:(NSNotification *)note; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/osxfe/ioquake3fe/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/English.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/osxfe/ioquake3fe/English.lproj/Localizable.strings -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/ErrorWindow.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface ErrorWindow : NSObject { 4 | IBOutlet id errorWindow; 5 | IBOutlet id errorTextField; 6 | } 7 | 8 | - (void)bitch:(NSString *)errorlog; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/ErrorWindow.m: -------------------------------------------------------------------------------- 1 | #import "ErrorWindow.h" 2 | 3 | @implementation ErrorWindow 4 | 5 | - (void)bitch:(NSString *)errorlog { 6 | NSLog(errorlog); 7 | 8 | NSNib *nib = [[NSNib alloc] initWithNibNamed:@"ErrorWindow.nib" bundle:[NSBundle mainBundle]]; 9 | [nib instantiateNibWithOwner:self topLevelObjects:nil]; 10 | 11 | [errorWindow makeKeyWindow]; 12 | [errorTextField setFont:[NSFont userFixedPitchFontOfSize:12.0]]; 13 | [errorTextField setString:@""]; 14 | [[errorTextField textStorage] appendAttributedString:[[[NSAttributedString alloc] initWithString:errorlog] autorelease]]; 15 | [errorTextField scrollRangeToVisible:NSMakeRange([[errorTextField string] length], 0)]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/ErrorWindowController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ErrorWindowController.h 3 | // ioquake3fe 4 | // 5 | // Created by Ben Wilber on 3/11/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface ErrorWindowController : NSWindowController { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/ErrorWindowController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ErrorWindowController.m 3 | // ioquake3fe 4 | // 5 | // Created by Ben Wilber on 3/11/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "ErrorWindowController.h" 10 | 11 | @implementation ErrorWindowController 12 | 13 | // yes, a whole class just so the fucking app will quit 14 | 15 | - (BOOL)windowShouldClose:(id)sender { 16 | [NSApp terminate:self]; 17 | return YES; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | quake3_flat 11 | CFBundleIdentifier 12 | org.icculus.quake3 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | NSMainNibFile 26 | MainMenu 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/ioquake3.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/osxfe/ioquake3fe/ioquake3.icns -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/ioquake3fe.xcodeproj/TemplateIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/osxfe/ioquake3fe/ioquake3fe.xcodeproj/TemplateIcon.icns -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/ioquake3fe_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ioquake3fe' target in the 'ioquake3fe' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /misc/osxfe/ioquake3fe/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ioquake3fe 4 | // 5 | // Created by Ben Wilber on 3/11/09. 6 | // Copyright __MyCompanyName__ 2009. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **) argv); 14 | } 15 | -------------------------------------------------------------------------------- /misc/q3lite/Q3A_EULA.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/Q3A_EULA.txt -------------------------------------------------------------------------------- /misc/q3lite/Q3A_navigate.txt: -------------------------------------------------------------------------------- 1 | TO NAVIGATE USE: PAGE UP/PAGE DOWN, ARROW KEYS, TAB AND MOUSEWHEEL. 2 | SCROLL DOWN TO READ THE ENTIRE DOCUMENT. USE THE KEY TO 3 | SELECT < I Agree > OR < I Do Not Agree >. THEN USE THE KEY 4 | TO CONTINUE. 5 | -------------------------------------------------------------------------------- /misc/q3lite/img/app_menu.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/img/app_menu.jpg -------------------------------------------------------------------------------- /misc/q3lite/img/q3lite-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/img/q3lite-screenshot.jpg -------------------------------------------------------------------------------- /misc/q3lite/img/q3lite_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/img/q3lite_logo.gif -------------------------------------------------------------------------------- /misc/q3lite/img/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/img/spacer.gif -------------------------------------------------------------------------------- /misc/q3lite/pi/lxde-pi-applications.menu: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | Applications 7 | /etc/xdg/menus/lxde-pi-applications.menu 8 | 9 | 10 | Games 11 | 12 | 13 | Q3lite 14 | q3lite.directory 15 | 16 | 17 | Q3liteSubMenu 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /misc/q3lite/pi/q3lite.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Q3lite 3 | Comment=Quake3 for embedded systems 4 | Exec=sudo /usr/local/bin/q3lite 5 | Icon=/usr/share/pixmaps/q3lite.png 6 | Terminal=false 7 | Type=Application 8 | NoDisplay=false 9 | Categories=Q3liteSubMenu; 10 | StartupNotify=true 11 | -------------------------------------------------------------------------------- /misc/q3lite/pi/q3lite.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Name=Q3lite 4 | Comment=Quake3 for embedded processors 5 | Icon=folder 6 | Type=Directory 7 | Categories=Game; 8 | -------------------------------------------------------------------------------- /misc/q3lite/pi/q3lite_ded.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Q3lite Server 3 | Comment=Q3lite Dedicated Server 4 | Exec=lxterminal --geometry=100x50 -t "Q3lite Server Console" -e sudo /usr/local/bin/q3lite-ded 5 | Icon=/usr/share/pixmaps/q3lite_server.png 6 | Terminal=false 7 | Type=Application 8 | NoDisplay=false 9 | Categories=Q3liteSubMenu; 10 | StartupNotify=true 11 | -------------------------------------------------------------------------------- /misc/q3lite/pi/q3lite_ded.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=This service spawns a Quake3 Q3lite dedicated server. 3 | # Place this file in /lib/systemd/system 4 | # To enable this service to launch at boot time, enter in a terminal: systemctl enable q3lite_ded.service 5 | # To disable this service from launching at boot time, enter in a terminal: systemctl disable q3lite_ded.service 6 | # To check the state of all existing unit files, enter in a terminal: systemctl list-unit-files 7 | # Note that this service is run as root but the q3lite-ded script launches Q3lite as non-root user "quake3" by default. 8 | 9 | [Service] 10 | User=root 11 | ExecStart=/usr/local/bin/q3lite-ded 12 | Restart=on-abort 13 | # there are several options to tweak the server's performance: 14 | # net_port defines the UDP-port used for connections to the server 15 | # fs_game should be the mod you want to play. Not necessary for vanilla-q3/FFA 16 | # dedicated 0 is non-dedicted an not available with q3ded, 1 is LAN, 2 is Internet 17 | # sv_pure 1 prevents clients from using their own pk3-files 18 | # com_hunkmegs defaults to 56, should be 128/192/256 on a modern system(?) 19 | # rate 25000 defines the rate in which client & server communicate 20 | # snaps 40 defines gamestate-snapshots client & server exchange in secs 21 | # cl_maxpackets 125 max amount of FPS being counted on the server-side 22 | 23 | [Install] 24 | WantedBy=multi-user.target 25 | -------------------------------------------------------------------------------- /misc/q3lite/pi/q3lite_rcon.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Remote Console 3 | Comment=Background Server Remote Console 4 | Exec=/usr/local/bin/rcon 5 | Icon=/usr/share/pixmaps/q3lite_rcon.png 6 | Terminal=false 7 | Type=Application 8 | NoDisplay=false 9 | Categories=Q3liteSubMenu; 10 | StartupNotify=true 11 | -------------------------------------------------------------------------------- /misc/q3lite/pi/q3lite_timedemo.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Timedemo 3 | Comment=Timedemo Benchmark 4 | Exec=sudo /usr/local/bin/q3lite timedemo 5 | Icon=/usr/share/pixmaps/q3lite_timedemo.png 6 | Terminal=false 7 | Type=Application 8 | NoDisplay=false 9 | Categories=Q3liteSubMenu; 10 | StartupNotify=true 11 | -------------------------------------------------------------------------------- /misc/q3lite/pi/rcmd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (C) 2016-2017 cdev-tux - github.com/cdev-tux 3 | # This file is part of Q3lite source code. 4 | # See COPYING.txt for license details. 5 | 6 | logged_in_user=$(who | grep -m 1 "." | awk '{print $1}') 7 | if [ -z "$logged_in_user" ]; then 8 | q3l_user="pi" 9 | else 10 | q3l_user="$logged_in_user" 11 | fi 12 | q3l_userhome=$(sudo -u $q3l_user -H -s eval 'echo $HOME') 13 | pipefile="$q3l_userhome/.q3a/baseq3/pipefile" 14 | q3user="quake3" 15 | 16 | while true 17 | do 18 | sudo systemctl is-active q3lite_ded.service > /dev/null 19 | if [ "$?" -eq 0 ]; then 20 | rcon_command=$(whiptail --inputbox "\nType rcon command, then press [Enter]\nExample: timelimit 25" 11 45 3>&1 1>&2 2>&3) 21 | if [ $? -eq 1 ]; then 22 | break; 23 | fi 24 | else 25 | whiptail --msgbox "The background server isn't running.\nYou can start the server with: \nq3admin start" 11 45 26 | break; 27 | fi 28 | sudo -u $q3user echo -e "$rcon_command" >$pipefile & 29 | whiptail --msgbox "Rcon command sent to server:\n\n$rcon_command" 11 45 30 | done 31 | 32 | exit 0 33 | -------------------------------------------------------------------------------- /misc/q3lite/pi/rcon: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (C) 2016-2017 cdev-tux - github.com/cdev-tux 3 | # This file is part of Q3lite source code. 4 | # See COPYING.txt for license details. 5 | # 6 | # Rcon sends console commands to the Q3lite background server service. 7 | 8 | # Check to see if Rcon is already running. 9 | rcon_pid=$(ps aux | grep "[ ]bash /usr/local/bin/rcmd.sh" | awk '{print $2}') 10 | if [ -z "$rcon_pid" ]; then 11 | sudo lxterminal --geometry=45x11 -t "Q3lite Background Server Rcon" -e bash /usr/local/bin/rcmd.sh 12 | else 13 | echo -e "\nRcon is already running.\n" 14 | fi 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /misc/q3lite/q3lite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/q3lite.png -------------------------------------------------------------------------------- /misc/q3lite/q3lite_rcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/q3lite_rcon.png -------------------------------------------------------------------------------- /misc/q3lite/q3lite_server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/q3lite_server.png -------------------------------------------------------------------------------- /misc/q3lite/q3lite_timedemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/q3lite/q3lite_timedemo.png -------------------------------------------------------------------------------- /misc/quake3-tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3-tango.png -------------------------------------------------------------------------------- /misc/quake3-tango.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3-tango.xcf -------------------------------------------------------------------------------- /misc/quake3.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3.icns -------------------------------------------------------------------------------- /misc/quake3.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3.ico -------------------------------------------------------------------------------- /misc/quake3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3.png -------------------------------------------------------------------------------- /misc/quake3_flat.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.icns -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_128x128.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_128x128@2x.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_16x16.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_16x16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_16x16@2x.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_256x256.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_256x256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_256x256@2x.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_32x32.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_32x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_32x32@2x.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_512x512.png -------------------------------------------------------------------------------- /misc/quake3_flat.iconset/icon_512x512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cdev-tux/q3lite/46eb020bb9707d47abeffd2807bd77a3309a9cf5/misc/quake3_flat.iconset/icon_512x512@2x.png -------------------------------------------------------------------------------- /misc/setup/Makefile: -------------------------------------------------------------------------------- 1 | VERSION=1.36 2 | RELEASE=svn 3 | 4 | all: 5 | VERSION=$(VERSION) RELEASE=$(RELEASE) ./doit 6 | 7 | sign: 8 | for i in *.run; do \ 9 | gpg -bao $$i.asc $$i; \ 10 | done 11 | 12 | clean: 13 | rm -rf *.run image defines.m4 14 | 15 | .PHONY: all sign clean 16 | -------------------------------------------------------------------------------- /misc/setup/install-desktop-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | if ! test -e "$SETUP_INSTALLPATH"/ioquake3.desktop.in; then 4 | exit 0 5 | fi 6 | xdg_desktop_menu=`which xdg-desktop-menu 2>/dev/null` 7 | if test "x$xdg_desktop_menu" = x; then 8 | xdg_desktop_menu=./xdg-desktop-menu 9 | fi 10 | sed -e "s#^Exec=.*#Exec=$SETUP_INSTALLPATH/ioquake3#" \ 11 | -e "s#^Icon=.*#Icon=$SETUP_INSTALLPATH/quake3.png#" \ 12 | < $SETUP_INSTALLPATH/ioquake3.desktop.in \ 13 | > $SETUP_INSTALLPATH/ioquake3.desktop 14 | $xdg_desktop_menu install --novendor $SETUP_INSTALLPATH/ioquake3.desktop 15 | -------------------------------------------------------------------------------- /misc/setup/ioq3demo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | readlink() { 4 | local path=$1 ll 5 | 6 | if [ -L "$path" ]; then 7 | ll="$(LC_ALL=C ls -l "$path" 2> /dev/null)" && 8 | echo "${ll/* -> }" 9 | else 10 | return 1 11 | fi 12 | } 13 | 14 | script=$0 15 | count=0 16 | while [ -L "$script" ] 17 | do 18 | script=$(readlink "$script") 19 | count=`expr $count + 1` 20 | if [ $count -gt 100 ] 21 | then 22 | echo "Too many symbolic links" 23 | exit 1 24 | fi 25 | done 26 | cd "`dirname $script`" 27 | 28 | 29 | lib=lib 30 | test -e lib64 && lib=lib64 31 | 32 | if test "x$LD_LIBRARY_PATH" = x; then 33 | LD_LIBRARY_PATH="`pwd`/$lib" 34 | else 35 | LD_LIBRARY_PATH="`pwd`/$lib:$LD_LIBRARY_PATH" 36 | fi 37 | export LD_LIBRARY_PATH 38 | 39 | archs=`uname -m` 40 | case "$archs" in 41 | i?86) archs=x86 ;; 42 | x86_64) archs="x86_64 x86" ;; 43 | ppc64) archs="ppc64 ppc" ;; 44 | esac 45 | 46 | for arch in $archs; do 47 | test -x ./ioquake3.$arch || continue 48 | exec ./ioquake3.$arch +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0 +set fs_game demoq3 "$@" 49 | done 50 | echo "could not execute ioquake3" >&2 51 | -------------------------------------------------------------------------------- /misc/setup/ioquake3.SlackBuild: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CWD=`pwd` 4 | BASE=$CWD/../.. 5 | if [ "$TMP" = "" ]; then 6 | TMP=/tmp 7 | fi 8 | 9 | # clean, update 10 | make -C $BASE clean || exit 1 11 | svn up $BASE || exit 1 12 | 13 | # extract version info 14 | VERSION=`grep "\#define *PRODUCT_VERSION" $BASE/code/qcommon/q_shared.h | \ 15 | sed -e 's/[^"]*"\(.*\)"/\1/'` 16 | 17 | SVN_REV=`LANG=C svnversion $BASE` 18 | if [ ! "$SVN_REV" = "" ]; then 19 | VERSION=${VERSION}_SVN${SVN_REV} 20 | fi 21 | 22 | PKG_VERSION=$VERSION 23 | 24 | ARCH=${ARCH:-i586} 25 | 26 | if [ "$ARCH" = "i?86" ]; then 27 | ARCHSUFFIX="x86" 28 | elif [ "$ARCH" = "x86_64" ]; then 29 | ARCHSUFFIX="x86_64" 30 | fi 31 | 32 | BUILD=${BUILD:-1_io} 33 | 34 | APP=ioquake3 35 | 36 | PKG=$TMP/package-$APP 37 | 38 | rm -rf $PKG 39 | mkdir -p $PKG 40 | 41 | # build 42 | make -C $BASE release copyfiles COPYDIR="$PKG"/usr/games/$APP|| exit 1 43 | 44 | # copy additional files 45 | cp $BASE/BUGS $BASE/COPYING.txt $BASE/ChangeLog $BASE/README $PKG/usr/games/$APP/ 46 | cat $CWD/$APP.SlackBuild > $PKG/usr/games/$APP/$APP.SlackBuild 47 | 48 | mkdir -p $PKG/usr/share/$APP/icons 49 | cp $BASE/misc/quake3.png $PKG/usr/share/$APP/icons/ioquake3.png 50 | 51 | mkdir -p $PKG/usr/bin 52 | cat >> $PKG/usr/bin/ioquake3 << EOF 53 | #!/bin/sh 54 | cd /usr/games/$APP/ 55 | ./ioquake3.${ARCHSUFFIX} \$* 56 | exit \$? 57 | EOF 58 | chmod 754 $PKG/usr/bin/ioquake3 59 | 60 | mkdir -p $PKG/usr/bin 61 | cat >> $PKG/usr/bin/ioq3ded << EOF 62 | #!/bin/sh 63 | cd /usr/games/$APP/ 64 | ./ioq3ded.${ARCHSUFFIX} \$* 65 | exit \$? 66 | EOF 67 | chmod 754 $PKG/usr/bin/ioq3ded 68 | 69 | mkdir -p $PKG/install 70 | cat $CWD/slack-desc > $PKG/install/slack-desc 71 | 72 | cat >> $PKG/install/doinst.sh << EOF 73 | chmod 754 /usr/games/$APP/*.${ARCHSUFFIX} 74 | chmod 754 /usr/bin/ioquake3 /usr/bin/ioq3ded 75 | EOF 76 | chmod +x $PKG/install/doinst.sh 77 | 78 | pushd $PKG 79 | chown -R root:root install/ || exit 1 80 | chown -R root:games usr/ || exit 1 81 | /sbin/makepkg -l y -c n $TMP/$APP-$VERSION-$ARCH-$BUILD.tgz 82 | popd 83 | 84 | -------------------------------------------------------------------------------- /misc/setup/ioquake3.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=ioquake3 3 | Exec=ioquake3 4 | Icon=quake3 5 | Type=Application 6 | Terminal=false 7 | Encoding=UTF-8 8 | Categories=Game;ActionGame; 9 | X-SuSE-translate=false 10 | -------------------------------------------------------------------------------- /misc/setup/ioquake3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | readlink() { 4 | local path=$1 ll 5 | 6 | if [ -L "$path" ]; then 7 | ll="$(LC_ALL=C ls -l "$path" 2> /dev/null)" && 8 | echo "${ll##* -> }" 9 | else 10 | return 1 11 | fi 12 | } 13 | 14 | script=$0 15 | count=0 16 | while [ -L "$script" ] 17 | do 18 | script=$(readlink "$script") 19 | count=`expr $count + 1` 20 | if [ $count -gt 100 ] 21 | then 22 | echo "Too many symbolic links" 23 | exit 1 24 | fi 25 | done 26 | cd "`dirname $script`" 27 | 28 | 29 | lib=lib 30 | test -e lib64 && lib=lib64 31 | 32 | if test "x$LD_LIBRARY_PATH" = x; then 33 | LD_LIBRARY_PATH="`pwd`/$lib" 34 | else 35 | LD_LIBRARY_PATH="`pwd`/$lib:$LD_LIBRARY_PATH" 36 | fi 37 | export LD_LIBRARY_PATH 38 | 39 | archs=`uname -m` 40 | case "$archs" in 41 | i?86) archs=x86 ;; 42 | x86_64) archs="x86_64 x86" ;; 43 | ppc64) archs="ppc64 ppc" ;; 44 | esac 45 | 46 | for arch in $archs; do 47 | test -x ./ioquake3.$arch || continue 48 | exec ./ioquake3.$arch "$@" 49 | done 50 | echo "could not execute ioquake3" >&2 51 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioq3ded.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Rev: $Id: ioq3ded.sh,v 1.9 2006/01/18 13:47:42 raistlin Exp raistlin $ 3 | # Needed to make symlinks/shortcuts work. 4 | # the binaries must run with correct working directory 5 | 6 | IOQ3_DIR=/usr/local/share/games/quake3 7 | 8 | if [ "x${LD_LIBRARY_PATH}" = "x" ]; then 9 | LD_LIBRARY_PATH="${IOQ3_DIR}/lib" 10 | else 11 | LD_LIBRARY_PATH="${IOQ3_DIR}/lib:${LD_LIBRARY_PATH}" 12 | fi 13 | export LD_LIBRARY_PATH 14 | 15 | COMPILE_PLATFORM=`uname|sed -e 's/_.*//'|tr '[:upper:]' '[:lower:]'` 16 | COMPILE_ARCH=`uname -p | sed -e 's/i.86/x86/'` 17 | 18 | EXEC_REL=release 19 | 20 | # EXEC_BIN=ioquake3.${COMPILE_ARCH} 21 | # EXEC_BIN=ioquake3-smp.${COMPILE_ARCH} 22 | EXEC_BIN=ioq3ded.${COMPILE_ARCH} 23 | 24 | EXEC_FLAGS="+set fs_basepath ${IOQ3_DIR} +set vm_game 1 +set vm_cgame 1 +set vm_ui 1 +set sv_pure 1 +set ttycon 0 +set com_ansiColor 0" 25 | 26 | EXEC_DIR_LIST="${IOQ3_DIR}" 27 | 28 | for d in ${EXEC_DIR_LIST} 29 | do 30 | if [ -d $d ]; then 31 | EXEC_DIR=${d} 32 | break 33 | fi 34 | done 35 | 36 | if [ "X${EXEC_DIR}" != "X" ]; then 37 | if [ ! -x ${EXEC_DIR}/${EXEC_BIN} ]; then 38 | echo "Executable ${EXEC_DIR}/${EXEC_BIN} not found!" ; exit 1 39 | fi 40 | cd ${IOQ3_DIR} && \ 41 | ${EXEC_DIR}/${EXEC_BIN} ${EXEC_FLAGS} $* 42 | exit $? 43 | else 44 | echo "No ioq3 binaries found!" 45 | exit 1 46 | fi 47 | 48 | 49 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Rev: $Id: ioquake3.sh,v 1.11 2006/01/18 13:47:42 raistlin Exp raistlin $ 3 | # Needed to make symlinks/shortcuts work. 4 | # the binaries must run with correct working directory 5 | 6 | IOQ3_DIR=/usr/local/share/games/quake3 7 | 8 | if [ "x${LD_LIBRARY_PATH}" = "x" ]; then 9 | LD_LIBRARY_PATH="${IOQ3_DIR}/lib" 10 | else 11 | LD_LIBRARY_PATH="${IOQ3_DIR}/lib:${LD_LIBRARY_PATH}" 12 | fi 13 | export LD_LIBRARY_PATH 14 | 15 | COMPILE_PLATFORM=`uname|sed -e 's/_.*//'|tr '[:upper:]' '[:lower:]'` 16 | COMPILE_ARCH=`uname -p | sed -e 's/i.86/x86/'` 17 | 18 | EXEC_REL=release 19 | 20 | EXEC_BIN=ioquake3.${COMPILE_ARCH} 21 | # EXEC_BIN=ioquake3-smp.${COMPILE_ARCH} 22 | # EXEC_BIN=ioq3ded.${COMPILE_ARCH} 23 | 24 | EXEC_FLAGS="+set fs_basepath ${IOQ3_DIR} +set vm_game 1 +set vm_cgame 1 +set vm_ui 1 +set sv_pure 1 +set ttycon 0 +set com_ansiColor 0" 25 | 26 | EXEC_DIR_LIST="${IOQ3_DIR}" 27 | 28 | for d in ${EXEC_DIR_LIST} 29 | do 30 | if [ -d $d ]; then 31 | EXEC_DIR=${d} 32 | break 33 | fi 34 | done 35 | 36 | if [ "X${EXEC_DIR}" != "X" ]; then 37 | if [ ! -x ${EXEC_DIR}/${EXEC_BIN} ]; then 38 | echo "Executable ${EXEC_DIR}/${EXEC_BIN} not found!" ; exit 1 39 | fi 40 | cd ${IOQ3_DIR} && \ 41 | ${EXEC_DIR}/${EXEC_BIN} ${EXEC_FLAGS} $* 42 | exit $? 43 | else 44 | echo "No ioq3 binaries found!" 45 | exit 1 46 | fi 47 | 48 | 49 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3/depend: -------------------------------------------------------------------------------- 1 | P SUNWxwplt X Window System platform software 2 | P ioquake3d Icculus.Org Quake3 patch data files for Solaris 10 (X11,GLX,SDL) 3 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3/pkginfo.template: -------------------------------------------------------------------------------- 1 | CLASSES=none 2 | BASEDIR=/usr/local/share/games 3 | TZ=PST 4 | PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin 5 | PKG=ioquake3 6 | NAME=ioquake3 for Solaris 10 (X11,GLX,SDL) 7 | VERSION= 8 | CATEGORY=application,graphics,opengl 9 | DESC=Icculus.Org Quake3 for Solaris 10 (http://www.ioquake3.org/) 10 | VENDOR=http://www.ioquake3.org/ 11 | EMAIL=quake@cojot.name 12 | PKGSAV=/var/sadm/pkg/ioquake3/save 13 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3/postinstall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: postinstall,v 1.3 2006/01/21 12:54:52 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR/quake3 8 | dest_dir=${PKG_INSTALL_ROOT}/usr/local/bin 9 | 10 | if [ -d ${dest_dir} ]; then 11 | for inst_script in ioq3ded.sh ioquake3.sh 12 | do 13 | dest_script=${dest_dir}/${inst_script} 14 | if [ ! -h ${dest_script} ]; then 15 | ln -s ${quake3_dir}/${inst_script} ${dest_script} 16 | fi 17 | done 18 | fi 19 | 20 | exit 0 21 | 22 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3/postremove: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postremove $Id: postremove,v 1.3 2006/01/21 12:54:52 coyote Exp $ 4 | # 5 | # postremove script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | dest_dir=${PKG_INSTALL_ROOT}/usr/local/bin 9 | 10 | if [ -d ${dest_dir} ]; then 11 | for inst_script in ioq3ded.sh ioquake3.sh 12 | do 13 | dest_script=${dest_dir}/${inst_script} 14 | if [ -h ${dest_script} ]; then 15 | rm -f ${dest_script} 16 | fi 17 | done 18 | fi 19 | 20 | exit 0 21 | 22 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3/preinstall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: preinstall,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3/preremove: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: preremove,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3/prototype.template: -------------------------------------------------------------------------------- 1 | !default 0755 root bin 2 | i pkginfo 3 | i copyright 4 | i depend 5 | i postinstall 6 | i postremove 7 | i preinstall 8 | i preremove 9 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3/space: -------------------------------------------------------------------------------- 1 | /usr/local/share 20000 15 2 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3d/depend: -------------------------------------------------------------------------------- 1 | P SUNWxwplt X Window System platform software 2 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3d/pkginfo.template: -------------------------------------------------------------------------------- 1 | CLASSES=none 2 | BASEDIR=/usr/local/share/games 3 | TZ=PST 4 | PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin 5 | PKG=ioquake3d 6 | NAME=ioquake3 patch data files for Solaris 10 (X11,GLX,SDL) 7 | VERSION= 8 | CATEGORY=application,graphics,opengl 9 | DESC=ioquake3 patch data files for Solaris 10 (http://www.ioquake3.org/) 10 | VENDOR=http://www.ioquake3.org/ 11 | EMAIL=quake@cojot.name 12 | PKGSAV=/var/sadm/pkg/ioquake3d/save 13 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3d/postinstall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: postinstall,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3d/postremove: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: postremove,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3d/preinstall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: preinstall,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3d/preremove: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: preremove,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3d/prototype.template: -------------------------------------------------------------------------------- 1 | !default 0755 root bin 2 | i pkginfo 3 | i depend 4 | i postinstall 5 | i postremove 6 | i preinstall 7 | i preremove 8 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3d/space: -------------------------------------------------------------------------------- 1 | /usr/local/share 50000 100 2 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3m/depend: -------------------------------------------------------------------------------- 1 | P SUNWxwplt X Window System platform software 2 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3m/pkginfo.template: -------------------------------------------------------------------------------- 1 | CLASSES=none 2 | BASEDIR=/usr/local/share/games 3 | TZ=PST 4 | PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin 5 | PKG=ioquake3m 6 | NAME=ioquake3 demo data files for Solaris 10 (X11,GLX,SDL) 7 | VERSION= 8 | CATEGORY=application,graphics,opengl 9 | DESC=ioquake3 demo data files for Solaris 10 (http://www.ioquake3.org/) 10 | VENDOR=http://www.ioquake3.org/ 11 | EMAIL=quake@cojot.name 12 | PKGSAV=/var/sadm/pkg/ioquake3m/save 13 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3m/postinstall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: postinstall,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3m/postremove: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: postremove,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3m/preinstall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: preinstall,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3m/preremove: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # @(#)postinstall $Id: preremove,v 1.2 2006/01/25 13:22:56 coyote Exp $ 4 | # 5 | # postinstall script for quake3 6 | 7 | quake3_dir=$BASEDIR 8 | 9 | exit 0 10 | 11 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3m/prototype.template: -------------------------------------------------------------------------------- 1 | !default 0755 root bin 2 | i pkginfo 3 | i depend 4 | i postinstall 5 | i postremove 6 | i preinstall 7 | i preremove 8 | -------------------------------------------------------------------------------- /misc/setup/pkg/ioquake3m/space: -------------------------------------------------------------------------------- 1 | /usr/local/share 50000 100 2 | -------------------------------------------------------------------------------- /misc/setup/preuninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rmdir --ignore-fail-on-non-empty demoq3 missionpack >/dev/null 2>&1 3 | if test -e "$SETUP_INSTALLPATH"/ioquake3.desktop.in; then 4 | xdg_desktop_menu=`which xdg-desktop-menu 2>/dev/null` 5 | if test "x$xdg_desktop_menu" = x; then 6 | xdg_desktop_menu=./xdg-desktop-menu 7 | fi 8 | $xdg_desktop_menu uninstall --novendor ioquake3.desktop 9 | rm ioquake3.desktop 10 | fi 11 | -------------------------------------------------------------------------------- /misc/setup/setup.xml.mod: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 33 | 34 | -------------------------------------------------------------------------------- /misc/setup/slack-desc: -------------------------------------------------------------------------------- 1 | |-----handy-ruler------------------------------------------------------| 2 | ioquake3: ioquake 3 - An open source Quake 3 distribution 3 | ioquake3: 4 | ioquake3: ioquake3 aims to build upon id Software's Quake 3 source code release. 5 | ioquake3: The source code was released on August 20, 2005 under the GPL. Since 6 | ioquake3: then code has been cleaned up, bugs have been fixed and features been 7 | ioquake3: added. 8 | ioquake3: The permanent goal is to create THE open source Quake 3 distribution 9 | ioquake3: upon which people base their games and projects. 10 | ioquake3: 11 | ioquake3: http://ioquake3.org/ 12 | ioquake3: 13 | -------------------------------------------------------------------------------- /misc/xcode/ioquake3-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | quake3_flat 11 | CFBundleIdentifier 12 | org.ioquake3.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.36 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 3cd8b49-2013-07-17 25 | CGDisableCoalescedUpdates 26 | 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | QUAKE III ARENA Copyright © 1999-2000 id Software, Inc. All rights reserved. 31 | NSPrincipalClass 32 | NSApplication 33 | 34 | 35 | -------------------------------------------------------------------------------- /misc/xcode/ioquake3-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'quake3' target in the 'quake3' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /misc/xcode/ioquake3.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 12 | 13 | 15 | 16 | 18 | 19 | 21 | 22 | 24 | 25 | 27 | 28 | 30 | 31 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /misc/xcode/xcode-readme.txt: -------------------------------------------------------------------------------- 1 | ioquake3 Xcode Projects 2 | Created & Maintained by Jeremiah Sypult & Contributors 3 | Updated: 2013/07/13 4 | 5 | 6 | GENERAL: 7 | From the ioquake3 root, navigate to misc/xcode and open the ioquake3.xcworkspace. The workspace embeds all the projects and currently builds universal (fat) binaries supporting i386 and x86_64. 8 | 9 | An older version of Xcode may be able to add support for PowerPC, but it is not currently supported in the Xcode version I produced these projects with (4.6.3). 10 | 11 | Hopefully people working with ioquake3 on OS X will benefit from using Xcodes IDE for building, hacking and debugging. 12 | 13 | 14 | LIBRARIES: 15 | - Game libraries (cgame, game, ui) compile to universal binary dylib for native (versus qvm bytecode/interpreted). 16 | - Renderer libraries also compile to universal binary dylib. The OpenGL 2 renderer project will normally show missing .c files in code/renderergl2/glsl. This is normal, as these .c files are automatically generated during the build process and deleted when building completes. This step is required in order for the renderer to link due to symbol dependencies in tr_glsl.c for fallback shaders. 17 | - ioquake3 searches for game & renderer libraries with an abbreviated architecture suffix in the filename. Xcode scripts handle symlink creation for the appropriate architectures at build time in order to support universal (fat) binaries. 18 | - Static libraries are used for botlib, jpeg and speex. 19 | - Currently links OS X system libcurl.dylib and libz.dylib. 20 | - SDL binary dylib is included. 21 | 22 | 23 | TODO: 24 | - dedicated support 25 | - missionpack support 26 | - curl.xcodeproj 27 | - ogg.xcodeproj (ogg vorbis support) 28 | - opusfile.xcodeproj 29 | - zlib.xcodeproj 30 | - q3asm.xcodeproj 31 | - q3cpp.xcodeproj 32 | - q3lcc.xcodeproj 33 | - q3rcc.xcodeproj 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | NO CARRIER 51 | 52 | -------------------------------------------------------------------------------- /ui/hud.txt: -------------------------------------------------------------------------------- 1 | // hud menu defs 2 | // 3 | { 4 | loadMenu { "ui/hud.menu" } 5 | loadMenu { "ui/score.menu" } 6 | loadMenu { "ui/teamscore.menu" } 7 | } 8 | -------------------------------------------------------------------------------- /ui/hud2.txt: -------------------------------------------------------------------------------- 1 | // hud menu defs 2 | // 3 | { 4 | loadMenu { "ui/min_hud.menu" } 5 | loadMenu { "ui/score.menu" } 6 | loadMenu { "ui/teamscore.menu" } 7 | } 8 | -------------------------------------------------------------------------------- /ui/ingame.txt: -------------------------------------------------------------------------------- 1 | // menu defs 2 | // 3 | { 4 | loadMenu { "ui/ingame.menu" } 5 | loadMenu { "ui/ingame_vote.menu" } 6 | loadMenu { "ui/ingame_about.menu" } 7 | loadMenu { "ui/ingame_controls.menu" } 8 | loadMenu { "ui/ingame_join.menu" } 9 | loadMenu { "ui/ingame_options.menu" } 10 | loadMenu { "ui/ingame_system.menu" } 11 | loadMenu { "ui/ingame_leave.menu" } 12 | loadMenu { "ui/ingame_player.menu" } 13 | loadMenu { "ui/ingame_addbot.menu" } 14 | loadMenu { "ui/ingame_callvote.menu" } 15 | loadMenu { "ui/ingame_orders.menu" } 16 | } 17 | -------------------------------------------------------------------------------- /ui/menus.txt: -------------------------------------------------------------------------------- 1 | // menu defs 2 | // 3 | { 4 | loadMenu { "ui/main.menu" } 5 | loadMenu { "ui/joinserver.menu" } 6 | loadMenu { "ui/filter.menu" } 7 | loadMenu { "ui/punkbuster.menu" } 8 | loadMenu { "ui/player.menu" } 9 | loadMenu { "ui/setup.menu" } 10 | loadMenu { "ui/fight.menu" } 11 | loadMenu { "ui/skirmish.menu" } 12 | loadMenu { "ui/createserver.menu" } 13 | loadMenu { "ui/controls.menu" } 14 | loadMenu { "ui/cdkey.menu" } 15 | loadMenu { "ui/system.menu" } 16 | loadMenu { "ui/options.menu" } 17 | loadMenu { "ui/help.menu" } 18 | loadMenu { "ui/ordershelp.menu" } 19 | loadMenu { "ui/mod.menu" } 20 | loadMenu { "ui/demo.menu" } 21 | loadMenu { "ui/cinematicmenu.menu" } 22 | loadMenu { "ui/credit.menu" } 23 | loadMenu { "ui/demo_quit.menu" } 24 | loadMenu { "ui/connect.menu" } 25 | loadMenu { "ui/powerup.menu" } 26 | loadMenu { "ui/password.menu" } 27 | loadMenu { "ui/quake3.menu" } 28 | loadMenu { "ui/quit.menu" } 29 | loadMenu { "ui/vid_restart.menu" } 30 | loadMenu { "ui/default.menu" } 31 | loadMenu { "ui/addfilter.menu" } 32 | loadMenu { "ui/error.menu" } 33 | loadMenu { "ui/serverinfo.menu" } 34 | loadMenu { "ui/findplayer.menu" } 35 | loadMenu { "ui/endofgame.menu" } 36 | loadMenu { "ui/quitcredit.menu" } 37 | loadMenu { "ui/resetscore.menu" } 38 | loadMenu { "ui/createfavorite.menu" } 39 | } 40 | --------------------------------------------------------------------------------