Showing preview only (4,870K chars total). Download the full file or copy to clipboard to get everything.
Repository: matricks/teeworlds
Branch: master
Commit: 30e6e0877b97
Files: 627
Total size: 4.6 MB
Directory structure:
gitextract_e20lamu3/
├── .gitignore
├── .gitmodules
├── bam.lua
├── configure.lua
├── data/
│ ├── audio/
│ │ ├── foley_body_impact-01.wv
│ │ ├── foley_body_impact-02.wv
│ │ ├── foley_body_impact-03.wv
│ │ ├── foley_body_splat-01.wv
│ │ ├── foley_body_splat-02.wv
│ │ ├── foley_body_splat-03.wv
│ │ ├── foley_body_splat-04.wv
│ │ ├── foley_dbljump-01.wv
│ │ ├── foley_dbljump-02.wv
│ │ ├── foley_dbljump-03.wv
│ │ ├── foley_foot_left-01.wv
│ │ ├── foley_foot_left-02.wv
│ │ ├── foley_foot_left-03.wv
│ │ ├── foley_foot_left-04.wv
│ │ ├── foley_foot_right-01.wv
│ │ ├── foley_foot_right-02.wv
│ │ ├── foley_foot_right-03.wv
│ │ ├── foley_foot_right-04.wv
│ │ ├── foley_land-01.wv
│ │ ├── foley_land-02.wv
│ │ ├── foley_land-03.wv
│ │ ├── foley_land-04.wv
│ │ ├── hook_attach-01.wv
│ │ ├── hook_attach-02.wv
│ │ ├── hook_attach-03.wv
│ │ ├── hook_loop-01.wv
│ │ ├── hook_loop-02.wv
│ │ ├── hook_noattach-01.wv
│ │ ├── hook_noattach-02.wv
│ │ ├── hook_noattach-03.wv
│ │ ├── music_menu.wv
│ │ ├── sfx_ctf_cap_pl.wv
│ │ ├── sfx_ctf_drop.wv
│ │ ├── sfx_ctf_grab_en.wv
│ │ ├── sfx_ctf_grab_pl.wv
│ │ ├── sfx_ctf_rtn.wv
│ │ ├── sfx_hit_strong-01.wv
│ │ ├── sfx_hit_strong-02.wv
│ │ ├── sfx_hit_weak-01.wv
│ │ ├── sfx_hit_weak-02.wv
│ │ ├── sfx_hit_weak-03.wv
│ │ ├── sfx_msg-client.wv
│ │ ├── sfx_msg-highlight.wv
│ │ ├── sfx_msg-server.wv
│ │ ├── sfx_pickup_arm-01.wv
│ │ ├── sfx_pickup_arm-02.wv
│ │ ├── sfx_pickup_arm-03.wv
│ │ ├── sfx_pickup_arm-04.wv
│ │ ├── sfx_pickup_gun.wv
│ │ ├── sfx_pickup_hrt-01.wv
│ │ ├── sfx_pickup_hrt-02.wv
│ │ ├── sfx_pickup_launcher.wv
│ │ ├── sfx_pickup_ninja.wv
│ │ ├── sfx_pickup_sg.wv
│ │ ├── sfx_skid-01.wv
│ │ ├── sfx_skid-02.wv
│ │ ├── sfx_skid-03.wv
│ │ ├── sfx_skid-04.wv
│ │ ├── sfx_spawn_wpn-01.wv
│ │ ├── sfx_spawn_wpn-02.wv
│ │ ├── sfx_spawn_wpn-03.wv
│ │ ├── vo_teefault_cry-01.wv
│ │ ├── vo_teefault_cry-02.wv
│ │ ├── vo_teefault_ninja-01.wv
│ │ ├── vo_teefault_ninja-02.wv
│ │ ├── vo_teefault_ninja-03.wv
│ │ ├── vo_teefault_ninja-04.wv
│ │ ├── vo_teefault_pain_long-01.wv
│ │ ├── vo_teefault_pain_long-02.wv
│ │ ├── vo_teefault_pain_short-01.wv
│ │ ├── vo_teefault_pain_short-02.wv
│ │ ├── vo_teefault_pain_short-03.wv
│ │ ├── vo_teefault_pain_short-04.wv
│ │ ├── vo_teefault_pain_short-05.wv
│ │ ├── vo_teefault_pain_short-06.wv
│ │ ├── vo_teefault_pain_short-07.wv
│ │ ├── vo_teefault_pain_short-08.wv
│ │ ├── vo_teefault_pain_short-09.wv
│ │ ├── vo_teefault_pain_short-10.wv
│ │ ├── vo_teefault_pain_short-11.wv
│ │ ├── vo_teefault_pain_short-12.wv
│ │ ├── vo_teefault_sledge-01.wv
│ │ ├── vo_teefault_sledge-02.wv
│ │ ├── vo_teefault_sledge-03.wv
│ │ ├── vo_teefault_spawn-01.wv
│ │ ├── vo_teefault_spawn-02.wv
│ │ ├── vo_teefault_spawn-03.wv
│ │ ├── vo_teefault_spawn-04.wv
│ │ ├── vo_teefault_spawn-05.wv
│ │ ├── vo_teefault_spawn-06.wv
│ │ ├── vo_teefault_spawn-07.wv
│ │ ├── wp_flump_explo-01.wv
│ │ ├── wp_flump_explo-02.wv
│ │ ├── wp_flump_explo-03.wv
│ │ ├── wp_flump_launch-01.wv
│ │ ├── wp_flump_launch-02.wv
│ │ ├── wp_flump_launch-03.wv
│ │ ├── wp_gun_fire-01.wv
│ │ ├── wp_gun_fire-02.wv
│ │ ├── wp_gun_fire-03.wv
│ │ ├── wp_hammer_hit-01.wv
│ │ ├── wp_hammer_hit-02.wv
│ │ ├── wp_hammer_hit-03.wv
│ │ ├── wp_hammer_swing-01.wv
│ │ ├── wp_hammer_swing-02.wv
│ │ ├── wp_hammer_swing-03.wv
│ │ ├── wp_laser_bnce-01.wv
│ │ ├── wp_laser_bnce-02.wv
│ │ ├── wp_laser_bnce-03.wv
│ │ ├── wp_laser_fire-01.wv
│ │ ├── wp_laser_fire-02.wv
│ │ ├── wp_laser_fire-03.wv
│ │ ├── wp_ninja_attack-01.wv
│ │ ├── wp_ninja_attack-02.wv
│ │ ├── wp_ninja_attack-03.wv
│ │ ├── wp_ninja_attack-04.wv
│ │ ├── wp_ninja_hit-01.wv
│ │ ├── wp_ninja_hit-02.wv
│ │ ├── wp_ninja_hit-03.wv
│ │ ├── wp_ninja_hit-04.wv
│ │ ├── wp_noammo-01.wv
│ │ ├── wp_noammo-02.wv
│ │ ├── wp_noammo-03.wv
│ │ ├── wp_noammo-04.wv
│ │ ├── wp_noammo-05.wv
│ │ ├── wp_shotty_fire-01.wv
│ │ ├── wp_shotty_fire-02.wv
│ │ ├── wp_shotty_fire-03.wv
│ │ ├── wp_switch-01.wv
│ │ ├── wp_switch-02.wv
│ │ └── wp_switch-03.wv
│ ├── countryflags/
│ │ └── index.json
│ ├── editor/
│ │ ├── automap/
│ │ │ ├── grass_doodads.json
│ │ │ └── grass_main.json
│ │ ├── desert_main.rules
│ │ ├── grass_main.rules
│ │ ├── jungle_main.rules
│ │ └── winter_main.rules
│ ├── fonts/
│ │ ├── LICENSE
│ │ └── VERSION
│ └── skins/
│ ├── bluekitty.json
│ ├── bluestripe.json
│ ├── brownbear.json
│ ├── cammo.json
│ ├── cammostripes.json
│ ├── coala.json
│ ├── default.json
│ ├── limekitty.json
│ ├── pinky.json
│ ├── redbopp.json
│ ├── redstripe.json
│ ├── saddo.json
│ ├── toptri.json
│ ├── twinbop.json
│ ├── twintri.json
│ ├── warpaint.json
│ └── x_ninja.json
├── datasrc/
│ ├── compile.py
│ ├── content.py
│ ├── datatypes.py
│ └── network.py
├── license.txt
├── other/
│ ├── config_directory.bat
│ ├── freetype/
│ │ ├── VERSION
│ │ ├── freetype.lua
│ │ ├── include/
│ │ │ ├── freetype/
│ │ │ │ ├── config/
│ │ │ │ │ ├── ftconfig.h
│ │ │ │ │ ├── ftheader.h
│ │ │ │ │ ├── ftmodule.h
│ │ │ │ │ ├── ftoption.h
│ │ │ │ │ └── ftstdlib.h
│ │ │ │ ├── freetype.h
│ │ │ │ ├── ftadvanc.h
│ │ │ │ ├── ftbbox.h
│ │ │ │ ├── ftbdf.h
│ │ │ │ ├── ftbitmap.h
│ │ │ │ ├── ftbzip2.h
│ │ │ │ ├── ftcache.h
│ │ │ │ ├── ftchapters.h
│ │ │ │ ├── ftcid.h
│ │ │ │ ├── fterrdef.h
│ │ │ │ ├── fterrors.h
│ │ │ │ ├── ftgasp.h
│ │ │ │ ├── ftglyph.h
│ │ │ │ ├── ftgxval.h
│ │ │ │ ├── ftgzip.h
│ │ │ │ ├── ftimage.h
│ │ │ │ ├── ftincrem.h
│ │ │ │ ├── ftlcdfil.h
│ │ │ │ ├── ftlist.h
│ │ │ │ ├── ftlzw.h
│ │ │ │ ├── ftmac.h
│ │ │ │ ├── ftmm.h
│ │ │ │ ├── ftmodapi.h
│ │ │ │ ├── ftmoderr.h
│ │ │ │ ├── ftotval.h
│ │ │ │ ├── ftoutln.h
│ │ │ │ ├── ftpfr.h
│ │ │ │ ├── ftrender.h
│ │ │ │ ├── ftsizes.h
│ │ │ │ ├── ftsnames.h
│ │ │ │ ├── ftstroke.h
│ │ │ │ ├── ftsynth.h
│ │ │ │ ├── ftsystem.h
│ │ │ │ ├── fttrigon.h
│ │ │ │ ├── fttypes.h
│ │ │ │ ├── ftwinfnt.h
│ │ │ │ ├── ftxf86.h
│ │ │ │ ├── internal/
│ │ │ │ │ ├── autohint.h
│ │ │ │ │ ├── ftcalc.h
│ │ │ │ │ ├── ftdebug.h
│ │ │ │ │ ├── ftdriver.h
│ │ │ │ │ ├── ftgloadr.h
│ │ │ │ │ ├── ftmemory.h
│ │ │ │ │ ├── ftobjs.h
│ │ │ │ │ ├── ftpic.h
│ │ │ │ │ ├── ftrfork.h
│ │ │ │ │ ├── ftserv.h
│ │ │ │ │ ├── ftstream.h
│ │ │ │ │ ├── fttrace.h
│ │ │ │ │ ├── ftvalid.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── psaux.h
│ │ │ │ │ ├── pshints.h
│ │ │ │ │ ├── services/
│ │ │ │ │ │ ├── svbdf.h
│ │ │ │ │ │ ├── svcid.h
│ │ │ │ │ │ ├── svgldict.h
│ │ │ │ │ │ ├── svgxval.h
│ │ │ │ │ │ ├── svkern.h
│ │ │ │ │ │ ├── svmm.h
│ │ │ │ │ │ ├── svotval.h
│ │ │ │ │ │ ├── svpfr.h
│ │ │ │ │ │ ├── svpostnm.h
│ │ │ │ │ │ ├── svpscmap.h
│ │ │ │ │ │ ├── svpsinfo.h
│ │ │ │ │ │ ├── svsfnt.h
│ │ │ │ │ │ ├── svttcmap.h
│ │ │ │ │ │ ├── svtteng.h
│ │ │ │ │ │ ├── svttglyf.h
│ │ │ │ │ │ ├── svwinfnt.h
│ │ │ │ │ │ └── svxf86nm.h
│ │ │ │ │ ├── sfnt.h
│ │ │ │ │ ├── t1types.h
│ │ │ │ │ └── tttypes.h
│ │ │ │ ├── t1tables.h
│ │ │ │ ├── ttnameid.h
│ │ │ │ ├── tttables.h
│ │ │ │ ├── tttags.h
│ │ │ │ └── ttunpat.h
│ │ │ └── ft2build.h
│ │ ├── lib32/
│ │ │ └── freetype.lib
│ │ └── lib64/
│ │ └── freetype.lib
│ ├── icons/
│ │ ├── Teeworlds.icns
│ │ ├── Teeworlds_srv.icns
│ │ ├── teeworlds_cl.rc
│ │ ├── teeworlds_gcc.rc
│ │ ├── teeworlds_srv_cl.rc
│ │ └── teeworlds_srv_gcc.rc
│ └── sdl/
│ ├── include/
│ │ ├── SDL.h
│ │ ├── SDL_active.h
│ │ ├── SDL_audio.h
│ │ ├── SDL_byteorder.h
│ │ ├── SDL_cdrom.h
│ │ ├── SDL_config.h
│ │ ├── SDL_config.h.default
│ │ ├── SDL_config.h.in
│ │ ├── SDL_config_amiga.h
│ │ ├── SDL_config_dreamcast.h
│ │ ├── SDL_config_macos.h
│ │ ├── SDL_config_macosx.h
│ │ ├── SDL_config_minimal.h
│ │ ├── SDL_config_nds.h
│ │ ├── SDL_config_os2.h
│ │ ├── SDL_config_symbian.h
│ │ ├── SDL_config_win32.h
│ │ ├── SDL_copying.h
│ │ ├── SDL_cpuinfo.h
│ │ ├── SDL_endian.h
│ │ ├── SDL_error.h
│ │ ├── SDL_events.h
│ │ ├── SDL_getenv.h
│ │ ├── SDL_joystick.h
│ │ ├── SDL_keyboard.h
│ │ ├── SDL_keysym.h
│ │ ├── SDL_loadso.h
│ │ ├── SDL_main.h
│ │ ├── SDL_mouse.h
│ │ ├── SDL_mutex.h
│ │ ├── SDL_name.h
│ │ ├── SDL_opengl.h
│ │ ├── SDL_platform.h
│ │ ├── SDL_quit.h
│ │ ├── SDL_rwops.h
│ │ ├── SDL_stdinc.h
│ │ ├── SDL_syswm.h
│ │ ├── SDL_thread.h
│ │ ├── SDL_timer.h
│ │ ├── SDL_types.h
│ │ ├── SDL_version.h
│ │ ├── SDL_video.h
│ │ ├── begin_code.h
│ │ └── close_code.h
│ ├── lib32/
│ │ ├── SDL.lib
│ │ └── SDLmain.lib
│ ├── lib64/
│ │ ├── SDL.lib
│ │ └── SDLmain.lib
│ ├── sdl.lua
│ └── sdlnotes.txt
├── readme.txt
├── scripts/
│ ├── SDL_keysym.h
│ ├── build.py
│ ├── check_header_guards.py
│ ├── cmd5.py
│ ├── compiler.py
│ ├── copyright.py
│ ├── count_source.sh
│ ├── dat2c.py
│ ├── font_converter.py
│ ├── font_installer.sh
│ ├── gen_keys.py
│ ├── linecount.sh
│ ├── make_docs.sh
│ ├── make_release.py
│ ├── make_src.py
│ ├── mass_server.py
│ ├── netobj.py
│ ├── nicks.txt
│ ├── png.py
│ ├── process_blame.py
│ ├── refactor_count.py
│ ├── tw_api.py
│ ├── twlib.py
│ └── update_localization.py
├── src/
│ ├── base/
│ │ ├── detect.h
│ │ ├── math.h
│ │ ├── system.c
│ │ ├── system.h
│ │ ├── tl/
│ │ │ ├── algorithm.h
│ │ │ ├── allocator.h
│ │ │ ├── array.h
│ │ │ ├── base.h
│ │ │ ├── range.h
│ │ │ ├── sorted_array.h
│ │ │ ├── string.h
│ │ │ └── threading.h
│ │ └── vmath.h
│ ├── engine/
│ │ ├── client/
│ │ │ ├── backend_sdl.cpp
│ │ │ ├── backend_sdl.h
│ │ │ ├── client.cpp
│ │ │ ├── client.h
│ │ │ ├── friends.cpp
│ │ │ ├── friends.h
│ │ │ ├── graphics_threaded.cpp
│ │ │ ├── graphics_threaded.h
│ │ │ ├── input.cpp
│ │ │ ├── input.h
│ │ │ ├── keynames.h
│ │ │ ├── serverbrowser.cpp
│ │ │ ├── serverbrowser.h
│ │ │ ├── sound.cpp
│ │ │ ├── sound.h
│ │ │ └── text.cpp
│ │ ├── client.h
│ │ ├── config.h
│ │ ├── console.h
│ │ ├── demo.h
│ │ ├── docs/
│ │ │ ├── client_time.txt
│ │ │ ├── prediction.txt
│ │ │ ├── server_op.txt
│ │ │ └── snapshots.txt
│ │ ├── editor.h
│ │ ├── engine.h
│ │ ├── external/
│ │ │ ├── important.txt
│ │ │ ├── json-parser/
│ │ │ │ ├── json.c
│ │ │ │ └── json.h
│ │ │ ├── pnglite/
│ │ │ │ ├── VERSION
│ │ │ │ ├── pnglite.c
│ │ │ │ └── pnglite.h
│ │ │ ├── wavpack/
│ │ │ │ ├── VERSION
│ │ │ │ ├── arm.S
│ │ │ │ ├── arml.S
│ │ │ │ ├── bits.c
│ │ │ │ ├── coldfire.S
│ │ │ │ ├── float.c
│ │ │ │ ├── license.txt
│ │ │ │ ├── metadata.c
│ │ │ │ ├── readme.txt
│ │ │ │ ├── unpack.c
│ │ │ │ ├── wavpack.h
│ │ │ │ ├── words.c
│ │ │ │ ├── wputils.c
│ │ │ │ └── wvfilter.c.no_compile
│ │ │ └── zlib/
│ │ │ ├── VERSION
│ │ │ ├── adler32.c
│ │ │ ├── compress.c
│ │ │ ├── crc32.c
│ │ │ ├── crc32.h
│ │ │ ├── deflate.c
│ │ │ ├── deflate.h
│ │ │ ├── infback.c
│ │ │ ├── inffast.c
│ │ │ ├── inffast.h
│ │ │ ├── inffixed.h
│ │ │ ├── inflate.c
│ │ │ ├── inflate.h
│ │ │ ├── inftrees.c
│ │ │ ├── inftrees.h
│ │ │ ├── trees.c
│ │ │ ├── trees.h
│ │ │ ├── uncompr.c
│ │ │ ├── zconf.h
│ │ │ ├── zlib.h
│ │ │ ├── zutil.c
│ │ │ └── zutil.h
│ │ ├── friends.h
│ │ ├── graphics.h
│ │ ├── input.h
│ │ ├── kernel.h
│ │ ├── keys.h
│ │ ├── map.h
│ │ ├── masterserver.h
│ │ ├── message.h
│ │ ├── server/
│ │ │ ├── register.cpp
│ │ │ ├── register.h
│ │ │ ├── server.cpp
│ │ │ └── server.h
│ │ ├── server.h
│ │ ├── serverbrowser.h
│ │ ├── shared/
│ │ │ ├── compression.cpp
│ │ │ ├── compression.h
│ │ │ ├── config.cpp
│ │ │ ├── config.h
│ │ │ ├── config_variables.h
│ │ │ ├── console.cpp
│ │ │ ├── console.h
│ │ │ ├── datafile.cpp
│ │ │ ├── datafile.h
│ │ │ ├── demo.cpp
│ │ │ ├── demo.h
│ │ │ ├── econ.cpp
│ │ │ ├── econ.h
│ │ │ ├── engine.cpp
│ │ │ ├── filecollection.cpp
│ │ │ ├── filecollection.h
│ │ │ ├── huffman.cpp
│ │ │ ├── huffman.h
│ │ │ ├── jobs.cpp
│ │ │ ├── jobs.h
│ │ │ ├── kernel.cpp
│ │ │ ├── linereader.cpp
│ │ │ ├── linereader.h
│ │ │ ├── map.cpp
│ │ │ ├── mapchecker.cpp
│ │ │ ├── mapchecker.h
│ │ │ ├── masterserver.cpp
│ │ │ ├── memheap.cpp
│ │ │ ├── memheap.h
│ │ │ ├── message.h
│ │ │ ├── netban.cpp
│ │ │ ├── netban.h
│ │ │ ├── network.cpp
│ │ │ ├── network.h
│ │ │ ├── network_client.cpp
│ │ │ ├── network_conn.cpp
│ │ │ ├── network_console.cpp
│ │ │ ├── network_console_conn.cpp
│ │ │ ├── network_server.cpp
│ │ │ ├── packer.cpp
│ │ │ ├── packer.h
│ │ │ ├── protocol.h
│ │ │ ├── ringbuffer.cpp
│ │ │ ├── ringbuffer.h
│ │ │ ├── snapshot.cpp
│ │ │ ├── snapshot.h
│ │ │ └── storage.cpp
│ │ ├── sound.h
│ │ ├── storage.h
│ │ └── textrender.h
│ ├── game/
│ │ ├── client/
│ │ │ ├── animstate.cpp
│ │ │ ├── animstate.h
│ │ │ ├── component.h
│ │ │ ├── components/
│ │ │ │ ├── binds.cpp
│ │ │ │ ├── binds.h
│ │ │ │ ├── broadcast.cpp
│ │ │ │ ├── broadcast.h
│ │ │ │ ├── camera.cpp
│ │ │ │ ├── camera.h
│ │ │ │ ├── chat.cpp
│ │ │ │ ├── chat.h
│ │ │ │ ├── console.cpp
│ │ │ │ ├── console.h
│ │ │ │ ├── controls.cpp
│ │ │ │ ├── controls.h
│ │ │ │ ├── countryflags.cpp
│ │ │ │ ├── countryflags.h
│ │ │ │ ├── damageind.cpp
│ │ │ │ ├── damageind.h
│ │ │ │ ├── debughud.cpp
│ │ │ │ ├── debughud.h
│ │ │ │ ├── effects.cpp
│ │ │ │ ├── effects.h
│ │ │ │ ├── emoticon.cpp
│ │ │ │ ├── emoticon.h
│ │ │ │ ├── flow.cpp
│ │ │ │ ├── flow.h
│ │ │ │ ├── hud.cpp
│ │ │ │ ├── hud.h
│ │ │ │ ├── items.cpp
│ │ │ │ ├── items.h
│ │ │ │ ├── killmessages.cpp
│ │ │ │ ├── killmessages.h
│ │ │ │ ├── mapimages.cpp
│ │ │ │ ├── mapimages.h
│ │ │ │ ├── maplayers.cpp
│ │ │ │ ├── maplayers.h
│ │ │ │ ├── menus.cpp
│ │ │ │ ├── menus.h
│ │ │ │ ├── menus_browser.cpp
│ │ │ │ ├── menus_callback.cpp
│ │ │ │ ├── menus_demo.cpp
│ │ │ │ ├── menus_ingame.cpp
│ │ │ │ ├── menus_popups.cpp
│ │ │ │ ├── menus_settings.cpp
│ │ │ │ ├── menus_start.cpp
│ │ │ │ ├── motd.cpp
│ │ │ │ ├── motd.h
│ │ │ │ ├── nameplates.cpp
│ │ │ │ ├── nameplates.h
│ │ │ │ ├── particles.cpp
│ │ │ │ ├── particles.h
│ │ │ │ ├── players.cpp
│ │ │ │ ├── players.h
│ │ │ │ ├── scoreboard.cpp
│ │ │ │ ├── scoreboard.h
│ │ │ │ ├── skins.cpp
│ │ │ │ ├── skins.h
│ │ │ │ ├── sounds.cpp
│ │ │ │ ├── sounds.h
│ │ │ │ ├── spectator.cpp
│ │ │ │ ├── spectator.h
│ │ │ │ ├── voting.cpp
│ │ │ │ └── voting.h
│ │ │ ├── gameclient.cpp
│ │ │ ├── gameclient.h
│ │ │ ├── lineinput.cpp
│ │ │ ├── lineinput.h
│ │ │ ├── localization.cpp
│ │ │ ├── localization.h
│ │ │ ├── render.cpp
│ │ │ ├── render.h
│ │ │ ├── render_map.cpp
│ │ │ ├── ui.cpp
│ │ │ └── ui.h
│ │ ├── collision.cpp
│ │ ├── collision.h
│ │ ├── editor/
│ │ │ ├── auto_map.cpp
│ │ │ ├── auto_map.h
│ │ │ ├── editor.cpp
│ │ │ ├── editor.h
│ │ │ ├── io.cpp
│ │ │ ├── layer_game.cpp
│ │ │ ├── layer_quads.cpp
│ │ │ ├── layer_tiles.cpp
│ │ │ └── popups.cpp
│ │ ├── gamecore.cpp
│ │ ├── gamecore.h
│ │ ├── layers.cpp
│ │ ├── layers.h
│ │ ├── mapitems.h
│ │ ├── server/
│ │ │ ├── alloc.h
│ │ │ ├── entities/
│ │ │ │ ├── character.cpp
│ │ │ │ ├── character.h
│ │ │ │ ├── flag.cpp
│ │ │ │ ├── flag.h
│ │ │ │ ├── laser.cpp
│ │ │ │ ├── laser.h
│ │ │ │ ├── pickup.cpp
│ │ │ │ ├── pickup.h
│ │ │ │ ├── projectile.cpp
│ │ │ │ └── projectile.h
│ │ │ ├── entity.cpp
│ │ │ ├── entity.h
│ │ │ ├── eventhandler.cpp
│ │ │ ├── eventhandler.h
│ │ │ ├── gamecontext.cpp
│ │ │ ├── gamecontext.h
│ │ │ ├── gamecontroller.cpp
│ │ │ ├── gamecontroller.h
│ │ │ ├── gamemodes/
│ │ │ │ ├── ctf.cpp
│ │ │ │ ├── ctf.h
│ │ │ │ ├── dm.cpp
│ │ │ │ ├── dm.h
│ │ │ │ ├── lms.cpp
│ │ │ │ ├── lms.h
│ │ │ │ ├── mod.cpp
│ │ │ │ ├── mod.h
│ │ │ │ ├── sur.cpp
│ │ │ │ ├── sur.h
│ │ │ │ ├── tdm.cpp
│ │ │ │ └── tdm.h
│ │ │ ├── gameworld.cpp
│ │ │ ├── gameworld.h
│ │ │ ├── player.cpp
│ │ │ └── player.h
│ │ ├── tuning.h
│ │ ├── variables.h
│ │ ├── version.h
│ │ └── voting.h
│ ├── mastersrv/
│ │ ├── mastersrv.cpp
│ │ └── mastersrv.h
│ ├── osxlaunch/
│ │ ├── client.h
│ │ ├── client.m
│ │ └── server.m
│ ├── tools/
│ │ ├── crapnet.cpp
│ │ ├── dilate.cpp
│ │ ├── fake_server.cpp
│ │ ├── map_resave.cpp
│ │ ├── map_version.cpp
│ │ ├── packetgen.cpp
│ │ └── tileset_borderop.cpp
│ └── versionsrv/
│ ├── mapversions.h
│ ├── versionsrv.cpp
│ └── versionsrv.h
└── storage.cfg
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
/bam
/.bam
/config.lua
/objs
__pycache__/
*.pyc
*.pyo
scripts/work/
src/game/generated/
other/icons/*.res
/SDL.dll
/freetype.dll
/autoexec.cfg
/crapnet*
/dilate*
/fake_server*
/map_resave*
/map_version*
/mastersrv*
/packetgen*
/teeworlds*
/teeworlds_srv*
/serverlaunch*
/tileset_border*
/versionsrv*
================================================
FILE: .gitmodules
================================================
[submodule "data/languages"]
path = data/languages
url = git://github.com/teeworlds/teeworlds-translation.git
[submodule "data/maps"]
path = data/maps
url = git://github.com/teeworlds/teeworlds-maps.git
================================================
FILE: bam.lua
================================================
CheckVersion("0.4")
Import("configure.lua")
Import("other/sdl/sdl.lua")
Import("other/freetype/freetype.lua")
--- Setup Config -------
config = NewConfig()
config:Add(OptCCompiler("compiler"))
config:Add(OptTestCompileC("stackprotector", "int main(){return 0;}", "-fstack-protector -fstack-protector-all"))
config:Add(OptTestCompileC("minmacosxsdk", "int main(){return 0;}", "-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"))
config:Add(OptTestCompileC("macosxppc", "int main(){return 0;}", "-arch ppc"))
config:Add(OptLibrary("zlib", "zlib.h", false))
config:Add(SDL.OptFind("sdl", true))
config:Add(FreeType.OptFind("freetype", true))
config:Finalize("config.lua")
-- data compiler
function Script(name)
if family == "windows" then
return str_replace(name, "/", "\\")
end
return "python " .. name
end
function CHash(output, ...)
local inputs = TableFlatten({...})
output = Path(output)
-- compile all the files
local cmd = Script("scripts/cmd5.py") .. " "
for index, inname in ipairs(inputs) do
cmd = cmd .. Path(inname) .. " "
end
cmd = cmd .. " > " .. output
AddJob(output, "cmd5 " .. output, cmd)
for index, inname in ipairs(inputs) do
AddDependency(output, inname)
end
AddDependency(output, "scripts/cmd5.py")
return output
end
--[[
function DuplicateDirectoryStructure(orgpath, srcpath, dstpath)
for _,v in pairs(CollectDirs(srcpath .. "/")) do
MakeDirectory(dstpath .. "/" .. string.sub(v, string.len(orgpath)+2))
DuplicateDirectoryStructure(orgpath, v, dstpath)
end
end
DuplicateDirectoryStructure("src", "src", "objs")
]]
function ResCompile(scriptfile)
scriptfile = Path(scriptfile)
if config.compiler.driver == "cl" then
output = PathBase(scriptfile) .. ".res"
AddJob(output, "rc " .. scriptfile, "rc /fo " .. output .. " " .. scriptfile)
elseif config.compiler.driver == "gcc" then
output = PathBase(scriptfile) .. ".coff"
AddJob(output, "windres " .. scriptfile, "windres -i " .. scriptfile .. " -o " .. output)
end
AddDependency(output, scriptfile)
return output
end
function Dat2c(datafile, sourcefile, arrayname)
datafile = Path(datafile)
sourcefile = Path(sourcefile)
AddJob(
sourcefile,
"dat2c " .. PathFilename(sourcefile) .. " = " .. PathFilename(datafile),
Script("scripts/dat2c.py").. "\" " .. sourcefile .. " " .. datafile .. " " .. arrayname
)
AddDependency(sourcefile, datafile)
return sourcefile
end
function ContentCompile(action, output)
output = Path(output)
AddJob(
output,
action .. " > " .. output,
--Script("datasrc/compile.py") .. "\" ".. Path(output) .. " " .. action
Script("datasrc/compile.py") .. " " .. action .. " > " .. Path(output)
)
AddDependency(output, Path("datasrc/content.py")) -- do this more proper
AddDependency(output, Path("datasrc/network.py"))
AddDependency(output, Path("datasrc/compile.py"))
AddDependency(output, Path("datasrc/datatypes.py"))
return output
end
-- Content Compile
network_source = ContentCompile("network_source", "src/game/generated/protocol.cpp")
network_header = ContentCompile("network_header", "src/game/generated/protocol.h")
client_content_source = ContentCompile("client_content_source", "src/game/generated/client_data.cpp")
client_content_header = ContentCompile("client_content_header", "src/game/generated/client_data.h")
server_content_source = ContentCompile("server_content_source", "src/game/generated/server_data.cpp")
server_content_header = ContentCompile("server_content_header", "src/game/generated/server_data.h")
AddDependency(network_source, network_header)
AddDependency(client_content_source, client_content_header)
AddDependency(server_content_source, server_content_header)
nethash = CHash("src/game/generated/nethash.cpp", "src/engine/shared/protocol.h", "src/game/generated/protocol.h", "src/game/tuning.h", "src/game/gamecore.cpp", network_header)
client_link_other = {}
client_depends = {}
server_link_other = {}
if family == "windows" then
if platform == "win32" then
table.insert(client_depends, CopyToDirectory(".", "other\\freetype\\lib32\\freetype.dll"))
table.insert(client_depends, CopyToDirectory(".", "other\\sdl\\lib32\\SDL.dll"))
else
table.insert(client_depends, CopyToDirectory(".", "other\\freetype\\lib64\\freetype.dll"))
table.insert(client_depends, CopyToDirectory(".", "other\\sdl\\lib64\\SDL.dll"))
end
if config.compiler.driver == "cl" then
client_link_other = {ResCompile("other/icons/teeworlds_cl.rc")}
server_link_other = {ResCompile("other/icons/teeworlds_srv_cl.rc")}
elseif config.compiler.driver == "gcc" then
client_link_other = {ResCompile("other/icons/teeworlds_gcc.rc")}
server_link_other = {ResCompile("other/icons/teeworlds_srv_gcc.rc")}
end
end
function Intermediate_Output(settings, input)
return "objs/" .. string.sub(PathBase(input), string.len("src/")+1) .. settings.config_ext
end
function build(settings)
-- apply compiler settings
config.compiler:Apply(settings)
--settings.objdir = Path("objs")
settings.cc.Output = Intermediate_Output
if config.compiler.driver == "cl" then
settings.cc.flags:Add("/wd4244")
else
settings.cc.flags:Add("-Wall", "-fno-exceptions")
if family == "windows" then
-- disable visibility attribute support for gcc on windows
settings.cc.defines:Add("NO_VIZ")
elseif platform == "macosx" then
settings.cc.flags:Add("-mmacosx-version-min=10.5")
settings.link.flags:Add("-mmacosx-version-min=10.5")
if config.minmacosxsdk.value == 1 then
settings.cc.flags:Add("-isysroot /Developer/SDKs/MacOSX10.5.sdk")
settings.link.flags:Add("-isysroot /Developer/SDKs/MacOSX10.5.sdk")
end
elseif config.stackprotector.value == 1 then
settings.cc.flags:Add("-fstack-protector", "-fstack-protector-all")
settings.link.flags:Add("-fstack-protector", "-fstack-protector-all")
end
end
-- set some platform specific settings
settings.cc.includes:Add("src")
if family == "unix" then
if platform == "macosx" then
settings.link.frameworks:Add("Carbon")
settings.link.frameworks:Add("AppKit")
else
settings.link.libs:Add("pthread")
end
if platform == "solaris" then
settings.link.flags:Add("-lsocket")
settings.link.flags:Add("-lnsl")
end
elseif family == "windows" then
settings.link.libs:Add("gdi32")
settings.link.libs:Add("user32")
settings.link.libs:Add("ws2_32")
settings.link.libs:Add("ole32")
settings.link.libs:Add("shell32")
end
-- compile zlib if needed
if config.zlib.value == 1 then
settings.link.libs:Add("z")
if config.zlib.include_path then
settings.cc.includes:Add(config.zlib.include_path)
end
zlib = {}
else
zlib = Compile(settings, Collect("src/engine/external/zlib/*.c"))
settings.cc.includes:Add("src/engine/external/zlib")
end
-- build the small libraries
wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
jsonparser = Compile(settings, Collect("src/engine/external/json-parser/*.c"))
-- build game components
engine_settings = settings:Copy()
server_settings = engine_settings:Copy()
client_settings = engine_settings:Copy()
launcher_settings = engine_settings:Copy()
if family == "unix" then
if platform == "macosx" then
client_settings.link.frameworks:Add("OpenGL")
client_settings.link.frameworks:Add("AGL")
client_settings.link.frameworks:Add("Carbon")
client_settings.link.frameworks:Add("Cocoa")
launcher_settings.link.frameworks:Add("Cocoa")
else
client_settings.link.libs:Add("X11")
client_settings.link.libs:Add("GL")
client_settings.link.libs:Add("GLU")
end
elseif family == "windows" then
client_settings.link.libs:Add("opengl32")
client_settings.link.libs:Add("glu32")
client_settings.link.libs:Add("winmm")
end
-- apply sdl settings
config.sdl:Apply(client_settings)
-- apply freetype settings
config.freetype:Apply(client_settings)
engine = Compile(engine_settings, Collect("src/engine/shared/*.cpp", "src/base/*.c"))
client = Compile(client_settings, Collect("src/engine/client/*.cpp"))
server = Compile(server_settings, Collect("src/engine/server/*.cpp"))
versionserver = Compile(settings, Collect("src/versionsrv/*.cpp"))
masterserver = Compile(settings, Collect("src/mastersrv/*.cpp"))
game_shared = Compile(settings, Collect("src/game/*.cpp"), nethash, network_source)
game_client = Compile(settings, CollectRecursive("src/game/client/*.cpp"), client_content_source)
game_server = Compile(settings, CollectRecursive("src/game/server/*.cpp"), server_content_source)
game_editor = Compile(settings, Collect("src/game/editor/*.cpp"))
-- build tools (TODO: fix this so we don't get double _d_d stuff)
tools_src = Collect("src/tools/*.cpp", "src/tools/*.c")
client_osxlaunch = {}
server_osxlaunch = {}
if platform == "macosx" then
client_osxlaunch = Compile(client_settings, "src/osxlaunch/client.m")
server_osxlaunch = Compile(launcher_settings, "src/osxlaunch/server.m")
end
tools = {}
for i,v in ipairs(tools_src) do
toolname = PathFilename(PathBase(v))
tools[i] = Link(settings, toolname, Compile(settings, v), engine, zlib, pnglite)
end
-- build client, server, version server and master server
client_exe = Link(client_settings, "teeworlds", game_shared, game_client,
engine, client, game_editor, zlib, pnglite, wavpack, jsonparser,
client_link_other, client_osxlaunch)
server_exe = Link(server_settings, "teeworlds_srv", engine, server,
game_shared, game_server, zlib, server_link_other)
serverlaunch = {}
if platform == "macosx" then
serverlaunch = Link(launcher_settings, "serverlaunch", server_osxlaunch)
end
versionserver_exe = Link(server_settings, "versionsrv", versionserver,
engine, zlib)
masterserver_exe = Link(server_settings, "mastersrv", masterserver,
engine, zlib)
-- make targets
c = PseudoTarget("client".."_"..settings.config_name, client_exe, client_depends)
s = PseudoTarget("server".."_"..settings.config_name, server_exe, serverlaunch)
g = PseudoTarget("game".."_"..settings.config_name, client_exe, server_exe)
v = PseudoTarget("versionserver".."_"..settings.config_name, versionserver_exe)
m = PseudoTarget("masterserver".."_"..settings.config_name, masterserver_exe)
t = PseudoTarget("tools".."_"..settings.config_name, tools)
all = PseudoTarget(settings.config_name, c, s, v, m, t)
return all
end
debug_settings = NewSettings()
debug_settings.config_name = "debug"
debug_settings.config_ext = "_d"
debug_settings.debug = 1
debug_settings.optimize = 0
debug_settings.cc.defines:Add("CONF_DEBUG")
release_settings = NewSettings()
release_settings.config_name = "release"
release_settings.config_ext = ""
release_settings.debug = 0
release_settings.optimize = 1
release_settings.cc.defines:Add("CONF_RELEASE")
if platform == "macosx" then
debug_settings_ppc = debug_settings:Copy()
debug_settings_ppc.config_name = "debug_ppc"
debug_settings_ppc.config_ext = "_ppc_d"
debug_settings_ppc.cc.flags:Add("-arch ppc")
debug_settings_ppc.link.flags:Add("-arch ppc")
debug_settings_ppc.cc.defines:Add("CONF_DEBUG")
release_settings_ppc = release_settings:Copy()
release_settings_ppc.config_name = "release_ppc"
release_settings_ppc.config_ext = "_ppc"
release_settings_ppc.cc.flags:Add("-arch ppc")
release_settings_ppc.link.flags:Add("-arch ppc")
release_settings_ppc.cc.defines:Add("CONF_RELEASE")
ppc_d = build(debug_settings_ppc)
ppc_r = build(release_settings_ppc)
if arch == "ia32" or arch == "amd64" then
debug_settings_x86 = debug_settings:Copy()
debug_settings_x86.config_name = "debug_x86"
debug_settings_x86.config_ext = "_x86_d"
debug_settings_x86.cc.flags:Add("-arch i386")
debug_settings_x86.link.flags:Add("-arch i386")
debug_settings_x86.cc.defines:Add("CONF_DEBUG")
release_settings_x86 = release_settings:Copy()
release_settings_x86.config_name = "release_x86"
release_settings_x86.config_ext = "_x86"
release_settings_x86.cc.flags:Add("-arch i386")
release_settings_x86.link.flags:Add("-arch i386")
release_settings_x86.cc.defines:Add("CONF_RELEASE")
x86_d = build(debug_settings_x86)
x86_r = build(release_settings_x86)
end
if arch == "amd64" then
debug_settings_x86_64 = debug_settings:Copy()
debug_settings_x86_64.config_name = "debug_x86_64"
debug_settings_x86_64.config_ext = "_x86_64_d"
debug_settings_x86_64.cc.flags:Add("-arch x86_64")
debug_settings_x86_64.link.flags:Add("-arch x86_64")
debug_settings_x86_64.cc.defines:Add("CONF_DEBUG")
release_settings_x86_64 = release_settings:Copy()
release_settings_x86_64.config_name = "release_x86_64"
release_settings_x86_64.config_ext = "_x86_64"
release_settings_x86_64.cc.flags:Add("-arch x86_64")
release_settings_x86_64.link.flags:Add("-arch x86_64")
release_settings_x86_64.cc.defines:Add("CONF_RELEASE")
x86_64_d = build(debug_settings_x86_64)
x86_64_r = build(release_settings_x86_64)
end
DefaultTarget("game_debug_x86")
if config.macosxppc.value == 1 then
if arch == "ia32" then
PseudoTarget("release", ppc_r, x86_r)
PseudoTarget("debug", ppc_d, x86_d)
PseudoTarget("server_release", "server_release_ppc", "server_release_x86")
PseudoTarget("server_debug", "server_debug_ppc", "server_debug_x86")
PseudoTarget("client_release", "client_release_ppc", "client_release_x86")
PseudoTarget("client_debug", "client_debug_ppc", "client_debug_x86")
elseif arch == "amd64" then
PseudoTarget("release", ppc_r, x86_r, x86_64_r)
PseudoTarget("debug", ppc_d, x86_d, x86_64_d)
PseudoTarget("server_release", "server_release_ppc", "server_release_x86", "server_release_x86_64")
PseudoTarget("server_debug", "server_debug_ppc", "server_debug_x86", "server_debug_x86_64")
PseudoTarget("client_release", "client_release_ppc", "client_release_x86", "client_release_x86_64")
PseudoTarget("client_debug", "client_debug_ppc", "client_debug_x86", "client_debug_x86_64")
else
PseudoTarget("release", ppc_r)
PseudoTarget("debug", ppc_d)
PseudoTarget("server_release", "server_release_ppc")
PseudoTarget("server_debug", "server_debug_ppc")
PseudoTarget("client_release", "client_release_ppc")
PseudoTarget("client_debug", "client_debug_ppc")
end
else
if arch == "ia32" then
PseudoTarget("release", x86_r)
PseudoTarget("debug", x86_d)
PseudoTarget("server_release", "server_release_x86")
PseudoTarget("server_debug", "server_debug_x86")
PseudoTarget("client_release", "client_release_x86")
PseudoTarget("client_debug", "client_debug_x86")
elseif arch == "amd64" then
PseudoTarget("release", x86_r, x86_64_r)
PseudoTarget("debug", x86_d, x86_64_d)
PseudoTarget("server_release", "server_release_x86", "server_release_x86_64")
PseudoTarget("server_debug", "server_debug_x86", "server_debug_x86_64")
PseudoTarget("client_release", "client_release_x86", "client_release_x86_64")
PseudoTarget("client_debug", "client_debug_x86", "client_debug_x86_64")
end
end
else
build(debug_settings)
build(release_settings)
DefaultTarget("game_debug")
end
================================================
FILE: configure.lua
================================================
--[[@GROUP Configuration@END]]--
--[[@FUNCTION
TODO
@END]]--
function NewConfig(on_configured_callback)
local config = {}
config.OnConfigured = function(self)
return true
end
if on_configured_callback then config.OnConfigured = on_configured_callback end
config.options = {}
config.settings = NewSettings()
config.NewSettings = function(self)
local s = NewSettings()
for _,v in pairs(self.options) do
v:Apply(s)
end
return s
end
config.Add = function(self, o)
table.insert(self.options, o)
self[o.name] = o
end
config.Print = function(self)
for k,v in pairs(self.options) do
print(v:FormatDisplay())
end
end
config.Save = function(self, filename)
print("saved configuration to '"..filename.."'")
local file = io.open(filename, "w")
-- Define a little helper function to save options
local saver = {}
saver.file = file
saver.line = function(self, str)
self.file:write(str .. "\n")
end
saver.option = function(self, option, name)
local valuestr = "no"
if type(option[name]) == type(0) then
valuestr = option[name]
elseif type(option[name]) == type(true) then
valuestr = "false"
if option[name] then
valuestr = "true"
end
elseif type(option[name]) == type("") then
valuestr = "'"..option[name].."'"
else
error("option "..name.." have a value of type ".. type(option[name]).." that can't be saved")
end
self.file:write(option.name.."."..name.." = ".. valuestr.."\n")
end
-- Save all the options
for k,v in pairs(self.options) do
v:Save(saver)
end
file:close()
end
config.Load = function(self, filename)
local options_func = loadfile(filename)
local options_table = {}
if not options_func then
print("auto configuration")
self:Config(filename)
options_func = loadfile(filename)
end
if options_func then
-- Setup the options tables
for k,v in pairs(self.options) do
options_table[v.name] = {}
end
setfenv(options_func, options_table)
-- this is to make sure that we get nice error messages when
-- someone sets an option that isn't valid.
local mt = {}
mt.__index = function(t, key)
local v = rawget(t, key)
if v ~= nil then return v end
error("there is no configuration option named '" .. key .. "'")
end
setmetatable(options_table, mt)
-- Process the options
options_func()
-- Copy the options
for k,v in pairs(self.options) do
if options_table[v.name] then
for k2,v2 in pairs(options_table[v.name]) do
v[k2] = v2
end
v.auto_detected = false
end
end
else
print("error: no '"..filename.."' found")
print("")
print("run 'bam config' to generate")
print("run 'bam config help' for configuration options")
print("")
os.exit(1)
end
end
config.Config = function(self, filename)
print("")
print("configuration:")
if _bam_targets[1] == "print" then
self:Load(filename)
self:Print()
print("")
print("notes:")
self:OnConfigured()
print("")
else
self:Autodetect()
print("")
print("notes:")
if self:OnConfigured() then
self:Save(filename)
end
print("")
end
end
config.Autodetect = function(self)
for k,v in pairs(self.options) do
v:Check(self.settings)
print(v:FormatDisplay())
self[v.name] = v
end
end
config.PrintHelp = function(self)
print("options:")
for k,v in pairs(self.options) do
if v.PrintHelp then
v:PrintHelp()
end
end
end
config.Finalize = function(self, filename)
if _bam_targets[0] == "config" then
if _bam_targets[1] == "help" then
self:PrintHelp()
os.exit(0)
end
self:Config(filename)
os.exit(0)
end
self:Load(filename)
bam_update_globalstamp(filename)
end
return config
end
-- Helper functions --------------------------------------
function DefaultOptionDisplay(option)
if not option.value then return "no" end
if option.value == 1 or option.value == true then return "yes" end
return option.value
end
function IsNegativeTerm(s)
if s == "no" then return true end
if s == "false" then return true end
if s == "off" then return true end
if s == "disable" then return true end
if s == "0" then return true end
return false
end
function IsPositiveTerm(s)
if s == "yes" then return true end
if s == "true" then return true end
if s == "on" then return true end
if s == "enable" then return true end
if s == "1" then return true end
return false
end
function MakeOption(name, value, check, save, display, printhelp)
local o = {}
o.name = name
o.value = value
o.Check = check
o.Save = save
o.auto_detected = true
o.FormatDisplay = function(self)
local a = "SET"
if self.auto_detected then a = "AUTO" end
return string.format("%-5s %-20s %s", a, self.name, self:Display())
end
o.Display = display
o.PrintHelp = printhelp
if o.Display == nil then o.Display = DefaultOptionDisplay end
return o
end
-- Test Compile C --------------------------------------
function OptTestCompileC(name, source, compileoptions, desc)
local check = function(option, settings)
option.value = false
if ScriptArgs[option.name] then
if IsNegativeTerm(ScriptArgs[option.name]) then
option.value = false
elseif IsPositiveTerm(ScriptArgs[option.name]) then
option.value = true
else
error(ScriptArgs[option.name].." is not a valid value for option "..option.name)
end
option.auto_detected = false
else
if CTestCompile(settings, option.source, option.compileoptions) then
option.value = true
end
end
end
local save = function(option, output)
output:option(option, "value")
end
local printhelp = function(option)
print("\t"..option.name.."=on|off")
if option.desc then print("\t\t"..option.desc) end
end
local o = MakeOption(name, false, check, save, nil, printhelp)
o.desc = desc
o.source = source
o.compileoptions = compileoptions
return o
end
-- OptToggle --------------------------------------
function OptToggle(name, default_value, desc)
local check = function(option, settings)
if ScriptArgs[option.name] then
if IsNegativeTerm(ScriptArgs[option.name]) then
option.value = false
elseif IsPositiveTerm(ScriptArgs[option.name]) then
option.value = true
else
error(ScriptArgs[option.name].." is not a valid value for option "..option.name)
end
end
end
local save = function(option, output)
output:option(option, "value")
end
local printhelp = function(option)
print("\t"..option.name.."=on|off")
if option.desc then print("\t\t"..option.desc) end
end
local o = MakeOption(name, default_value, check, save, nil, printhelp)
o.desc = desc
return o
end
-- OptInteger --------------------------------------
function OptInteger(name, default_value, desc)
local check = function(option, settings)
if ScriptArgs[option.name] then
option.value = tonumber(ScriptArgs[option.name])
end
end
local save = function(option, output)
output:option(option, "value")
end
local printhelp = function(option)
print("\t"..option.name.."=N")
if option.desc then print("\t\t"..option.desc) end
end
local o = MakeOption(name, default_value, check, save, nil, printhelp)
o.desc = desc
return o
end
-- OptString --------------------------------------
function OptString(name, default_value, desc)
local check = function(option, settings)
if ScriptArgs[option.name] then
option.value = ScriptArgs[option.name]
end
end
local save = function(option, output)
output:option(option, "value")
end
local printhelp = function(option)
print("\t"..option.name.."=STRING")
if option.desc then print("\t\t"..option.desc) end
end
local o = MakeOption(name, default_value, check, save, nil, printhelp)
o.desc = desc
return o
end
-- Find Compiler --------------------------------------
--[[@FUNCTION
TODO
@END]]--
function OptCCompiler(name, default_driver, default_c, default_cxx, desc)
local check = function(option, settings)
if ScriptArgs[option.name] then
-- set compile driver
option.driver = ScriptArgs[option.name]
-- set c compiler
if ScriptArgs[option.name..".c"] then
option.c_compiler = ScriptArgs[option.name..".c"]
end
-- set c+= compiler
if ScriptArgs[option.name..".cxx"] then
option.cxx_compiler = ScriptArgs[option.name..".cxx"]
end
option.auto_detected = false
elseif option.driver then
-- no need todo anything if we have a driver
-- TODO: test if we can find the compiler
else
if ExecuteSilent("cl") == 0 then
option.driver = "cl"
elseif ExecuteSilent("g++ -v") == 0 then
option.driver = "gcc"
else
error("no c/c++ compiler found")
end
end
--setup_compiler(option.value)
end
local apply = function(option, settings)
if option.driver == "cl" then
SetDriversCL(settings)
elseif option.driver == "gcc" then
SetDriversGCC(settings)
elseif option.driver == "clang" then
SetDriversClang(settings)
else
error(option.driver.." is not a known c/c++ compile driver")
end
if option.c_compiler then settings.cc.c_compiler = option.c_compiler end
if option.cxx_compiler then settings.cc.cxx_compiler = option.cxx_compiler end
end
local save = function(option, output)
output:option(option, "driver")
output:option(option, "c_compiler")
output:option(option, "cxx_compiler")
end
local printhelp = function(option)
local a = ""
if option.desc then a = "for "..option.desc end
print("\t"..option.name.."=gcc|cl|clang")
print("\t\twhat c/c++ compile driver to use"..a)
print("\t"..option.name..".c=FILENAME")
print("\t\twhat c compiler executable to use"..a)
print("\t"..option.name..".cxx=FILENAME")
print("\t\twhat c++ compiler executable to use"..a)
end
local display = function(option)
local s = option.driver
if option.c_compiler then s = s .. " c="..option.c_compiler end
if option.cxx_compiler then s = s .. " cxx="..option.cxx_compiler end
return s
end
local o = MakeOption(name, nil, check, save, display, printhelp)
o.desc = desc
o.driver = false
o.c_compiler = false
o.cxx_compiler = false
if default_driver then o.driver = default_driver end
if default_c then o.c_compiler = default_c end
if default_cxx then o.cxx_compiler = default_cxx end
o.Apply = apply
return o
end
-- Option Library --------------------------------------
--[[@FUNCTION
TODO
@END]]--
function OptLibrary(name, header, desc)
local check = function(option, settings)
option.value = false
option.include_path = false
local function check_compile_include(filename, paths)
if CTestCompile(settings, "#include <" .. filename .. ">\nint main(){return 0;}", "") then
return ""
end
for k,v in pairs(paths) do
if CTestCompile(settings, "#include <" .. filename .. ">\nint main(){return 0;}", "-I"..v) then
return v
end
end
return false
end
if ScriptArgs[option.name] then
if IsNegativeTerm(ScriptArgs[option.name]) then
option.value = false
elseif ScriptArgs[option.name] == "system" then
option.value = true
else
option.value = true
option.include_path = ScriptArgs[option.name]
end
option.auto_detected = false
else
option.include_path = check_compile_include(option.header, {})
if option.include_path == false then
if option.required then
print(name.." library not found and is required")
error("required library not found")
end
else
option.value = true
option.include_path = false
end
end
end
local save = function(option, output)
output:option(option, "value")
output:option(option, "include_path")
end
local display = function(option)
if option.value then
if option.include_path then
return option.include_path
else
return "(in system path)"
end
else
return "not found"
end
end
local printhelp = function(option)
print("\t"..option.name.."=disable|system|PATH")
if option.desc then print("\t\t"..option.desc) end
end
local o = MakeOption(name, false, check, save, display, printhelp)
o.include_path = false
o.header = header
o.desc = desc
return o
end
================================================
FILE: data/countryflags/index.json
================================================
{"country codes":
{"custom": [
{
"id": "SS",
"code": 737
},
{
"id": "XEN",
"code": 901
},
{
"id": "XNI",
"code": 902
},
{
"id": "XSC",
"code": 903
},
{
"id": "XWA",
"code": 904
},
{
"id": "default",
"code": -1
}
],
"ISO 3166-1": [
{
"id": "AD",
"code": 20
},
{
"id": "AE",
"code": 784
},
{
"id": "AF",
"code": 4
},
{
"id": "AG",
"code": 28
},
{
"id": "AI",
"code": 660
},
{
"id": "AL",
"code": 8
},
{
"id": "AM",
"code": 51
},
{
"id": "AO",
"code": 24
},
{
"id": "AR",
"code": 32
},
{
"id": "AS",
"code": 16
},
{
"id": "AT",
"code": 40
},
{
"id": "AU",
"code": 36
},
{
"id": "AW",
"code": 533
},
{
"id": "AX",
"code": 248
},
{
"id": "AZ",
"code": 31
},
{
"id": "BA",
"code": 70
},
{
"id": "BB",
"code": 52
},
{
"id": "BD",
"code": 50
},
{
"id": "BE",
"code": 56
},
{
"id": "BF",
"code": 854
},
{
"id": "BG",
"code": 100
},
{
"id": "BH",
"code": 48
},
{
"id": "BI",
"code": 108
},
{
"id": "BJ",
"code": 204
},
{
"id": "BL",
"code": 652
},
{
"id": "BM",
"code": 60
},
{
"id": "BN",
"code": 96
},
{
"id": "BO",
"code": 68
},
{
"id": "BR",
"code": 76
},
{
"id": "BS",
"code": 44
},
{
"id": "BT",
"code": 64
},
{
"id": "BW",
"code": 72
},
{
"id": "BY",
"code": 112
},
{
"id": "BZ",
"code": 84
},
{
"id": "CA",
"code": 124
},
{
"id": "CC",
"code": 166
},
{
"id": "CD",
"code": 180
},
{
"id": "CF",
"code": 140
},
{
"id": "CG",
"code": 178
},
{
"id": "CH",
"code": 756
},
{
"id": "CI",
"code": 384
},
{
"id": "CK",
"code": 184
},
{
"id": "CL",
"code": 152
},
{
"id": "CM",
"code": 120
},
{
"id": "CN",
"code": 156
},
{
"id": "CO",
"code": 170
},
{
"id": "CR",
"code": 188
},
{
"id": "CU",
"code": 192
},
{
"id": "CV",
"code": 132
},
{
"id": "CW",
"code": 531
},
{
"id": "CX",
"code": 162
},
{
"id": "CY",
"code": 196
},
{
"id": "CZ",
"code": 203
},
{
"id": "DE",
"code": 276
},
{
"id": "DJ",
"code": 262
},
{
"id": "DK",
"code": 208
},
{
"id": "DM",
"code": 212
},
{
"id": "DO",
"code": 214
},
{
"id": "DZ",
"code": 12
},
{
"id": "EC",
"code": 218
},
{
"id": "EE",
"code": 233
},
{
"id": "EG",
"code": 818
},
{
"id": "EH",
"code": 732
},
{
"id": "ER",
"code": 232
},
{
"id": "ES",
"code": 724
},
{
"id": "ET",
"code": 231
},
{
"id": "FI",
"code": 246
},
{
"id": "FJ",
"code": 242
},
{
"id": "FK",
"code": 238
},
{
"id": "FM",
"code": 583
},
{
"id": "FO",
"code": 234
},
{
"id": "FR",
"code": 250
},
{
"id": "GA",
"code": 266
},
{
"id": "GB",
"code": 826
},
{
"id": "GD",
"code": 308
},
{
"id": "GE",
"code": 268
},
{
"id": "GF",
"code": 254
},
{
"id": "GG",
"code": 831
},
{
"id": "GH",
"code": 288
},
{
"id": "GI",
"code": 292
},
{
"id": "GL",
"code": 304
},
{
"id": "GM",
"code": 270
},
{
"id": "GN",
"code": 324
},
{
"id": "GP",
"code": 312
},
{
"id": "GQ",
"code": 226
},
{
"id": "GR",
"code": 300
},
{
"id": "GS",
"code": 239
},
{
"id": "GT",
"code": 320
},
{
"id": "GU",
"code": 316
},
{
"id": "GW",
"code": 624
},
{
"id": "GY",
"code": 328
},
{
"id": "HK",
"code": 344
},
{
"id": "HN",
"code": 340
},
{
"id": "HR",
"code": 191
},
{
"id": "HT",
"code": 332
},
{
"id": "HU",
"code": 348
},
{
"id": "ID",
"code": 360
},
{
"id": "IE",
"code": 372
},
{
"id": "IL",
"code": 376
},
{
"id": "IM",
"code": 833
},
{
"id": "IN",
"code": 356
},
{
"id": "IO",
"code": 86
},
{
"id": "IQ",
"code": 368
},
{
"id": "IR",
"code": 364
},
{
"id": "IS",
"code": 352
},
{
"id": "IT",
"code": 380
},
{
"id": "JE",
"code": 832
},
{
"id": "JM",
"code": 388
},
{
"id": "JO",
"code": 400
},
{
"id": "JP",
"code": 392
},
{
"id": "KE",
"code": 404
},
{
"id": "KG",
"code": 417
},
{
"id": "KH",
"code": 116
},
{
"id": "KI",
"code": 296
},
{
"id": "KM",
"code": 174
},
{
"id": "KN",
"code": 659
},
{
"id": "KP",
"code": 408
},
{
"id": "KR",
"code": 410
},
{
"id": "KW",
"code": 414
},
{
"id": "KY",
"code": 136
},
{
"id": "KZ",
"code": 398
},
{
"id": "LA",
"code": 418
},
{
"id": "LB",
"code": 422
},
{
"id": "LC",
"code": 662
},
{
"id": "LI",
"code": 438
},
{
"id": "LK",
"code": 144
},
{
"id": "LR",
"code": 430
},
{
"id": "LS",
"code": 426
},
{
"id": "LT",
"code": 440
},
{
"id": "LU",
"code": 442
},
{
"id": "LV",
"code": 428
},
{
"id": "LY",
"code": 434
},
{
"id": "MA",
"code": 504
},
{
"id": "MC",
"code": 492
},
{
"id": "MD",
"code": 498
},
{
"id": "ME",
"code": 499
},
{
"id": "MF",
"code": 663
},
{
"id": "MG",
"code": 450
},
{
"id": "MH",
"code": 584
},
{
"id": "MK",
"code": 807
},
{
"id": "ML",
"code": 466
},
{
"id": "MM",
"code": 104
},
{
"id": "MN",
"code": 496
},
{
"id": "MO",
"code": 446
},
{
"id": "MP",
"code": 580
},
{
"id": "MQ",
"code": 474
},
{
"id": "MR",
"code": 478
},
{
"id": "MS",
"code": 500
},
{
"id": "MT",
"code": 470
},
{
"id": "MU",
"code": 480
},
{
"id": "MV",
"code": 462
},
{
"id": "MW",
"code": 454
},
{
"id": "MX",
"code": 484
},
{
"id": "MY",
"code": 458
},
{
"id": "MZ",
"code": 508
},
{
"id": "NA",
"code": 516
},
{
"id": "NC",
"code": 540
},
{
"id": "NE",
"code": 562
},
{
"id": "NF",
"code": 574
},
{
"id": "NG",
"code": 566
},
{
"id": "NI",
"code": 558
},
{
"id": "NL",
"code": 528
},
{
"id": "NO",
"code": 578
},
{
"id": "NP",
"code": 524
},
{
"id": "NR",
"code": 520
},
{
"id": "NU",
"code": 570
},
{
"id": "NZ",
"code": 554
},
{
"id": "OM",
"code": 512
},
{
"id": "PA",
"code": 591
},
{
"id": "PE",
"code": 604
},
{
"id": "PF",
"code": 258
},
{
"id": "PG",
"code": 598
},
{
"id": "PH",
"code": 608
},
{
"id": "PK",
"code": 586
},
{
"id": "PL",
"code": 616
},
{
"id": "PM",
"code": 666
},
{
"id": "PN",
"code": 612
},
{
"id": "PR",
"code": 630
},
{
"id": "PT",
"code": 620
},
{
"id": "PW",
"code": 585
},
{
"id": "PY",
"code": 600
},
{
"id": "QA",
"code": 634
},
{
"id": "RE",
"code": 638
},
{
"id": "RO",
"code": 642
},
{
"id": "RS",
"code": 688
},
{
"id": "RU",
"code": 643
},
{
"id": "RW",
"code": 646
},
{
"id": "SA",
"code": 682
},
{
"id": "SB",
"code": 90
},
{
"id": "SC",
"code": 690
},
{
"id": "SD",
"code": 736
},
{
"id": "SE",
"code": 752
},
{
"id": "SG",
"code": 702
},
{
"id": "SH",
"code": 654
},
{
"id": "SI",
"code": 705
},
{
"id": "SK",
"code": 703
},
{
"id": "SL",
"code": 694
},
{
"id": "SM",
"code": 674
},
{
"id": "SN",
"code": 686
},
{
"id": "SO",
"code": 706
},
{
"id": "SR",
"code": 740
},
{
"id": "ST",
"code": 678
},
{
"id": "SV",
"code": 222
},
{
"id": "SX",
"code": 534
},
{
"id": "SY",
"code": 760
},
{
"id": "SZ",
"code": 748
},
{
"id": "TC",
"code": 796
},
{
"id": "TD",
"code": 148
},
{
"id": "TF",
"code": 260
},
{
"id": "TG",
"code": 768
},
{
"id": "TH",
"code": 764
},
{
"id": "TJ",
"code": 762
},
{
"id": "TK",
"code": 772
},
{
"id": "TL",
"code": 626
},
{
"id": "TM",
"code": 795
},
{
"id": "TN",
"code": 788
},
{
"id": "TO",
"code": 776
},
{
"id": "TR",
"code": 792
},
{
"id": "TT",
"code": 780
},
{
"id": "TV",
"code": 798
},
{
"id": "TW",
"code": 158
},
{
"id": "TZ",
"code": 834
},
{
"id": "UA",
"code": 804
},
{
"id": "UG",
"code": 800
},
{
"id": "US",
"code": 840
},
{
"id": "UY",
"code": 858
},
{
"id": "UZ",
"code": 860
},
{
"id": "VA",
"code": 336
},
{
"id": "VC",
"code": 670
},
{
"id": "VE",
"code": 862
},
{
"id": "VG",
"code": 92
},
{
"id": "VI",
"code": 850
},
{
"id": "VN",
"code": 704
},
{
"id": "VU",
"code": 548
},
{
"id": "WF",
"code": 876
},
{
"id": "WS",
"code": 882
},
{
"id": "YE",
"code": 887
},
{
"id": "ZA",
"code": 710
},
{
"id": "ZM",
"code": 894
},
{
"id": "ZW",
"code": 716
}
],
"not used": [
{
"id": "AQ",
"code": 10
},
{
"id": "BQ",
"code": 535
},
{
"id": "BV",
"code": 74
},
{
"id": "HM",
"code": 334
},
{
"id": "PS",
"code": 275
},
{
"id": "SJ",
"code": 744
},
{
"id": "UM",
"code": 581
},
{
"id": "YT",
"code": 175
}
]},
}
================================================
FILE: data/editor/automap/grass_doodads.json
================================================
{"doodads": [
{"vegetation":
{
"rules": [
{
"startid": 1,
"endid": 35,
"ry": -3,
"Location": "floor",
"random": 25
},
{
"startid": 44,
"endid": 45,
"ry": -1,
"location": "floor",
"random": 25
},
{
"startid": 56,
"endid": 74,
"ry": -2,
"location": "floor",
"random": 35
},
{
"startid": 59,
"endid": 77,
"ry": -2,
"location": "floor",
"random": 35
},
{
"startid": 48,
"endid": 87,
"ry": -3,
"location": "floor",
"random": 50
},
{
"startid": 96,
"endid": 164,
"ry": -5,
"location": "floor",
"random": 50
},
{
"startid": 101,
"endid": 168,
"ry": -5,
"location": "floor",
"random": 50
},
{
"startid": 90,
"endid": 175,
"ry": -6,
"location": "floor",
"random": 50
}]
}
},
{"grass":
{
"rules": [
{
"startid": 42,
"endid": 42,
"ry": -1,
"location": "floor",
"random": 1
}]
}
}]
}
================================================
FILE: data/editor/automap/grass_main.json
================================================
{"tileset": [
{"grass":
{
"basetile": 1,
"rules": [
{
"index": 2,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 3,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 66,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 67,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 68,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 16,
"condition": [
{"x": 0, "y": -1, "value": "empty"}
]
},
{
"index": 21,
"condition": [
{"x": 1, "y": 0, "value": "empty"}
]
},
{
"index": 52,
"condition": [
{"x": 0, "y": 1, "value": "empty"}
]
},
{
"index": 20,
"condition": [
{"x": -1, "y": 0, "value": "empty"}
]
},
{
"index": 5,
"condition": [
{"x": 0, "y": -1, "value": "empty"},
{"x": 1, "y": 0, "value": "empty"}
]
},
{
"index": 4,
"condition": [
{"x": 0, "y": -1, "value": "empty"},
{"x": -1, "y": 0, "value": "empty"}
]
},
{
"index": 36,
"condition": [
{"x": 0, "y": 1, "value": "empty"},
{"x": -1, "y": 0, "value": "empty"}
]
},
{
"index": 37,
"condition": [
{"x": 0, "y": 1, "value": "empty"},
{"x": 1, "y": 0, "value": "empty"}
]
},
{
"index": 54,
"condition": [
{"x": -1, "y": 1, "value": "empty"},
{"x": -1, "y": 0, "value": "full"},
{"x": 0, "y": 1, "value": "full"}
]
},
{
"index": 53,
"condition": [
{"x": 1, "y": 1, "value": "empty"},
{"x": 1, "y": 0, "value": "full"},
{"x": 0, "y": 1, "value": "full"}
]
},
{
"index": 49,
"condition": [
{"x": 1, "y": -1, "value": "empty"},
{"x": 1, "y": 0, "value": "full"},
{"x": 0, "y": -1, "value": "full"}
]
},
{
"index": 48,
"condition": [
{"x": -1, "y": -1, "value": "empty"},
{"x": -1, "y": 0, "value": "full"},
{"x": 0, "y": -1, "value": "full"}
]
},
{
"index": 22,
"condition": [
{"x": -1, "y": 0, "value": "empty"},
{"x": -1, "y": 1, "value": "full"},
{"x": 0, "y": 1, "value": "full"}
]
},
{
"index": 38,
"condition": [
{"x": 1, "y": 0, "value": "empty"},
{"x": 1, "y": 1, "value": "full"},
{"x": 0, "y": 1, "value": "full"}
]
},
{
"index": 33,
"condition": [
{"x": 0, "y": -1, "value": "empty"},
{"x": 1, "y": 0, "value": "empty"},
{"x": 1, "y": 1, "value": "full"},
]
},
{
"index": 32,
"condition": [
{"x": 0, "y": -1, "value": "empty"},
{"x": -1, "y": 0, "value": "empty"},
{"x": -1, "y": 1, "value": "full"}
]
}]
}
},
{"cave":
{
"basetile": 13,
"rules": [
{
"index": 29,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 42,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 43,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 44,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 45,
"condition": [
{"x": 0, "y": 1, "value": "full"},
{"x": 0, "y": -1, "value": "full"},
{"x": 1, "y": 0, "value": "full"},
{"x": -1, "y": 0, "value": "full"}
],
"random": 150
},
{
"index": 26,
"condition": [
{"x": 0, "y": -1, "value": "empty"}
]
},
{
"index": 25,
"condition": [
{"x": 1, "y": 0, "value": "empty"}
]
},
{
"index": 10,
"condition": [
{"x": 0, "y": 1, "value": "empty"}
]
},
{
"index": 24,
"condition": [
{"x": -1, "y": 0, "value": "empty"}
]
},
{
"index": 9,
"condition": [
{"x": 0, "y": -1, "value": "empty"},
{"x": 1, "y": 0, "value": "empty"}
]
},
{
"index": 8,
"condition": [
{"x": 0, "y": -1, "value": "empty"},
{"x": -1, "y": 0, "value": "empty"}
]
},
{
"index": 40,
"condition": [
{"x": 0, "y": 1, "value": "empty"},
{"x": -1, "y": 0, "value": "empty"}
]
},
{
"index": 41,
"condition": [
{"x": 0, "y": 1, "value": "empty"},
{"x": 1, "y": 0, "value": "empty"}
]
},
{
"index": 12,
"condition": [
{"x": -1, "y": 1, "value": "empty"},
{"x": -1, "y": 0, "value": "full"},
{"x": 0, "y": 1, "value": "full"}
]
},
{
"index": 11,
"condition": [
{"x": 1, "y": 1, "value": "empty"},
{"x": 1, "y": 0, "value": "full"},
{"x": 0, "y": 1, "value": "full"}
]
},
{
"index": 27,
"condition": [
{"x": 1, "y": -1, "value": "empty"},
{"x": 1, "y": 0, "value": "full"},
{"x": 0, "y": -1, "value": "full"}
]
},
{
"index": 28,
"condition": [
{"x": -1, "y": -1, "value": "empty"},
{"x": -1, "y": 0, "value": "full"},
{"x": 0, "y": -1, "value": "full"}
]
}]
}
}]
}
================================================
FILE: data/editor/desert_main.rules
================================================
[Desert]
Index 1
BaseTile
#random
Index 2
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 3
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
#top
Index 16
Pos 0 -1 EMPTY
#right
Index 17
Pos 1 0 EMPTY
#bottom
Index 18
Pos 0 1 EMPTY
#left
Index 19
Pos -1 0 EMPTY
#corner top-right
Index 33
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
#corner top-left
Index 32
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
#corner bottom-left
Index 35
Pos 0 1 EMPTY
Pos -1 0 EMPTY
#corner bottom-right
Index 34
Pos 0 1 EMPTY
Pos 1 0 EMPTY
#inside corner top-right
Index 51
Pos -1 1 EMPTY
Pos -1 0 FULL
Pos 0 1 FULL
#inside corner top-left
Index 50
Pos 1 1 EMPTY
Pos 1 0 FULL
Pos 0 1 FULL
#inside corner bottom-left
Index 49
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
#inside corner bottom-right
Index 48
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
[Mine]
Index 81
BaseTile
#random
Index 82
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 83
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 84
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 85
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 86
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 100
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 101
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 102
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 117
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 118
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 133
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
Index 134
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 500
#top
Index 96
Pos 0 -1 EMPTY
#right
Index 97
Pos 1 0 EMPTY
#bottom
Index 98
Pos 0 1 EMPTY
#left
Index 99
Pos -1 0 EMPTY
#corner top-right
Index 113
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
#corner top-left
Index 112
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
#corner bottom-left
Index 115
Pos 0 1 EMPTY
Pos -1 0 EMPTY
#corner bottom-right
Index 114
Pos 0 1 EMPTY
Pos 1 0 EMPTY
#inside corner top-right
Index 131
Pos -1 1 EMPTY
Pos -1 0 FULL
Pos 0 1 FULL
#inside corner top-left
Index 130
Pos 1 1 EMPTY
Pos 1 0 FULL
Pos 0 1 FULL
#inside corner bottom-left
Index 129
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
#inside corner bottom-right
Index 128
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
================================================
FILE: data/editor/grass_main.rules
================================================
[Grass]
Index 1
BaseTile
#random bones
Index 2
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 3
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 66
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 67
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 68
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
#---------
#top
Index 16
Pos 0 -1 EMPTY
#right
Index 21
Pos 1 0 EMPTY
#bottom
Index 52
Pos 0 1 EMPTY
#left
Index 20
Pos -1 0 EMPTY
#corner top-right
Index 5
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
#corner top-left
Index 4
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
#corner bottom-left
Index 36
Pos 0 1 EMPTY
Pos -1 0 EMPTY
#corner bottom-right
Index 37
Pos 0 1 EMPTY
Pos 1 0 EMPTY
#inside corner top-right
Index 54
Pos -1 1 EMPTY
Pos -1 0 FULL
Pos 0 1 FULL
#inside corner top-left
Index 53
Pos 1 1 EMPTY
Pos 1 0 FULL
Pos 0 1 FULL
#inside corner bottom-left
Index 49
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
#inside corner bottom-right
Index 48
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
#right bottom
Index 22
Pos -1 0 EMPTY
Pos -1 1 FULL
Pos 0 1 FULL
#left bottom
Index 38
Pos 1 0 EMPTY
Pos 1 1 FULL
Pos 0 1 FULL
#top corner right 2
Index 33
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
Pos 1 1 FULL
#top corner left 2
Index 32
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
Pos -1 1 FULL
[Cave]
Index 13
BaseTile
#random bones
Index 29
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 42
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 43
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 44
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 45
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
#---------
#top
Index 26
Pos 0 -1 EMPTY
#right
Index 25
Pos 1 0 EMPTY
#bottom
Index 10
Pos 0 1 EMPTY
#left
Index 24
Pos -1 0 EMPTY
#corner top-right
Index 9
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
#corner top-left
Index 8
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
#corner bottom-left
Index 40
Pos 0 1 EMPTY
Pos -1 0 EMPTY
#corner bottom-right
Index 41
Pos 0 1 EMPTY
Pos 1 0 EMPTY
#inside corner top-right
Index 12
Pos -1 1 EMPTY
Pos -1 0 FULL
Pos 0 1 FULL
#inside corner top-left
Index 11
Pos 1 1 EMPTY
Pos 1 0 FULL
Pos 0 1 FULL
#inside corner bottom-left
Index 27
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
#inside corner bottom-right
Index 28
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
================================================
FILE: data/editor/jungle_main.rules
================================================
[Jungle]
Index 1
BaseTile
#random bricks
Index 66
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 200
Index 67
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 200
#top
Index 16
Pos 0 -1 EMPTY
Index 96
Pos 0 -1 EMPTY
Random 15
Index 97
Pos 0 -1 EMPTY
Random 15
Index 98
Pos 0 -1 EMPTY
Random 15
#right
Index 21
Pos 1 0 EMPTY
#bottom
Index 52
Pos 0 1 EMPTY
Index 99
Pos 0 1 EMPTY
Random 10
Index 100
Pos 0 1 EMPTY
Random 10
Index 101
Pos 0 1 EMPTY
Random 10
#left
Index 21 XFLIP
Pos -1 0 EMPTY
#corner top-right
Index 5
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
#corner top-left
Index 5 XFLIP
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
#corner bottom-left
Index 37 XFLIP
Pos 0 1 EMPTY
Pos -1 0 EMPTY
Index 39 XFLIP
Pos 0 1 EMPTY
Pos -1 0 EMPTY
Random 2
#corner bottom-right
Index 37
Pos 0 1 EMPTY
Pos 1 0 EMPTY
Index 39
Pos 0 1 EMPTY
Pos 1 0 EMPTY
Random 2
#inside corner top-right
Index 54
Pos -1 1 EMPTY
Pos -1 0 FULL
Pos 0 1 FULL
Index 53 XFLIP
Pos -1 1 EMPTY
Pos -1 0 FULL
Pos 0 1 FULL
Random 2
#inside corner top-left
Index 54 XFLIP
Pos 1 1 EMPTY
Pos 1 0 FULL
Pos 0 1 FULL
Index 53
Pos 1 1 EMPTY
Pos 1 0 FULL
Pos 0 1 FULL
Random 2
#inside corner bottom-left
Index 48 XFLIP
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
Index 49
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
Random 3
Index 50 YFLIP
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
Random 3
#inside corner bottom-right
Index 48
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
Index 49 XFLIP
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
Random 3
Index 51 YFLIP
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
Random 3
#right bottom
Index 22
Pos -1 0 EMPTY
Pos -1 1 FULL
Pos 0 1 FULL
#left bottom
Index 22 XFLIP
Pos 1 0 EMPTY
Pos 1 1 FULL
Pos 0 1 FULL
#top corner right 2
Index 33
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
Pos 1 1 FULL
#top corner left 2
Index 32
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
Pos -1 1 FULL
[Jungle dark]
Index 13
BaseTile
#random bricks
Index 42
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 43
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 44
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
Index 45
Pos 0 1 FULL
Pos 0 -1 FULL
Pos 1 0 FULL
Pos -1 0 FULL
Random 150
#---------
#top
Index 26
Pos 0 -1 EMPTY
#right
Index 25
Pos 1 0 EMPTY
#bottom
Index 10
Pos 0 1 EMPTY
#left
Index 24
Pos -1 0 EMPTY
#corner top-right
Index 9
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
#corner top-left
Index 8
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
#corner bottom-left
Index 40
Pos 0 1 EMPTY
Pos -1 0 EMPTY
#corner bottom-right
Index 41
Pos 0 1 EMPTY
Pos 1 0 EMPTY
#inside corner top-right
Index 12
Pos -1 1 EMPTY
Pos -1 0 FULL
Pos 0 1 FULL
#inside corner top-left
Index 11
Pos 1 1 EMPTY
Pos 1 0 FULL
Pos 0 1 FULL
#inside corner bottom-left
Index 27
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
#inside corner bottom-right
Index 28
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
================================================
FILE: data/editor/winter_main.rules
================================================
[Winter]
Index 1
BaseTile
#top
Index 17
Pos 0 -1 EMPTY
Index 18
Pos 0 -1 EMPTY
Pos -1 0 INDEX 17
Index 19
Pos 0 -1 EMPTY
Pos -1 0 INDEX 18
#bottom
Index 97
Pos 0 1 EMPTY
Index 98
Pos 0 1 EMPTY
Pos -1 0 INDEX 97
Index 99
Pos 0 1 EMPTY
Pos -1 0 INDEX 98
#right
Index 2 XFLIP
Pos 1 0 EMPTY
#left
Index 2
Pos -1 0 EMPTY
#corner top right
Index 20
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
Index 24
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
Pos -1 0 INDEX 17
#corner top left
Index 16
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
#corner bottom right
Index 100
Pos 0 1 EMPTY
Pos 1 0 EMPTY
#corner bottom left
Index 96
Pos 0 1 EMPTY
Pos -1 0 EMPTY
#inside corner top right
Index 8
Pos 0 1 FULL
Pos -1 0 FULL
Pos -1 1 EMPTY
#inside corner top left
Index 7
Pos 0 1 FULL
Pos 1 0 FULL
Pos 1 1 EMPTY
#inside corner bottom right
Index 4
Pos 0 -1 FULL
Pos -1 0 FULL
Pos -1 -1 EMPTY
#inside corner bottom left
Index 3
Pos 0 -1 FULL
Pos 1 0 FULL
Pos 1 -1 EMPTY
#one tile height
Index 113
Pos 0 1 EMPTY
Pos 0 -1 EMPTY
Index 114
Pos 0 1 EMPTY
Pos 0 -1 EMPTY
Pos -1 0 INDEX 113
Index 115
Pos 0 1 EMPTY
Pos 0 -1 EMPTY
Pos -1 0 INDEX 114
#one tile height right
Index 116
Pos 0 1 EMPTY
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
Index 120
Pos 0 1 EMPTY
Pos 0 -1 EMPTY
Pos 1 0 EMPTY
Pos -1 0 INDEX 113
#one tile height left
Index 112
Pos 0 1 EMPTY
Pos 0 -1 EMPTY
Pos -1 0 EMPTY
#one tile height link right
Index 6
Pos -1 -1 EMPTY
Pos -1 0 FULL
Pos 0 -1 FULL
Pos -1 1 EMPTY
#one tile height link left
Index 5
Pos 1 -1 EMPTY
Pos 1 0 FULL
Pos 0 -1 FULL
Pos 1 1 EMPTY
[Winter dark]
Index 177
BaseTile
#bottom
Index 194
Pos 0 1 EMPTY
Index 195
Pos 0 1 EMPTY
Pos -1 0 INDEX 194
Index 196
Pos 0 1 EMPTY
Pos -1 0 INDEX 195
#right
Index 178 XFLIP
Pos 1 0 EMPTY
#left
Index 178
Pos -1 0 EMPTY
#corner bottom right
Index 197
Pos 0 1 EMPTY
Pos 1 0 EMPTY
#corner bottom left
Index 193
Pos 0 1 EMPTY
Pos -1 0 EMPTY
#inside corner top right
Index 180
Pos 0 1 FULL
Pos -1 0 FULL
Pos -1 1 EMPTY
#inside corner top left
Index 179
Pos 0 1 FULL
Pos 1 0 FULL
Pos 1 1 EMPTY
================================================
FILE: data/fonts/LICENSE
================================================
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
Bitstream Vera Fonts Copyright
------------------------------
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
a trademark of Bitstream, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of the fonts accompanying this license ("Fonts") and associated
documentation files (the "Font Software"), to reproduce and distribute the
Font Software, including without limitation the rights to use, copy, merge,
publish, distribute, and/or sell copies of the Font Software, and to permit
persons to whom the Font Software is furnished to do so, subject to the
following conditions:
The above copyright and trademark notices and this permission notice shall
be included in all copies of one or more of the Font Software typefaces.
The Font Software may be modified, altered, or added to, and in particular
the designs of glyphs or characters in the Fonts may be modified and
additional glyphs or characters may be added to the Fonts, only if the fonts
are renamed to names not containing either the words "Bitstream" or the word
"Vera".
This License becomes null and void to the extent applicable to Fonts or Font
Software that has been modified and is distributed under the "Bitstream
Vera" names.
The Font Software may be sold as part of a larger software package but no
copy of one or more of the Font Software typefaces may be sold by itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
FONT SOFTWARE.
Except as contained in this notice, the names of Gnome, the Gnome
Foundation, and Bitstream Inc., shall not be used in advertising or
otherwise to promote the sale, use or other dealings in this Font Software
without prior written authorization from the Gnome Foundation or Bitstream
Inc., respectively. For further information, contact: fonts at gnome dot
org.
Arev Fonts Copyright
------------------------------
Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the fonts accompanying this license ("Fonts") and
associated documentation files (the "Font Software"), to reproduce
and distribute the modifications to the Bitstream Vera Font Software,
including without limitation the rights to use, copy, merge, publish,
distribute, and/or sell copies of the Font Software, and to permit
persons to whom the Font Software is furnished to do so, subject to
the following conditions:
The above copyright and trademark notices and this permission notice
shall be included in all copies of one or more of the Font Software
typefaces.
The Font Software may be modified, altered, or added to, and in
particular the designs of glyphs or characters in the Fonts may be
modified and additional glyphs or characters may be added to the
Fonts, only if the fonts are renamed to names not containing either
the words "Tavmjong Bah" or the word "Arev".
This License becomes null and void to the extent applicable to Fonts
or Font Software that has been modified and is distributed under the
"Tavmjong Bah Arev" names.
The Font Software may be sold as part of a larger software package but
no copy of one or more of the Font Software typefaces may be sold by
itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
Except as contained in this notice, the name of Tavmjong Bah shall not
be used in advertising or otherwise to promote the sale, use or other
dealings in this Font Software without prior written authorization
from Tavmjong Bah. For further information, contact: tavmjong @ free
. fr.
$Id: LICENSE 2133 2007-11-28 02:46:28Z lechimp $
================================================
FILE: data/fonts/VERSION
================================================
2.33
================================================
FILE: data/skins/bluekitty.json
================================================
{"skin": {
"body": {
"filename": "kitty",
"custom_colors": "true",
"hue": 132,
"sat": 118,
"lgt": 184
},
"tattoo": {
"filename": "whisker",
"custom_colors": "true",
"hue": 130,
"sat": 109,
"lgt": 219,
"alp": 255
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 120,
"sat": 82,
"lgt": 235
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 120,
"sat": 82,
"lgt": 235
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/bluestripe.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 155,
"sat": 116,
"lgt": 122
},
"tattoo": {
"filename": "stripes",
"custom_colors": "false"
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 11,
"sat": 117,
"lgt": 0
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 29,
"sat": 173,
"lgt": 87
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/brownbear.json
================================================
{"skin": {
"body": {
"filename": "bear",
"custom_colors": "true",
"hue": 16,
"sat": 133,
"lgt": 121
},
"tattoo": {
"filename": "bear",
"custom_colors": "true",
"hue": 17,
"sat": 110,
"lgt": 168,
"alp": 255
},
"decoration": {
"filename": "hair",
"custom_colors": "false"
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 16,
"sat": 133,
"lgt": 121
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 17,
"sat": 129,
"lgt": 38
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/cammo.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 81,
"sat": 101,
"lgt": 70
},
"tattoo": {
"filename": "cammo2",
"custom_colors": "true",
"hue": 76,
"sat": 97,
"lgt": 45,
"alp": 255
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 11,
"sat": 117,
"lgt": 0
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 29,
"sat": 173,
"lgt": 87
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/cammostripes.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 81,
"sat": 101,
"lgt": 70
},
"tattoo": {
"filename": "cammostripes",
"custom_colors": "true",
"hue": 29,
"sat": 142,
"lgt": 0,
"alp": 255
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 11,
"sat": 117,
"lgt": 0
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 29,
"sat": 173,
"lgt": 87
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/coala.json
================================================
{"skin": {
"body": {
"filename": "bear",
"custom_colors": "true",
"hue": 0,
"sat": 0,
"lgt": 184
},
"tattoo": {
"filename": "bear",
"custom_colors": "true",
"hue": 21,
"sat": 12,
"lgt": 226,
"alp": 255
},
"decoration": {
"filename": "hair",
"custom_colors": "false"
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 0,
"sat": 0,
"lgt": 184
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 149,
"sat": 4,
"lgt": 71
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/default.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 27,
"sat": 111,
"lgt": 116
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 27,
"sat": 117,
"lgt": 158
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 28,
"sat": 135,
"lgt": 62
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/limekitty.json
================================================
{"skin": {
"body": {
"filename": "kitty",
"custom_colors": "true",
"hue": 70,
"sat": 98,
"lgt": 195
},
"tattoo": {
"filename": "whisker",
"custom_colors": "true",
"hue": 69,
"sat": 98,
"lgt": 224,
"alp": 255
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 58,
"sat": 104,
"lgt": 239
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 58,
"sat": 104,
"lgt": 239
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/pinky.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 242,
"sat": 201,
"lgt": 187
},
"tattoo": {
"filename": "whisker",
"custom_colors": "true",
"hue": 243,
"sat": 198,
"lgt": 214,
"alp": 255
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 229,
"sat": 137,
"lgt": 218
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 229,
"sat": 137,
"lgt": 218
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/redbopp.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 246,
"sat": 216,
"lgt": 108
},
"tattoo": {
"filename": "donny",
"custom_colors": "true",
"hue": 2,
"sat": 217,
"lgt": 202,
"alp": 255
},
"decoration": {
"filename": "unibop",
"custom_colors": "true",
"hue": 246,
"sat": 216,
"lgt": 108
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 246,
"sat": 216,
"lgt": 108
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 116,
"sat": 85,
"lgt": 233
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/redstripe.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 248,
"sat": 214,
"lgt": 123
},
"tattoo": {
"filename": "stripe",
"custom_colors": "false"
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 0,
"sat": 0,
"lgt": 184
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 149,
"sat": 4,
"lgt": 71
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/saddo.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 109,
"sat": 109,
"lgt": 127
},
"tattoo": {
"filename": "saddo",
"custom_colors": "true",
"hue": 108,
"sat": 54,
"lgt": 68,
"alp": 255
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 55,
"sat": 141,
"lgt": 170
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 88,
"sat": 97,
"lgt": 119
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/toptri.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 93,
"sat": 95,
"lgt": 163
},
"tattoo": {
"filename": "toptri",
"custom_colors": "false"
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 55,
"sat": 141,
"lgt": 170
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 88,
"sat": 97,
"lgt": 119
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/twinbop.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 233,
"sat": 158,
"lgt": 183
},
"tattoo": {
"filename": "duodonny",
"custom_colors": "true",
"hue": 231,
"sat": 146,
"lgt": 218,
"alp": 255
},
"decoration": {
"filename": "twinbopp",
"custom_colors": "true",
"hue": 233,
"sat": 158,
"lgt": 183
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 233,
"sat": 158,
"lgt": 183
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 0,
"sat": 146,
"lgt": 224
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/twintri.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 52,
"sat": 156,
"lgt": 124
},
"tattoo": {
"filename": "twintri",
"custom_colors": "true",
"hue": 40,
"sat": 222,
"lgt": 227,
"alp": 255
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 0,
"sat": 0,
"lgt": 185
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 147,
"sat": 4,
"lgt": 72
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/warpaint.json
================================================
{"skin": {
"body": {
"filename": "standard",
"custom_colors": "true",
"hue": 29,
"sat": 173,
"lgt": 87
},
"tattoo": {
"filename": "warpaint",
"custom_colors": "false"
},
"hands": {
"filename": "standard",
"custom_colors": "true",
"hue": 11,
"sat": 115,
"lgt": 1
},
"feet": {
"filename": "standard",
"custom_colors": "true",
"hue": 29,
"sat": 173,
"lgt": 87
},
"eyes": {
"filename": "standard",
"custom_colors": "false"
}}
}
================================================
FILE: data/skins/x_ninja.json
================================================
{"skin": {
"body": {
"filename": "x_ninja",
"custom_colors": "true",
"hue": 0,
"sat": 0,
"lgt": 0
},
"tattoo": {
"filename": "uppy",
"custom_colors": "true",
"hue": 0,
"sat": 0,
"lgt": 255,
"alp": 127
},
"hands": {
"filename": "standard",
"custom_colors": "false"
},
"feet": {
"filename": "standard",
"custom_colors": "false"
},
"eyes": {
"filename": "x_ninja",
"custom_colors": "false"
}}
}
================================================
FILE: datasrc/compile.py
================================================
import os, imp, sys
from datatypes import *
import content
import network
def create_enum_table(names, num):
lines = []
lines += ["enum", "{"]
lines += ["\t%s=0,"%names[0]]
for name in names[1:]:
lines += ["\t%s,"%name]
lines += ["\t%s" % num, "};"]
return lines
def create_flags_table(names):
lines = []
lines += ["enum", "{"]
i = 0
for name in names:
lines += ["\t%s = 1<<%d," % (name,i)]
i += 1
lines += ["};"]
return lines
def EmitEnum(names, num):
print("enum")
print("{")
print("\t%s=0," % names[0])
for name in names[1:]:
print("\t%s," % name)
print("\t%s" % num)
print("};")
def EmitFlags(names, num):
print("enum")
print("{")
i = 0
for name in names:
print("\t%s = 1<<%d," % (name,i))
i += 1
print("};")
gen_network_header = False
gen_network_source = False
gen_client_content_header = False
gen_client_content_source = False
gen_server_content_header = False
gen_server_content_source = False
if "network_header" in sys.argv: gen_network_header = True
if "network_source" in sys.argv: gen_network_source = True
if "client_content_header" in sys.argv: gen_client_content_header = True
if "client_content_source" in sys.argv: gen_client_content_source = True
if "server_content_header" in sys.argv: gen_server_content_header = True
if "server_content_source" in sys.argv: gen_server_content_source = True
if gen_client_content_header:
print("#ifndef CLIENT_CONTENT_HEADER")
print("#define CLIENT_CONTENT_HEADER")
if gen_server_content_header:
print("#ifndef SERVER_CONTENT_HEADER")
print("#define SERVER_CONTENT_HEADER")
if gen_client_content_header or gen_server_content_header:
# print some includes
print('#include <engine/graphics.h>')
print('#include <engine/sound.h>')
# emit the type declarations
contentlines = open("datasrc/content.py", "rb").readlines()
order = []
for line in contentlines:
line = line.strip()
if line[:6] == "class ".encode() and "(Struct)".encode() in line:
order += [line.split()[1].split("(".encode())[0].decode("ascii")]
for name in order:
EmitTypeDeclaration(content.__dict__[name])
# the container pointer
print('extern CDataContainer *g_pData;')
# enums
EmitEnum(["IMAGE_%s"%i.name.value.upper() for i in content.container.images.items], "NUM_IMAGES")
EmitEnum(["ANIM_%s"%i.name.value.upper() for i in content.container.animations.items], "NUM_ANIMS")
EmitEnum(["SPRITE_%s"%i.name.value.upper() for i in content.container.sprites.items], "NUM_SPRITES")
if gen_client_content_source or gen_server_content_source:
if gen_client_content_source:
print('#include "client_data.h"')
if gen_server_content_source:
print('#include "server_data.h"')
EmitDefinition(content.container, "datacontainer")
print('CDataContainer *g_pData = &datacontainer;')
# NETWORK
if gen_network_header:
print("#ifndef GAME_GENERATED_PROTOCOL_H")
print("#define GAME_GENERATED_PROTOCOL_H")
print(network.RawHeader)
for e in network.Enums:
for l in create_enum_table(["%s_%s"%(e.name, v) for v in e.values], 'NUM_%sS'%e.name): print(l)
print("")
for e in network.Flags:
for l in create_flags_table(["%s_%s" % (e.name, v) for v in e.values]): print(l)
print("")
for l in create_enum_table(["NETOBJ_INVALID"]+[o.enum_name for o in network.Objects], "NUM_NETOBJTYPES"): print(l)
print("")
for l in create_enum_table(["NETMSG_INVALID"]+[o.enum_name for o in network.Messages], "NUM_NETMSGTYPES"): print(l)
print("")
for item in network.Objects + network.Messages:
for line in item.emit_declaration():
print(line)
print("")
EmitEnum(["SOUND_%s"%i.name.value.upper() for i in content.container.sounds.items], "NUM_SOUNDS")
EmitEnum(["WEAPON_%s"%i.name.value.upper() for i in content.container.weapons.id.items], "NUM_WEAPONS")
print("""
class CNetObjHandler
{
const char *m_pMsgFailedOn;
const char *m_pObjCorrectedOn;
char m_aMsgData[1024];
int m_NumObjCorrections;
int ClampInt(const char *pErrorMsg, int Value, int Min, int Max);
int ClampFlag(const char *pErrorMsg, int Value, int Mask);
static const char *ms_apObjNames[];
static int ms_aObjSizes[];
static const char *ms_apMsgNames[];
public:
CNetObjHandler();
int ValidateObj(int Type, void *pData, int Size);
const char *GetObjName(int Type);
int GetObjSize(int Type);
int NumObjCorrections();
const char *CorrectedObjOn();
const char *GetMsgName(int Type);
void *SecureUnpackMsg(int Type, CUnpacker *pUnpacker);
const char *FailedMsgOn();
};
""")
print("#endif // GAME_GENERATED_PROTOCOL_H")
if gen_network_source:
# create names
lines = []
lines += ['#include <engine/shared/protocol.h>']
lines += ['#include <engine/message.h>']
lines += ['#include "protocol.h"']
lines += ['CNetObjHandler::CNetObjHandler()']
lines += ['{']
lines += ['\tm_pMsgFailedOn = "";']
lines += ['\tm_pObjCorrectedOn = "";']
lines += ['\tm_NumObjCorrections = 0;']
lines += ['}']
lines += ['']
lines += ['int CNetObjHandler::NumObjCorrections() { return m_NumObjCorrections; }']
lines += ['const char *CNetObjHandler::CorrectedObjOn() { return m_pObjCorrectedOn; }']
lines += ['const char *CNetObjHandler::FailedMsgOn() { return m_pMsgFailedOn; }']
lines += ['']
lines += ['']
lines += ['']
lines += ['']
lines += ['']
lines += ['static const int max_int = 0x7fffffff;']
lines += ['']
lines += ['int CNetObjHandler::ClampInt(const char *pErrorMsg, int Value, int Min, int Max)']
lines += ['{']
lines += ['\tif(Value < Min) { m_pObjCorrectedOn = pErrorMsg; m_NumObjCorrections++; return Min; }']
lines += ['\tif(Value > Max) { m_pObjCorrectedOn = pErrorMsg; m_NumObjCorrections++; return Max; }']
lines += ['\treturn Value;']
lines += ['}']
lines += ['']
lines += ['int CNetObjHandler::ClampFlag(const char *pErrorMsg, int Value, int Mask)']
lines += ['{']
lines += ['\tif((Value&Mask) != Value) { m_pObjCorrectedOn = pErrorMsg; m_NumObjCorrections++; return (Value&Mask); }']
lines += ['\treturn Value;']
lines += ['}']
lines += ['']
lines += ["const char *CNetObjHandler::ms_apObjNames[] = {"]
lines += ['\t"invalid",']
lines += ['\t"%s",' % o.name for o in network.Objects]
lines += ['\t""', "};", ""]
lines += ["int CNetObjHandler::ms_aObjSizes[] = {"]
lines += ['\t0,']
lines += ['\tsizeof(%s),' % o.struct_name for o in network.Objects]
lines += ['\t0', "};", ""]
lines += ['const char *CNetObjHandler::ms_apMsgNames[] = {']
lines += ['\t"invalid",']
for msg in network.Messages:
lines += ['\t"%s",' % msg.name]
lines += ['\t""']
lines += ['};']
lines += ['']
lines += ['const char *CNetObjHandler::GetObjName(int Type)']
lines += ['{']
lines += ['\tif(Type < 0 || Type >= NUM_NETOBJTYPES) return "(out of range)";']
lines += ['\treturn ms_apObjNames[Type];']
lines += ['};']
lines += ['']
lines += ['int CNetObjHandler::GetObjSize(int Type)']
lines += ['{']
lines += ['\tif(Type < 0 || Type >= NUM_NETOBJTYPES) return 0;']
lines += ['\treturn ms_aObjSizes[Type];']
lines += ['};']
lines += ['']
lines += ['const char *CNetObjHandler::GetMsgName(int Type)']
lines += ['{']
lines += ['\tif(Type < 0 || Type >= NUM_NETMSGTYPES) return "(out of range)";']
lines += ['\treturn ms_apMsgNames[Type];']
lines += ['};']
lines += ['']
for l in lines:
print(l)
if 0:
for item in network.Objects:
for line in item.emit_validate():
print(line)
print("")
# create validate tables
lines = []
lines += ['static int validate_invalid(void *data, int size) { return -1; }']
lines += ["typedef int(*VALIDATEFUNC)(void *data, int size);"]
lines += ["static VALIDATEFUNC validate_funcs[] = {"]
lines += ['\tvalidate_invalid,']
lines += ['\tvalidate_%s,' % o.name for o in network.Objects]
lines += ["\t0x0", "};", ""]
lines += ["int netobj_validate(int type, void *data, int size)"]
lines += ["{"]
lines += ["\tif(type < 0 || type >= NUM_NETOBJTYPES) return -1;"]
lines += ["\treturn validate_funcs[type](data, size);"]
lines += ["};", ""]
lines = []
lines += ['int CNetObjHandler::ValidateObj(int Type, void *pData, int Size)']
lines += ['{']
lines += ['\tswitch(Type)']
lines += ['\t{']
for item in network.Objects:
for line in item.emit_validate():
lines += ["\t" + line]
lines += ['\t']
lines += ['\t}']
lines += ['\treturn -1;']
lines += ['};']
lines += ['']
#int Validate(int Type, void *pData, int Size);
if 0:
for item in network.Messages:
for line in item.emit_unpack():
print(line)
print("")
lines += ['static void *secure_unpack_invalid(CUnpacker *pUnpacker) { return 0; }']
lines += ['typedef void *(*SECUREUNPACKFUNC)(CUnpacker *pUnpacker);']
lines += ['static SECUREUNPACKFUNC secure_unpack_funcs[] = {']
lines += ['\tsecure_unpack_invalid,']
for msg in network.Messages:
lines += ['\tsecure_unpack_%s,' % msg.name]
lines += ['\t0x0']
lines += ['};']
#
lines += ['void *CNetObjHandler::SecureUnpackMsg(int Type, CUnpacker *pUnpacker)']
lines += ['{']
lines += ['\tm_pMsgFailedOn = 0;']
lines += ['\tswitch(Type)']
lines += ['\t{']
for item in network.Messages:
for line in item.emit_unpack():
lines += ["\t" + line]
lines += ['\t']
lines += ['\tdefault:']
lines += ['\t\tm_pMsgFailedOn = "(type out of range)";']
lines += ['\t\tbreak;']
lines += ['\t}']
lines += ['\t']
lines += ['\tif(pUnpacker->Error())']
lines += ['\t\tm_pMsgFailedOn = "(unpack error)";']
lines += ['\t']
lines += ['\tif(m_pMsgFailedOn)']
lines += ['\t\treturn 0;']
lines += ['\tm_pMsgFailedOn = "";']
lines += ['\treturn m_aMsgData;']
lines += ['};']
lines += ['']
for l in lines:
print(l)
if gen_client_content_header or gen_server_content_header:
print("#endif")
================================================
FILE: datasrc/content.py
================================================
import copy
from datatypes import *
class Sound(Struct):
def __init__(self, filename=""):
Struct.__init__(self, "CDataSound")
self.id = SampleHandle()
self.filename = String(filename)
class SoundSet(Struct):
def __init__(self, name="", files=[]):
Struct.__init__(self, "CDataSoundset")
self.name = String(name)
self.sounds = Array(Sound())
self.last = Int(-1)
for name in files:
self.sounds.Add(Sound(name))
class Image(Struct):
def __init__(self, name="", filename=""):
Struct.__init__(self, "CDataImage")
self.name = String(name)
self.filename = String(filename)
self.id = TextureHandle()
class SpriteSet(Struct):
def __init__(self, name="", image=None, gridx=0, gridy=0):
Struct.__init__(self, "CDataSpriteset")
self.image = Pointer(Image, image) # TODO
self.gridx = Int(gridx)
self.gridy = Int(gridy)
class Sprite(Struct):
def __init__(self, name="", Set=None, x=0, y=0, w=0, h=0):
Struct.__init__(self, "CDataSprite")
self.name = String(name)
self.set = Pointer(SpriteSet, Set) # TODO
self.x = Int(x)
self.y = Int(y)
self.w = Int(w)
self.h = Int(h)
class Pickup(Struct):
def __init__(self, name="", respawntime=15, spawndelay=0):
Struct.__init__(self, "CDataPickupspec")
self.name = String(name)
self.respawntime = Int(respawntime)
self.spawndelay = Int(spawndelay)
class AnimKeyframe(Struct):
def __init__(self, time=0, x=0, y=0, angle=0):
Struct.__init__(self, "CAnimKeyframe")
self.time = Float(time)
self.x = Float(x)
self.y = Float(y)
self.angle = Float(angle)
class AnimSequence(Struct):
def __init__(self):
Struct.__init__(self, "CAnimSequence")
self.frames = Array(AnimKeyframe())
class Animation(Struct):
def __init__(self, name=""):
Struct.__init__(self, "CAnimation")
self.name = String(name)
self.body = AnimSequence()
self.back_foot = AnimSequence()
self.front_foot = AnimSequence()
self.attach = AnimSequence()
class WeaponSpec(Struct):
def __init__(self, container=None, name=""):
Struct.__init__(self, "CDataWeaponspec")
self.name = String(name)
self.sprite_body = Pointer(Sprite, Sprite())
self.sprite_cursor = Pointer(Sprite, Sprite())
self.sprite_proj = Pointer(Sprite, Sprite())
self.sprite_muzzles = Array(Pointer(Sprite, Sprite()))
self.visual_size = Int(96)
self.firedelay = Int(500)
self.maxammo = Int(10)
self.ammoregentime = Int(0)
self.damage = Int(1)
self.offsetx = Float(0)
self.offsety = Float(0)
self.muzzleoffsetx = Float(0)
self.muzzleoffsety = Float(0)
self.muzzleduration = Float(5)
# dig out sprites if we have a container
if container:
for sprite in container.sprites.items:
if sprite.name.value == "weapon_"+name+"_body": self.sprite_body.Set(sprite)
elif sprite.name.value == "weapon_"+name+"_cursor": self.sprite_cursor.Set(sprite)
elif sprite.name.value == "weapon_"+name+"_proj": self.sprite_proj.Set(sprite)
elif "weapon_"+name+"_muzzle" in sprite.name.value:
self.sprite_muzzles.Add(Pointer(Sprite, sprite))
class Weapon_Hammer(Struct):
def __init__(self):
Struct.__init__(self, "CDataWeaponspecHammer")
self.base = Pointer(WeaponSpec, WeaponSpec())
class Weapon_Gun(Struct):
def __init__(self):
Struct.__init__(self, "CDataWeaponspecGun")
self.base = Pointer(WeaponSpec, WeaponSpec())
self.curvature = Float(1.25)
self.speed = Float(2200)
self.lifetime = Float(2.0)
class Weapon_Shotgun(Struct):
def __init__(self):
Struct.__init__(self, "CDataWeaponspecShotgun")
self.base = Pointer(WeaponSpec, WeaponSpec())
self.curvature = Float(1.25)
self.speed = Float(2200)
self.speeddiff = Float(0.8)
self.lifetime = Float(0.25)
class Weapon_Grenade(Struct):
def __init__(self):
Struct.__init__(self, "CDataWeaponspecGrenade")
self.base = Pointer(WeaponSpec, WeaponSpec())
self.curvature = Float(7.0)
self.speed = Float(1000)
self.lifetime = Float(2.0)
class Weapon_Laser(Struct):
def __init__(self):
Struct.__init__(self, "CDataWeaponspecLaser")
self.base = Pointer(WeaponSpec, WeaponSpec())
self.reach = Float(800.0)
self.bounce_delay = Int(150)
self.bounce_num = Int(1)
self.bounce_cost = Float(0)
class Weapon_Ninja(Struct):
def __init__(self):
Struct.__init__(self, "CDataWeaponspecNinja")
self.base = Pointer(WeaponSpec, WeaponSpec())
self.duration = Int(15000)
self.movetime = Int(200)
self.velocity = Int(50)
class Weapons(Struct):
def __init__(self):
Struct.__init__(self, "CDataWeaponspecs")
self.hammer = Weapon_Hammer()
self.gun = Weapon_Gun()
self.shotgun = Weapon_Shotgun()
self.grenade = Weapon_Grenade()
self.laser = Weapon_Laser()
self.ninja = Weapon_Ninja()
self.id = Array(WeaponSpec())
class DataContainer(Struct):
def __init__(self):
Struct.__init__(self, "CDataContainer")
self.sounds = Array(SoundSet())
self.images = Array(Image())
self.pickups = Array(Pickup())
self.spritesets = Array(SpriteSet())
self.sprites = Array(Sprite())
self.animations = Array(Animation())
self.weapons = Weapons()
def FileList(format, num):
return [format%(x+1) for x in range(0,num)]
container = DataContainer()
container.sounds.Add(SoundSet("gun_fire", FileList("audio/wp_gun_fire-%02d.wv", 3)))
container.sounds.Add(SoundSet("shotgun_fire", FileList("audio/wp_shotty_fire-%02d.wv", 3)))
container.sounds.Add(SoundSet("grenade_fire", FileList("audio/wp_flump_launch-%02d.wv", 3)))
container.sounds.Add(SoundSet("hammer_fire", FileList("audio/wp_hammer_swing-%02d.wv", 3)))
container.sounds.Add(SoundSet("hammer_hit", FileList("audio/wp_hammer_hit-%02d.wv", 3)))
container.sounds.Add(SoundSet("ninja_fire", FileList("audio/wp_ninja_attack-%02d.wv", 3)))
container.sounds.Add(SoundSet("grenade_explode", FileList("audio/wp_flump_explo-%02d.wv", 3)))
container.sounds.Add(SoundSet("ninja_hit", FileList("audio/wp_ninja_hit-%02d.wv", 3)))
container.sounds.Add(SoundSet("laser_fire", FileList("audio/wp_laser_fire-%02d.wv", 3)))
container.sounds.Add(SoundSet("laser_bounce", FileList("audio/wp_laser_bnce-%02d.wv", 3)))
container.sounds.Add(SoundSet("weapon_switch", FileList("audio/wp_switch-%02d.wv", 3)))
container.sounds.Add(SoundSet("player_pain_short", FileList("audio/vo_teefault_pain_short-%02d.wv", 12)))
container.sounds.Add(SoundSet("player_pain_long", FileList("audio/vo_teefault_pain_long-%02d.wv", 2)))
container.sounds.Add(SoundSet("body_land", FileList("audio/foley_land-%02d.wv", 4)))
container.sounds.Add(SoundSet("player_airjump", FileList("audio/foley_dbljump-%02d.wv", 3)))
container.sounds.Add(SoundSet("player_jump", FileList("audio/foley_foot_left-%02d.wv", 4) + FileList("audio/foley_foot_right-%02d.wv", 4)))
container.sounds.Add(SoundSet("player_die", FileList("audio/foley_body_splat-%02d.wv", 3)))
container.sounds.Add(SoundSet("player_spawn", FileList("audio/vo_teefault_spawn-%02d.wv", 7)))
container.sounds.Add(SoundSet("player_skid", FileList("audio/sfx_skid-%02d.wv", 4)))
container.sounds.Add(SoundSet("tee_cry", FileList("audio/vo_teefault_cry-%02d.wv", 2)))
container.sounds.Add(SoundSet("hook_loop", FileList("audio/hook_loop-%02d.wv", 2)))
container.sounds.Add(SoundSet("hook_attach_ground", FileList("audio/hook_attach-%02d.wv", 3)))
container.sounds.Add(SoundSet("hook_attach_player", FileList("audio/foley_body_impact-%02d.wv", 3)))
container.sounds.Add(SoundSet("hook_noattach", FileList("audio/hook_noattach-%02d.wv", 2)))
container.sounds.Add(SoundSet("pickup_health", FileList("audio/sfx_pickup_hrt-%02d.wv", 2)))
container.sounds.Add(SoundSet("pickup_armor", FileList("audio/sfx_pickup_arm-%02d.wv", 4)))
container.sounds.Add(SoundSet("pickup_grenade", ["audio/sfx_pickup_launcher.wv"]))
container.sounds.Add(SoundSet("pickup_shotgun", ["audio/sfx_pickup_sg.wv"]))
container.sounds.Add(SoundSet("pickup_ninja", ["audio/sfx_pickup_ninja.wv"]))
container.sounds.Add(SoundSet("weapon_spawn", FileList("audio/sfx_spawn_wpn-%02d.wv", 3)))
container.sounds.Add(SoundSet("weapon_noammo", FileList("audio/wp_noammo-%02d.wv", 5)))
container.sounds.Add(SoundSet("hit", FileList("audio/sfx_hit_weak-%02d.wv", 2)))
container.sounds.Add(SoundSet("chat_server", ["audio/sfx_msg-server.wv"]))
container.sounds.Add(SoundSet("chat_client", ["audio/sfx_msg-client.wv"]))
container.sounds.Add(SoundSet("chat_highlight", ["audio/sfx_msg-highlight.wv"]))
container.sounds.Add(SoundSet("ctf_drop", ["audio/sfx_ctf_drop.wv"]))
container.sounds.Add(SoundSet("ctf_return", ["audio/sfx_ctf_rtn.wv"]))
container.sounds.Add(SoundSet("ctf_grab_pl", ["audio/sfx_ctf_grab_pl.wv"]))
container.sounds.Add(SoundSet("ctf_grab_en", ["audio/sfx_ctf_grab_en.wv"]))
container.sounds.Add(SoundSet("ctf_capture", ["audio/sfx_ctf_cap_pl.wv"]))
container.sounds.Add(SoundSet("menu", ["audio/music_menu.wv"]))
image_null = Image("null", "")
image_particles = Image("particles", "particles.png")
image_game = Image("game", "game.png")
image_browseicons = Image("browseicons", "icons/browse.png")
image_emoticons = Image("emoticons", "emoticons.png")
image_demobuttons = Image("demobuttons", "demo_buttons.png")
image_fileicons = Image("fileicons", "file_icons.png")
image_guibuttons = Image("guibuttons", "gui_buttons.png")
image_guiicons = Image("guiicons", "gui_icons.png")
image_menuicons = Image("menuicons", "icons/menu.png")
image_toolicons = Image("toolicons", "icons/tools.png")
image_infoicons = Image("infoicons", "icons/info.png")
container.images.Add(image_null)
container.images.Add(image_game)
container.images.Add(Image("deadtee", "deadtee.png"))
container.images.Add(image_particles)
container.images.Add(Image("cursor", "gui_cursor.png"))
container.images.Add(Image("banner", "gui_logo.png"))
container.images.Add(image_emoticons)
container.images.Add(image_browseicons)
container.images.Add(Image("console_bg", "console.png"))
container.images.Add(Image("console_bar", "console_bar.png"))
container.images.Add(image_demobuttons)
container.images.Add(image_fileicons)
container.images.Add(image_guibuttons)
container.images.Add(image_guiicons)
container.images.Add(Image("no_skinpart", "no_skinpart.png"))
container.images.Add(image_menuicons)
container.images.Add(image_toolicons)
container.images.Add(image_infoicons)
container.pickups.Add(Pickup("health"))
container.pickups.Add(Pickup("armor"))
container.pickups.Add(Pickup("grenade"))
container.pickups.Add(Pickup("shotgun"))
container.pickups.Add(Pickup("laser"))
container.pickups.Add(Pickup("ninja", 90, 90))
set_particles = SpriteSet("particles", image_particles, 8, 8)
set_game = SpriteSet("game", image_game, 32, 16)
set_tee_body = SpriteSet("tee_body", image_null, 2, 2)
set_tee_tattoos = SpriteSet("tee_tattoos", image_null, 1, 1)
set_tee_decoration = SpriteSet("tee_decoration", image_null, 2, 1)
set_tee_hands = SpriteSet("tee_hands", image_null, 2, 1)
set_tee_feet = SpriteSet("tee_feet", image_null, 2, 1)
set_tee_eyes = SpriteSet("tee_eyes", image_null, 2, 4)
set_browseicons = SpriteSet("browseicons", image_browseicons, 4, 2)
set_emoticons = SpriteSet("emoticons", image_emoticons, 4, 4)
set_demobuttons = SpriteSet("demobuttons", image_demobuttons, 5, 1)
set_fileicons = SpriteSet("fileicons", image_fileicons, 8, 1)
set_guibuttons = SpriteSet("guibuttons", image_guibuttons, 12, 4)
set_guiicons = SpriteSet("guiicons", image_guiicons, 8, 2)
set_menuicons = SpriteSet("menuicons", image_menuicons, 2, 2)
set_toolicons = SpriteSet("toolicons", image_toolicons, 4, 2)
set_infoicons = SpriteSet("infoicons", image_infoicons, 1, 2)
container.spritesets.Add(set_particles)
container.spritesets.Add(set_game)
container.spritesets.Add(set_tee_body)
container.spritesets.Add(set_tee_tattoos)
container.spritesets.Add(set_tee_decoration)
container.spritesets.Add(set_tee_hands)
container.spritesets.Add(set_tee_feet)
container.spritesets.Add(set_tee_eyes)
container.spritesets.Add(set_browseicons)
container.spritesets.Add(set_emoticons)
container.spritesets.Add(set_demobuttons)
container.spritesets.Add(set_fileicons)
container.spritesets.Add(set_guibuttons)
container.spritesets.Add(set_guiicons)
container.spritesets.Add(set_menuicons)
container.spritesets.Add(set_toolicons)
container.spritesets.Add(set_infoicons)
container.sprites.Add(Sprite("part_slice", set_particles, 0,0,1,1))
container.sprites.Add(Sprite("part_ball", set_particles, 1,0,1,1))
container.sprites.Add(Sprite("part_splat01", set_particles, 2,0,1,1))
container.sprites.Add(Sprite("part_splat02", set_particles, 3,0,1,1))
container.sprites.Add(Sprite("part_splat03", set_particles, 4,0,1,1))
container.sprites.Add(Sprite("part_smoke", set_particles, 0,1,1,1))
container.sprites.Add(Sprite("part_shell", set_particles, 0,2,2,2))
container.sprites.Add(Sprite("part_expl01", set_particles, 0,4,4,4))
container.sprites.Add(Sprite("part_airjump", set_particles, 2,2,2,2))
container.sprites.Add(Sprite("part_hit01", set_particles, 4,1,2,2))
container.sprites.Add(Sprite("health_full", set_game, 21,0,2,2))
container.sprites.Add(Sprite("health_empty", set_game, 23,0,2,2))
container.sprites.Add(Sprite("armor_full", set_game, 21,2,2,2))
container.sprites.Add(Sprite("armor_empty", set_game, 23,2,2,2))
container.sprites.Add(Sprite("star1", set_game, 15,0,2,2))
container.sprites.Add(Sprite("star2", set_game, 17,0,2,2))
container.sprites.Add(Sprite("star3", set_game, 19,0,2,2))
container.sprites.Add(Sprite("part1", set_game, 6,0,1,1))
container.sprites.Add(Sprite("part2", set_game, 6,1,1,1))
container.sprites.Add(Sprite("part3", set_game, 7,0,1,1))
container.sprites.Add(Sprite("part4", set_game, 7,1,1,1))
container.sprites.Add(Sprite("part5", set_game, 8,0,1,1))
container.sprites.Add(Sprite("part6", set_game, 8,1,1,1))
container.sprites.Add(Sprite("part7", set_game, 9,0,2,2))
container.sprites.Add(Sprite("part8", set_game, 11,0,2,2))
container.sprites.Add(Sprite("part9", set_game, 13,0,2,2))
container.sprites.Add(Sprite("weapon_gun_body", set_game, 2,4,4,2))
container.sprites.Add(Sprite("weapon_gun_cursor", set_game, 0,4,2,2))
container.sprites.Add(Sprite("weapon_gun_proj", set_game, 6,4,2,2))
container.sprites.Add(Sprite("weapon_gun_muzzle1", set_game, 8,4,3,2))
container.sprites.Add(Sprite("weapon_gun_muzzle2", set_game, 12,4,3,2))
container.sprites.Add(Sprite("weapon_gun_muzzle3", set_game, 16,4,3,2))
container.sprites.Add(Sprite("weapon_shotgun_body", set_game, 2,6,8,2))
container.sprites.Add(Sprite("weapon_shotgun_cursor", set_game, 0,6,2,2))
container.sprites.Add(Sprite("weapon_shotgun_proj", set_game, 10,6,2,2))
container.sprites.Add(Sprite("weapon_shotgun_muzzle1", set_game, 12,6,3,2))
container.sprites.Add(Sprite("weapon_shotgun_muzzle2", set_game, 16,6,3,2))
container.sprites.Add(Sprite("weapon_shotgun_muzzle3", set_game, 20,6,3,2))
container.sprites.Add(Sprite("weapon_grenade_body", set_game, 2,8,7,2))
container.sprites.Add(Sprite("weapon_grenade_cursor", set_game, 0,8,2,2))
container.sprites.Add(Sprite("weapon_grenade_proj", set_game, 10,8,2,2))
container.sprites.Add(Sprite("weapon_hammer_body", set_game, 2,1,4,3))
container.sprites.Add(Sprite("weapon_hammer_cursor", set_game, 0,0,2,2))
container.sprites.Add(Sprite("weapon_hammer_proj", set_game, 0,0,0,0))
container.sprites.Add(Sprite("weapon_ninja_body", set_game, 2,10,8,2))
container.sprites.Add(Sprite("weapon_ninja_cursor", set_game, 0,10,2,2))
container.sprites.Add(Sprite("weapon_ninja_proj", set_game, 0,0,0,0))
container.sprites.Add(Sprite("weapon_laser_body", set_game, 2,12,7,3))
container.sprites.Add(Sprite("weapon_laser_cursor", set_game, 0,12,2,2))
container.sprites.Add(Sprite("weapon_laser_proj", set_game, 10,12,2,2))
container.sprites.Add(Sprite("hook_chain", set_game, 2,0,1,1))
container.sprites.Add(Sprite("hook_head", set_game, 3,0,2,1))
container.sprites.Add(Sprite("weapon_ninja_muzzle1", set_game, 25,0,7,4))
container.sprites.Add(Sprite("weapon_ninja_muzzle2", set_game, 25,4,7,4))
container.sprites.Add(Sprite("weapon_ninja_muzzle3", set_game, 25,8,7,4))
container.sprites.Add(Sprite("pickup_health", set_game, 10,2,2,2))
container.sprites.Add(Sprite("pickup_armor", set_game, 12,2,2,2))
container.sprites.Add(Sprite("pickup_grenade", set_game, 2,8,7,2))
container.sprites.Add(Sprite("pickup_shotgun", set_game, 2,6,8,2))
container.sprites.Add(Sprite("pickup_laser", set_game, 2,12,7,3))
container.sprites.Add(Sprite("pickup_ninja", set_game, 2,10,8,2))
container.sprites.Add(Sprite("flag_blue", set_game, 12,8,4,8))
container.sprites.Add(Sprite("flag_red", set_game, 16,8,4,8))
container.sprites.Add(Sprite("tee_body_outline", set_tee_body, 0,0,1,1))
container.sprites.Add(Sprite("tee_body", set_tee_body, 1,0,1,1))
container.sprites.Add(Sprite("tee_body_shadow", set_tee_body, 0,1,1,1))
container.sprites.Add(Sprite("tee_body_upper_outline", set_tee_body, 1,1,1,1))
container.sprites.Add(Sprite("tee_tattoo", set_tee_tattoos, 0,0,1,1))
container.sprites.Add(Sprite("tee_decoration", set_tee_decoration, 0,0,1,1))
container.sprites.Add(Sprite("tee_decoration_outline", set_tee_decoration, 1,0,1,1))
container.sprites.Add(Sprite("tee_hand", set_tee_hands, 0,0,1,1))
container.sprites.Add(Sprite("tee_hand_outline", set_tee_hands, 1,0,1,1))
container.sprites.Add(Sprite("tee_foot", set_tee_feet, 0,0,1,1))
container.sprites.Add(Sprite("tee_foot_outline", set_tee_feet, 1,0,1,1))
container.sprites.Add(Sprite("tee_eyes_normal", set_tee_eyes, 0,0,1,1))
container.sprites.Add(Sprite("tee_eyes_angry", set_tee_eyes, 1,0,1,1))
container.sprites.Add(Sprite("tee_eyes_pain", set_tee_eyes, 0,1,1,1))
container.sprites.Add(Sprite("tee_eyes_happy", set_tee_eyes, 1,1,1,1))
container.sprites.Add(Sprite("tee_eyes_surprise", set_tee_eyes, 0,2,1,1))
container.sprites.Add(Sprite("oop", set_emoticons, 0, 0, 1, 1))
container.sprites.Add(Sprite("exclamation", set_emoticons, 1, 0, 1, 1))
container.sprites.Add(Sprite("hearts", set_emoticons, 2, 0, 1, 1))
container.sprites.Add(Sprite("drop", set_emoticons, 3, 0, 1, 1))
container.sprites.Add(Sprite("dotdot", set_emoticons, 0, 1, 1, 1))
container.sprites.Add(Sprite("music", set_emoticons, 1, 1, 1, 1))
container.sprites.Add(Sprite("sorry", set_emoticons, 2, 1, 1, 1))
container.sprites.Add(Sprite("ghost", set_emoticons, 3, 1, 1, 1))
container.sprites.Add(Sprite("sushi", set_emoticons, 0, 2, 1, 1))
container.sprites.Add(Sprite("splattee", set_emoticons, 1, 2, 1, 1))
container.sprites.Add(Sprite("deviltee", set_emoticons, 2, 2, 1, 1))
container.sprites.Add(Sprite("zomg", set_emoticons, 3, 2, 1, 1))
container.sprites.Add(Sprite("zzz", set_emoticons, 0, 3, 1, 1))
container.sprites.Add(Sprite("wtf", set_emoticons, 1, 3, 1, 1))
container.sprites.Add(Sprite("eyes", set_emoticons, 2, 3, 1, 1))
container.sprites.Add(Sprite("question", set_emoticons, 3, 3, 1, 1))
container.sprites.Add(Sprite("browse_lock_a", set_browseicons, 0,0,1,1))
container.sprites.Add(Sprite("browse_lock_b", set_browseicons, 0,1,1,1))
#container.sprites.Add(Sprite("browse_lock_c", set_browseicons, 2,0,1,1))
container.sprites.Add(Sprite("browse_unpure_a", set_browseicons, 1,0,1,1))
container.sprites.Add(Sprite("browse_unpure_b", set_browseicons, 1,1,1,1))
#container.sprites.Add(Sprite("browse_unpure_c", set_browseicons, 2,1,1,1))
container.sprites.Add(Sprite("browse_star_a", set_browseicons, 2,0,1,1))
container.sprites.Add(Sprite("browse_star_b", set_browseicons, 2,1,1,1))
#container.sprites.Add(Sprite("browse_star_c", set_browseicons, 2,2,1,1))
container.sprites.Add(Sprite("browse_heart_a", set_browseicons, 3,0,1,1))
container.sprites.Add(Sprite("browse_heart_b", set_browseicons, 3,1,1,1))
#container.sprites.Add(Sprite("browse_heart_c", set_browseicons, 2,3,1,1))
container.sprites.Add(Sprite("demobutton_play", set_demobuttons, 0,0,1,1))
container.sprites.Add(Sprite("demobutton_pause", set_demobuttons, 1,0,1,1))
container.sprites.Add(Sprite("demobutton_stop", set_demobuttons, 2,0,1,1))
container.sprites.Add(Sprite("demobutton_slower", set_demobuttons, 3,0,1,1))
container.sprites.Add(Sprite("demobutton_faster", set_demobuttons, 4,0,1,1))
container.sprites.Add(Sprite("file_demo1", set_fileicons, 0,0,1,1))
container.sprites.Add(Sprite("file_demo2", set_fileicons, 1,0,1,1))
container.sprites.Add(Sprite("file_folder", set_fileicons, 2,0,1,1))
container.sprites.Add(Sprite("file_map1", set_fileicons, 5,0,1,1))
container.sprites.Add(Sprite("file_map2", set_fileicons, 6,0,1,1))
container.sprites.Add(Sprite("guibutton_off", set_guibuttons, 0,0,4,4))
container.sprites.Add(Sprite("guibutton_on", set_guibuttons, 4,0,4,4))
container.sprites.Add(Sprite("guibutton_hover", set_guibuttons, 8,0,4,4))
container.sprites.Add(Sprite("guiicon_mute", set_guiicons, 0,0,4,2))
container.sprites.Add(Sprite("guiicon_friend", set_guiicons, 4,0,4,2))
container.sprites.Add(Sprite("menu_checkbox_active", set_menuicons, 0,0,1,1))
container.sprites.Add(Sprite("menu_checkbox_inactive", set_menuicons, 0,1,1,1))
container.sprites.Add(Sprite("menu_collapsed", set_menuicons, 1,0,1,1))
container.sprites.Add(Sprite("menu_expanded", set_menuicons, 1,1,1,1))
container.sprites.Add(Sprite("tool_up_a", set_toolicons, 0,0,1,1))
container.sprites.Add(Sprite("tool_up_b", set_toolicons, 0,1,1,1))
container.sprites.Add(Sprite("tool_down_a", set_toolicons, 1,0,1,1))
container.sprites.Add(Sprite("tool_down_b", set_toolicons, 1,1,1,1))
container.sprites.Add(Sprite("tool_edit_a", set_toolicons, 2,0,1,1))
container.sprites.Add(Sprite("tool_edit_b", set_toolicons, 2,1,1,1))
container.sprites.Add(Sprite("tool_x_a", set_toolicons, 3,0,1,1))
container.sprites.Add(Sprite("tool_x_b", set_toolicons, 3,1,1,1))
container.sprites.Add(Sprite("info_a", set_infoicons, 0,0,1,1))
container.sprites.Add(Sprite("info_b", set_infoicons, 0,1,1,1))
anim = Animation("base")
anim.body.frames.Add(AnimKeyframe(0, 0, -4, 0))
anim.back_foot.frames.Add(AnimKeyframe(0, 0, 10, 0))
anim.front_foot.frames.Add(AnimKeyframe(0, 0, 10, 0))
container.animations.Add(anim)
anim = Animation("idle")
anim.back_foot.frames.Add(AnimKeyframe(0, -7, 0, 0))
anim.front_foot.frames.Add(AnimKeyframe(0, 7, 0, 0))
container.animations.Add(anim)
anim = Animation("inair")
anim.back_foot.frames.Add(AnimKeyframe(0, -3, 0, -0.1))
anim.front_foot.frames.Add(AnimKeyframe(0, 3, 0, -0.1))
container.animations.Add(anim)
anim = Animation("walk")
anim.body.frames.Add(AnimKeyframe(0.0, 0, 0, 0))
anim.body.frames.Add(AnimKeyframe(0.2, 0,-1, 0))
anim.body.frames.Add(AnimKeyframe(0.4, 0, 0, 0))
anim.body.frames.Add(AnimKeyframe(0.6, 0, 0, 0))
anim.body.frames.Add(AnimKeyframe(0.8, 0,-1, 0))
anim.body.frames.Add(AnimKeyframe(1.0, 0, 0, 0))
anim.back_foot.frames.Add(AnimKeyframe(0.0, 8, 0, 0))
anim.back_foot.frames.Add(AnimKeyframe(0.2, -8, 0, 0))
anim.back_foot.frames.Add(AnimKeyframe(0.4,-10,-4, 0.2))
anim.back_foot.frames.Add(AnimKeyframe(0.6, -8,-8, 0.3))
anim.back_foot.frames.Add(AnimKeyframe(0.8, 4,-4,-0.2))
anim.back_foot.frames.Add(AnimKeyframe(1.0, 8, 0, 0))
anim.front_foot.frames.Add(AnimKeyframe(0.0,-10,-4, 0.2))
anim.front_foot.frames.Add(AnimKeyframe(0.2, -8,-8, 0.3))
anim.front_foot.frames.Add(AnimKeyframe(0.4, 4,-4,-0.2))
anim.front_foot.frames.Add(AnimKeyframe(0.6, 8, 0, 0))
anim.front_foot.frames.Add(AnimKeyframe(0.8, 8, 0, 0))
anim.front_foot.frames.Add(AnimKeyframe(1.0,-10,-4, 0.2))
container.animations.Add(anim)
anim = Animation("hammer_swing")
anim.attach.frames.Add(AnimKeyframe(0.0, 0, 0, -0.10))
anim.attach.frames.Add(AnimKeyframe(0.3, 0, 0, 0.25))
anim.attach.frames.Add(AnimKeyframe(0.4, 0, 0, 0.30))
anim.attach.frames.Add(AnimKeyframe(0.5, 0, 0, 0.25))
anim.attach.frames.Add(AnimKeyframe(1.0, 0, 0, -0.10))
container.animations.Add(anim)
anim = Animation("ninja_swing")
anim.attach.frames.Add(AnimKeyframe(0.00, 0, 0, -0.25))
anim.attach.frames.Add(AnimKeyframe(0.10, 0, 0, -0.05))
anim.attach.frames.Add(AnimKeyframe(0.15, 0, 0, 0.35))
anim.attach.frames.Add(AnimKeyframe(0.42, 0, 0, 0.40))
anim.attach.frames.Add(AnimKeyframe(0.50, 0, 0, 0.35))
anim.attach.frames.Add(AnimKeyframe(1.00, 0, 0, -0.25))
container.animations.Add(anim)
weapon = WeaponSpec(container, "hammer")
weapon.firedelay.Set(125)
weapon.damage.Set(3)
weapon.visual_size.Set(96)
weapon.offsetx.Set(4)
weapon.offsety.Set(-20)
container.weapons.hammer.base.Set(weapon)
container.weapons.id.Add(weapon)
weapon = WeaponSpec(container, "gun")
weapon.firedelay.Set(125)
weapon.ammoregentime.Set(500)
weapon.visual_size.Set(64)
weapon.offsetx.Set(32)
weapon.offsety.Set(4)
weapon.muzzleoffsetx.Set(50)
weapon.muzzleoffsety.Set(6)
container.weapons.gun.base.Set(weapon)
container.weapons.id.Add(weapon)
weapon = WeaponSpec(container, "shotgun")
weapon.firedelay.Set(500)
weapon.visual_size.Set(96)
weapon.offsetx.Set(24)
weapon.offsety.Set(-2)
weapon.muzzleoffsetx.Set(70)
weapon.muzzleoffsety.Set(6)
container.weapons.shotgun.base.Set(weapon)
container.weapons.id.Add(weapon)
weapon = WeaponSpec(container, "grenade")
weapon.firedelay.Set(500) # TODO: fix this
weapon.visual_size.Set(96)
weapon.offsetx.Set(24)
weapon.offsety.Set(-2)
container.weapons.grenade.base.Set(weapon)
container.weapons.id.Add(weapon)
weapon = WeaponSpec(container, "laser")
weapon.firedelay.Set(800)
weapon.visual_size.Set(92)
weapon.damage.Set(5)
weapon.offsetx.Set(24)
weapon.offsety.Set(-2)
container.weapons.laser.base.Set(weapon)
container.weapons.id.Add(weapon)
weapon = WeaponSpec(container, "ninja")
weapon.firedelay.Set(800)
weapon.damage.Set(9)
weapon.visual_size.Set(96)
weapon.offsetx.Set(0)
weapon.offsety.Set(0)
weapon.muzzleoffsetx.Set(40)
weapon.muzzleoffsety.Set(-4)
container.weapons.ninja.base.Set(weapon)
container.weapons.id.Add(weapon)
================================================
FILE: datasrc/datatypes.py
================================================
import sys
GlobalIdCounter = 0
def GetID():
global GlobalIdCounter
GlobalIdCounter += 1
return GlobalIdCounter
def GetUID():
return "x%d"%GetID()
def FixCasing(Str):
NewStr = ""
NextUpperCase = True
for c in Str:
if NextUpperCase:
NextUpperCase = False
NewStr += c.upper()
else:
if c == "_":
NextUpperCase = True
else:
NewStr += c.lower()
return NewStr
def FormatName(type, name):
if "*" in type:
return "m_p" + FixCasing(name)
if "[]" in type:
return "m_a" + FixCasing(name)
return "m_" + FixCasing(name)
class BaseType:
def __init__(self, type_name):
self._type_name = type_name
self._target_name = "INVALID"
self._id = GetID() # this is used to remember what order the members have in structures etc
def Identifyer(self): return "x"+str(self._id)
def TargetName(self): return self._target_name
def TypeName(self): return self._type_name
def ID(self): return self._id;
def EmitDeclaration(self, name):
return ["%s %s;"%(self.TypeName(), FormatName(self.TypeName(), name))]
def EmitPreDefinition(self, target_name):
self._target_name = target_name
return []
def EmitDefinition(self, name):
return []
class MemberType:
def __init__(self, name, var):
self.name = name
self.var = var
class Struct(BaseType):
def __init__(self, type_name):
BaseType.__init__(self, type_name)
def Members(self):
def sorter(a):
return a.var.ID()
m = []
for name in self.__dict__:
if name[0] == "_":
continue
m += [MemberType(name, self.__dict__[name])]
try:
m.sort(key = sorter)
except:
for v in m:
print(v.name, v.var)
sys.exit(-1)
return m
def EmitTypeDeclaration(self, name):
lines = []
lines += ["struct " + self.TypeName()]
lines += ["{"]
for member in self.Members():
lines += ["\t"+l for l in member.var.EmitDeclaration(member.name)]
lines += ["};"]
return lines
def EmitPreDefinition(self, target_name):
BaseType.EmitPreDefinition(self, target_name)
lines = []
for member in self.Members():
lines += member.var.EmitPreDefinition(target_name+"."+member.name)
return lines
def EmitDefinition(self, name):
lines = ["/* %s */ {" % self.TargetName()]
for member in self.Members():
lines += ["\t" + " ".join(member.var.EmitDefinition("")) + ","]
lines += ["}"]
return lines
class Array(BaseType):
def __init__(self, type):
BaseType.__init__(self, type.TypeName())
self.type = type
self.items = []
def Add(self, instance):
if instance.TypeName() != self.type.TypeName():
error("bah")
self.items += [instance]
def EmitDeclaration(self, name):
return ["int m_Num%s;"%(FixCasing(name)),
"%s *%s;"%(self.TypeName(), FormatName("[]", name))]
def EmitPreDefinition(self, target_name):
BaseType.EmitPreDefinition(self, target_name)
lines = []
i = 0
for item in self.items:
lines += item.EmitPreDefinition("%s[%d]"%(self.Identifyer(), i))
i += 1
if len(self.items):
lines += ["static %s %s[] = {"%(self.TypeName(), self.Identifyer())]
for item in self.items:
itemlines = item.EmitDefinition("")
lines += ["\t" + " ".join(itemlines).replace("\t", " ") + ","]
lines += ["};"]
else:
lines += ["static %s *%s = 0;"%(self.TypeName(), self.Identifyer())]
return lines
def EmitDefinition(self, name):
return [str(len(self.items))+","+self.Identifyer()]
# Basic Types
class Int(BaseType):
def __init__(self, value):
BaseType.__init__(self, "int")
self.value = value
def Set(self, value):
self.value = value
def EmitDefinition(self, name):
return ["%d"%self.value]
#return ["%d /* %s */"%(self.value, self._target_name)]
class Float(BaseType):
def __init__(self, value):
BaseType.__init__(self, "float")
self.value = value
def Set(self, value):
self.value = value
def EmitDefinition(self, name):
return ["%f"%self.value]
#return ["%d /* %s */"%(self.value, self._target_name)]
class String(BaseType):
def __init__(self, value):
BaseType.__init__(self, "const char*")
self.value = value
def Set(self, value):
self.value = value
def EmitDefinition(self, name):
return ['"'+self.value+'"']
class Pointer(BaseType):
def __init__(self, type, target):
BaseType.__init__(self, "%s*"%type().TypeName())
self.target = target
def Set(self, target):
self.target = target
def EmitDefinition(self, name):
return ["&"+self.target.TargetName()]
class TextureHandle(BaseType):
def __init__(self):
BaseType.__init__(self, "IGraphics::CTextureHandle")
def EmitDefinition(self, name):
return ["IGraphics::CTextureHandle()"]
class SampleHandle(BaseType):
def __init__(self):
BaseType.__init__(self, "ISound::CSampleHandle")
def EmitDefinition(self, name):
return ["ISound::CSampleHandle()"]
# helper functions
def EmitTypeDeclaration(root):
for l in root().EmitTypeDeclaration(""):
print(l)
def EmitDefinition(root, name):
for l in root.EmitPreDefinition(name):
print(l)
print("%s %s = " % (root.TypeName(), name))
for l in root.EmitDefinition(name):
print(l)
print(";")
# Network stuff after this
class Object:
pass
class Enum:
def __init__(self, name, values):
self.name = name
self.values = values
class Flags:
def __init__(self, name, values):
self.name = name
self.values = values
class NetObject:
def __init__(self, name, variables):
l = name.split(":")
self.name = l[0]
self.base = ""
if len(l) > 1:
self.base = l[1]
self.base_struct_name = "CNetObj_%s" % self.base
self.struct_name = "CNetObj_%s" % self.name
self.enum_name = "NETOBJTYPE_%s" % self.name.upper()
self.variables = variables
def emit_declaration(self):
if self.base:
lines = ["struct %s : public %s"%(self.struct_name,self.base_struct_name), "{"]
else:
lines = ["struct %s"%self.struct_name, "{"]
for v in self.variables:
lines += ["\t"+line for line in v.emit_declaration()]
lines += ["};"]
return lines
def emit_validate(self):
lines = ["case %s:" % self.enum_name]
lines += ["{"]
lines += ["\t%s *pObj = (%s *)pData;"%(self.struct_name, self.struct_name)]
lines += ["\tif(sizeof(*pObj) != Size) return -1;"]
for v in self.variables:
lines += ["\t"+line for line in v.emit_validate()]
lines += ["\treturn 0;"]
lines += ["}"]
return lines
class NetEvent(NetObject):
def __init__(self, name, variables):
NetObject.__init__(self, name, variables)
self.base_struct_name = "CNetEvent_%s" % self.base
self.struct_name = "CNetEvent_%s" % self.name
self.enum_name = "NETEVENTTYPE_%s" % self.name.upper()
class NetMessage(NetObject):
def __init__(self, name, variables):
NetObject.__init__(self, name, variables)
self.base_struct_name = "CNetMsg_%s" % self.base
self.struct_name = "CNetMsg_%s" % self.name
self.enum_name = "NETMSGTYPE_%s" % self.name.upper()
def emit_unpack(self):
lines = []
lines += ["case %s:" % self.enum_name]
lines += ["{"]
lines += ["\t%s *pMsg = (%s *)m_aMsgData;" % (self.struct_name, self.struct_name)]
lines += ["\t(void)pMsg;"]
for v in self.variables:
lines += ["\t"+line for line in v.emit_unpack()]
for v in self.variables:
lines += ["\t"+line for line in v.emit_unpack_check()]
lines += ["} break;"]
return lines
def emit_declaration(self):
extra = []
extra += ["\tint MsgID() const { return %s; }" % self.enum_name]
extra += ["\t"]
extra += ["\tbool Pack(CMsgPacker *pPacker)"]
extra += ["\t{"]
#extra += ["\t\tmsg_pack_start(%s, flags);"%self.enum_name]
for v in self.variables:
extra += ["\t\t"+line for line in v.emit_pack()]
extra += ["\t\treturn pPacker->Error() != 0;"]
extra += ["\t}"]
lines = NetObject.emit_declaration(self)
lines = lines[:-1] + extra + lines[-1:]
return lines
class NetVariable:
def __init__(self, name):
self.name = name
def emit_declaration(self):
return []
def emit_validate(self):
return []
def emit_pack(self):
return []
def emit_unpack(self):
return []
def emit_unpack_check(self):
return []
class NetString(NetVariable):
def emit_declaration(self):
return ["const char *%s;"%self.name]
def emit_unpack(self):
return ["pMsg->%s = pUnpacker->GetString();" % self.name]
def emit_pack(self):
return ["pPacker->AddString(%s, -1);" % self.name]
class NetStringStrict(NetVariable):
def emit_declaration(self):
return ["const char *%s;"%self.name]
def emit_unpack(self):
return ["pMsg->%s = pUnpacker->GetString(CUnpacker::SANITIZE_CC|CUnpacker::SKIP_START_WHITESPACES);" % self.name]
def emit_pack(self):
return ["pPacker->AddString(%s, -1);" % self.name]
class NetIntAny(NetVariable):
def emit_declaration(self):
return ["int %s;"%self.name]
def emit_unpack(self):
return ["pMsg->%s = pUnpacker->GetInt();" % self.name]
def emit_pack(self):
return ["pPacker->AddInt(%s);" % self.name]
class NetIntRange(NetIntAny):
def __init__(self, name, min, max):
NetIntAny.__init__(self,name)
self.min = str(min)
self.max = str(max)
def emit_validate(self):
return ["ClampInt(\"%s\", pObj->%s, %s, %s);"%(self.name,self.name, self.min, self.max)]
def emit_unpack_check(self):
return ["if(pMsg->%s < %s || pMsg->%s > %s) { m_pMsgFailedOn = \"%s\"; break; }" % (self.name, self.min, self.name, self.max, self.name)]
class NetEnum(NetIntRange):
def __init__(self, name, enum):
NetIntRange.__init__(self, name, 0, len(enum.values))
class NetFlag(NetIntAny):
def __init__(self, name, flag):
NetIntAny.__init__(self, name)
if len(flag.values) > 0:
self.mask = "%s_%s" % (flag.name, flag.values[0])
for i in flag.values[1:]:
self.mask += "|%s_%s" % (flag.name, i)
else:
self.mask = "0"
def emit_validate(self):
return ["ClampFlag(\"%s\", pObj->%s, %s);"%(self.name, self.name, self.mask)]
def emit_unpack_check(self):
return ["if((pMsg->%s & (%s)) != pMsg->%s) { m_pMsgFailedOn = \"%s\"; break; }" % (self.name, self.mask, self.name, self.name)]
class NetBool(NetIntRange):
def __init__(self, name):
NetIntRange.__init__(self,name,0,1)
class NetTick(NetIntRange):
def __init__(self, name):
NetIntRange.__init__(self,name,0,'max_int')
class NetArray(NetVariable):
def __init__(self, var, size):
self.base_name = var.name
self.var = var
self.size = size
self.name = self.base_name + "[%d]"%self.size
def emit_declaration(self):
self.var.name = self.name
return self.var.emit_declaration()
def emit_validate(self):
lines = []
for i in range(self.size):
self.var.name = self.base_name + "[%d]"%i
lines += self.var.emit_validate()
return lines
def emit_unpack(self):
lines = []
for i in range(self.size):
self.var.name = self.base_name + "[%d]"%i
lines += self.var.emit_unpack()
return lines
def emit_pack(self):
lines = []
for i in range(self.size):
self.var.name = self.base_name + "[%d]"%i
lines += self.var.emit_pack()
return lines
def emit_unpack_check(self):
lines = []
for i in range(self.size):
self.var.name = self.base_name + "[%d]"%i
lines += self.var.emit_unpack_check()
return lines
================================================
FILE: datasrc/network.py
================================================
from datatypes import *
Pickups = Enum("PICKUP", ["HEALTH", "ARMOR", "GRENADE", "SHOTGUN", "LASER", "NINJA"])
Emotes = Enum("EMOTE", ["NORMAL", "PAIN", "HAPPY", "SURPRISE", "ANGRY", "BLINK"])
Emoticons = Enum("EMOTICON", ["OOP", "EXCLAMATION", "HEARTS", "DROP", "DOTDOT", "MUSIC", "SORRY", "GHOST", "SUSHI", "SPLATTEE", "DEVILTEE", "ZOMG", "ZZZ", "WTF", "EYES", "QUESTION"])
Votes = Enum("VOTE", ["UNKNOWN", "START_OP", "START_KICK", "START_SPEC", "END_ABORT", "END_PASS", "END_FAIL"])
PlayerFlags = Flags("PLAYERFLAG", ["ADMIN", "CHATTING", "SCOREBOARD", "READY", "DEAD", "WATCHING"])
GameFlags = Flags("GAMEFLAG", ["TEAMS", "FLAGS", "SURVIVAL"])
GameStateFlags = Flags("GAMESTATEFLAG", ["WARMUP", "SUDDENDEATH", "ROUNDOVER", "GAMEOVER", "PAUSED", "STARTCOUNTDOWN"])
CoreEventFlags = Flags("COREEVENTFLAG", ["GROUND_JUMP", "AIR_JUMP", "HOOK_ATTACH_PLAYER", "HOOK_ATTACH_GROUND", "HOOK_HIT_NOHOOK"])
GameMsgIDs = Enum("GAMEMSG", ["TEAM_SWAP", "SPEC_INVALIDID", "TEAM_SHUFFLE", "TEAM_BALANCE", "CTF_DROP", "CTF_RETURN",
"TEAM_ALL", "TEAM_BALANCE_VICTIM", "CTF_GRAB",
"CTF_CAPTURE"])
RawHeader = '''
#include <engine/message.h>
enum
{
INPUT_STATE_MASK=0x3f
};
enum
{
TEAM_SPECTATORS=-1,
TEAM_RED,
TEAM_BLUE,
NUM_TEAMS,
FLAG_MISSING=-3,
FLAG_ATSTAND,
FLAG_TAKEN,
SPEC_FREEVIEW=-1,
};
'''
RawSource = '''
#include <engine/message.h>
#include "protocol.h"
'''
Enums = [
Pickups,
Emotes,
Emoticons,
Votes,
GameMsgIDs,
]
Flags = [
PlayerFlags,
GameFlags,
GameStateFlags,
CoreEventFlags,
]
Objects = [
NetObject("PlayerInput", [
NetIntRange("m_Direction", -1, 1),
NetIntAny("m_TargetX"),
NetIntAny("m_TargetY"),
NetBool("m_Jump"),
NetIntAny("m_Fire"),
NetBool("m_Hook"),
NetFlag("m_PlayerFlags", PlayerFlags),
NetIntRange("m_WantedWeapon", 0, 'NUM_WEAPONS-1'),
NetIntAny("m_NextWeapon"),
NetIntAny("m_PrevWeapon"),
]),
NetObject("Projectile", [
NetIntAny("m_X"),
NetIntAny("m_Y"),
NetIntAny("m_VelX"),
NetIntAny("m_VelY"),
NetIntRange("m_Type", 0, 'NUM_WEAPONS-1'),
NetTick("m_StartTick"),
]),
NetObject("Laser", [
NetIntAny("m_X"),
NetIntAny("m_Y"),
NetIntAny("m_FromX"),
NetIntAny("m_FromY"),
NetTick("m_StartTick"),
]),
NetObject("Pickup", [
NetIntAny("m_X"),
NetIntAny("m_Y"),
NetEnum("m_Type", Pickups),
]),
NetObject("Flag", [
NetIntAny("m_X"),
NetIntAny("m_Y"),
NetIntRange("m_Team", 'TEAM_RED', 'TEAM_BLUE')
]),
NetObject("GameData", [
NetTick("m_GameStartTick"),
NetFlag("m_GameStateFlags", GameStateFlags),
NetTick("m_GameStateEndTick"),
]),
NetObject("GameDataTeam", [
NetIntAny("m_TeamscoreRed"),
NetIntAny("m_TeamscoreBlue"),
]),
NetObject("GameDataFlag", [
NetIntRange("m_FlagCarrierRed", 'FLAG_MISSING', 'MAX_CLIENTS-1'),
NetIntRange("m_FlagCarrierBlue", 'FLAG_MISSING', 'MAX_CLIENTS-1'),
NetTick("m_FlagDropTickRed"),
NetTick("m_FlagDropTickBlue"),
]),
NetObject("CharacterCore", [
NetTick("m_Tick"),
NetIntAny("m_X"),
NetIntAny("m_Y"),
NetIntAny("m_VelX"),
NetIntAny("m_VelY"),
NetIntAny("m_Angle"),
NetIntRange("m_Direction", -1, 1),
NetIntRange("m_Jumped", 0, 3),
NetIntRange("m_HookedPlayer", 0, 'MAX_CLIENTS-1'),
NetIntRange("m_HookState", -1, 5),
NetTick("m_HookTick"),
NetIntAny("m_HookX"),
NetIntAny("m_HookY"),
]),
NetObject("Character:CharacterCore", [
NetIntRange("m_Health", 0, 10),
NetIntRange("m_Armor", 0, 10),
NetIntAny("m_AmmoCount"),
NetIntRange("m_Weapon", 0, 'NUM_WEAPONS-1'),
NetEnum("m_Emote", Emotes),
NetTick("m_AttackTick"),
NetFlag("m_TriggeredEvents", CoreEventFlags),
]),
NetObject("PlayerInfo", [
NetFlag("m_PlayerFlags", PlayerFlags),
NetIntAny("m_Score"),
NetIntAny("m_Latency"),
]),
NetObject("SpectatorInfo", [
NetIntRange("m_SpectatorID", 'SPEC_FREEVIEW', 'MAX_CLIENTS-1'),
NetIntAny("m_X"),
NetIntAny("m_Y"),
]),
## Demo
NetObject("De_ClientInfo", [
NetBool("m_Local"),
NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE'),
NetArray(NetIntAny("m_aName"), 4),
NetArray(NetIntAny("m_aClan"), 3),
NetIntAny("m_Country"),
NetArray(NetArray(NetIntAny("m_aaSkinPartNames"), 6), 6),
NetArray(NetBool("m_aUseCustomColors"), 6),
NetArray(NetIntAny("m_aSkinPartColors"), 6),
]),
NetObject("De_GameInfo", [
NetFlag("m_GameFlags", GameFlags),
NetIntRange("m_ScoreLimit", 0, 'max_int'),
NetIntRange("m_TimeLimit", 0, 'max_int'),
NetIntRange("m_MatchNum", 0, 'max_int'),
NetIntRange("m_MatchCurrent", 0, 'max_int'),
]),
NetObject("De_TuneParams", [
# todo: should be done differently
NetArray(NetIntAny("m_aTuneParams"), 33),
]),
## Events
NetEvent("Common", [
NetIntAny("m_X"),
NetIntAny("m_Y"),
]),
NetEvent("Explosion:Common", []),
NetEvent("Spawn:Common", []),
NetEvent("HammerHit:Common", []),
NetEvent("Death:Common", [
NetIntRange("m_ClientID", 0, 'MAX_CLIENTS-1'),
]),
NetEvent("SoundWorld:Common", [
NetIntRange("m_SoundID", 0, 'NUM_SOUNDS-1'),
]),
NetEvent("DamageInd:Common", [
NetIntAny("m_Angle"),
]),
]
Messages = [
### Server messages
NetMessage("Sv_Motd", [
NetString("m_pMessage"),
]),
NetMessage("Sv_Chat", [
NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE'),
NetIntRange("m_ClientID", -1, 'MAX_CLIENTS-1'),
NetString("m_pMessage"),
]),
NetMessage("Sv_Team", [
NetIntRange("m_ClientID", -1, 'MAX_CLIENTS-1'),
NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE'),
NetBool("m_Silent"),
NetTick("m_CooldownTick"),
]),
NetMessage("Sv_KillMsg", [
NetIntRange("m_Killer", 0, 'MAX_CLIENTS-1'),
NetIntRange("m_Victim", 0, 'MAX_CLIENTS-1'),
NetIntRange("m_Weapon", -3, 'NUM_WEAPONS-1'),
NetIntAny("m_ModeSpecial"),
]),
NetMessage("Sv_TuneParams", []),
NetMessage("Sv_ExtraProjectile", []),
NetMessage("Sv_ReadyToEnter", []),
NetMessage("Sv_WeaponPickup", [
NetIntRange("m_Weapon", 0, 'NUM_WEAPONS-1'),
]),
NetMessage("Sv_Emoticon", [
NetIntRange("m_ClientID", 0, 'MAX_CLIENTS-1'),
NetEnum("m_Emoticon", Emoticons),
]),
NetMessage("Sv_VoteClearOptions", []),
NetMessage("Sv_VoteOptionListAdd", []),
NetMessage("Sv_VoteOptionAdd", [
NetStringStrict("m_pDescription"),
]),
NetMessage("Sv_VoteOptionRemove", [
NetStringStrict("m_pDescription"),
]),
NetMessage("Sv_VoteSet", [
NetIntRange("m_ClientID", -1, 'MAX_CLIENTS-1'),
NetEnum("m_Type", Votes),
NetIntRange("m_Timeout", 0, 60),
NetStringStrict("m_pDescription"),
NetStringStrict("m_pReason"),
]),
NetMessage("Sv_VoteStatus", [
NetIntRange("m_Yes", 0, 'MAX_CLIENTS'),
NetIntRange("m_No", 0, 'MAX_CLIENTS'),
NetIntRange("m_Pass", 0, 'MAX_CLIENTS'),
NetIntRange("m_Total", 0, 'MAX_CLIENTS'),
]),
NetMessage("Sv_ServerSettings", [
NetBool("m_KickVote"),
NetIntRange("m_KickMin", 0, 'MAX_CLIENTS'),
NetBool("m_SpecVote"),
NetBool("m_TeamLock"),
NetBool("m_TeamBalance"),
NetIntRange("m_PlayerSlots", 0, 'MAX_CLIENTS'),
]),
NetMessage("Sv_ClientInfo", [
NetIntRange("m_ClientID", 0, 'MAX_CLIENTS-1'),
NetBool("m_Local"),
NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE'),
NetStringStrict("m_pName"),
NetStringStrict("m_pClan"),
NetIntAny("m_Country"),
NetArray(NetStringStrict("m_apSkinPartNames"), 6),
NetArray(NetBool("m_aUseCustomColors"), 6),
NetArray(NetIntAny("m_aSkinPartColors"), 6),
]),
NetMessage("Sv_GameInfo", [
NetFlag("m_GameFlags", GameFlags),
NetIntRange("m_ScoreLimit", 0, 'max_int'),
NetIntRange("m_TimeLimit", 0, 'max_int'),
NetIntRange("m_MatchNum", 0, 'max_int'),
NetIntRange("m_MatchCurrent", 0, 'max_int'),
]),
NetMessage("Sv_ClientDrop", [
NetIntRange("m_ClientID", 0, 'MAX_CLIENTS-1'),
NetStringStrict("m_pReason"),
]),
NetMessage("Sv_GameMsg", []),
## Demo messages
NetMessage("De_ClientEnter", [
NetStringStrict("m_pName"),
NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE'),
]),
NetMessage("De_ClientLeave", [
NetStringStrict("m_pName"),
NetStringStrict("m_pReason"),
]),
### Client messages
NetMessage("Cl_Say", [
NetBool("m_Team"),
NetString("m_pMessage"),
]),
NetMessage("Cl_SetTeam", [
NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE'),
]),
NetMessage("Cl_SetSpectatorMode", [
NetIntRange("m_SpectatorID", 'SPEC_FREEVIEW', 'MAX_CLIENTS-1'),
]),
NetMessage("Cl_StartInfo", [
NetStringStrict("m_pName"),
NetStringStrict("m_pClan"),
NetIntAny("m_Country"),
NetArray(NetStringStrict("m_apSkinPartNames"), 6),
NetArray(NetBool("m_aUseCustomColors"), 6),
NetArray(NetIntAny("m_aSkinPartColors"), 6),
]),
NetMessage("Cl_Kill", []),
NetMessage("Cl_ReadyChange", []),
NetMessage("Cl_Emoticon", [
NetEnum("m_Emoticon", Emoticons),
]),
NetMessage("Cl_Vote", [
NetIntRange("m_Vote", -1, 1),
]),
NetMessage("Cl_CallVote", [
NetStringStrict("m_Type"),
NetStringStrict("m_Value"),
NetStringStrict("m_Reason"),
NetBool("m_Force"),
]),
]
================================================
FILE: license.txt
================================================
Copyright (C) 2007-2013 Magnus Auvinen
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
------------------------------------------------------------------------
All content under 'data' except the font (which has its own license) is
released under CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/).
------------------------------------------------------------------------
IMPORTANT NOTE! The source under src/engine/external are stripped
libraries with their own licenses. Mostly BSD or zlib/libpng license but
check the individual libraries.
------------------------------------------------------------------------
With that being said, contact us if there is anything you want to do
that the license does not permit.
================================================
FILE: other/config_directory.bat
================================================
@start explorer %APPDATA%\Teeworlds
================================================
FILE: other/freetype/VERSION
================================================
2.4.8
================================================
FILE: other/freetype/freetype.lua
================================================
FreeType = {
basepath = PathDir(ModuleFilename()),
OptFind = function (name, required)
local check = function(option, settings)
option.value = false
option.use_ftconfig = false
option.use_winlib = 0
option.lib_path = nil
if ExecuteSilent("freetype-config") > 0 and ExecuteSilent("freetype-config --cflags") == 0 then
option.value = true
option.use_ftconfig = true
end
if platform == "win32" then
option.value = true
option.use_winlib = 32
elseif platform == "win64" then
option.value = true
option.use_winlib = 64
end
end
local apply = function(option, settings)
-- include path
settings.cc.includes:Add(FreeType.basepath .. "/include")
if option.use_ftconfig == true then
settings.cc.flags:Add("`freetype-config --cflags`")
settings.link.flags:Add("`freetype-config --libs`")
elseif option.use_winlib > 0 then
if option.use_winlib == 32 then
settings.link.libpath:Add(FreeType.basepath .. "/lib32")
else
settings.link.libpath:Add(FreeType.basepath .. "/lib64")
end
settings.link.libs:Add("freetype")
end
end
local save = function(option, output)
output:option(option, "value")
output:option(option, "use_ftconfig")
output:option(option, "use_winlib")
end
local display = function(option)
if option.value == true then
if option.use_ftconfig == true then return "using freetype-config" end
if option.use_winlib == 32 then return "using supplied win32 libraries" end
if option.use_winlib == 64 then return "using supplied win64 libraries" end
return "using unknown method"
else
if option.required then
return "not found (required)"
else
return "not found (optional)"
end
end
end
local o = MakeOption(name, 0, check, save, display)
o.Apply = apply
o.include_path = nil
o.lib_path = nil
o.required = required
return o
end
}
================================================
FILE: other/freetype/include/freetype/config/ftconfig.h
================================================
/***************************************************************************/
/* */
/* ftconfig.h */
/* */
/* ANSI-specific configuration file (specification only). */
/* */
/* Copyright 1996-2004, 2006-2008, 2010-2011 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This header file contains a number of macro definitions that are used */
/* by the rest of the engine. Most of the macros here are automatically */
/* determined at compile time, and you should not need to change it to */
/* port FreeType, except to compile the library with a non-ANSI */
/* compiler. */
/* */
/* Note however that if some specific modifications are needed, we */
/* advise you to place a modified copy in your build directory. */
/* */
/* The build directory is usually `freetype/builds/<system>', and */
/* contains system-specific files that are always included first when */
/* building the library. */
/* */
/* This ANSI version should stay in `include/freetype/config'. */
/* */
/*************************************************************************/
#ifndef __FTCONFIG_H__
#define __FTCONFIG_H__
#include <ft2build.h>
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_STANDARD_LIBRARY_H
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* PLATFORM-SPECIFIC CONFIGURATION MACROS */
/* */
/* These macros can be toggled to suit a specific system. The current */
/* ones are defaults used to compile FreeType in an ANSI C environment */
/* (16bit compilers are also supported). Copy this file to your own */
/* `freetype/builds/<system>' directory, and edit it to port the engine. */
/* */
/*************************************************************************/
/* There are systems (like the Texas Instruments 'C54x) where a `char' */
/* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */
/* `int' has 16 bits also for this system, sizeof(int) gives 1 which */
/* is probably unexpected. */
/* */
/* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */
/* `char' type. */
#ifndef FT_CHAR_BIT
#define FT_CHAR_BIT CHAR_BIT
#endif
/* The size of an `int' type. */
#if FT_UINT_MAX == 0xFFFFUL
#define FT_SIZEOF_INT (16 / FT_CHAR_BIT)
#elif FT_UINT_MAX == 0xFFFFFFFFUL
#define FT_SIZEOF_INT (32 / FT_CHAR_BIT)
#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
#define FT_SIZEOF_INT (64 / FT_CHAR_BIT)
#else
#error "Unsupported size of `int' type!"
#endif
/* The size of a `long' type. A five-byte `long' (as used e.g. on the */
/* DM642) is recognized but avoided. */
#if FT_ULONG_MAX == 0xFFFFFFFFUL
#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
#define FT_SIZEOF_LONG (64 / FT_CHAR_BIT)
#else
#error "Unsupported size of `long' type!"
#endif
/* FT_UNUSED is a macro used to indicate that a given parameter is not */
/* used -- this is only used to get rid of unpleasant compiler warnings */
#ifndef FT_UNUSED
#define FT_UNUSED( arg ) ( (arg) = (arg) )
#endif
/*************************************************************************/
/* */
/* AUTOMATIC CONFIGURATION MACROS */
/* */
/* These macros are computed from the ones defined above. Don't touch */
/* their definition, unless you know precisely what you are doing. No */
/* porter should need to mess with them. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* Mac support */
/* */
/* This is the only necessary change, so it is defined here instead */
/* providing a new configuration file. */
/* */
#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
( defined( __MWERKS__ ) && defined( macintosh ) )
/* no Carbon frameworks for 64bit 10.4.x */
/* AvailabilityMacros.h is available since Mac OS X 10.2, */
/* so guess the system version by maximum errno before inclusion */
#include <errno.h>
#ifdef ECANCELED /* defined since 10.2 */
#include "AvailabilityMacros.h"
#endif
#if defined( __LP64__ ) && \
( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
#define DARWIN_NO_CARBON 1
#else
#define FT_MACINTOSH 1
#endif
#elif defined( __SC__ ) || defined( __MRC__ )
/* Classic MacOS compilers */
#include "ConditionalMacros.h"
#if TARGET_OS_MAC
#define FT_MACINTOSH 1
#endif
#endif
/*************************************************************************/
/* */
/* <Section> */
/* basic_types */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Type> */
/* FT_Int16 */
/* */
/* <Description> */
/* A typedef for a 16bit signed integer type. */
/* */
typedef signed short FT_Int16;
/*************************************************************************/
/* */
/* <Type> */
/* FT_UInt16 */
/* */
/* <Description> */
/* A typedef for a 16bit unsigned integer type. */
/* */
typedef unsigned short FT_UInt16;
/* */
/* this #if 0 ... #endif clause is for documentation purposes */
#if 0
/*************************************************************************/
/* */
/* <Type> */
/* FT_Int32 */
/* */
/* <Description> */
/* A typedef for a 32bit signed integer type. The size depends on */
/* the configuration. */
/* */
typedef signed XXX FT_Int32;
/*************************************************************************/
/* */
/* <Type> */
/* FT_UInt32 */
/* */
/* A typedef for a 32bit unsigned integer type. The size depends on */
/* the configuration. */
/* */
typedef unsigned XXX FT_UInt32;
/* */
#endif
#if FT_SIZEOF_INT == (32 / FT_CHAR_BIT)
typedef signed int FT_Int32;
typedef unsigned int FT_UInt32;
#elif FT_SIZEOF_LONG == (32 / FT_CHAR_BIT)
typedef signed long FT_Int32;
typedef unsigned long FT_UInt32;
#else
#error "no 32bit type found -- please check your configuration files"
#endif
/* look up an integer type that is at least 32 bits */
#if FT_SIZEOF_INT >= (32 / FT_CHAR_BIT)
typedef int FT_Fast;
typedef unsigned int FT_UFast;
#elif FT_SIZEOF_LONG >= (32 / FT_CHAR_BIT)
typedef long FT_Fast;
typedef unsigned long FT_UFast;
#endif
/* determine whether we have a 64-bit int type for platforms without */
/* Autoconf */
#if FT_SIZEOF_LONG == (64 / FT_CHAR_BIT)
/* FT_LONG64 must be defined if a 64-bit type is available */
#define FT_LONG64
#define FT_INT64 long
#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
/* this compiler provides the __int64 type */
#define FT_LONG64
#define FT_INT64 __int64
#elif defined( __BORLANDC__ ) /* Borland C++ */
/* XXXX: We should probably check the value of __BORLANDC__ in order */
/* to test the compiler version. */
/* this compiler provides the __int64 type */
#define FT_LONG64
#define FT_INT64 __int64
#elif defined( __WATCOMC__ ) /* Watcom C++ */
/* Watcom doesn't provide 64-bit data types */
#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
#define FT_LONG64
#define FT_INT64 long long int
#elif defined( __GNUC__ )
/* GCC provides the `long long' type */
#define FT_LONG64
#define FT_INT64 long long int
#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
/*************************************************************************/
/* */
/* A 64-bit data type will create compilation problems if you compile */
/* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */
/* is defined. You can however ignore this rule by defining the */
/* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
/* */
#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
#ifdef __STDC__
/* undefine the 64-bit macros in strict ANSI compilation mode */
#undef FT_LONG64
#undef FT_INT64
#endif /* __STDC__ */
#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
#define FT_BEGIN_STMNT do {
#define FT_END_STMNT } while ( 0 )
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER
/* Provide assembler fragments for performance-critical functions. */
/* These must be defined `static __inline__' with GCC. */
#if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */
#define FT_MULFIX_ASSEMBLER FT_MulFix_arm
/* documentation is in freetype.h */
static __inline FT_Int32
FT_MulFix_arm( FT_Int32 a,
FT_Int32 b )
{
register FT_Int32 t, t2;
__asm
{
smull t2, t, b, a /* (lo=t2,hi=t) = a*b */
mov a, t, asr #31 /* a = (hi >> 31) */
add a, a, #0x8000 /* a += 0x8000 */
adds t2, t2, a /* t2 += a */
adc t, t, #0 /* t += carry */
mov a, t2, lsr #16 /* a = t2 >> 16 */
orr a, a, t, lsl #16 /* a |= t << 16 */
}
return a;
}
#endif /* __CC_ARM || __ARMCC__ */
#ifdef __GNUC__
#if defined( __arm__ ) && !defined( __thumb__ ) && \
!( defined( __CC_ARM ) || defined( __ARMCC__ ) )
#define FT_MULFIX_ASSEMBLER FT_MulFix_arm
/* documentation is in freetype.h */
static __inline__ FT_Int32
FT_MulFix_arm( FT_Int32 a,
FT_Int32 b )
{
register FT_Int32 t, t2;
__asm__ __volatile__ (
"smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
"mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
"add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
"adds %1, %1, %0\n\t" /* %1 += %0 */
"adc %2, %2, #0\n\t" /* %2 += carry */
"mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
"orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
: "=r"(a), "=&r"(t2), "=&r"(t)
: "r"(a), "r"(b) );
return a;
}
#endif /* __arm__ && !__thumb__ && !( __CC_ARM || __ARMCC__ ) */
#if defined( __i386__ )
#define FT_MULFIX_ASSEMBLER FT_MulFix_i386
/* documentation is in freetype.h */
static __inline__ FT_Int32
FT_MulFix_i386( FT_Int32 a,
FT_Int32 b )
{
register FT_Int32 result;
__asm__ __volatile__ (
"imul %%edx\n"
"movl %%edx, %%ecx\n"
"sarl $31, %%ecx\n"
"addl $0x8000, %%ecx\n"
"addl %%ecx, %%eax\n"
"adcl $0, %%edx\n"
"shrl $16, %%eax\n"
"shll $16, %%edx\n"
"addl %%edx, %%eax\n"
: "=a"(result), "=d"(b)
: "a"(a), "d"(b)
: "%ecx", "cc" );
return result;
}
#endif /* i386 */
#endif /* __GNUC__ */
#ifdef _MSC_VER /* Visual C++ */
#ifdef _M_IX86
#define FT_MULFIX_ASSEMBLER FT_MulFix_i386
/* documentation is in freetype.h */
static __inline FT_Int32
FT_MulFix_i386( FT_Int32 a,
FT_Int32 b )
{
register FT_Int32 result;
__asm
{
mov eax, a
mov edx, b
imul edx
mov ecx, edx
sar ecx, 31
add ecx, 8000h
add eax, ecx
adc edx, 0
shr eax, 16
shl edx, 16
add eax, edx
mov result, eax
}
return result;
}
#endif /* _M_IX86 */
#endif /* _MSC_VER */
#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
#ifdef FT_CONFIG_OPTION_INLINE_MULFIX
#ifdef FT_MULFIX_ASSEMBLER
#define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER
#endif
#endif
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL( x ) static x
#define FT_LOCAL_DEF( x ) static x
#else
#ifdef __cplusplus
#define FT_LOCAL( x ) extern "C" x
#define FT_LOCAL_DEF( x ) extern "C" x
#else
#define FT_LOCAL( x ) extern x
#define FT_LOCAL_DEF( x ) x
#endif
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
#ifndef FT_BASE
#ifdef __cplusplus
#define FT_BASE( x ) extern "C" x
#else
#define FT_BASE( x ) extern x
#endif
#endif /* !FT_BASE */
#ifndef FT_BASE_DEF
#ifdef __cplusplus
#define FT_BASE_DEF( x ) x
#else
#define FT_BASE_DEF( x ) x
#endif
#endif /* !FT_BASE_DEF */
#ifndef FT_EXPORT
#ifdef __cplusplus
#define FT_EXPORT( x ) extern "C" x
#else
#define FT_EXPORT( x ) extern x
#endif
#endif /* !FT_EXPORT */
#ifndef FT_EXPORT_DEF
#ifdef __cplusplus
#define FT_EXPORT_DEF( x ) extern "C" x
#else
#define FT_EXPORT_DEF( x ) extern x
#endif
#endif /* !FT_EXPORT_DEF */
#ifndef FT_EXPORT_VAR
#ifdef __cplusplus
#define FT_EXPORT_VAR( x ) extern "C" x
#else
#define FT_EXPORT_VAR( x ) extern x
#endif
#endif /* !FT_EXPORT_VAR */
/* The following macros are needed to compile the library with a */
/* C++ compiler and with 16bit compilers. */
/* */
/* This is special. Within C++, you must specify `extern "C"' for */
/* functions which are used via function pointers, and you also */
/* must do that for structures which contain function pointers to */
/* assure C linkage -- it's not possible to have (local) anonymous */
/* functions which are accessed by (global) function pointers. */
/* */
/* */
/* FT_CALLBACK_DEF is used to _define_ a callback function. */
/* */
/* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
/* contains pointers to callback functions. */
/* */
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
/* that contains pointers to callback functions. */
/* */
/* */
/* Some 16bit compilers have to redefine these macros to insert */
/* the infamous `_cdecl' or `__fastcall' declarations. */
/* */
#ifndef FT_CALLBACK_DEF
#ifdef __cplusplus
#define FT_CALLBACK_DEF( x ) extern "C" x
#else
#define FT_CALLBACK_DEF( x ) static x
#endif
#endif /* FT_CALLBACK_DEF */
#ifndef FT_CALLBACK_TABLE
#ifdef __cplusplus
#define FT_CALLBACK_TABLE extern "C"
#define FT_CALLBACK_TABLE_DEF extern "C"
#else
#define FT_CALLBACK_TABLE extern
#define FT_CALLBACK_TABLE_DEF /* nothing */
#endif
#endif /* FT_CALLBACK_TABLE */
FT_END_HEADER
#endif /* __FTCONFIG_H__ */
/* END */
================================================
FILE: other/freetype/include/freetype/config/ftheader.h
================================================
/***************************************************************************/
/* */
/* ftheader.h */
/* */
/* Build macros of the FreeType 2 library. */
/* */
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef __FT_HEADER_H__
#define __FT_HEADER_H__
/*@***********************************************************************/
/* */
/* <Macro> */
/* FT_BEGIN_HEADER */
/* */
/* <Description> */
/* This macro is used in association with @FT_END_HEADER in header */
/* files to ensure that the declarations within are properly */
/* encapsulated in an `extern "C" { .. }' block when included from a */
/* C++ compiler. */
/* */
#ifdef __cplusplus
#define FT_BEGIN_HEADER extern "C" {
#else
#define FT_BEGIN_HEADER /* nothing */
#endif
/*@***********************************************************************/
/* */
/* <Macro> */
/* FT_END_HEADER */
/* */
/* <Description> */
/* This macro is used in association with @FT_BEGIN_HEADER in header */
/* files to ensure that the declarations within are properly */
/* encapsulated in an `extern "C" { .. }' block when included from a */
/* C++ compiler. */
/* */
#ifdef __cplusplus
#define FT_END_HEADER }
#else
#define FT_END_HEADER /* nothing */
#endif
/*************************************************************************/
/* */
/* Aliases for the FreeType 2 public and configuration files. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Section> */
/* header_file_macros */
/* */
/* <Title> */
/* Header File Macros */
/* */
/* <Abstract> */
/* Macro definitions used to #include specific header files. */
/* */
/* <Description> */
/* The following macros are defined to the name of specific */
/* FreeType~2 header files. They can be used directly in #include */
/* statements as in: */
/* */
/* { */
/* #include FT_FREETYPE_H */
/* #include FT_MULTIPLE_MASTERS_H */
/* #include FT_GLYPH_H */
/* } */
/* */
/* There are several reasons why we are now using macros to name */
/* public header files. The first one is that such macros are not */
/* limited to the infamous 8.3~naming rule required by DOS (and */
/* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */
/* */
/* The second reason is that it allows for more flexibility in the */
/* way FreeType~2 is installed on a given system. */
/* */
/*************************************************************************/
/* configuration files */
/*************************************************************************
*
* @macro:
* FT_CONFIG_CONFIG_H
*
* @description:
* A macro used in #include statements to name the file containing
* FreeType~2 configuration data.
*
*/
#ifndef FT_CONFIG_CONFIG_H
#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
#endif
/*************************************************************************
*
* @macro:
* FT_CONFIG_STANDARD_LIBRARY_H
*
* @description:
* A macro used in #include statements to name the file containing
* FreeType~2 interface to the standard C library functions.
*
*/
#ifndef FT_CONFIG_STANDARD_LIBRARY_H
#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
#endif
/*************************************************************************
*
* @macro:
* FT_CONFIG_OPTIONS_H
*
* @description:
* A macro used in #include statements to name the file containing
* FreeType~2 project-specific configuration options.
*
*/
#ifndef FT_CONFIG_OPTIONS_H
#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
#endif
/*************************************************************************
*
* @macro:
* FT_CONFIG_MODULES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* list of FreeType~2 modules that are statically linked to new library
* instances in @FT_Init_FreeType.
*
*/
#ifndef FT_CONFIG_MODULES_H
#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
#endif
/* */
/* public headers */
/*************************************************************************
*
* @macro:
* FT_FREETYPE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* base FreeType~2 API.
*
*/
#define FT_FREETYPE_H <freetype/freetype.h>
/*************************************************************************
*
* @macro:
* FT_ERRORS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* list of FreeType~2 error codes (and messages).
*
* It is included by @FT_FREETYPE_H.
*
*/
#define FT_ERRORS_H <freetype/fterrors.h>
/*************************************************************************
*
* @macro:
* FT_MODULE_ERRORS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* list of FreeType~2 module error offsets (and messages).
*
*/
#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
/*************************************************************************
*
* @macro:
* FT_SYSTEM_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 interface to low-level operations (i.e., memory management
* and stream i/o).
*
* It is included by @FT_FREETYPE_H.
*
*/
#define FT_SYSTEM_H <freetype/ftsystem.h>
/*************************************************************************
*
* @macro:
* FT_IMAGE_H
*
* @description:
* A macro used in #include statements to name the file containing type
* definitions related to glyph images (i.e., bitmaps, outlines,
* scan-converter parameters).
*
* It is included by @FT_FREETYPE_H.
*
*/
#define FT_IMAGE_H <freetype/ftimage.h>
/*************************************************************************
*
* @macro:
* FT_TYPES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* basic data types defined by FreeType~2.
*
* It is included by @FT_FREETYPE_H.
*
*/
#define FT_TYPES_H <freetype/fttypes.h>
/*************************************************************************
*
* @macro:
* FT_LIST_H
*
* @description:
* A macro used in #include statements to name the file containing the
* list management API of FreeType~2.
*
* (Most applications will never need to include this file.)
*
*/
#define FT_LIST_H <freetype/ftlist.h>
/*************************************************************************
*
* @macro:
* FT_OUTLINE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* scalable outline management API of FreeType~2.
*
*/
#define FT_OUTLINE_H <freetype/ftoutln.h>
/*************************************************************************
*
* @macro:
* FT_SIZES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API which manages multiple @FT_Size objects per face.
*
*/
#define FT_SIZES_H <freetype/ftsizes.h>
/*************************************************************************
*
* @macro:
* FT_MODULE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* module management API of FreeType~2.
*
*/
#define FT_MODULE_H <freetype/ftmodapi.h>
/*************************************************************************
*
* @macro:
* FT_RENDER_H
*
* @description:
* A macro used in #include statements to name the file containing the
* renderer module management API of FreeType~2.
*
*/
#define FT_RENDER_H <freetype/ftrender.h>
/*************************************************************************
*
* @macro:
* FT_TYPE1_TABLES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* types and API specific to the Type~1 format.
*
*/
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
/*************************************************************************
*
* @macro:
* FT_TRUETYPE_IDS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* enumeration values which identify name strings, languages, encodings,
* etc. This file really contains a _large_ set of constant macro
* definitions, taken from the TrueType and OpenType specifications.
*
*/
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
/*************************************************************************
*
* @macro:
* FT_TRUETYPE_TABLES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* types and API specific to the TrueType (as well as OpenType) format.
*
*/
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
/*************************************************************************
*
* @macro:
* FT_TRUETYPE_TAGS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of TrueType four-byte `tags' which identify blocks in
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
/*************************************************************************
*
* @macro:
* FT_BDF_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which accesses BDF-specific strings from a
* face.
*
*/
#define FT_BDF_H <freetype/ftbdf.h>
/*************************************************************************
*
* @macro:
* FT_CID_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which access CID font information from a
* face.
*
*/
#define FT_CID_H <freetype/ftcid.h>
/*************************************************************************
*
* @macro:
* FT_GZIP_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which supports gzip-compressed files.
*
*/
#define FT_GZIP_H <freetype/ftgzip.h>
/*************************************************************************
*
* @macro:
* FT_LZW_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which supports LZW-compressed files.
*
*/
#define FT_LZW_H <freetype/ftlzw.h>
/*************************************************************************
*
* @macro:
* FT_BZIP2_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which supports bzip2-compressed files.
*
*/
#define FT_BZIP2_H <freetype/ftbzip2.h>
/*************************************************************************
*
* @macro:
* FT_WINFONTS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which supports Windows FNT files.
*
*/
#define FT_WINFONTS_H <freetype/ftwinfnt.h>
/*************************************************************************
*
* @macro:
* FT_GLYPH_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API of the optional glyph management component.
*
*/
#define FT_GLYPH_H <freetype/ftglyph.h>
/*************************************************************************
*
* @macro:
* FT_BITMAP_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API of the optional bitmap conversion component.
*
*/
#define FT_BITMAP_H <freetype/ftbitmap.h>
/*************************************************************************
*
* @macro:
* FT_BBOX_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API of the optional exact bounding box computation routines.
*
*/
#define FT_BBOX_H <freetype/ftbbox.h>
/*************************************************************************
*
* @macro:
* FT_CACHE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API of the optional FreeType~2 cache sub-system.
*
*/
#define FT_CACHE_H <freetype/ftcache.h>
/*************************************************************************
*
* @macro:
* FT_CACHE_IMAGE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* `glyph image' API of the FreeType~2 cache sub-system.
*
* It is used to define a cache for @FT_Glyph elements. You can also
* use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
* store small glyph bitmaps, as it will use less memory.
*
* This macro is deprecated. Simply include @FT_CACHE_H to have all
* glyph image-related cache declarations.
*
*/
#define FT_CACHE_IMAGE_H FT_CACHE_H
/*************************************************************************
*
* @macro:
* FT_CACHE_SMALL_BITMAPS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* `small bitmaps' API of the FreeType~2 cache sub-system.
*
* It is used to define a cache for small glyph bitmaps in a relatively
* memory-efficient way. You can also use the API defined in
* @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images,
* including scalable outlines.
*
* This macro is deprecated. Simply include @FT_CACHE_H to have all
* small bitmaps-related cache declarations.
*
*/
#define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H
/*************************************************************************
*
* @macro:
* FT_CACHE_CHARMAP_H
*
* @description:
* A macro used in #include statements to name the file containing the
* `charmap' API of the FreeType~2 cache sub-system.
*
* This macro is deprecated. Simply include @FT_CACHE_H to have all
* charmap-based cache declarations.
*
*/
#define FT_CACHE_CHARMAP_H FT_CACHE_H
/*************************************************************************
*
* @macro:
* FT_MAC_H
*
* @description:
* A macro used in #include statements to name the file containing the
* Macintosh-specific FreeType~2 API. The latter is used to access
* fonts embedded in resource forks.
*
* This header file must be explicitly included by client applications
* compiled on the Mac (note that the base API still works though).
*
*/
#define FT_MAC_H <freetype/ftmac.h>
/*************************************************************************
*
* @macro:
* FT_MULTIPLE_MASTERS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* optional multiple-masters management API of FreeType~2.
*
*/
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
/*************************************************************************
*
* @macro:
* FT_SFNT_NAMES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* optional FreeType~2 API which accesses embedded `name' strings in
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
/*************************************************************************
*
* @macro:
* FT_OPENTYPE_VALIDATE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* optional FreeType~2 API which validates OpenType tables (BASE, GDEF,
* GPOS, GSUB, JSTF).
*
*/
#define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h>
/*************************************************************************
*
* @macro:
* FT_GX_VALIDATE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* optional FreeType~2 API which validates TrueTypeGX/AAT tables (feat,
* mort, morx, bsln, just, kern, opbd, trak, prop).
*
*/
#define FT_GX_VALIDATE_H <freetype/ftgxval.h>
/*************************************************************************
*
* @macro:
* FT_PFR_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which accesses PFR-specific data.
*
*/
#define FT_PFR_H <freetype/ftpfr.h>
/*************************************************************************
*
* @macro:
* FT_STROKER_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which provides functions to stroke outline paths.
*/
#define FT_STROKER_H <freetype/ftstroke.h>
/*************************************************************************
*
* @macro:
* FT_SYNTHESIS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs artificial obliquing and emboldening.
*/
#define FT_SYNTHESIS_H <freetype/ftsynth.h>
/*************************************************************************
*
* @macro:
* FT_XFREE86_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which provides functions specific to the XFree86 and
* X.Org X11 servers.
*/
#define FT_XFREE86_H <freetype/ftxf86.h>
/*************************************************************************
*
* @macro:
* FT_TRIGONOMETRY_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs trigonometric computations (e.g.,
* cosines and arc tangents).
*/
#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
/*************************************************************************
*
* @macro:
* FT_LCD_FILTER_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
/*************************************************************************
*
* @macro:
* FT_UNPATENTED_HINTING_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
#define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h>
/*************************************************************************
*
* @macro:
* FT_INCREMENTAL_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
/*************************************************************************
*
* @macro:
* FT_GASP_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which returns entries from the TrueType GASP table.
*/
#define FT_GASP_H <freetype/ftgasp.h>
/*************************************************************************
*
* @macro:
* FT_ADVANCES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which returns individual and ranged glyph advances.
*/
#define FT_ADVANCES_H <freetype/ftadvanc.h>
/* */
#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
/* The internals of the cache sub-system are no longer exposed. We */
/* default to FT_CACHE_H at the moment just in case, but we know of */
/* no rogue client that uses them. */
/* */
#define FT_CACHE_MANAGER_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_MRU_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_MANAGER_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_CACHE_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_GLYPH_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_IMAGE_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_SBITS_H <freetype/ftcache.h>
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h>
/*
* Include internal headers definitions from <freetype/internal/...>
* only when building the library.
*/
#ifdef FT2_BUILD_LIBRARY
#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
#include FT_INTERNAL_INTERNAL_H
#endif /* FT2_BUILD_LIBRARY */
#endif /* __FT2_BUILD_H__ */
/* END */
================================================
FILE: other/freetype/include/freetype/config/ftmodule.h
================================================
/*
* This file registers the FreeType modules compiled into the library.
*
* If you use GNU make, this file IS NOT USED! Instead, it is created in
* the objects directory (normally `<topdir>/objs/') based on information
* from `<topdir>/modules.cfg'.
*
* Please read `docs/INSTALL.ANY' and `docs/CUSTOMIZE' how to compile
* FreeType without GNU make.
*
*/
FT_USE_MODULE( FT_Module_Class, autofit_module_class )
FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
FT_USE_MODULE( FT_Module_Class, psaux_module_class )
FT_USE_MODULE( FT_Module_Class, psnames_module_class )
FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class )
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class )
FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
/* EOF */
================================================
FILE: other/freetype/include/freetype/config/ftoption.h
================================================
/***************************************************************************/
/* */
/* ftoption.h */
/* */
/* User-selectable configuration macros (specification only). */
/* */
/* Copyright 1996-2011 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef __FTOPTION_H__
#define __FTOPTION_H__
#include <ft2build.h>
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* USER-SELECTABLE CONFIGURATION MACROS */
/* */
/* This file contains the default configuration macro definitions for */
/* a standard build of the FreeType library. There are three ways to */
/* use this file to build project-specific versions of the library: */
/* */
/* - You can modify this file by hand, but this is not recommended in */
/* cases where you would like to build several versions of the */
/* library from a single source directory. */
/* */
/* - You can put a copy of this file in your build directory, more */
/* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */
/* is the name of a directory that is included _before_ the FreeType */
/* include path during compilation. */
/* */
/* The default FreeType Makefiles and Jamfiles use the build */
/* directory `builds/<system>' by default, but you can easily change */
/* that for your own projects. */
/* */
/* - Copy the file <ft2build.h> to `$BUILD/ft2build.h' and modify it */
/* slightly to pre-define the macro FT_CONFIG_OPTIONS_H used to */
/* locate this file during the build. For example, */
/* */
/* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */
/* #include <freetype/config/ftheader.h> */
/* */
/* will use `$BUILD/myftoptions.h' instead of this file for macro */
/* definitions. */
/* */
/* Note also that you can similarly pre-define the macro */
/* FT_CONFIG_MODULES_H used to locate the file listing of the modules */
/* that are statically linked to the library at compile time. By */
/* default, this file is <freetype/config/ftmodule.h>. */
/* */
/* We highly recommend using the third method whenever possible. */
/* */
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/**** ****/
/**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/
/**** ****/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* Uncomment the line below if you want to activate sub-pixel rendering */
/* (a.k.a. LCD rendering, or ClearType) in this build of the library. */
/* */
/* Note that this feature is covered by several Microsoft patents */
/* and should not be activated in any default build of the library. */
/* */
/* This macro has no impact on the FreeType API, only on its */
/* _implementation_. For example, using FT_RENDER_MODE_LCD when calling */
/* FT_Render_Glyph still generates a bitmap that is 3 times wider than */
/* the original size in case this macro isn't defined; however, each */
/* triplet of subpixels has R=G=B. */
/* */
/* This is done to allow FreeType clients to run unmodified, forcing */
/* them to display normal gray-level anti-aliased glyphs. */
/* */
/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
/*************************************************************************/
/* */
/* Many compilers provide a non-ANSI 64-bit data type that can be used */
/* by FreeType to speed up some computations. However, this will create */
/* some problems when compiling the library in strict ANSI mode. */
/* */
/* For this reason, the use of 64-bit integers is normally disabled when */
/* the __STDC__ macro is defined. You can however disable this by */
/* defining the macro FT_CONFIG_OPTION_FORCE_INT64 here. */
/* */
/* For most compilers, this will only create compilation warnings when */
/* building the library. */
/* */
/* ObNote: The compiler-specific 64-bit integers are detected in the */
/* file `ftconfig.h' either statically or through the */
/* `configure' script on supported platforms. */
/* */
#undef FT_CONFIG_OPTION_FORCE_INT64
/*************************************************************************/
/* */
/* If this macro is defined, do not try to use an assembler version of */
/* performance-critical functions (e.g. FT_MulFix). You should only do */
/* that to verify that the assembler function works properly, or to */
/* execute benchmark tests of the various implementations. */
/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */
/*************************************************************************/
/* */
/* If this macro is defined, try to use an inlined assembler version of */
/* the `FT_MulFix' function, which is a `hotspot' when loading and */
/* hinting glyphs, and which should be executed as fast as possible. */
/* */
/* Note that if your compiler or CPU is not supported, this will default */
/* to the standard and portable implementation found in `ftcalc.c'. */
/* */
#define FT_CONFIG_OPTION_INLINE_MULFIX
/*************************************************************************/
/* */
/* LZW-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
/* `compress' program. This is mostly used to parse many of the PCF */
/* files that come with various X11 distributions. The implementation */
/* uses NetBSD's `zopen' to partially uncompress the file on the fly */
/* (see src/lzw/ftgzip.c). */
/* */
/* Define this macro if you want to enable this `feature'. */
/* */
#define FT_CONFIG_OPTION_USE_LZW
/*************************************************************************/
/* */
/* Gzip-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
/* `gzip' program. This is mostly used to parse many of the PCF files */
/* that come with XFree86. The implementation uses `zlib' to */
/* partially uncompress the file on the fly (see src/gzip/ftgzip.c). */
/* */
/* Define this macro if you want to enable this `feature'. See also */
/* the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below. */
/* */
#define FT_CONFIG_OPTION_USE_ZLIB
/*************************************************************************/
/* */
/* ZLib library selection */
/* */
/* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */
/* It allows FreeType's `ftgzip' component to link to the system's */
/* installation of the ZLib library. This is useful on systems like */
/* Unix or VMS where it generally is already available. */
/* */
/* If you let it undefined, the component will use its own copy */
/* of the zlib sources instead. These have been modified to be */
/* included directly within the component and *not* export external */
/* function names. This allows you to link any program with FreeType */
/* _and_ ZLib without linking conflicts. */
/* */
/* Do not #undef this macro here since the build system might define */
/* it for certain configurations only. */
/* */
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
/*************************************************************************/
/* */
/* Bzip2-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
/* `bzip2' program. This is mostly used to parse many of the PCF */
/* files that come with XFree86. The implementation uses `libbz2' to */
/* partially uncompress the file on the fly (see src/bzip2/ftbzip2.c). */
/* Contrary to gzip, bzip2 currently is not included and need to use */
/* the system available bzip2 implementation. */
/* */
/* Define this macro if you want to enable this `feature'. */
/* */
/* #define FT_CONFIG_OPTION_USE_BZIP2 */
/*************************************************************************/
/* */
/* Define to disable the use of file stream functions and types, FILE, */
/* fopen() etc. Enables the use of smaller system libraries on embedded */
/* systems that have multiple system libraries, some with or without */
/* file stream support, in the cases where file stream support is not */
/* necessary such as memory loading of font files. */
/* */
/* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */
/*************************************************************************/
/* */
/* DLL export compilation */
/* */
/* When compiling FreeType as a DLL, some systems/compilers need a */
/* special keyword in front OR after the return type of function */
/* declarations. */
/* */
/* Two macros are used within the FreeType source code to define */
/* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */
/* */
/* FT_EXPORT( return_type ) */
/* */
/* is used in a function declaration, as in */
/* */
/* FT_EXPORT( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ); */
/* */
/* */
/* FT_EXPORT_DEF( return_type ) */
/* */
/* is used in a function definition, as in */
/* */
/* FT_EXPORT_DEF( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ) */
/* { */
/* ... some code ... */
/* return FT_Err_Ok; */
/* } */
/* */
/* You can provide your own implementation of FT_EXPORT and */
/* FT_EXPORT_DEF here if you want. If you leave them undefined, they */
/* will be later automatically defined as `extern return_type' to */
/* allow normal compilation. */
/* */
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
/* #define FT_EXPORT(x) extern x */
/* #define FT_EXPORT_DEF(x) x */
#define FT_EXPORT(x) __declspec(dllexport) x
#define FT_EXPORT_DEF(x) __declspec(dllexport) x
/*************************************************************************/
/* */
/* Glyph Postscript Names handling */
/* */
/* By default, FreeType 2 is compiled with the `psnames' module. This */
/* module is in charge of converting a glyph name string into a */
/* Unicode value, or return a Macintosh standard glyph name for the */
/* use with the TrueType `post' table. */
/* */
/* Undefine this macro if you do not want `psnames' compiled in your */
/* build of FreeType. This has the following effects: */
/* */
/* - The TrueType driver will provide its own set of glyph names, */
/* if you build it to support postscript names in the TrueType */
/* `post' table. */
/* */
/* - The Type 1 driver will not be able to synthesize a Unicode */
/* charmap out of the glyphs found in the fonts. */
/* */
/* You would normally undefine this configuration macro when building */
/* a version of FreeType that doesn't contain a Type 1 or CFF driver. */
/* */
#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES
/*************************************************************************/
/* */
/* Postscript Names to Unicode Values support */
/* */
/* By default, FreeType 2 is built with the `PSNames' module compiled */
/* in. Among other things, the module is used to convert a glyph name */
/* into a Unicode value. This is especially useful in order to */
gitextract_e20lamu3/ ├── .gitignore ├── .gitmodules ├── bam.lua ├── configure.lua ├── data/ │ ├── audio/ │ │ ├── foley_body_impact-01.wv │ │ ├── foley_body_impact-02.wv │ │ ├── foley_body_impact-03.wv │ │ ├── foley_body_splat-01.wv │ │ ├── foley_body_splat-02.wv │ │ ├── foley_body_splat-03.wv │ │ ├── foley_body_splat-04.wv │ │ ├── foley_dbljump-01.wv │ │ ├── foley_dbljump-02.wv │ │ ├── foley_dbljump-03.wv │ │ ├── foley_foot_left-01.wv │ │ ├── foley_foot_left-02.wv │ │ ├── foley_foot_left-03.wv │ │ ├── foley_foot_left-04.wv │ │ ├── foley_foot_right-01.wv │ │ ├── foley_foot_right-02.wv │ │ ├── foley_foot_right-03.wv │ │ ├── foley_foot_right-04.wv │ │ ├── foley_land-01.wv │ │ ├── foley_land-02.wv │ │ ├── foley_land-03.wv │ │ ├── foley_land-04.wv │ │ ├── hook_attach-01.wv │ │ ├── hook_attach-02.wv │ │ ├── hook_attach-03.wv │ │ ├── hook_loop-01.wv │ │ ├── hook_loop-02.wv │ │ ├── hook_noattach-01.wv │ │ ├── hook_noattach-02.wv │ │ ├── hook_noattach-03.wv │ │ ├── music_menu.wv │ │ ├── sfx_ctf_cap_pl.wv │ │ ├── sfx_ctf_drop.wv │ │ ├── sfx_ctf_grab_en.wv │ │ ├── sfx_ctf_grab_pl.wv │ │ ├── sfx_ctf_rtn.wv │ │ ├── sfx_hit_strong-01.wv │ │ ├── sfx_hit_strong-02.wv │ │ ├── sfx_hit_weak-01.wv │ │ ├── sfx_hit_weak-02.wv │ │ ├── sfx_hit_weak-03.wv │ │ ├── sfx_msg-client.wv │ │ ├── sfx_msg-highlight.wv │ │ ├── sfx_msg-server.wv │ │ ├── sfx_pickup_arm-01.wv │ │ ├── sfx_pickup_arm-02.wv │ │ ├── sfx_pickup_arm-03.wv │ │ ├── sfx_pickup_arm-04.wv │ │ ├── sfx_pickup_gun.wv │ │ ├── sfx_pickup_hrt-01.wv │ │ ├── sfx_pickup_hrt-02.wv │ │ ├── sfx_pickup_launcher.wv │ │ ├── sfx_pickup_ninja.wv │ │ ├── sfx_pickup_sg.wv │ │ ├── sfx_skid-01.wv │ │ ├── sfx_skid-02.wv │ │ ├── sfx_skid-03.wv │ │ ├── sfx_skid-04.wv │ │ ├── sfx_spawn_wpn-01.wv │ │ ├── sfx_spawn_wpn-02.wv │ │ ├── sfx_spawn_wpn-03.wv │ │ ├── vo_teefault_cry-01.wv │ │ ├── vo_teefault_cry-02.wv │ │ ├── vo_teefault_ninja-01.wv │ │ ├── vo_teefault_ninja-02.wv │ │ ├── vo_teefault_ninja-03.wv │ │ ├── vo_teefault_ninja-04.wv │ │ ├── vo_teefault_pain_long-01.wv │ │ ├── vo_teefault_pain_long-02.wv │ │ ├── vo_teefault_pain_short-01.wv │ │ ├── vo_teefault_pain_short-02.wv │ │ ├── vo_teefault_pain_short-03.wv │ │ ├── vo_teefault_pain_short-04.wv │ │ ├── vo_teefault_pain_short-05.wv │ │ ├── vo_teefault_pain_short-06.wv │ │ ├── vo_teefault_pain_short-07.wv │ │ ├── vo_teefault_pain_short-08.wv │ │ ├── vo_teefault_pain_short-09.wv │ │ ├── vo_teefault_pain_short-10.wv │ │ ├── vo_teefault_pain_short-11.wv │ │ ├── vo_teefault_pain_short-12.wv │ │ ├── vo_teefault_sledge-01.wv │ │ ├── vo_teefault_sledge-02.wv │ │ ├── vo_teefault_sledge-03.wv │ │ ├── vo_teefault_spawn-01.wv │ │ ├── vo_teefault_spawn-02.wv │ │ ├── vo_teefault_spawn-03.wv │ │ ├── vo_teefault_spawn-04.wv │ │ ├── vo_teefault_spawn-05.wv │ │ ├── vo_teefault_spawn-06.wv │ │ ├── vo_teefault_spawn-07.wv │ │ ├── wp_flump_explo-01.wv │ │ ├── wp_flump_explo-02.wv │ │ ├── wp_flump_explo-03.wv │ │ ├── wp_flump_launch-01.wv │ │ ├── wp_flump_launch-02.wv │ │ ├── wp_flump_launch-03.wv │ │ ├── wp_gun_fire-01.wv │ │ ├── wp_gun_fire-02.wv │ │ ├── wp_gun_fire-03.wv │ │ ├── wp_hammer_hit-01.wv │ │ ├── wp_hammer_hit-02.wv │ │ ├── wp_hammer_hit-03.wv │ │ ├── wp_hammer_swing-01.wv │ │ ├── wp_hammer_swing-02.wv │ │ ├── wp_hammer_swing-03.wv │ │ ├── wp_laser_bnce-01.wv │ │ ├── wp_laser_bnce-02.wv │ │ ├── wp_laser_bnce-03.wv │ │ ├── wp_laser_fire-01.wv │ │ ├── wp_laser_fire-02.wv │ │ ├── wp_laser_fire-03.wv │ │ ├── wp_ninja_attack-01.wv │ │ ├── wp_ninja_attack-02.wv │ │ ├── wp_ninja_attack-03.wv │ │ ├── wp_ninja_attack-04.wv │ │ ├── wp_ninja_hit-01.wv │ │ ├── wp_ninja_hit-02.wv │ │ ├── wp_ninja_hit-03.wv │ │ ├── wp_ninja_hit-04.wv │ │ ├── wp_noammo-01.wv │ │ ├── wp_noammo-02.wv │ │ ├── wp_noammo-03.wv │ │ ├── wp_noammo-04.wv │ │ ├── wp_noammo-05.wv │ │ ├── wp_shotty_fire-01.wv │ │ ├── wp_shotty_fire-02.wv │ │ ├── wp_shotty_fire-03.wv │ │ ├── wp_switch-01.wv │ │ ├── wp_switch-02.wv │ │ └── wp_switch-03.wv │ ├── countryflags/ │ │ └── index.json │ ├── editor/ │ │ ├── automap/ │ │ │ ├── grass_doodads.json │ │ │ └── grass_main.json │ │ ├── desert_main.rules │ │ ├── grass_main.rules │ │ ├── jungle_main.rules │ │ └── winter_main.rules │ ├── fonts/ │ │ ├── LICENSE │ │ └── VERSION │ └── skins/ │ ├── bluekitty.json │ ├── bluestripe.json │ ├── brownbear.json │ ├── cammo.json │ ├── cammostripes.json │ ├── coala.json │ ├── default.json │ ├── limekitty.json │ ├── pinky.json │ ├── redbopp.json │ ├── redstripe.json │ ├── saddo.json │ ├── toptri.json │ ├── twinbop.json │ ├── twintri.json │ ├── warpaint.json │ └── x_ninja.json ├── datasrc/ │ ├── compile.py │ ├── content.py │ ├── datatypes.py │ └── network.py ├── license.txt ├── other/ │ ├── config_directory.bat │ ├── freetype/ │ │ ├── VERSION │ │ ├── freetype.lua │ │ ├── include/ │ │ │ ├── freetype/ │ │ │ │ ├── config/ │ │ │ │ │ ├── ftconfig.h │ │ │ │ │ ├── ftheader.h │ │ │ │ │ ├── ftmodule.h │ │ │ │ │ ├── ftoption.h │ │ │ │ │ └── ftstdlib.h │ │ │ │ ├── freetype.h │ │ │ │ ├── ftadvanc.h │ │ │ │ ├── ftbbox.h │ │ │ │ ├── ftbdf.h │ │ │ │ ├── ftbitmap.h │ │ │ │ ├── ftbzip2.h │ │ │ │ ├── ftcache.h │ │ │ │ ├── ftchapters.h │ │ │ │ ├── ftcid.h │ │ │ │ ├── fterrdef.h │ │ │ │ ├── fterrors.h │ │ │ │ ├── ftgasp.h │ │ │ │ ├── ftglyph.h │ │ │ │ ├── ftgxval.h │ │ │ │ ├── ftgzip.h │ │ │ │ ├── ftimage.h │ │ │ │ ├── ftincrem.h │ │ │ │ ├── ftlcdfil.h │ │ │ │ ├── ftlist.h │ │ │ │ ├── ftlzw.h │ │ │ │ ├── ftmac.h │ │ │ │ ├── ftmm.h │ │ │ │ ├── ftmodapi.h │ │ │ │ ├── ftmoderr.h │ │ │ │ ├── ftotval.h │ │ │ │ ├── ftoutln.h │ │ │ │ ├── ftpfr.h │ │ │ │ ├── ftrender.h │ │ │ │ ├── ftsizes.h │ │ │ │ ├── ftsnames.h │ │ │ │ ├── ftstroke.h │ │ │ │ ├── ftsynth.h │ │ │ │ ├── ftsystem.h │ │ │ │ ├── fttrigon.h │ │ │ │ ├── fttypes.h │ │ │ │ ├── ftwinfnt.h │ │ │ │ ├── ftxf86.h │ │ │ │ ├── internal/ │ │ │ │ │ ├── autohint.h │ │ │ │ │ ├── ftcalc.h │ │ │ │ │ ├── ftdebug.h │ │ │ │ │ ├── ftdriver.h │ │ │ │ │ ├── ftgloadr.h │ │ │ │ │ ├── ftmemory.h │ │ │ │ │ ├── ftobjs.h │ │ │ │ │ ├── ftpic.h │ │ │ │ │ ├── ftrfork.h │ │ │ │ │ ├── ftserv.h │ │ │ │ │ ├── ftstream.h │ │ │ │ │ ├── fttrace.h │ │ │ │ │ ├── ftvalid.h │ │ │ │ │ ├── internal.h │ │ │ │ │ ├── psaux.h │ │ │ │ │ ├── pshints.h │ │ │ │ │ ├── services/ │ │ │ │ │ │ ├── svbdf.h │ │ │ │ │ │ ├── svcid.h │ │ │ │ │ │ ├── svgldict.h │ │ │ │ │ │ ├── svgxval.h │ │ │ │ │ │ ├── svkern.h │ │ │ │ │ │ ├── svmm.h │ │ │ │ │ │ ├── svotval.h │ │ │ │ │ │ ├── svpfr.h │ │ │ │ │ │ ├── svpostnm.h │ │ │ │ │ │ ├── svpscmap.h │ │ │ │ │ │ ├── svpsinfo.h │ │ │ │ │ │ ├── svsfnt.h │ │ │ │ │ │ ├── svttcmap.h │ │ │ │ │ │ ├── svtteng.h │ │ │ │ │ │ ├── svttglyf.h │ │ │ │ │ │ ├── svwinfnt.h │ │ │ │ │ │ └── svxf86nm.h │ │ │ │ │ ├── sfnt.h │ │ │ │ │ ├── t1types.h │ │ │ │ │ └── tttypes.h │ │ │ │ ├── t1tables.h │ │ │ │ ├── ttnameid.h │ │ │ │ ├── tttables.h │ │ │ │ ├── tttags.h │ │ │ │ └── ttunpat.h │ │ │ └── ft2build.h │ │ ├── lib32/ │ │ │ └── freetype.lib │ │ └── lib64/ │ │ └── freetype.lib │ ├── icons/ │ │ ├── Teeworlds.icns │ │ ├── Teeworlds_srv.icns │ │ ├── teeworlds_cl.rc │ │ ├── teeworlds_gcc.rc │ │ ├── teeworlds_srv_cl.rc │ │ └── teeworlds_srv_gcc.rc │ └── sdl/ │ ├── include/ │ │ ├── SDL.h │ │ ├── SDL_active.h │ │ ├── SDL_audio.h │ │ ├── SDL_byteorder.h │ │ ├── SDL_cdrom.h │ │ ├── SDL_config.h │ │ ├── SDL_config.h.default │ │ ├── SDL_config.h.in │ │ ├── SDL_config_amiga.h │ │ ├── SDL_config_dreamcast.h │ │ ├── SDL_config_macos.h │ │ ├── SDL_config_macosx.h │ │ ├── SDL_config_minimal.h │ │ ├── SDL_config_nds.h │ │ ├── SDL_config_os2.h │ │ ├── SDL_config_symbian.h │ │ ├── SDL_config_win32.h │ │ ├── SDL_copying.h │ │ ├── SDL_cpuinfo.h │ │ ├── SDL_endian.h │ │ ├── SDL_error.h │ │ ├── SDL_events.h │ │ ├── SDL_getenv.h │ │ ├── SDL_joystick.h │ │ ├── SDL_keyboard.h │ │ ├── SDL_keysym.h │ │ ├── SDL_loadso.h │ │ ├── SDL_main.h │ │ ├── SDL_mouse.h │ │ ├── SDL_mutex.h │ │ ├── SDL_name.h │ │ ├── SDL_opengl.h │ │ ├── SDL_platform.h │ │ ├── SDL_quit.h │ │ ├── SDL_rwops.h │ │ ├── SDL_stdinc.h │ │ ├── SDL_syswm.h │ │ ├── SDL_thread.h │ │ ├── SDL_timer.h │ │ ├── SDL_types.h │ │ ├── SDL_version.h │ │ ├── SDL_video.h │ │ ├── begin_code.h │ │ └── close_code.h │ ├── lib32/ │ │ ├── SDL.lib │ │ └── SDLmain.lib │ ├── lib64/ │ │ ├── SDL.lib │ │ └── SDLmain.lib │ ├── sdl.lua │ └── sdlnotes.txt ├── readme.txt ├── scripts/ │ ├── SDL_keysym.h │ ├── build.py │ ├── check_header_guards.py │ ├── cmd5.py │ ├── compiler.py │ ├── copyright.py │ ├── count_source.sh │ ├── dat2c.py │ ├── font_converter.py │ ├── font_installer.sh │ ├── gen_keys.py │ ├── linecount.sh │ ├── make_docs.sh │ ├── make_release.py │ ├── make_src.py │ ├── mass_server.py │ ├── netobj.py │ ├── nicks.txt │ ├── png.py │ ├── process_blame.py │ ├── refactor_count.py │ ├── tw_api.py │ ├── twlib.py │ └── update_localization.py ├── src/ │ ├── base/ │ │ ├── detect.h │ │ ├── math.h │ │ ├── system.c │ │ ├── system.h │ │ ├── tl/ │ │ │ ├── algorithm.h │ │ │ ├── allocator.h │ │ │ ├── array.h │ │ │ ├── base.h │ │ │ ├── range.h │ │ │ ├── sorted_array.h │ │ │ ├── string.h │ │ │ └── threading.h │ │ └── vmath.h │ ├── engine/ │ │ ├── client/ │ │ │ ├── backend_sdl.cpp │ │ │ ├── backend_sdl.h │ │ │ ├── client.cpp │ │ │ ├── client.h │ │ │ ├── friends.cpp │ │ │ ├── friends.h │ │ │ ├── graphics_threaded.cpp │ │ │ ├── graphics_threaded.h │ │ │ ├── input.cpp │ │ │ ├── input.h │ │ │ ├── keynames.h │ │ │ ├── serverbrowser.cpp │ │ │ ├── serverbrowser.h │ │ │ ├── sound.cpp │ │ │ ├── sound.h │ │ │ └── text.cpp │ │ ├── client.h │ │ ├── config.h │ │ ├── console.h │ │ ├── demo.h │ │ ├── docs/ │ │ │ ├── client_time.txt │ │ │ ├── prediction.txt │ │ │ ├── server_op.txt │ │ │ └── snapshots.txt │ │ ├── editor.h │ │ ├── engine.h │ │ ├── external/ │ │ │ ├── important.txt │ │ │ ├── json-parser/ │ │ │ │ ├── json.c │ │ │ │ └── json.h │ │ │ ├── pnglite/ │ │ │ │ ├── VERSION │ │ │ │ ├── pnglite.c │ │ │ │ └── pnglite.h │ │ │ ├── wavpack/ │ │ │ │ ├── VERSION │ │ │ │ ├── arm.S │ │ │ │ ├── arml.S │ │ │ │ ├── bits.c │ │ │ │ ├── coldfire.S │ │ │ │ ├── float.c │ │ │ │ ├── license.txt │ │ │ │ ├── metadata.c │ │ │ │ ├── readme.txt │ │ │ │ ├── unpack.c │ │ │ │ ├── wavpack.h │ │ │ │ ├── words.c │ │ │ │ ├── wputils.c │ │ │ │ └── wvfilter.c.no_compile │ │ │ └── zlib/ │ │ │ ├── VERSION │ │ │ ├── adler32.c │ │ │ ├── compress.c │ │ │ ├── crc32.c │ │ │ ├── crc32.h │ │ │ ├── deflate.c │ │ │ ├── deflate.h │ │ │ ├── infback.c │ │ │ ├── inffast.c │ │ │ ├── inffast.h │ │ │ ├── inffixed.h │ │ │ ├── inflate.c │ │ │ ├── inflate.h │ │ │ ├── inftrees.c │ │ │ ├── inftrees.h │ │ │ ├── trees.c │ │ │ ├── trees.h │ │ │ ├── uncompr.c │ │ │ ├── zconf.h │ │ │ ├── zlib.h │ │ │ ├── zutil.c │ │ │ └── zutil.h │ │ ├── friends.h │ │ ├── graphics.h │ │ ├── input.h │ │ ├── kernel.h │ │ ├── keys.h │ │ ├── map.h │ │ ├── masterserver.h │ │ ├── message.h │ │ ├── server/ │ │ │ ├── register.cpp │ │ │ ├── register.h │ │ │ ├── server.cpp │ │ │ └── server.h │ │ ├── server.h │ │ ├── serverbrowser.h │ │ ├── shared/ │ │ │ ├── compression.cpp │ │ │ ├── compression.h │ │ │ ├── config.cpp │ │ │ ├── config.h │ │ │ ├── config_variables.h │ │ │ ├── console.cpp │ │ │ ├── console.h │ │ │ ├── datafile.cpp │ │ │ ├── datafile.h │ │ │ ├── demo.cpp │ │ │ ├── demo.h │ │ │ ├── econ.cpp │ │ │ ├── econ.h │ │ │ ├── engine.cpp │ │ │ ├── filecollection.cpp │ │ │ ├── filecollection.h │ │ │ ├── huffman.cpp │ │ │ ├── huffman.h │ │ │ ├── jobs.cpp │ │ │ ├── jobs.h │ │ │ ├── kernel.cpp │ │ │ ├── linereader.cpp │ │ │ ├── linereader.h │ │ │ ├── map.cpp │ │ │ ├── mapchecker.cpp │ │ │ ├── mapchecker.h │ │ │ ├── masterserver.cpp │ │ │ ├── memheap.cpp │ │ │ ├── memheap.h │ │ │ ├── message.h │ │ │ ├── netban.cpp │ │ │ ├── netban.h │ │ │ ├── network.cpp │ │ │ ├── network.h │ │ │ ├── network_client.cpp │ │ │ ├── network_conn.cpp │ │ │ ├── network_console.cpp │ │ │ ├── network_console_conn.cpp │ │ │ ├── network_server.cpp │ │ │ ├── packer.cpp │ │ │ ├── packer.h │ │ │ ├── protocol.h │ │ │ ├── ringbuffer.cpp │ │ │ ├── ringbuffer.h │ │ │ ├── snapshot.cpp │ │ │ ├── snapshot.h │ │ │ └── storage.cpp │ │ ├── sound.h │ │ ├── storage.h │ │ └── textrender.h │ ├── game/ │ │ ├── client/ │ │ │ ├── animstate.cpp │ │ │ ├── animstate.h │ │ │ ├── component.h │ │ │ ├── components/ │ │ │ │ ├── binds.cpp │ │ │ │ ├── binds.h │ │ │ │ ├── broadcast.cpp │ │ │ │ ├── broadcast.h │ │ │ │ ├── camera.cpp │ │ │ │ ├── camera.h │ │ │ │ ├── chat.cpp │ │ │ │ ├── chat.h │ │ │ │ ├── console.cpp │ │ │ │ ├── console.h │ │ │ │ ├── controls.cpp │ │ │ │ ├── controls.h │ │ │ │ ├── countryflags.cpp │ │ │ │ ├── countryflags.h │ │ │ │ ├── damageind.cpp │ │ │ │ ├── damageind.h │ │ │ │ ├── debughud.cpp │ │ │ │ ├── debughud.h │ │ │ │ ├── effects.cpp │ │ │ │ ├── effects.h │ │ │ │ ├── emoticon.cpp │ │ │ │ ├── emoticon.h │ │ │ │ ├── flow.cpp │ │ │ │ ├── flow.h │ │ │ │ ├── hud.cpp │ │ │ │ ├── hud.h │ │ │ │ ├── items.cpp │ │ │ │ ├── items.h │ │ │ │ ├── killmessages.cpp │ │ │ │ ├── killmessages.h │ │ │ │ ├── mapimages.cpp │ │ │ │ ├── mapimages.h │ │ │ │ ├── maplayers.cpp │ │ │ │ ├── maplayers.h │ │ │ │ ├── menus.cpp │ │ │ │ ├── menus.h │ │ │ │ ├── menus_browser.cpp │ │ │ │ ├── menus_callback.cpp │ │ │ │ ├── menus_demo.cpp │ │ │ │ ├── menus_ingame.cpp │ │ │ │ ├── menus_popups.cpp │ │ │ │ ├── menus_settings.cpp │ │ │ │ ├── menus_start.cpp │ │ │ │ ├── motd.cpp │ │ │ │ ├── motd.h │ │ │ │ ├── nameplates.cpp │ │ │ │ ├── nameplates.h │ │ │ │ ├── particles.cpp │ │ │ │ ├── particles.h │ │ │ │ ├── players.cpp │ │ │ │ ├── players.h │ │ │ │ ├── scoreboard.cpp │ │ │ │ ├── scoreboard.h │ │ │ │ ├── skins.cpp │ │ │ │ ├── skins.h │ │ │ │ ├── sounds.cpp │ │ │ │ ├── sounds.h │ │ │ │ ├── spectator.cpp │ │ │ │ ├── spectator.h │ │ │ │ ├── voting.cpp │ │ │ │ └── voting.h │ │ │ ├── gameclient.cpp │ │ │ ├── gameclient.h │ │ │ ├── lineinput.cpp │ │ │ ├── lineinput.h │ │ │ ├── localization.cpp │ │ │ ├── localization.h │ │ │ ├── render.cpp │ │ │ ├── render.h │ │ │ ├── render_map.cpp │ │ │ ├── ui.cpp │ │ │ └── ui.h │ │ ├── collision.cpp │ │ ├── collision.h │ │ ├── editor/ │ │ │ ├── auto_map.cpp │ │ │ ├── auto_map.h │ │ │ ├── editor.cpp │ │ │ ├── editor.h │ │ │ ├── io.cpp │ │ │ ├── layer_game.cpp │ │ │ ├── layer_quads.cpp │ │ │ ├── layer_tiles.cpp │ │ │ └── popups.cpp │ │ ├── gamecore.cpp │ │ ├── gamecore.h │ │ ├── layers.cpp │ │ ├── layers.h │ │ ├── mapitems.h │ │ ├── server/ │ │ │ ├── alloc.h │ │ │ ├── entities/ │ │ │ │ ├── character.cpp │ │ │ │ ├── character.h │ │ │ │ ├── flag.cpp │ │ │ │ ├── flag.h │ │ │ │ ├── laser.cpp │ │ │ │ ├── laser.h │ │ │ │ ├── pickup.cpp │ │ │ │ ├── pickup.h │ │ │ │ ├── projectile.cpp │ │ │ │ └── projectile.h │ │ │ ├── entity.cpp │ │ │ ├── entity.h │ │ │ ├── eventhandler.cpp │ │ │ ├── eventhandler.h │ │ │ ├── gamecontext.cpp │ │ │ ├── gamecontext.h │ │ │ ├── gamecontroller.cpp │ │ │ ├── gamecontroller.h │ │ │ ├── gamemodes/ │ │ │ │ ├── ctf.cpp │ │ │ │ ├── ctf.h │ │ │ │ ├── dm.cpp │ │ │ │ ├── dm.h │ │ │ │ ├── lms.cpp │ │ │ │ ├── lms.h │ │ │ │ ├── mod.cpp │ │ │ │ ├── mod.h │ │ │ │ ├── sur.cpp │ │ │ │ ├── sur.h │ │ │ │ ├── tdm.cpp │ │ │ │ └── tdm.h │ │ │ ├── gameworld.cpp │ │ │ ├── gameworld.h │ │ │ ├── player.cpp │ │ │ └── player.h │ │ ├── tuning.h │ │ ├── variables.h │ │ ├── version.h │ │ └── voting.h │ ├── mastersrv/ │ │ ├── mastersrv.cpp │ │ └── mastersrv.h │ ├── osxlaunch/ │ │ ├── client.h │ │ ├── client.m │ │ └── server.m │ ├── tools/ │ │ ├── crapnet.cpp │ │ ├── dilate.cpp │ │ ├── fake_server.cpp │ │ ├── map_resave.cpp │ │ ├── map_version.cpp │ │ ├── packetgen.cpp │ │ └── tileset_borderop.cpp │ └── versionsrv/ │ ├── mapversions.h │ ├── versionsrv.cpp │ └── versionsrv.h └── storage.cfg
SYMBOL INDEX (1920 symbols across 294 files)
FILE: datasrc/compile.py
function create_enum_table (line 6) | def create_enum_table(names, num):
function create_flags_table (line 15) | def create_flags_table(names):
function EmitEnum (line 25) | def EmitEnum(names, num):
function EmitFlags (line 34) | def EmitFlags(names, num):
FILE: datasrc/content.py
class Sound (line 4) | class Sound(Struct):
method __init__ (line 5) | def __init__(self, filename=""):
class SoundSet (line 10) | class SoundSet(Struct):
method __init__ (line 11) | def __init__(self, name="", files=[]):
class Image (line 19) | class Image(Struct):
method __init__ (line 20) | def __init__(self, name="", filename=""):
class SpriteSet (line 26) | class SpriteSet(Struct):
method __init__ (line 27) | def __init__(self, name="", image=None, gridx=0, gridy=0):
class Sprite (line 33) | class Sprite(Struct):
method __init__ (line 34) | def __init__(self, name="", Set=None, x=0, y=0, w=0, h=0):
class Pickup (line 43) | class Pickup(Struct):
method __init__ (line 44) | def __init__(self, name="", respawntime=15, spawndelay=0):
class AnimKeyframe (line 50) | class AnimKeyframe(Struct):
method __init__ (line 51) | def __init__(self, time=0, x=0, y=0, angle=0):
class AnimSequence (line 58) | class AnimSequence(Struct):
method __init__ (line 59) | def __init__(self):
class Animation (line 63) | class Animation(Struct):
method __init__ (line 64) | def __init__(self, name=""):
class WeaponSpec (line 72) | class WeaponSpec(Struct):
method __init__ (line 73) | def __init__(self, container=None, name=""):
class Weapon_Hammer (line 102) | class Weapon_Hammer(Struct):
method __init__ (line 103) | def __init__(self):
class Weapon_Gun (line 107) | class Weapon_Gun(Struct):
method __init__ (line 108) | def __init__(self):
class Weapon_Shotgun (line 115) | class Weapon_Shotgun(Struct):
method __init__ (line 116) | def __init__(self):
class Weapon_Grenade (line 124) | class Weapon_Grenade(Struct):
method __init__ (line 125) | def __init__(self):
class Weapon_Laser (line 132) | class Weapon_Laser(Struct):
method __init__ (line 133) | def __init__(self):
class Weapon_Ninja (line 141) | class Weapon_Ninja(Struct):
method __init__ (line 142) | def __init__(self):
class Weapons (line 149) | class Weapons(Struct):
method __init__ (line 150) | def __init__(self):
class DataContainer (line 160) | class DataContainer(Struct):
method __init__ (line 161) | def __init__(self):
function FileList (line 171) | def FileList(format, num):
FILE: datasrc/datatypes.py
function GetID (line 4) | def GetID():
function GetUID (line 8) | def GetUID():
function FixCasing (line 11) | def FixCasing(Str):
function FormatName (line 25) | def FormatName(type, name):
class BaseType (line 32) | class BaseType:
method __init__ (line 33) | def __init__(self, type_name):
method Identifyer (line 38) | def Identifyer(self): return "x"+str(self._id)
method TargetName (line 39) | def TargetName(self): return self._target_name
method TypeName (line 40) | def TypeName(self): return self._type_name
method ID (line 41) | def ID(self): return self._id;
method EmitDeclaration (line 43) | def EmitDeclaration(self, name):
method EmitPreDefinition (line 45) | def EmitPreDefinition(self, target_name):
method EmitDefinition (line 48) | def EmitDefinition(self, name):
class MemberType (line 51) | class MemberType:
method __init__ (line 52) | def __init__(self, name, var):
class Struct (line 56) | class Struct(BaseType):
method __init__ (line 57) | def __init__(self, type_name):
method Members (line 59) | def Members(self):
method EmitTypeDeclaration (line 75) | def EmitTypeDeclaration(self, name):
method EmitPreDefinition (line 84) | def EmitPreDefinition(self, target_name):
method EmitDefinition (line 90) | def EmitDefinition(self, name):
class Array (line 97) | class Array(BaseType):
method __init__ (line 98) | def __init__(self, type):
method Add (line 102) | def Add(self, instance):
method EmitDeclaration (line 106) | def EmitDeclaration(self, name):
method EmitPreDefinition (line 109) | def EmitPreDefinition(self, target_name):
method EmitDefinition (line 128) | def EmitDefinition(self, name):
class Int (line 133) | class Int(BaseType):
method __init__ (line 134) | def __init__(self, value):
method Set (line 137) | def Set(self, value):
method EmitDefinition (line 139) | def EmitDefinition(self, name):
class Float (line 143) | class Float(BaseType):
method __init__ (line 144) | def __init__(self, value):
method Set (line 147) | def Set(self, value):
method EmitDefinition (line 149) | def EmitDefinition(self, name):
class String (line 153) | class String(BaseType):
method __init__ (line 154) | def __init__(self, value):
method Set (line 157) | def Set(self, value):
method EmitDefinition (line 159) | def EmitDefinition(self, name):
class Pointer (line 162) | class Pointer(BaseType):
method __init__ (line 163) | def __init__(self, type, target):
method Set (line 166) | def Set(self, target):
method EmitDefinition (line 168) | def EmitDefinition(self, name):
class TextureHandle (line 171) | class TextureHandle(BaseType):
method __init__ (line 172) | def __init__(self):
method EmitDefinition (line 174) | def EmitDefinition(self, name):
class SampleHandle (line 177) | class SampleHandle(BaseType):
method __init__ (line 178) | def __init__(self):
method EmitDefinition (line 180) | def EmitDefinition(self, name):
function EmitTypeDeclaration (line 185) | def EmitTypeDeclaration(root):
function EmitDefinition (line 189) | def EmitDefinition(root, name):
class Object (line 199) | class Object:
class Enum (line 202) | class Enum:
method __init__ (line 203) | def __init__(self, name, values):
class Flags (line 207) | class Flags:
method __init__ (line 208) | def __init__(self, name, values):
class NetObject (line 212) | class NetObject:
method __init__ (line 213) | def __init__(self, name, variables):
method emit_declaration (line 223) | def emit_declaration(self):
method emit_validate (line 232) | def emit_validate(self):
class NetEvent (line 244) | class NetEvent(NetObject):
method __init__ (line 245) | def __init__(self, name, variables):
class NetMessage (line 251) | class NetMessage(NetObject):
method __init__ (line 252) | def __init__(self, name, variables):
method emit_unpack (line 257) | def emit_unpack(self):
method emit_declaration (line 269) | def emit_declaration(self):
class NetVariable (line 287) | class NetVariable:
method __init__ (line 288) | def __init__(self, name):
method emit_declaration (line 290) | def emit_declaration(self):
method emit_validate (line 292) | def emit_validate(self):
method emit_pack (line 294) | def emit_pack(self):
method emit_unpack (line 296) | def emit_unpack(self):
method emit_unpack_check (line 298) | def emit_unpack_check(self):
class NetString (line 301) | class NetString(NetVariable):
method emit_declaration (line 302) | def emit_declaration(self):
method emit_unpack (line 304) | def emit_unpack(self):
method emit_pack (line 306) | def emit_pack(self):
class NetStringStrict (line 309) | class NetStringStrict(NetVariable):
method emit_declaration (line 310) | def emit_declaration(self):
method emit_unpack (line 312) | def emit_unpack(self):
method emit_pack (line 314) | def emit_pack(self):
class NetIntAny (line 317) | class NetIntAny(NetVariable):
method emit_declaration (line 318) | def emit_declaration(self):
method emit_unpack (line 320) | def emit_unpack(self):
method emit_pack (line 322) | def emit_pack(self):
class NetIntRange (line 325) | class NetIntRange(NetIntAny):
method __init__ (line 326) | def __init__(self, name, min, max):
method emit_validate (line 330) | def emit_validate(self):
method emit_unpack_check (line 332) | def emit_unpack_check(self):
class NetEnum (line 335) | class NetEnum(NetIntRange):
method __init__ (line 336) | def __init__(self, name, enum):
class NetFlag (line 339) | class NetFlag(NetIntAny):
method __init__ (line 340) | def __init__(self, name, flag):
method emit_validate (line 348) | def emit_validate(self):
method emit_unpack_check (line 350) | def emit_unpack_check(self):
class NetBool (line 353) | class NetBool(NetIntRange):
method __init__ (line 354) | def __init__(self, name):
class NetTick (line 357) | class NetTick(NetIntRange):
method __init__ (line 358) | def __init__(self, name):
class NetArray (line 361) | class NetArray(NetVariable):
method __init__ (line 362) | def __init__(self, var, size):
method emit_declaration (line 367) | def emit_declaration(self):
method emit_validate (line 370) | def emit_validate(self):
method emit_unpack (line 376) | def emit_unpack(self):
method emit_pack (line 382) | def emit_pack(self):
method emit_unpack_check (line 388) | def emit_unpack_check(self):
FILE: other/freetype/include/freetype/config/ftconfig.h
type FT_Int16 (line 165) | typedef signed short FT_Int16;
type FT_UInt16 (line 176) | typedef unsigned short FT_UInt16;
type FT_Int32 (line 193) | typedef signed XXX FT_Int32;
type FT_UInt32 (line 204) | typedef unsigned XXX FT_UInt32;
type FT_Int32 (line 212) | typedef signed int FT_Int32;
type FT_UInt32 (line 213) | typedef unsigned int FT_UInt32;
type FT_Int32 (line 217) | typedef signed long FT_Int32;
type FT_UInt32 (line 218) | typedef unsigned long FT_UInt32;
type FT_Fast (line 228) | typedef int FT_Fast;
type FT_UFast (line 229) | typedef unsigned int FT_UFast;
type FT_Fast (line 233) | typedef long FT_Fast;
type FT_UFast (line 234) | typedef unsigned long FT_UFast;
function FT_Int32 (line 345) | static __inline__ FT_Int32
function FT_Int32 (line 372) | static __inline__ FT_Int32
FILE: other/freetype/include/freetype/freetype.h
type FT_Glyph_Metrics_ (line 240) | struct FT_Glyph_Metrics_
type FT_Bitmap_Size (line 294) | typedef struct FT_Bitmap_Size_
type FT_LibraryRec_ (line 335) | struct FT_LibraryRec_
type FT_ModuleRec_ (line 348) | struct FT_ModuleRec_
type FT_DriverRec_ (line 360) | struct FT_DriverRec_
type FT_RendererRec_ (line 374) | struct FT_RendererRec_
type FT_FaceRec_ (line 399) | struct FT_FaceRec_
type FT_SizeRec_ (line 429) | struct FT_SizeRec_
type FT_GlyphSlotRec_ (line 450) | struct FT_GlyphSlotRec_
type FT_CharMapRec_ (line 482) | struct FT_CharMapRec_
type FT_Encoding (line 655) | typedef enum FT_Encoding_
type FT_CharMapRec (line 736) | typedef struct FT_CharMapRec_
type FT_Face_InternalRec_ (line 767) | struct FT_Face_InternalRec_
type FT_FaceRec (line 912) | typedef struct FT_FaceRec_
type FT_Size_InternalRec_ (line 1302) | struct FT_Size_InternalRec_
type FT_Size_Metrics (line 1360) | typedef struct FT_Size_Metrics_
type FT_SizeRec (line 1395) | typedef struct FT_SizeRec_
type FT_SubGlyphRec_ (line 1421) | struct FT_SubGlyphRec_
type FT_Slot_InternalRec_ (line 1433) | struct FT_Slot_InternalRec_
type FT_GlyphSlotRec (line 1605) | typedef struct FT_GlyphSlotRec_
type FT_Parameter (line 1760) | typedef struct FT_Parameter_
type FT_Open_Args (line 1826) | typedef struct FT_Open_Args_
type FT_Size_Request_Type (line 2138) | typedef enum FT_Size_Request_Type_
type FT_Size_RequestRec (line 2178) | typedef struct FT_Size_RequestRec_
type FT_Size_RequestRec_ (line 2197) | struct FT_Size_RequestRec_
type FT_Render_Mode (line 2697) | typedef enum FT_Render_Mode_
type FT_Kerning_Mode (line 2773) | typedef enum FT_Kerning_Mode_
FILE: other/freetype/include/freetype/ftbdf.h
type BDF_PropertyType_ (line 74) | enum BDF_PropertyType_
type BDF_PropertyRec_ (line 93) | struct BDF_PropertyRec_
type BDF_PropertyRec (line 117) | typedef struct BDF_PropertyRec_
FILE: other/freetype/include/freetype/ftcache.h
type FT_Error (line 209) | typedef FT_Error
type FTC_ManagerRec_ (line 261) | struct FTC_ManagerRec_
type FTC_NodeRec_ (line 281) | struct FTC_NodeRec_
type FTC_ScalerRec (line 436) | typedef struct FTC_ScalerRec_
type FTC_ScalerRec_ (line 456) | struct FTC_ScalerRec_
type FTC_CMapCacheRec_ (line 571) | struct FTC_CMapCacheRec_
type FTC_ImageTypeRec (line 678) | typedef struct FTC_ImageTypeRec_
type FTC_ImageTypeRec_ (line 697) | struct FTC_ImageTypeRec_
type FTC_ImageCacheRec_ (line 730) | struct FTC_ImageCacheRec_
type FTC_SBitRec_ (line 871) | struct FTC_SBitRec_
type FTC_SBitRec (line 909) | typedef struct FTC_SBitRec_
type FTC_SBitCacheRec_ (line 938) | struct FTC_SBitCacheRec_
type FTC_FontRec (line 1093) | typedef struct FTC_FontRec_
type FTC_FontRec (line 1116) | typedef FTC_FontRec* FTC_Font;
FILE: other/freetype/include/freetype/ftglyph.h
type FT_Glyph_Class_ (line 69) | struct FT_Glyph_Class_
type FT_GlyphRec_ (line 87) | struct FT_GlyphRec_
type FT_GlyphRec (line 108) | typedef struct FT_GlyphRec_
type FT_BitmapGlyphRec_ (line 127) | struct FT_BitmapGlyphRec_
type FT_BitmapGlyphRec (line 160) | typedef struct FT_BitmapGlyphRec_
type FT_OutlineGlyphRec_ (line 179) | struct FT_OutlineGlyphRec_
type FT_OutlineGlyphRec (line 208) | typedef struct FT_OutlineGlyphRec_
type FT_Glyph_BBox_Mode (line 317) | typedef enum FT_Glyph_BBox_Mode_
FILE: other/freetype/include/freetype/ftimage.h
type FT_Vector (line 75) | typedef struct FT_Vector_
type FT_BBox (line 116) | typedef struct FT_BBox_
type FT_Pixel_Mode (line 172) | typedef enum FT_Pixel_Mode_
type FT_Palette_Mode (line 235) | typedef enum FT_Palette_Mode_
type FT_Bitmap (line 310) | typedef struct FT_Bitmap_
type FT_Outline (line 383) | typedef struct FT_Outline_
type FT_Outline_Funcs (line 691) | typedef struct FT_Outline_Funcs_
type FT_Glyph_Format (line 778) | typedef enum FT_Glyph_Format_
type FT_RasterRec_ (line 862) | struct FT_RasterRec_
type FT_Span (line 891) | typedef struct FT_Span_
type FT_Raster_Params (line 1104) | typedef struct FT_Raster_Params_
type FT_Raster_Funcs (line 1288) | typedef struct FT_Raster_Funcs_
FILE: other/freetype/include/freetype/ftincrem.h
type FT_IncrementalRec_ (line 84) | struct FT_IncrementalRec_
type FT_Incremental_MetricsRec (line 115) | typedef struct FT_Incremental_MetricsRec_
type FT_Incremental_MetricsRec_ (line 134) | struct FT_Incremental_MetricsRec_
type FT_Error (line 178) | typedef FT_Error
type FT_Error (line 240) | typedef FT_Error
type FT_Incremental_FuncsRec (line 269) | typedef struct FT_Incremental_FuncsRec_
type FT_Incremental_InterfaceRec (line 314) | typedef struct FT_Incremental_InterfaceRec_
type FT_Incremental_InterfaceRec (line 331) | typedef FT_Incremental_InterfaceRec* FT_Incremental_Interface;
FILE: other/freetype/include/freetype/ftlcdfil.h
type FT_LcdFilter_ (line 94) | enum FT_LcdFilter_
FILE: other/freetype/include/freetype/ftmm.h
type FT_MM_Axis_ (line 73) | struct FT_MM_Axis_
type FT_Multi_Master (line 103) | typedef struct FT_Multi_Master_
type FT_Var_Axis (line 140) | typedef struct FT_Var_Axis_
type FT_Var_Named_Style (line 170) | typedef struct FT_Var_Named_Style_
type FT_MM_Var (line 210) | typedef struct FT_MM_Var_
FILE: other/freetype/include/freetype/ftmodapi.h
type FT_Pointer (line 79) | typedef FT_Pointer FT_Module_Interface;
type FT_Error (line 93) | typedef FT_Error
type FT_Module_Interface (line 125) | typedef FT_Module_Interface
type FT_Module_Class (line 159) | typedef struct FT_Module_Class_
type FT_TrueTypeEngineType (line 442) | typedef enum FT_TrueTypeEngineType_
FILE: other/freetype/include/freetype/ftoutln.h
function FT_BEGIN_HEADER (line 34) | FT_BEGIN_HEADER
FILE: other/freetype/include/freetype/ftrender.h
type FT_Error (line 57) | typedef FT_Error
type FT_Error (line 61) | typedef FT_Error
type FT_Glyph_Class_ (line 74) | struct FT_Glyph_Class_
type FT_Error (line 87) | typedef FT_Error
type FT_Error (line 93) | typedef FT_Error
type FT_Error (line 106) | typedef FT_Error
type FT_Renderer_Class (line 144) | typedef struct FT_Renderer_Class_
FILE: other/freetype/include/freetype/ftsnames.h
type FT_SfntName_ (line 98) | struct FT_SfntName_
FILE: other/freetype/include/freetype/ftstroke.h
type FT_StrokerRec_ (line 60) | struct FT_StrokerRec_
type FT_Stroker_LineJoin (line 109) | typedef enum FT_Stroker_LineJoin_
type FT_Stroker_LineCap (line 142) | typedef enum FT_Stroker_LineCap_
type FT_StrokerBorder (line 176) | typedef enum FT_StrokerBorder_
FILE: other/freetype/include/freetype/ftsystem.h
type FT_MemoryRec_ (line 66) | struct FT_MemoryRec_
type FT_MemoryRec_ (line 171) | struct FT_MemoryRec_
type FT_StreamRec_ (line 196) | struct FT_StreamRec_
type FT_StreamDesc (line 209) | typedef union FT_StreamDesc_
type FT_StreamRec (line 321) | typedef struct FT_StreamRec_
FILE: other/freetype/include/freetype/fttypes.h
type FT_FWord (line 116) | typedef signed short FT_FWord;
type FT_UFWord (line 128) | typedef unsigned short FT_UFWord;
type FT_Char (line 139) | typedef signed char FT_Char;
type FT_Byte (line 150) | typedef unsigned char FT_Byte;
type FT_Byte (line 161) | typedef const FT_Byte* FT_Bytes;
type FT_UInt32 (line 172) | typedef FT_UInt32 FT_Tag;
type FT_String (line 183) | typedef char FT_String;
type FT_Short (line 194) | typedef signed short FT_Short;
type FT_UShort (line 205) | typedef unsigned short FT_UShort;
type FT_Int (line 216) | typedef signed int FT_Int;
type FT_UInt (line 227) | typedef unsigned int FT_UInt;
type FT_Long (line 238) | typedef signed long FT_Long;
type FT_ULong (line 249) | typedef unsigned long FT_ULong;
type FT_F2Dot14 (line 260) | typedef signed short FT_F2Dot14;
type FT_F26Dot6 (line 272) | typedef signed long FT_F26Dot6;
type FT_Fixed (line 284) | typedef signed long FT_Fixed;
type FT_Error (line 296) | typedef int FT_Error;
type FT_Offset (line 320) | typedef size_t FT_Offset;
type ft_ptrdiff_t (line 333) | typedef ft_ptrdiff_t FT_PtrDist;
type FT_UnitVector (line 350) | typedef struct FT_UnitVector_
type FT_Matrix (line 381) | typedef struct FT_Matrix_
type FT_Data (line 402) | typedef struct FT_Data_
type FT_Generic (line 455) | typedef struct FT_Generic_
type FT_ListNodeRec_ (line 511) | struct FT_ListNodeRec_
type FT_ListRec_ (line 522) | struct FT_ListRec_
type FT_ListNodeRec (line 540) | typedef struct FT_ListNodeRec_
type FT_ListRec (line 563) | typedef struct FT_ListRec_
FILE: other/freetype/include/freetype/ftwinfnt.h
type FT_WinFNT_HeaderRec (line 183) | typedef struct FT_WinFNT_HeaderRec_
type FT_WinFNT_HeaderRec_ (line 233) | struct FT_WinFNT_HeaderRec_
FILE: other/freetype/include/freetype/internal/autohint.h
type FT_AutoHinterRec_ (line 80) | struct FT_AutoHinterRec_
type FT_Error (line 174) | typedef FT_Error
type FT_AutoHinter_ServiceRec (line 190) | typedef struct FT_AutoHinter_ServiceRec_
FILE: other/freetype/include/freetype/internal/ftdebug.h
type FT_Trace (line 57) | typedef enum FT_Trace_
FILE: other/freetype/include/freetype/internal/ftdriver.h
type FT_Error (line 41) | typedef FT_Error
type FT_Error (line 48) | typedef FT_Error
type FT_Error (line 55) | typedef FT_Error
type FT_Error (line 59) | typedef FT_Error
type FT_Error (line 65) | typedef FT_Error
type FT_Error (line 72) | typedef FT_Error
type FT_Error (line 79) | typedef FT_Error
type FT_UInt (line 86) | typedef FT_UInt
type FT_Long (line 90) | typedef FT_Long
type FT_Error (line 95) | typedef FT_Error
type FT_Error (line 102) | typedef FT_Error
type FT_Error (line 107) | typedef FT_Error
type FT_Driver_ClassRec (line 183) | typedef struct FT_Driver_ClassRec_
FILE: other/freetype/include/freetype/internal/ftgloadr.h
type FT_GlyphLoaderRec_ (line 43) | struct FT_GlyphLoaderRec_
type FT_SubGlyphRec (line 57) | typedef struct FT_SubGlyphRec_
type FT_GlyphLoadRec (line 68) | typedef struct FT_GlyphLoadRec_
type FT_GlyphLoaderRec (line 79) | typedef struct FT_GlyphLoaderRec_
FILE: other/freetype/include/freetype/internal/ftmemory.h
function T (line 69) | T*
FILE: other/freetype/include/freetype/internal/ftobjs.h
type FT_CMapRec_ (line 125) | struct FT_CMapRec_
type FT_CMap_ClassRec_ (line 128) | struct FT_CMap_ClassRec_
type FT_CMapRec (line 131) | typedef struct FT_CMapRec_
type FT_Error (line 149) | typedef FT_Error
type FT_UInt (line 156) | typedef FT_UInt
type FT_UInt (line 160) | typedef FT_UInt
type FT_UInt (line 164) | typedef FT_UInt
type FT_Bool (line 170) | typedef FT_Bool
type FT_UInt32 (line 175) | typedef FT_UInt32 *
type FT_UInt32 (line 179) | typedef FT_UInt32 *
type FT_UInt32 (line 184) | typedef FT_UInt32 *
type FT_CMap_ClassRec (line 190) | typedef struct FT_CMap_ClassRec_
type FT_Face_InternalRec (line 320) | typedef struct FT_Face_InternalRec_
type FT_GlyphSlot_InternalRec (line 378) | typedef struct FT_Slot_InternalRec_
type FT_Size_InternalRec (line 403) | typedef struct FT_Size_InternalRec_
type FT_ModuleRec (line 441) | typedef struct FT_ModuleRec_
type FT_RendererRec (line 661) | typedef struct FT_RendererRec_
type FT_DriverRec (line 722) | typedef struct FT_DriverRec_
type FT_LibraryRec (line 837) | typedef struct FT_LibraryRec_
type FT_Error (line 889) | typedef FT_Error
type FT_UInt (line 895) | typedef FT_UInt
type FT_Error (line 1243) | typedef FT_Error
FILE: other/freetype/include/freetype/internal/ftpic.h
type FT_PIC_Container (line 34) | typedef struct FT_PIC_Container_
FILE: other/freetype/include/freetype/internal/ftrfork.h
type FT_RFork_Ref (line 44) | typedef struct FT_RFork_Ref_
FILE: other/freetype/include/freetype/internal/ftserv.h
type FT_ServiceDescRec (line 157) | typedef struct FT_ServiceDescRec_
type FT_ServiceDescRec (line 164) | typedef const FT_ServiceDescRec* FT_ServiceDesc;
type FT_ServiceCacheRec (line 494) | typedef struct FT_ServiceCacheRec_
FILE: other/freetype/include/freetype/internal/ftstream.h
type FT_Frame_Op (line 57) | typedef enum FT_Frame_Op_
type FT_Frame_Field (line 86) | typedef struct FT_Frame_Field_
FILE: other/freetype/include/freetype/internal/ftvalid.h
type FT_ValidatorRec_ (line 42) | struct FT_ValidatorRec_
type FT_ValidationLevel (line 70) | typedef enum FT_ValidationLevel_
type FT_ValidatorRec (line 80) | typedef struct FT_ValidatorRec_
FILE: other/freetype/include/freetype/internal/psaux.h
type PS_TableRec_ (line 42) | struct PS_TableRec_
type PS_Table_FuncsRec_ (line 43) | struct PS_Table_FuncsRec_
type PS_Table_FuncsRec (line 63) | typedef struct PS_Table_FuncsRec_
type PS_TableRec (line 117) | typedef struct PS_TableRec_
type PS_ParserRec_ (line 143) | struct PS_ParserRec_
type T1_TokenRec_ (line 145) | struct T1_TokenRec_
type T1_FieldRec_ (line 147) | struct T1_FieldRec_
type T1_TokenType (line 151) | typedef enum T1_TokenType_
type T1_TokenRec (line 166) | typedef struct T1_TokenRec_
type T1_FieldType (line 176) | typedef enum T1_FieldType_
type T1_FieldLocation (line 196) | typedef enum T1_FieldLocation_
type T1_FieldRec (line 220) | typedef struct T1_FieldRec_
type PS_Parser_FuncsRec_ (line 336) | struct PS_Parser_FuncsRec_
type PS_Parser_FuncsRec (line 338) | typedef struct PS_Parser_FuncsRec_
type PS_ParserRec (line 424) | typedef struct PS_ParserRec_
type T1_BuilderRec_ (line 446) | struct T1_BuilderRec_
type FT_Error (line 449) | typedef FT_Error
type FT_Error (line 459) | typedef FT_Error
type FT_Error (line 464) | typedef FT_Error
type FT_Error (line 467) | typedef FT_Error
type T1_Builder_FuncsRec_ (line 476) | struct T1_Builder_FuncsRec_
type T1_Builder_FuncsRec (line 478) | typedef struct T1_Builder_FuncsRec_
type T1_ParseState (line 501) | typedef enum T1_ParseState_
type T1_BuilderRec (line 559) | typedef struct T1_BuilderRec_
type T1_Decoder_ZoneRec (line 617) | typedef struct T1_Decoder_ZoneRec_
type T1_DecoderRec_ (line 626) | struct T1_DecoderRec_
type T1_Decoder_FuncsRec_ (line 627) | struct T1_Decoder_FuncsRec_
type FT_Error (line 630) | typedef FT_Error
type T1_Decoder_FuncsRec (line 635) | typedef struct T1_Decoder_FuncsRec_
type T1_DecoderRec (line 659) | typedef struct T1_DecoderRec_
type AFM_ParserRec_ (line 708) | struct AFM_ParserRec_
type AFM_Parser_FuncsRec (line 710) | typedef struct AFM_Parser_FuncsRec_
type AFM_StreamRec_ (line 727) | struct AFM_StreamRec_
type AFM_ParserRec (line 749) | typedef struct AFM_ParserRec_
type T1_CMap_ClassesRec_ (line 774) | struct T1_CMap_ClassesRec_
type T1_CMap_ClassesRec (line 776) | typedef struct T1_CMap_ClassesRec_
type PSAux_ServiceRec (line 794) | typedef struct PSAux_ServiceRec_
type PSAux_ServiceRec (line 815) | typedef PSAux_ServiceRec PSAux_Interface;
FILE: other/freetype/include/freetype/internal/pshints.h
type PSH_GlobalsRec_ (line 41) | struct PSH_GlobalsRec_
type FT_Error (line 43) | typedef FT_Error
type FT_Error (line 48) | typedef FT_Error
type PSH_Globals_FuncsRec (line 59) | typedef struct PSH_Globals_FuncsRec_
type T1_HintsRec_ (line 104) | struct T1_HintsRec_
type T1_Hints_FuncsRec_ (line 117) | struct T1_Hints_FuncsRec_
type FT_Error (line 265) | typedef FT_Error
type FT_Error (line 304) | typedef FT_Error
type T1_Hints_FuncsRec (line 342) | typedef struct T1_Hints_FuncsRec_
type T2_HintsRec_ (line 391) | struct T2_HintsRec_
type T2_Hints_FuncsRec_ (line 404) | struct T2_Hints_FuncsRec_
type FT_Error (line 579) | typedef FT_Error
type FT_Error (line 618) | typedef FT_Error
type T2_Hints_FuncsRec (line 656) | typedef struct T2_Hints_FuncsRec_
type PSHinter_Interface (line 672) | typedef struct PSHinter_Interface_
type PSHinter_Interface (line 680) | typedef PSHinter_Interface* PSHinter_Service;
FILE: other/freetype/include/freetype/internal/services/svbdf.h
type FT_Error (line 31) | typedef FT_Error
type FT_Error (line 36) | typedef FT_Error
function FT_DEFINE_SERVICE (line 42) | FT_DEFINE_SERVICE( BDF )
FILE: other/freetype/include/freetype/internal/services/svcid.h
type FT_Error (line 29) | typedef FT_Error
type FT_Error (line 34) | typedef FT_Error
type FT_Error (line 37) | typedef FT_Error
function FT_DEFINE_SERVICE (line 42) | FT_DEFINE_SERVICE( CID )
FILE: other/freetype/include/freetype/internal/services/svgldict.h
type FT_Error (line 37) | typedef FT_Error
type FT_UInt (line 43) | typedef FT_UInt
function FT_DEFINE_SERVICE (line 48) | FT_DEFINE_SERVICE( GlyphDict )
FILE: other/freetype/include/freetype/internal/services/svgxval.h
type FT_Error (line 40) | typedef FT_Error
type FT_Error (line 47) | typedef FT_Error
function FT_DEFINE_SERVICE (line 53) | FT_DEFINE_SERVICE( GXvalidate )
function FT_DEFINE_SERVICE (line 58) | FT_DEFINE_SERVICE( CKERNvalidate )
FILE: other/freetype/include/freetype/internal/services/svkern.h
type FT_Error (line 31) | typedef FT_Error
function FT_DEFINE_SERVICE (line 37) | FT_DEFINE_SERVICE( Kerning )
FILE: other/freetype/include/freetype/internal/services/svmm.h
type FT_Error (line 38) | typedef FT_Error
type FT_Error (line 42) | typedef FT_Error
type FT_Error (line 46) | typedef FT_Error
type FT_Error (line 51) | typedef FT_Error
type FT_Error (line 56) | typedef FT_Error
function FT_DEFINE_SERVICE (line 62) | FT_DEFINE_SERVICE( MultiMasters )
FILE: other/freetype/include/freetype/internal/services/svotval.h
type FT_Error (line 31) | typedef FT_Error
function FT_DEFINE_SERVICE (line 41) | FT_DEFINE_SERVICE( OTvalidate )
FILE: other/freetype/include/freetype/internal/services/svpfr.h
type FT_Error (line 32) | typedef FT_Error
type FT_Error (line 39) | typedef FT_Error
type FT_Error (line 45) | typedef FT_Error
function FT_DEFINE_SERVICE (line 51) | FT_DEFINE_SERVICE( PfrMetrics )
FILE: other/freetype/include/freetype/internal/services/svpostnm.h
function FT_DEFINE_SERVICE (line 44) | FT_DEFINE_SERVICE( PsFontName )
FILE: other/freetype/include/freetype/internal/services/svpscmap.h
type FT_UInt32 (line 34) | typedef FT_UInt32
type PS_UniMap (line 54) | typedef struct PS_UniMap_
type PS_UnicodesRec_ (line 62) | struct PS_UnicodesRec_
type PS_UnicodesRec (line 64) | typedef struct PS_UnicodesRec_
type FT_Error (line 89) | typedef FT_Error
type FT_UInt (line 97) | typedef FT_UInt
type FT_UInt32 (line 101) | typedef FT_UInt32
function FT_DEFINE_SERVICE (line 106) | FT_DEFINE_SERVICE( PsCMaps )
FILE: other/freetype/include/freetype/internal/services/svpsinfo.h
type FT_Error (line 32) | typedef FT_Error
type FT_Error (line 36) | typedef FT_Error
type FT_Int (line 40) | typedef FT_Int
type FT_Error (line 43) | typedef FT_Error
type FT_Long (line 47) | typedef FT_Long
function FT_DEFINE_SERVICE (line 55) | FT_DEFINE_SERVICE( PsInfo )
FILE: other/freetype/include/freetype/internal/services/svsfnt.h
type FT_Error (line 39) | typedef FT_Error
type FT_Error (line 57) | typedef FT_Error
function FT_DEFINE_SERVICE (line 65) | FT_DEFINE_SERVICE( SFNT_Table )
FILE: other/freetype/include/freetype/internal/services/svttcmap.h
type TT_CMapInfo (line 59) | typedef struct TT_CMapInfo_
type FT_Error (line 67) | typedef FT_Error
function FT_DEFINE_SERVICE (line 72) | FT_DEFINE_SERVICE( TTCMaps )
FILE: other/freetype/include/freetype/internal/services/svtteng.h
function FT_DEFINE_SERVICE (line 39) | FT_DEFINE_SERVICE( TrueTypeEngine )
FILE: other/freetype/include/freetype/internal/services/svttglyf.h
type FT_ULong (line 30) | typedef FT_ULong
function FT_DEFINE_SERVICE (line 35) | FT_DEFINE_SERVICE( TTGlyf )
FILE: other/freetype/include/freetype/internal/services/svwinfnt.h
type FT_Error (line 31) | typedef FT_Error
function FT_DEFINE_SERVICE (line 36) | FT_DEFINE_SERVICE( WinFnt )
FILE: other/freetype/include/freetype/internal/sfnt.h
type FT_Error (line 102) | typedef FT_Error
type FT_Error (line 161) | typedef FT_Error
type FT_Error (line 191) | typedef FT_Error
type FT_Error (line 239) | typedef FT_Error
type FT_Error (line 275) | typedef FT_Error
type FT_Error (line 311) | typedef FT_Error
type FT_Error (line 356) | typedef FT_Error
type FT_Error (line 388) | typedef FT_Error
type FT_Error (line 419) | typedef FT_Error
type FT_Error (line 441) | typedef FT_Error
type FT_Error (line 468) | typedef FT_Error
type FT_Error (line 494) | typedef FT_Error
type FT_Error (line 519) | typedef FT_Error
type FT_Error (line 544) | typedef FT_Error
type FT_Error (line 568) | typedef FT_Error
type FT_Error (line 596) | typedef FT_Error
type FT_Int (line 631) | typedef FT_Int
type SFNT_Interface (line 649) | typedef struct SFNT_Interface_
type SFNT_Interface (line 754) | typedef SFNT_Interface* SFNT_Service;
FILE: other/freetype/include/freetype/internal/t1types.h
type T1_EncodingRecRec_ (line 69) | struct T1_EncodingRecRec_
type PS_FontExtraRec (line 86) | typedef struct PS_FontExtraRec_
type T1_FontRec (line 93) | typedef struct T1_FontRec_
type CID_SubrsRec (line 128) | typedef struct CID_SubrsRec_
type AFM_TrackKernRec (line 148) | typedef struct AFM_TrackKernRec_
type AFM_KernPairRec (line 158) | typedef struct AFM_KernPairRec_
type AFM_FontInfoRec (line 167) | typedef struct AFM_FontInfoRec_
type T1_FaceRec_ (line 194) | struct T1_FaceRec_
type CID_FaceRec_ (line 195) | struct CID_FaceRec_
type T1_FaceRec (line 198) | typedef struct T1_FaceRec_
type CID_FaceRec (line 232) | typedef struct CID_FaceRec_
FILE: other/freetype/include/freetype/internal/tttypes.h
type TTC_HeaderRec_ (line 70) | struct TTC_HeaderRec_
type SFNT_HeaderRec (line 99) | typedef struct SFNT_HeaderRec_
type TT_TableRec (line 130) | typedef struct TT_TableRec_
type TT_LongMetricsRec (line 154) | typedef struct TT_LongMetricsRec_
type FT_Short (line 171) | typedef FT_Short TT_ShortMetrics;
type TT_NameEntryRec (line 201) | typedef struct TT_NameEntryRec_
type TT_NameTableRec (line 238) | typedef struct TT_NameTableRec_
type TT_GaspRangeRec (line 277) | typedef struct TT_GaspRangeRec_
type TT_GaspRec (line 305) | typedef struct TT_Gasp_
type TT_HdmxEntryRec (line 332) | typedef struct TT_HdmxEntryRec_
type TT_HdmxRec (line 357) | typedef struct TT_HdmxRec_
type TT_Kern0_PairRec (line 384) | typedef struct TT_Kern0_PairRec_
type TT_SBit_MetricsRec (line 435) | typedef struct TT_SBit_MetricsRec_
type TT_SBit_SmallMetricsRec (line 472) | typedef struct TT_SBit_Small_Metrics_
type TT_SBit_LineMetricsRec (line 535) | typedef struct TT_SBit_LineMetricsRec_
type TT_SBit_RangeRec (line 589) | typedef struct TT_SBit_RangeRec_
type TT_SBit_StrikeRec (line 653) | typedef struct TT_SBit_StrikeRec_
type TT_SBit_ComponentRec (line 691) | typedef struct TT_SBit_ComponentRec_
type TT_SBit_ScaleRec (line 722) | typedef struct TT_SBit_ScaleRec_
type TT_Post_20Rec (line 767) | typedef struct TT_Post_20Rec_
type TT_Post_25Rec (line 792) | typedef struct TT_Post_25_
type TT_Post_NamesRec (line 815) | typedef struct TT_Post_NamesRec_
type GX_BlendRec_ (line 843) | struct GX_BlendRec_
type TT_BDFRec (line 900) | typedef struct TT_BDFRec_
type TT_FaceRec_ (line 951) | struct TT_FaceRec_
type FT_Error (line 955) | typedef FT_Error
type TT_LoaderRec_ (line 959) | struct TT_LoaderRec_
type FT_Error (line 987) | typedef FT_Error
type FT_Error (line 1022) | typedef FT_Error
type FT_Error (line 1044) | typedef FT_Error
type TT_FaceRec (line 1258) | typedef struct TT_FaceRec_
type TT_GlyphZoneRec (line 1465) | typedef struct TT_GlyphZoneRec_
type TT_ExecContextRec_ (line 1486) | struct TT_ExecContextRec_
type TT_LoaderRec (line 1489) | typedef struct TT_LoaderRec_
FILE: other/freetype/include/freetype/t1tables.h
type PS_FontInfoRec_ (line 69) | struct PS_FontInfoRec_
type PS_FontInfoRec_ (line 92) | struct PS_FontInfoRec_
type PS_FontInfoRec (line 105) | typedef PS_FontInfoRec T1_FontInfo;
type PS_PrivateRec (line 118) | typedef struct PS_PrivateRec_
type PS_PrivateRec_ (line 167) | struct PS_PrivateRec_
type PS_PrivateRec (line 180) | typedef PS_PrivateRec T1_Private;
type T1_Blend_Flags (line 193) | typedef enum T1_Blend_Flags_
type PS_DesignMapRec (line 250) | typedef struct PS_DesignMap_
type PS_DesignMapRec (line 259) | typedef PS_DesignMapRec T1_DesignMap;
type PS_BlendRec (line 262) | typedef struct PS_BlendRec_
type PS_BlendRec (line 294) | typedef PS_BlendRec T1_Blend;
type CID_FaceDictRec (line 305) | typedef struct CID_FaceDictRec_
type CID_FaceDictRec_ (line 334) | struct CID_FaceDictRec_
type CID_FaceDictRec (line 340) | typedef CID_FaceDictRec CID_FontDict;
type CID_FaceInfoRec (line 351) | typedef struct CID_FaceInfoRec_
type CID_FaceInfoRec_ (line 389) | struct CID_FaceInfoRec_
type CID_FaceInfoRec (line 402) | typedef CID_FaceInfoRec CID_Info;
type T1_EncodingType (line 506) | typedef enum T1_EncodingType_
type PS_Dict_Keys (line 526) | typedef enum PS_Dict_Keys_
FILE: other/freetype/include/freetype/tttables.h
type TT_Header_ (line 63) | struct TT_Header_
type TT_HoriHeader (line 180) | typedef struct TT_HoriHeader_
type TT_VertHeader (line 306) | typedef struct TT_VertHeader_
type TT_OS2 (line 350) | typedef struct TT_OS2_
type TT_Postscript (line 414) | typedef struct TT_Postscript_
type TT_PCLT (line 441) | typedef struct TT_PCLT_
type TT_MaxProfile (line 528) | typedef struct TT_MaxProfile_
type FT_Sfnt_Tag (line 558) | typedef enum FT_Sfnt_Tag_
FILE: other/sdl/include/SDL_audio.h
type SDL_AudioSpec (line 74) | typedef struct SDL_AudioSpec {
type SDL_AudioCVT (line 126) | typedef struct SDL_AudioCVT {
type SDL_audiostatus (line 180) | typedef enum {
FILE: other/sdl/include/SDL_cdrom.h
type CDstatus (line 59) | typedef enum {
type SDL_CDtrack (line 70) | typedef struct SDL_CDtrack {
type SDL_CD (line 79) | typedef struct SDL_CD {
FILE: other/sdl/include/SDL_config_macos.h
type SInt8 (line 32) | typedef SInt8 int8_t;
type UInt8 (line 33) | typedef UInt8 uint8_t;
type SInt16 (line 34) | typedef SInt16 int16_t;
type UInt16 (line 35) | typedef UInt16 uint16_t;
type SInt32 (line 36) | typedef SInt32 int32_t;
type UInt32 (line 37) | typedef UInt32 uint32_t;
type SInt64 (line 38) | typedef SInt64 int64_t;
type UInt64 (line 39) | typedef UInt64 uint64_t;
FILE: other/sdl/include/SDL_endian.h
function Uint16 (line 70) | static __inline__ Uint16 SDL_Swap16(Uint16 x)
function Uint16 (line 76) | static __inline__ Uint16 SDL_Swap16(Uint16 x)
function Uint16 (line 82) | static __inline__ Uint16 SDL_Swap16(Uint16 x)
function Uint16 (line 90) | static __inline__ Uint16 SDL_Swap16(Uint16 x)
function Uint16 (line 96) | static __inline__ Uint16 SDL_Swap16(Uint16 x) {
function Uint32 (line 103) | static __inline__ Uint32 SDL_Swap32(Uint32 x)
function Uint32 (line 109) | static __inline__ Uint32 SDL_Swap32(Uint32 x)
function Uint32 (line 115) | static __inline__ Uint32 SDL_Swap32(Uint32 x)
function Uint32 (line 125) | static __inline__ Uint32 SDL_Swap32(Uint32 x)
function Uint32 (line 131) | static __inline__ Uint32 SDL_Swap32(Uint32 x) {
function Uint64 (line 139) | static __inline__ Uint64 SDL_Swap64(Uint64 x)
function Uint64 (line 152) | static __inline__ Uint64 SDL_Swap64(Uint64 x)
function Uint64 (line 158) | static __inline__ Uint64 SDL_Swap64(Uint64 x)
FILE: other/sdl/include/SDL_error.h
type SDL_errorcode (line 55) | typedef enum {
FILE: other/sdl/include/SDL_events.h
type SDL_EventType (line 52) | typedef enum {
type SDL_EventMask (line 88) | typedef enum {
type SDL_ActiveEvent (line 119) | typedef struct SDL_ActiveEvent {
type SDL_KeyboardEvent (line 126) | typedef struct SDL_KeyboardEvent {
type SDL_MouseMotionEvent (line 134) | typedef struct SDL_MouseMotionEvent {
type SDL_MouseButtonEvent (line 144) | typedef struct SDL_MouseButtonEvent {
type SDL_JoyAxisEvent (line 153) | typedef struct SDL_JoyAxisEvent {
type SDL_JoyBallEvent (line 161) | typedef struct SDL_JoyBallEvent {
type SDL_JoyHatEvent (line 170) | typedef struct SDL_JoyHatEvent {
type SDL_JoyButtonEvent (line 183) | typedef struct SDL_JoyButtonEvent {
type SDL_ResizeEvent (line 194) | typedef struct SDL_ResizeEvent {
type SDL_ExposeEvent (line 201) | typedef struct SDL_ExposeEvent {
type SDL_QuitEvent (line 206) | typedef struct SDL_QuitEvent {
type SDL_UserEvent (line 211) | typedef struct SDL_UserEvent {
type SDL_SysWMmsg (line 219) | struct SDL_SysWMmsg
type SDL_SysWMmsg (line 220) | typedef struct SDL_SysWMmsg SDL_SysWMmsg;
type SDL_SysWMEvent (line 221) | typedef struct SDL_SysWMEvent {
type SDL_Event (line 227) | typedef union SDL_Event {
type SDL_eventaction (line 253) | typedef enum {
FILE: other/sdl/include/SDL_joystick.h
type _SDL_Joystick (line 46) | struct _SDL_Joystick
type SDL_Joystick (line 47) | typedef struct _SDL_Joystick SDL_Joystick;
FILE: other/sdl/include/SDL_keyboard.h
type SDL_keysym (line 59) | typedef struct SDL_keysym {
FILE: other/sdl/include/SDL_keysym.h
type SDLKey (line 31) | typedef enum {
type SDLMod (line 305) | typedef enum {
FILE: other/sdl/include/SDL_main.h
type QDGlobals (line 92) | struct QDGlobals
type QDGlobals (line 95) | struct QDGlobals
FILE: other/sdl/include/SDL_mouse.h
type WMcursor (line 40) | typedef struct WMcursor WMcursor;
type SDL_Cursor (line 41) | typedef struct SDL_Cursor {
FILE: other/sdl/include/SDL_mutex.h
type SDL_mutex (line 55) | struct SDL_mutex
type SDL_mutex (line 56) | typedef struct SDL_mutex SDL_mutex;
type SDL_semaphore (line 86) | struct SDL_semaphore
type SDL_sem (line 87) | typedef struct SDL_semaphore SDL_sem;
type SDL_cond (line 133) | struct SDL_cond
type SDL_cond (line 134) | typedef struct SDL_cond SDL_cond;
FILE: other/sdl/include/SDL_opengl.h
type GLchar (line 3106) | typedef char GLchar;
type GLintptr (line 3111) | typedef ptrdiff_t GLintptr;
type GLsizeiptr (line 3112) | typedef ptrdiff_t GLsizeiptr;
type GLintptrARB (line 3117) | typedef ptrdiff_t GLintptrARB;
type GLsizeiptrARB (line 3118) | typedef ptrdiff_t GLsizeiptrARB;
type GLcharARB (line 3123) | typedef char GLcharARB;
type GLhandleARB (line 3124) | typedef unsigned int GLhandleARB;
type GLhalfARB (line 3129) | typedef unsigned short GLhalfARB;
type GLhalfNV (line 3133) | typedef unsigned short GLhalfNV;
type GLvoid (line 3450) | typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum ac...
type GLvoid (line 4051) | typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum...
type GLuint (line 4433) | typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n...
type GLuint (line 5719) | typedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n,...
type GLvoid (line 5883) | typedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, co...
type GLvoid (line 6423) | typedef GLvoid* (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
FILE: other/sdl/include/SDL_rwops.h
type SDL_RWops (line 42) | typedef struct SDL_RWops {
FILE: other/sdl/include/SDL_stdinc.h
type SDL_bool (line 93) | typedef enum {
type Sint8 (line 98) | typedef int8_t Sint8;
type Uint8 (line 99) | typedef uint8_t Uint8;
type Sint16 (line 100) | typedef int16_t Sint16;
type Uint16 (line 101) | typedef uint16_t Uint16;
type Sint32 (line 102) | typedef int32_t Sint32;
type Uint32 (line 103) | typedef uint32_t Uint32;
type Sint64 (line 106) | typedef int64_t Sint64;
type Uint64 (line 108) | typedef uint64_t Uint64;
type Uint64 (line 112) | typedef struct {
type SDL_DUMMY_ENUM (line 146) | typedef enum {
type _SDL_iconv_t (line 601) | struct _SDL_iconv_t
FILE: other/sdl/include/SDL_syswm.h
type SDL_SysWMinfo (line 47) | struct SDL_SysWMinfo
type SDL_SysWMinfo (line 48) | typedef struct SDL_SysWMinfo SDL_SysWMinfo;
type SDL_SYSWM_TYPE (line 67) | typedef enum {
type SDL_SysWMmsg (line 72) | struct SDL_SysWMmsg {
type SDL_SysWMinfo (line 84) | typedef struct SDL_SysWMinfo {
type SDL_SysWMmsg (line 120) | struct SDL_SysWMmsg {
type SDL_SysWMinfo (line 126) | typedef struct SDL_SysWMinfo {
type SDL_SysWMmsg (line 136) | struct SDL_SysWMmsg {
type SDL_SysWMinfo (line 145) | typedef struct SDL_SysWMinfo {
type SDL_SysWMmsg (line 154) | struct SDL_SysWMmsg {
type SDL_SysWMinfo (line 161) | typedef struct SDL_SysWMinfo {
type SDL_SysWMmsg (line 173) | struct SDL_SysWMmsg {
type SDL_SysWMinfo (line 179) | typedef struct SDL_SysWMinfo {
type SDL_SysWMmsg (line 187) | struct SDL_SysWMmsg {
type SDL_SysWMinfo (line 193) | typedef struct SDL_SysWMinfo {
FILE: other/sdl/include/SDL_thread.h
type SDL_Thread (line 45) | struct SDL_Thread
type SDL_Thread (line 46) | typedef struct SDL_Thread SDL_Thread;
FILE: other/sdl/include/SDL_timer.h
type _SDL_TimerID (line 104) | struct _SDL_TimerID
FILE: other/sdl/include/SDL_version.h
type SDL_version (line 47) | typedef struct SDL_version {
FILE: other/sdl/include/SDL_video.h
type SDL_Rect (line 50) | typedef struct SDL_Rect {
type SDL_Color (line 55) | typedef struct SDL_Color {
type SDL_Palette (line 63) | typedef struct SDL_Palette {
type SDL_PixelFormat (line 70) | typedef struct SDL_PixelFormat {
type SDL_Surface (line 96) | typedef struct SDL_Surface {
type SDL_Surface (line 166) | struct SDL_Surface
type SDL_Surface (line 167) | struct SDL_Surface
type SDL_VideoInfo (line 171) | typedef struct SDL_VideoInfo {
type SDL_Overlay (line 208) | typedef struct SDL_Overlay {
type SDL_GLattr (line 230) | typedef enum {
type SDL_GrabMode (line 923) | typedef enum {
FILE: scripts/SDL_keysym.h
type SDLKey (line 32) | typedef enum {
type SDLMod (line 290) | typedef enum {
FILE: scripts/build.py
function unzip (line 63) | def unzip(filename, where):
function bail (line 94) | def bail(reason):
function clean (line 99) | def clean():
function file_exists (line 104) | def file_exists(file):
function search_object (line 111) | def search_object(directory, object):
FILE: scripts/check_header_guards.py
function check_file (line 7) | def check_file(filename):
function check_dir (line 26) | def check_dir(dir):
FILE: scripts/cmd5.py
function cstrip (line 5) | def cstrip(lines):
FILE: scripts/compiler.py
class node (line 13) | class node:
method __init__ (line 14) | def __init__(self):
method name (line 19) | def name(self):
method debug_print (line 24) | def debug_print(self, level):
method debug_root (line 34) | def debug_root(self):
method gather (line 39) | def gather(self, str):
method find_node (line 63) | def find_node(self, str):
method get_single (line 83) | def get_single(self, str):
method get_path (line 101) | def get_path(self):
method get_single_name (line 106) | def get_single_name(self, str):
class parser (line 109) | class parser:
method parse_node (line 112) | def parse_node(self, this_node):
method parse_file (line 134) | def parse_file(self, filename):
function parse_file (line 140) | def parse_file(filename):
class pointer (line 143) | class pointer:
method __init__ (line 144) | def __init__(self, index, target):
class data_constructor (line 148) | class data_constructor:
method __init__ (line 149) | def __init__(self):
method get_type (line 156) | def get_type(self, s):
method allocate (line 159) | def allocate(self, size):
method add_pointer (line 164) | def add_pointer(self, index, target):
method add_enum (line 167) | def add_enum(self, name, value):
method get_enum_value (line 170) | def get_enum_value(self, name):
method add_target (line 175) | def add_target(self, target, index):
method write (line 180) | def write(self, index, size, data):
method patch_pointers (line 188) | def patch_pointers(self):
class type (line 198) | class type:
method __init__ (line 199) | def __init__(self):
method size (line 202) | def size(self):
class structure (line 205) | class structure:
method __init__ (line 206) | def __init__(self):
method size (line 210) | def size(self):
method emit_header_code (line 216) | def emit_header_code(self, out):
method emit_source_code (line 225) | def emit_source_code(self, out):
method emit_data (line 234) | def emit_data(self, cons, index, src_data):
class variable (line 242) | class variable:
method __init__ (line 243) | def __init__(self):
method get_code (line 248) | def get_code(self):
method get_patch_code (line 251) | def get_patch_code(self, ptrname, basename):
method emit_data (line 254) | def emit_data(self, cons, index, src_data):
class variable_int (line 257) | class variable_int(variable):
method get_code (line 258) | def get_code(self):
method size (line 260) | def size(self):
method emit_data (line 262) | def emit_data(self, cons, index, src_data):
class variable_float (line 271) | class variable_float(variable):
method get_code (line 272) | def get_code(self):
method size (line 274) | def size(self):
method emit_data (line 276) | def emit_data(self, cons, index, src_data):
class variable_string (line 285) | class variable_string(variable):
method get_code (line 286) | def get_code(self):
method get_patch_code (line 288) | def get_patch_code(self, ptrname, basename):
method size (line 290) | def size(self):
method emit_data (line 292) | def emit_data(self, cons, index, src_data):
class variable_ptr (line 302) | class variable_ptr(variable):
method get_code (line 303) | def get_code(self):
method get_patch_code (line 305) | def get_patch_code(self, ptrname, basename):
method size (line 307) | def size(self):
method emit_data (line 309) | def emit_data(self, cons, index, src_data):
class variable_enum (line 313) | class variable_enum(variable):
method get_code (line 314) | def get_code(self):
method size (line 316) | def size(self):
method emit_data (line 318) | def emit_data(self, cons, index, src_data):
class variable_instance (line 323) | class variable_instance(variable):
method get_code (line 324) | def get_code(self):
method get_patch_code (line 326) | def get_patch_code(self, ptrname, basename):
method size (line 328) | def size(self):
method emit_data (line 330) | def emit_data(self, cons, index, src_data):
class variable_array (line 336) | class variable_array(variable):
method get_code (line 337) | def get_code(self):
method get_patch_code (line 340) | def get_patch_code(self, ptrname, baseptr):
method emit_data (line 346) | def emit_data(self, cons, index, src_data):
method size (line 365) | def size(self):
class const_arrayint (line 368) | class const_arrayint:
method __init__ (line 369) | def __init__(self):
method emit_header_code (line 373) | def emit_header_code(self, out):
class translator (line 383) | class translator:
method __init__ (line 384) | def __init__(self):
method parse_variable (line 397) | def parse_variable(self, node):
method parse_struct (line 439) | def parse_struct(self, node):
method parse_constant (line 449) | def parse_constant(self, node):
method parse (line 471) | def parse(self, script, srcdata):
method emit_header_code (line 483) | def emit_header_code(self, out):
method emit_source_code (line 495) | def emit_source_code(self, out, header_filename):
method emit_data (line 550) | def emit_data(self):
function create_translator (line 562) | def create_translator(script, srcdata):
function validate (line 567) | def validate(script, validator):
FILE: scripts/copyright.py
function fix_copyright_notice (line 8) | def fix_copyright_notice(filename):
FILE: scripts/font_converter.py
function convert (line 6) | def convert(input, output):
FILE: scripts/make_release.py
function unzip (line 52) | def unzip(filename, where):
function copydir (line 62) | def copydir(src, dst, excl=[]):
function copyfiles (line 73) | def copyfiles(src, dst):
function clean (line 78) | def clean():
FILE: scripts/mass_server.py
function get_nick (line 24) | def get_nick():
FILE: scripts/netobj.py
class variable (line 5) | class variable:
method __init__ (line 7) | def __init__(self, args, name):
method emit_declaration (line 11) | def emit_declaration(self):
method linedef (line 13) | def linedef(self):
method emit_secure (line 15) | def emit_secure(self, parent):
method emit_unpack (line 17) | def emit_unpack(self):
method emit_unpack_check (line 19) | def emit_unpack_check(self):
method emit_pack (line 21) | def emit_pack(self):
class var_any (line 24) | class var_any(variable):
method __init__ (line 25) | def __init__(self, args, name):
class var_range (line 28) | class var_range(variable):
method __init__ (line 29) | def __init__(self, args, name):
method emit_unpack_check (line 33) | def emit_unpack_check(self):
method emit_secure (line 35) | def emit_secure(self, parent):
class var_string (line 38) | class var_string(variable):
method __init__ (line 39) | def __init__(self, args, name):
method __init__ (line 43) | def __init__(self, args, name):
method emit_declaration (line 45) | def emit_declaration(self):
method emit_unpack (line 47) | def emit_unpack(self):
method emit_pack (line 49) | def emit_pack(self):
class var_string (line 42) | class var_string(variable):
method __init__ (line 39) | def __init__(self, args, name):
method __init__ (line 43) | def __init__(self, args, name):
method emit_declaration (line 45) | def emit_declaration(self):
method emit_unpack (line 47) | def emit_unpack(self):
method emit_pack (line 49) | def emit_pack(self):
class object (line 52) | class object:
method __init__ (line 53) | def __init__(self, line):
method parse (line 63) | def parse(self, lines):
method emit_declaration (line 94) | def emit_declaration(self):
method emit_secure (line 105) | def emit_secure(self):
class message (line 111) | class message:
method __init__ (line 112) | def __init__(self, line):
method parse (line 119) | def parse(self, lines):
method emit_declaration (line 150) | def emit_declaration(self):
method emit_unpack (line 165) | def emit_unpack(self):
method emit_pack (line 173) | def emit_pack(self):
class event (line 180) | class event(object):
method __init__ (line 181) | def __init__(self, line):
class raw_reader (line 186) | class raw_reader:
method __init__ (line 187) | def __init__(self):
method parse (line 189) | def parse(self, lines):
class proto (line 204) | class proto:
method __init__ (line 205) | def __init__(self):
function load (line 211) | def load(filename):
function emit_header_file (line 256) | def emit_header_file(f, p):
function emit_source_file (line 298) | def emit_source_file(f, p, protofilename):
FILE: scripts/png.py
class image (line 3) | class image:
function read_tga (line 8) | def read_tga(f):
function write_tga (line 23) | def write_tga(f, w, h, bpp, data):
function load_png (line 30) | def load_png(f):
FILE: scripts/refactor_count.py
function CheckIdentifier (line 48) | def CheckIdentifier(ident):
class Checker (line 51) | class Checker:
method CheckStart (line 52) | def CheckStart(self, checker, filename):
method CheckLine (line 54) | def CheckLine(self, checker, line):
method CheckEnd (line 56) | def CheckEnd(self, checker):
class FilenameExtentionChecker (line 59) | class FilenameExtentionChecker(Checker):
method __init__ (line 60) | def __init__(self):
method CheckStart (line 62) | def CheckStart(self, checker, filename):
class IncludeChecker (line 67) | class IncludeChecker(Checker):
method __init__ (line 68) | def __init__(self):
method CheckLine (line 70) | def CheckLine(self, checker, line):
class HeaderGuardChecker (line 84) | class HeaderGuardChecker(Checker):
method CheckStart (line 85) | def CheckStart(self, checker, filename):
method CheckLine (line 88) | def CheckLine(self, checker, line):
class CommentChecker (line 98) | class CommentChecker(Checker):
method CheckLine (line 99) | def CheckLine(self, checker, line):
class FileChecker (line 103) | class FileChecker:
method __init__ (line 104) | def __init__(self):
method Error (line 111) | def Error(self, errormessage):
method CheckLine (line 114) | def CheckLine(self, line):
method CheckFile (line 119) | def CheckFile(self, filename):
method GetErrors (line 135) | def GetErrors(self):
function cstrip (line 138) | def cstrip(lines):
function get_identifiers (line 166) | def get_identifiers(data):
FILE: scripts/tw_api.py
class Server_Info (line 26) | class Server_Info(threading.Thread):
method __init__ (line 28) | def __init__(self, address, type):
method run (line 34) | def run(self):
function get_server_info (line 45) | def get_server_info(address):
function get_server_info2 (line 80) | def get_server_info2(address):
function get_server_info3 (line 116) | def get_server_info3(address):
class Master_Server_Info (line 160) | class Master_Server_Info(threading.Thread):
method __init__ (line 162) | def __init__(self, address):
method run (line 167) | def run(self):
function get_list (line 172) | def get_list(address):
function get_list2 (line 197) | def get_list2(address):
FILE: scripts/twlib.py
function fetch_file (line 9) | def fetch_file(url):
FILE: scripts/update_localization.py
function parse_source (line 9) | def parse_source():
function load_languagefile (line 30) | def load_languagefile(filename):
function generate_languagefile (line 53) | def generate_languagefile(outputfilename, srctable, loctable):
FILE: src/base/math.h
function T (line 9) | T clamp(T val, T min, T max)
function sign (line 18) | inline float sign(float f)
function round (line 23) | inline int round(float f)
function T (line 31) | T mix(const T a, const T b, TB amount)
function frandom (line 36) | inline float frandom() { return rand()/(float)(RAND_MAX); }
function f2fx (line 39) | inline int f2fx(float v) { return (int)(v*(float)(1<<10)); }
function fx2f (line 40) | inline float fx2f(int v) { return v*(1.0f/(1<<10)); }
function gcd (line 42) | inline int gcd(int a, int b)
function class (line 53) | class fxp
function T (line 66) | T min(T a, T b) { return a<b?a:b; }
function T (line 67) | T max(T a, T b) { return a>b?a:b; }
function T (line 68) | T absolute(T a) { return a<T(0)?-a:a; }
FILE: src/base/system.c
function IOHANDLE (line 55) | IOHANDLE io_stdin() { return (IOHANDLE)stdin; }
function IOHANDLE (line 56) | IOHANDLE io_stdout() { return (IOHANDLE)stdout; }
function IOHANDLE (line 57) | IOHANDLE io_stderr() { return (IOHANDLE)stderr; }
function dbg_logger (line 67) | void dbg_logger(DBG_LOGGER logger)
function dbg_assert_imp (line 72) | void dbg_assert_imp(const char *filename, int line, int test, const char...
function dbg_break (line 81) | void dbg_break()
function dbg_msg (line 86) | void dbg_msg(const char *sys, const char *fmt, ...)
function logger_stdout (line 109) | static void logger_stdout(const char *line)
function logger_debugger (line 115) | static void logger_debugger(const char *line)
function logger_file (line 125) | static void logger_file(const char *line)
function dbg_logger_stdout (line 132) | void dbg_logger_stdout() { dbg_logger(logger_stdout); }
function dbg_logger_debugger (line 133) | void dbg_logger_debugger() { dbg_logger(logger_debugger); }
function dbg_logger_file (line 134) | void dbg_logger_file(const char *filename)
type MEMHEADER (line 145) | typedef struct MEMHEADER
type MEMTAIL (line 154) | typedef struct MEMTAIL
type MEMHEADER (line 159) | struct MEMHEADER
type MEMHEADER (line 167) | struct MEMHEADER
type MEMTAIL (line 171) | struct MEMTAIL
function mem_free (line 192) | void mem_free(void *p)
function mem_debug_dump (line 216) | void mem_debug_dump(IOHANDLE file)
function mem_copy (line 238) | void mem_copy(void *dest, const void *source, unsigned size)
function mem_move (line 243) | void mem_move(void *dest, const void *source, unsigned size)
function mem_zero (line 248) | void mem_zero(void *block,unsigned size)
function mem_check_imp (line 253) | int mem_check_imp()
function IOHANDLE (line 270) | IOHANDLE io_open(const char *filename, int flags)
function io_read (line 300) | unsigned io_read(IOHANDLE io, void *buffer, unsigned size)
function io_skip (line 305) | unsigned io_skip(IOHANDLE io, int size)
function io_seek (line 311) | int io_seek(IOHANDLE io, int offset, int origin)
function io_tell (line 333) | long int io_tell(IOHANDLE io)
function io_length (line 338) | long int io_length(IOHANDLE io)
function io_write (line 347) | unsigned io_write(IOHANDLE io, const void *buffer, unsigned size)
function io_write_newline (line 352) | unsigned io_write_newline(IOHANDLE io)
function io_close (line 361) | int io_close(IOHANDLE io)
function io_flush (line 367) | int io_flush(IOHANDLE io)
function thread_wait (line 386) | void thread_wait(void *thread)
function thread_destroy (line 397) | void thread_destroy(void *thread)
function thread_yield (line 407) | void thread_yield()
function thread_sleep (line 418) | void thread_sleep(int milliseconds)
function thread_detach (line 429) | void thread_detach(void *thread)
type pthread_mutex_t (line 444) | typedef pthread_mutex_t LOCKINTERNAL;
type CRITICAL_SECTION (line 446) | typedef CRITICAL_SECTION LOCKINTERNAL;
function LOCK (line 451) | LOCK lock_create()
function lock_destroy (line 465) | void lock_destroy(LOCK lock)
function lock_try (line 477) | int lock_try(LOCK lock)
function lock_wait (line 488) | void lock_wait(LOCK lock)
function lock_release (line 499) | void lock_release(LOCK lock)
function semaphore_init (line 512) | void semaphore_init(SEMAPHORE *sem) { sem_init(sem, 0, 0); }
function semaphore_wait (line 513) | void semaphore_wait(SEMAPHORE *sem) { sem_wait(sem); }
function semaphore_signal (line 514) | void semaphore_signal(SEMAPHORE *sem) { sem_post(sem); }
function semaphore_destroy (line 515) | void semaphore_destroy(SEMAPHORE *sem) { sem_destroy(sem); }
function semaphore_init (line 517) | void semaphore_init(SEMAPHORE *sem) { *sem = CreateSemaphore(0, 0, 10000...
function semaphore_wait (line 518) | void semaphore_wait(SEMAPHORE *sem) { WaitForSingleObject((HANDLE)*sem, ...
function semaphore_signal (line 519) | void semaphore_signal(SEMAPHORE *sem) { ReleaseSemaphore((HANDLE)*sem, 1...
function semaphore_destroy (line 520) | void semaphore_destroy(SEMAPHORE *sem) { CloseHandle((HANDLE)*sem); }
function int64 (line 528) | int64 time_get()
function int64 (line 547) | int64 time_freq()
function netaddr_to_sockaddr_in (line 561) | static void netaddr_to_sockaddr_in(const NETADDR *src, struct sockaddr_i...
function netaddr_to_sockaddr_in6 (line 575) | static void netaddr_to_sockaddr_in6(const NETADDR *src, struct sockaddr_...
function sockaddr_to_netaddr (line 589) | static void sockaddr_to_netaddr(const struct sockaddr *src, NETADDR *dst)
function net_addr_comp (line 612) | int net_addr_comp(const NETADDR *a, const NETADDR *b)
function net_addr_str (line 617) | void net_addr_str(const NETADDR *addr, char *string, int max_length, int...
function priv_net_extract (line 642) | static int priv_net_extract(const char *hostname, char *host, int max_ho...
function net_host_lookup (line 676) | int net_host_lookup(const char *hostname, NETADDR *addr, int types)
function parse_int (line 709) | static int parse_int(int *out, const char **str)
function parse_char (line 734) | static int parse_char(char c, const char **str)
function parse_uint8 (line 741) | static int parse_uint8(unsigned char *out, const char **str)
function parse_uint16 (line 750) | static int parse_uint16(unsigned short *out, const char **str)
function net_addr_from_str (line 759) | int net_addr_from_str(NETADDR *addr, const char *string)
function priv_net_close_socket (line 826) | static void priv_net_close_socket(int sock)
function priv_net_close_all_sockets (line 835) | static int priv_net_close_all_sockets(NETSOCKET sock)
function priv_net_create_socket (line 855) | static int priv_net_create_socket(int domain, int type, struct sockaddr ...
function NETSOCKET (line 905) | NETSOCKET net_udp_create(NETADDR bindaddr)
function net_udp_send (line 963) | int net_udp_send(NETSOCKET sock, const NETADDR *addr, const void *data, ...
function net_udp_recv (line 1031) | int net_udp_recv(NETSOCKET sock, NETADDR *addr, void *data, int maxsize)
function net_udp_close (line 1061) | int net_udp_close(NETSOCKET sock)
function NETSOCKET (line 1066) | NETSOCKET net_tcp_create(NETADDR bindaddr)
function net_set_non_blocking (line 1107) | int net_set_non_blocking(NETSOCKET sock)
function net_set_blocking (line 1131) | int net_set_blocking(NETSOCKET sock)
function net_tcp_listen (line 1155) | int net_tcp_listen(NETSOCKET sock, int backlog)
function net_tcp_accept (line 1165) | int net_tcp_accept(NETSOCKET sock, NETSOCKET *new_sock, NETADDR *a)
function net_tcp_connect (line 1207) | int net_tcp_connect(NETSOCKET sock, const NETADDR *a)
function net_tcp_connect_non_blocking (line 1226) | int net_tcp_connect_non_blocking(NETSOCKET sock, NETADDR bindaddr)
function net_tcp_send (line 1237) | int net_tcp_send(NETSOCKET sock, const void *data, int size)
function net_tcp_recv (line 1249) | int net_tcp_recv(NETSOCKET sock, void *data, int maxsize)
function net_tcp_close (line 1261) | int net_tcp_close(NETSOCKET sock)
function net_errno (line 1266) | int net_errno()
function net_would_block (line 1275) | int net_would_block()
function net_init (line 1284) | int net_init()
function fs_listdir (line 1296) | int fs_listdir(const char *dir, FS_LISTDIR_CALLBACK cb, int type, void *...
function fs_storage_path (line 1349) | int fs_storage_path(const char *appname, char *path, int max)
function fs_makedir (line 1377) | int fs_makedir(const char *path)
function fs_is_dir (line 1394) | int fs_is_dir(const char *path)
function fs_chdir (line 1420) | int fs_chdir(const char *path)
function fs_parent_dir (line 1444) | int fs_parent_dir(char *path)
function fs_remove (line 1461) | int fs_remove(const char *filename)
function fs_rename (line 1468) | int fs_rename(const char *oldname, const char *newname)
function swap_endian (line 1475) | void swap_endian(void *data, unsigned elem_size, unsigned num)
function net_socket_read_wait (line 1501) | int net_socket_read_wait(NETSOCKET sock, int time)
function time_timestamp (line 1536) | int time_timestamp()
function str_append (line 1541) | void str_append(char *dst, const char *src, int dst_size)
function str_copy (line 1557) | void str_copy(char *dst, const char *src, int dst_size)
function str_length (line 1563) | int str_length(const char *str)
function str_format (line 1568) | void str_format(char *buffer, int buffer_size, const char *format, ...)
function str_sanitize_strong (line 1588) | void str_sanitize_strong(char *str_in)
function str_sanitize_cc (line 1601) | void str_sanitize_cc(char *str_in)
function str_sanitize (line 1613) | void str_sanitize(char *str_in)
function str_comp_nocase (line 1639) | int str_comp_nocase(const char *a, const char *b)
function str_comp_nocase_num (line 1648) | int str_comp_nocase_num(const char *a, const char *b, const int num)
function str_comp (line 1657) | int str_comp(const char *a, const char *b)
function str_comp_num (line 1662) | int str_comp_num(const char *a, const char *b, const int num)
function str_comp_filenames (line 1667) | int str_comp_filenames(const char *a, const char *b)
function str_hex (line 1737) | void str_hex(char *dst, int dst_size, const void *data, int data_size)
function str_timestamp (line 1751) | void str_timestamp(char *buffer, int buffer_size)
function mem_comp (line 1762) | int mem_comp(const void *a, const void *b, int size)
function MEMSTATS (line 1767) | const MEMSTATS *mem_stats()
function net_stats (line 1772) | void net_stats(NETSTATS *stats_inout)
function gui_messagebox (line 1777) | void gui_messagebox(const char *title, const char *message)
function str_isspace (line 1819) | int str_isspace(char c) { return c == ' ' || c == '\n' || c == '\t'; }
function str_uppercase (line 1821) | char str_uppercase(char c)
function str_toint (line 1828) | int str_toint(const char *str) { return atoi(str); }
function str_tofloat (line 1829) | float str_tofloat(const char *str) { return atof(str); }
function str_utf8_isstart (line 1833) | static int str_utf8_isstart(char c)
function str_utf8_rewind (line 1840) | int str_utf8_rewind(const char *str, int cursor)
function str_utf8_forward (line 1851) | int str_utf8_forward(const char *str, int cursor)
function str_utf8_encode (line 1882) | int str_utf8_encode(char *ptr, int chr)
function str_utf8_decode (line 1915) | int str_utf8_decode(const char **ptr)
function str_utf8_check (line 1965) | int str_utf8_check(const char *str)
function str_quickhash (line 1984) | unsigned str_quickhash(const char *str)
FILE: src/base/system.h
type IOINTERNAL (line 191) | struct IOINTERNAL
type sem_t (line 416) | typedef sem_t SEMAPHORE;
type int64 (line 434) | __extension__ typedef long long int64;
type int64 (line 436) | typedef long long int64;
type NETSOCKET (line 469) | typedef struct
type NETADDR (line 487) | typedef struct
type MEMSTATS (line 1180) | typedef struct
type NETSTATS (line 1189) | typedef struct
FILE: src/base/tl/allocator.h
function free (line 11) | static void free(T *p) { delete p; }
function T (line 13) | static T *alloc_array(int size) { return new T [size]; }
function free_array (line 14) | static void free_array(T *p) { delete [] p; }
FILE: src/base/tl/array.h
function init (line 22) | void init()
function delete_all (line 67) | void delete_all()
function clear (line 81) | void clear()
function remove_index_fast (line 103) | void remove_index_fast(int index)
function remove_fast (line 115) | void remove_fast(const T& item)
function remove_index (line 131) | void remove_index(int index)
function remove (line 145) | bool remove(const T& item)
function add (line 167) | int add(const T& item)
function insert (line 187) | int insert(const T& item, range r)
function T (line 223) | T *base_ptr()
function T (line 231) | const T *base_ptr() const
function set_size (line 243) | void set_size(int new_size)
function hint_size (line 262) | void hint_size(int hint)
function optimize (line 276) | int optimize()
function memusage (line 287) | int memusage()
function range (line 310) | range all() { return range(list, list+num_elements); }
function alloc (line 324) | void alloc(int new_len)
FILE: src/base/tl/base.h
function tl_assert (line 8) | inline void tl_assert(bool statement)
FILE: src/base/tl/range.h
type concept_empty (line 21) | struct concept_empty
type concept_index (line 35) | struct concept_index
type concept_size (line 49) | struct concept_size
type concept_slice (line 63) | struct concept_slice
type concept_sorted (line 77) | struct concept_sorted
type concept_forwarditeration (line 93) | struct concept_forwarditeration
type concept_backwarditeration (line 109) | struct concept_backwarditeration
function pop_front (line 153) | void pop_front() { tl_assert(!empty()); begin++; }
function pop_back (line 154) | void pop_back() { tl_assert(!empty()); end--; }
function plain_range (line 159) | plain_range slice(unsigned startindex, unsigned endindex)
function plain_range_sorted (line 196) | plain_range_sorted slice(unsigned start, unsigned count)
function pop_front (line 219) | void pop_front() { range.pop_back(); }
function pop_back (line 220) | void pop_back() { range.pop_front(); }
FILE: src/base/tl/sorted_array.h
function insert (line 15) | int insert(const T& item, typename parent::range r) { dbg_break(); retur...
function set_size (line 16) | int set_size(int new_size) { dbg_break(); return 0; }
function add (line 21) | int add(const T& item)
function add_unsorted (line 26) | int add_unsorted(const T& item)
function sort_range (line 31) | void sort_range()
function range (line 41) | range all() { return range(parent::list, parent::list+parent::num_elemen...
FILE: src/base/tl/string.h
function reset (line 15) | void reset()
function free (line 20) | void free()
function copy (line 26) | void copy(const char *other_str, int other_length)
function copy (line 33) | void copy(const string_base &other)
function operator (line 61) | bool operator < (const char *other_str) const { return str_comp(str, oth...
function operator (line 62) | operator const char *() const { return str; }
type string_base (line 68) | typedef string_base<allocator_default<char> > string;
FILE: src/base/tl/threading.h
function atomic_inc (line 15) | inline unsigned atomic_inc(volatile unsigned *pValue)
function atomic_dec (line 20) | inline unsigned atomic_dec(volatile unsigned *pValue)
function atomic_compswap (line 25) | inline unsigned atomic_compswap(volatile unsigned *pValue, unsigned comp...
function sync_barrier (line 30) | inline void sync_barrier()
function atomic_inc (line 41) | inline unsigned atomic_inc(volatile unsigned *pValue)
function atomic_dec (line 46) | inline unsigned atomic_dec(volatile unsigned *pValue)
function atomic_compswap (line 51) | inline unsigned atomic_compswap(volatile unsigned *pValue, unsigned comp...
function sync_barrier (line 56) | inline void sync_barrier()
function class (line 69) | class semaphore
function class (line 80) | class lock
function class (line 101) | class scope_lock
FILE: src/base/vmath.h
type vector2_base (line 83) | typedef vector2_base<bool> bvec2;
type vector2_base (line 84) | typedef vector2_base<int> ivec2;
type vector3_base (line 175) | typedef vector3_base<bool> bvec3;
type vector3_base (line 176) | typedef vector3_base<int> ivec3;
type vector4_base (line 221) | typedef vector4_base<bool> bvec4;
type vector4_base (line 222) | typedef vector4_base<int> ivec4;
FILE: src/engine/client.h
function class (line 10) | class IClient : public IInterface
function class (line 149) | class IGameClient : public IInterface
FILE: src/engine/client/backend_sdl.cpp
function IGraphicsBackend (line 640) | IGraphicsBackend *CreateGraphicsBackend() { return new CGraphicsBackend_...
FILE: src/engine/client/backend_sdl.h
type SGLContext (line 9) | struct SGLContext
function SGLContext (line 15) | static SGLContext GL_GetCurrentContext()
function GL_MakeCurrent (line 23) | static void GL_MakeCurrent(const SGLContext &Context) { wglMakeCurrent(C...
function GL_ReleaseContext (line 24) | static void GL_ReleaseContext(const SGLContext &Context) { wglMakeCurren...
function GL_SwapBuffers (line 25) | static void GL_SwapBuffers(const SGLContext &Context) { SwapBuffers(Cont...
function class (line 30) | class semaphore
type SGLContext (line 40) | struct SGLContext
function SGLContext (line 45) | static SGLContext GL_GetCurrentContext()
function GL_MakeCurrent (line 54) | static void GL_MakeCurrent(const SGLContext &Context)
function GL_ReleaseContext (line 60) | static void GL_ReleaseContext(const SGLContext &Context)
function GL_SwapBuffers (line 67) | static void GL_SwapBuffers(const SGLContext &Context)
function class (line 73) | class CAutoreleasePool
type SGLContext (line 98) | struct SGLContext
function SGLContext (line 105) | static SGLContext GL_GetCurrentContext()
function GL_MakeCurrent (line 114) | static void GL_MakeCurrent(const SGLContext &Context) { glXMakeCurrent(C...
function GL_ReleaseContext (line 115) | static void GL_ReleaseContext(const SGLContext &Context) { glXMakeCurren...
function GL_SwapBuffers (line 116) | static void GL_SwapBuffers(const SGLContext &Context) { glXSwapBuffers(C...
function class (line 123) | class CGraphicsBackend_Threaded : public IGraphicsBackend
FILE: src/engine/client/client.cpp
function int64 (line 167) | int64 CSmoothTime::Get(int64 Now)
function int64 (line 1979) | int64 CClient::TickStartTime(int Tick)
function CClient (line 2218) | static CClient *CreateClient()
function main (line 2242) | int main(int argc, const char **argv) // ignore_convention
FILE: src/engine/client/client.h
function class (line 6) | class CGraph
function class (line 30) | class CSmoothTime
type CVersionInfo (line 169) | struct CVersionInfo
function GraphicsThreadProxy (line 183) | static void GraphicsThreadProxy(void *pThis) { ((CClient*)pThis)->Graphi...
function IEngineGraphics (line 190) | IEngineGraphics *Graphics() { return m_pGraphics; }
function IEngineInput (line 191) | IEngineInput *Input() { return m_pInput; }
function IEngineSound (line 192) | IEngineSound *Sound() { return m_pSound; }
function IGameClient (line 193) | IGameClient *GameClient() { return m_pGameClient; }
function IEngineMasterServer (line 194) | IEngineMasterServer *MasterServer() { return m_pMasterServer; }
function IStorage (line 195) | IStorage *Storage() { return m_pStorage; }
function virtual (line 206) | virtual bool RconAuthed() { return m_RconAuthed != 0; }
function virtual (line 207) | virtual bool UseTempRconCommands() { return m_UseTempRconCommands != 0; }
function virtual (line 213) | virtual bool SoundInitFailed() { return m_SoundInitFailed; }
function virtual (line 215) | virtual IGraphics::CTextureHandle GetDebugFont() { return m_DebugFont; }
function virtual (line 267) | virtual int MapDownloadAmount() { return m_MapdownloadAmount; }
function virtual (line 268) | virtual int MapDownloadTotalsize() { return m_MapdownloadTotalsize; }
function RecordGameMessage (line 306) | void RecordGameMessage(bool State) { m_RecordGameMessage = State; }
FILE: src/engine/client/friends.cpp
function CFriendInfo (line 44) | const CFriendInfo *CFriends::GetFriend(int Index) const
FILE: src/engine/client/friends.h
function class (line 8) | class CFriends : public IFriends
FILE: src/engine/client/graphics_threaded.cpp
function ImageFormatToTexFormat (line 275) | static int ImageFormatToTexFormat(int Format)
function ImageFormatToPixelSize (line 283) | static int ImageFormatToPixelSize(int Format)
function IEngineGraphics (line 882) | extern IEngineGraphics *CreateEngineGraphicsThreaded() { return new CGra...
FILE: src/engine/client/graphics_threaded.h
function class (line 5) | class CCommandBuffer
type SPoint (line 123) | struct SPoint { float x, y, z; }
type STexCoord (line 124) | struct STexCoord { float u, v; }
type SColor (line 125) | struct SColor { float r, g, b, a; }
type SVertex (line 127) | struct SVertex
type SCommand (line 134) | struct SCommand
type SState (line 142) | struct SState
function SCommand (line 158) | struct SCommand_Clear : public SCommand
function SCommand (line 164) | struct SCommand_Signal : public SCommand
function SCommand (line 170) | struct SCommand_RunBuffer : public SCommand
function SCommand (line 176) | struct SCommand_Render : public SCommand
function SCommand (line 185) | struct SCommand_Screenshot : public SCommand
function SCommand (line 191) | struct SCommand_VideoModes : public SCommand
function SCommand (line 200) | struct SCommand_Swap : public SCommand
function SCommand (line 207) | struct SCommand_Texture_Create : public SCommand
function SCommand (line 223) | struct SCommand_Texture_Update : public SCommand
function SCommand (line 239) | struct SCommand_Texture_Destroy : public SCommand
function SCommand (line 273) | SCommand *GetCommand(unsigned *pIndex)
function Reset (line 283) | void Reset()
function class (line 292) | class IGraphicsBackend
FILE: src/engine/client/input.cpp
function IEngineInput (line 212) | IEngineInput *CreateEngineInput() { return new CInput; }
FILE: src/engine/client/input.h
function class (line 6) | class CInput : public IEngineInput
FILE: src/engine/client/serverbrowser.cpp
class SortWrap (line 23) | class SortWrap
method SortWrap (line 29) | SortWrap(CServerBrowser::CServerFilter *t, SortFunc f) : m_pfnSort(f),...
class CNetClient (line 108) | class CNetClient
function CServerInfo (line 124) | const CServerInfo *CServerBrowser::SortedGet(int FilterIndex, int Index)...
function AddrHash (line 376) | inline int AddrHash(const NETADDR *pAddr)
FILE: src/engine/client/serverbrowser.h
function class (line 9) | class CServerBrowser : public IServerBrowser
FILE: src/engine/client/sound.cpp
type CSample (line 27) | struct CSample
type CChannel (line 38) | struct CChannel
type CVoice (line 44) | struct CVoice
function Int2Short (line 71) | static short Int2Short(int i)
function IntAbs (line 80) | static int IntAbs(int i)
function Mix (line 87) | static void Mix(short *pFinalOut, unsigned Frames)
function SdlCallback (line 195) | static void SdlCallback(void *pUnused, Uint8 *pStream, int Len)
function IEngineSound (line 543) | IEngineSound *CreateEngineSound() { return new CSound; }
FILE: src/engine/client/sound.h
function class (line 8) | class CSound : public IEngineSound
FILE: src/engine/client/text.cpp
type CFontChar (line 26) | struct CFontChar
type CFontSizeData (line 42) | struct CFontSizeData
class CFont (line 62) | class CFont
class CTextRender (line 71) | class CTextRender : public IEngineTextRender
method IGraphics (line 74) | IGraphics *Graphics() { return m_pGraphics; }
method WordLength (line 76) | int WordLength(const char *pText)
method GetFontSizeIndex (line 106) | int GetFontSizeIndex(int Pixelsize)
method Grow (line 119) | void Grow(unsigned char *pIn, unsigned char *pOut, int w, int h)
method InitTexture (line 143) | void InitTexture(CFontSizeData *pSizeData, int CharWidth, int CharHeig...
method AdjustOutlineThicknessToFontSize (line 175) | int AdjustOutlineThicknessToFontSize(int OutlineThickness, int FontSize)
method IncreaseTextureSize (line 184) | void IncreaseTextureSize(CFontSizeData *pSizeData)
method InitIndex (line 195) | void InitIndex(CFont *pFont, int Index)
method CFontSizeData (line 232) | CFontSizeData *GetSize(CFont *pFont, int Pixelsize)
method UploadGlyph (line 241) | void UploadGlyph(CFontSizeData *pSizeData, int Texnum, int SlotID, int...
method GetSlot (line 262) | int GetSlot(CFontSizeData *pSizeData)
method RenderGlyph (line 293) | int RenderGlyph(CFont *pFont, CFontSizeData *pSizeData, int Chr)
method CFontChar (line 390) | CFontChar *GetChar(CFont *pFont, CFontSizeData *pSizeData, int Chr)
method RenderSetup (line 423) | void RenderSetup(CFont *pFont, int size)
method Kerning (line 428) | float Kerning(CFont *pFont, int Left, int Right)
method CTextRender (line 437) | CTextRender()
method Init (line 456) | virtual void Init()
method CFont (line 463) | virtual CFont *LoadFont(const char *pFilename)
method DestroyFont (line 483) | virtual void DestroyFont(CFont *pFont)
method SetDefaultFont (line 488) | virtual void SetDefaultFont(CFont *pFont)
method SetCursor (line 495) | virtual void SetCursor(CTextCursor *pCursor, float x, float y, float F...
method Text (line 510) | virtual void Text(void *pFontSetV, float x, float y, float Size, const...
method TextWidth (line 518) | virtual float TextWidth(void *pFontSetV, float Size, const char *pText...
method TextLineCount (line 526) | virtual int TextLineCount(void *pFontSetV, float Size, const char *pTe...
method TextColor (line 535) | virtual void TextColor(float r, float g, float b, float a)
method TextOutlineColor (line 543) | virtual void TextOutlineColor(float r, float g, float b, float a)
method TextEx (line 551) | virtual void TextEx(CTextCursor *pCursor, const char *pText, int Length)
function IEngineTextRender (line 737) | IEngineTextRender *CreateEngineTextRender() { return new CTextRender; }
FILE: src/engine/config.h
function class (line 8) | class IConfig : public IInterface
FILE: src/engine/console.h
function class (line 8) | class IConsole : public IInterface
FILE: src/engine/demo.h
type CDemoHeader (line 13) | struct CDemoHeader
function class (line 28) | class IDemoPlayer : public IInterface
function class (line 64) | class IDemoRecorder : public IInterface
FILE: src/engine/editor.h
function class (line 7) | class IEditor : public IInterface
FILE: src/engine/engine.h
function class (line 9) | class CHostLookup
function class (line 18) | class IEngine : public IInterface
FILE: src/engine/external/json-parser/json.c
type _json_value (line 40) | struct _json_value
type _json_value (line 42) | struct _json_value
type json_uchar (line 51) | typedef unsigned short json_uchar;
function hex_value (line 53) | static unsigned char hex_value (json_char c)
type json_state (line 67) | typedef struct
function new_value (line 98) | static int new_value
function json_value (line 193) | json_value * json_parse_ex (json_settings * settings, const json_char * ...
function json_value (line 784) | json_value * json_parse (const json_char * json)
function json_value_free (line 792) | void json_value_free (json_value * value)
FILE: src/engine/external/json-parser/json.h
type json_settings (line 47) | typedef struct
type json_type (line 56) | typedef enum
type _json_value (line 69) | struct _json_value
type return (line 71) | typedef struct _json_value
function const (line 141) | inline const struct _json_value &operator [] (const char * index) const
FILE: src/engine/external/pnglite/pnglite.c
function file_read (line 23) | static size_t file_read(png_t* png, void* out, size_t size, size_t numel)
function file_write (line 45) | static size_t file_write(png_t* png, void* p, size_t size, size_t numel)
function file_read_ul (line 61) | static int file_read_ul(png_t* png, unsigned *out)
function file_write_ul (line 73) | static int file_write_ul(png_t* png, unsigned in)
function get_ul (line 89) | static unsigned get_ul(unsigned char* buf)
function set_ul (line 101) | static unsigned set_ul(unsigned char* buf, unsigned in)
function png_init (line 111) | int png_init(png_alloc_t pngalloc, png_free_t pngfree)
function png_get_bpp (line 126) | static int png_get_bpp(png_t* png)
function png_read_ihdr (line 151) | static int png_read_ihdr(png_t* png)
function png_write_ihdr (line 207) | static int png_write_ihdr(png_t* png)
function png_print_info (line 239) | void png_print_info(png_t* png)
function png_open_read (line 262) | int png_open_read(png_t* png, png_read_callback_t read_fun, void* user_p...
function png_open_write (line 289) | int png_open_write(png_t* png, png_write_callback_t write_fun, void* use...
function png_open (line 301) | int png_open(png_t* png, png_read_callback_t read_fun, void* user_pointer)
function png_open_file_read (line 306) | int png_open_file_read(png_t *png, const char* filename)
function png_open_file_write (line 316) | int png_open_file_write(png_t *png, const char* filename)
function png_open_file (line 326) | int png_open_file(png_t *png, const char* filename)
function png_close_file (line 331) | int png_close_file(png_t* png)
function png_init_deflate (line 338) | static int png_init_deflate(png_t* png, unsigned char* data, int datalen)
function png_init_inflate (line 359) | static int png_init_inflate(png_t* png)
function png_end_deflate (line 392) | static int png_end_deflate(png_t* png)
function png_end_inflate (line 407) | static int png_end_inflate(png_t* png)
function png_inflate (line 434) | static int png_inflate(png_t* png, char* data, int len)
function png_deflate (line 467) | static int png_deflate(png_t* png, char* outdata, int outlen, int *outwr...
function png_write_idats (line 493) | static int png_write_idats(png_t* png, unsigned char* data)
function png_read_idat (line 525) | static int png_read_idat(png_t* png, unsigned firstlen)
function png_process_chunk (line 611) | static int png_process_chunk(png_t* png)
function png_filter_sub (line 649) | static void png_filter_sub(int stride, unsigned char* in, unsigned char*...
function png_filter_up (line 663) | static void png_filter_up(int stride, unsigned char* in, unsigned char* ...
function png_filter_average (line 676) | static void png_filter_average(int stride, unsigned char* in, unsigned c...
function png_paeth (line 698) | static unsigned char png_paeth(unsigned char a, unsigned char b, unsigne...
function png_filter_paeth (line 717) | static void png_filter_paeth(int stride, unsigned char* in, unsigned cha...
function png_filter (line 751) | static int png_filter(png_t* png, unsigned char* data)
function png_unfilter (line 758) | static int png_unfilter(png_t* png, unsigned char* data)
function png_get_data (line 818) | int png_get_data(png_t* png, unsigned char* data)
function png_set_data (line 847) | int png_set_data(png_t* png, unsigned width, unsigned height, char depth...
FILE: src/engine/external/pnglite/pnglite.h
type png_t (line 83) | typedef struct
FILE: src/engine/external/wavpack/bits.c
function bs_open_read (line 28) | void bs_open_read (Bitstream *bs, uchar *buffer_start, uchar *buffer_end...
function bs_read (line 50) | static void bs_read (Bitstream *bs)
function little_endian_to_native (line 80) | void little_endian_to_native (void *data, char *format)
function native_to_little_endian (line 110) | void native_to_little_endian (void *data, char *format)
FILE: src/engine/external/wavpack/float.c
function read_float_info (line 13) | int read_float_info (WavpackStream *wps, WavpackMetadata *wpmd)
function float_values (line 28) | void float_values (WavpackStream *wps, int32_t *values, int32_t num_values)
FILE: src/engine/external/wavpack/metadata.c
function read_metadata_buff (line 15) | int read_metadata_buff (WavpackContext *wpc, WavpackMetadata *wpmd)
function process_metadata (line 59) | int process_metadata (WavpackContext *wpc, WavpackMetadata *wpmd)
FILE: src/engine/external/wavpack/unpack.c
function unpack_init (line 31) | int unpack_init (WavpackContext *wpc)
function init_wv_bitstream (line 75) | int init_wv_bitstream (WavpackContext *wpc, WavpackMetadata *wpmd)
function read_decorr_terms (line 95) | int read_decorr_terms (WavpackStream *wps, WavpackMetadata *wpmd)
function read_decorr_weights (line 123) | int read_decorr_weights (WavpackStream *wps, WavpackMetadata *wpmd)
function read_decorr_samples (line 156) | int read_decorr_samples (WavpackStream *wps, WavpackMetadata *wpmd)
function read_int32_info (line 215) | int read_int32_info (WavpackStream *wps, WavpackMetadata *wpmd)
function read_channel_info (line 234) | int read_channel_info (WavpackContext *wpc, WavpackMetadata *wpmd)
function read_config_info (line 256) | int read_config_info (WavpackContext *wpc, WavpackMetadata *wpmd)
type decorr_pass (line 288) | struct decorr_pass
type decorr_pass (line 290) | struct decorr_pass
type decorr_pass (line 291) | struct decorr_pass
type decorr_pass (line 293) | struct decorr_pass
type decorr_pass (line 296) | struct decorr_pass
type decorr_pass (line 297) | struct decorr_pass
function unpack_samples (line 300) | int32_t unpack_samples (WavpackContext *wpc, int32_t *buffer, uint32_t s...
function decorr_stereo_pass (line 411) | static void decorr_stereo_pass (struct decorr_pass *dpp, int32_t *buffer...
function decorr_stereo_pass_cont (line 528) | static void decorr_stereo_pass_cont (struct decorr_pass *dpp, int32_t *b...
function decorr_mono_pass (line 627) | static void decorr_mono_pass (struct decorr_pass *dpp, int32_t *buffer, ...
function fixup_samples (line 691) | static void fixup_samples (WavpackStream *wps, int32_t *buffer, uint32_t...
function check_crc_error (line 776) | int check_crc_error (WavpackContext *wpc)
FILE: src/engine/external/wavpack/wavpack.h
type __int64 (line 22) | typedef __int64 int64_t;
type __int32 (line 23) | typedef __int32 int32_t;
type uchar (line 28) | typedef unsigned char uchar;
type ushort (line 31) | typedef unsigned short ushort;
type uint (line 32) | typedef unsigned int uint;
type WavpackHeader (line 46) | typedef struct {
type WavpackMetadata (line 98) | typedef struct {
type WavpackConfig (line 136) | typedef struct {
type Bitstream (line 177) | typedef struct bs {
type decorr_pass (line 188) | struct decorr_pass {
type entropy_data (line 193) | struct entropy_data {
type words_data (line 197) | struct words_data {
type WavpackStream (line 204) | typedef struct {
type WavpackContext (line 235) | typedef struct {
type words_data (line 350) | struct words_data
FILE: src/engine/external/wavpack/words.c
function init_words (line 140) | void init_words (WavpackStream *wps)
function read_entropy_vars (line 151) | int read_entropy_vars (WavpackStream *wps, WavpackMetadata *wpmd)
function read_hybrid_profile (line 176) | int read_hybrid_profile (WavpackStream *wps, WavpackMetadata *wpmd)
function update_error_limit (line 223) | void update_error_limit (struct words_data *w, uint32_t flags)
function get_words (line 290) | int32_t get_words (int32_t *buffer, int nsamples, uint32_t flags,
function read_code (line 463) | static uint32_t read_code (Bitstream *bs, uint32_t maxcode)
function mylog2 (line 499) | static int mylog2 (uint32_t avalue)
function log2s (line 523) | int log2s (int32_t value)
function exp2s (line 533) | int32_t exp2s (int log)
function restore_weight (line 552) | int restore_weight (signed char weight)
FILE: src/engine/external/wavpack/wputils.c
function WavpackContext (line 48) | WavpackContext *WavpackOpenFileInput (read_stream infile, char *error)
function WavpackGetMode (line 122) | int WavpackGetMode (WavpackContext *wpc)
function WavpackUnpackSamples (line 158) | uint32_t WavpackUnpackSamples (WavpackContext *wpc, int32_t *buffer, uin...
function WavpackGetNumSamples (line 231) | uint32_t WavpackGetNumSamples (WavpackContext *wpc)
function WavpackGetSampleIndex (line 238) | uint32_t WavpackGetSampleIndex (WavpackContext *wpc)
function WavpackGetNumErrors (line 248) | int WavpackGetNumErrors (WavpackContext *wpc)
function WavpackLossyBlocks (line 255) | int WavpackLossyBlocks (WavpackContext *wpc)
function WavpackGetSampleRate (line 262) | uint32_t WavpackGetSampleRate (WavpackContext *wpc)
function WavpackGetNumChannels (line 271) | int WavpackGetNumChannels (WavpackContext *wpc)
function WavpackGetBitsPerSample (line 284) | int WavpackGetBitsPerSample (WavpackContext *wpc)
function WavpackGetBytesPerSample (line 294) | int WavpackGetBytesPerSample (WavpackContext *wpc)
function WavpackGetReducedChannels (line 304) | int WavpackGetReducedChannels (WavpackContext *wpc)
function read_next_header (line 318) | static uint32_t read_next_header (read_stream infile, WavpackHeader *wphdr)
FILE: src/engine/external/zlib/adler32.c
function uLong (line 60) | uLong ZEXPORT adler32(adler, buf, len)
function local (line 131) | local uLong adler32_combine_(adler1, adler2, len2)
function uLong (line 155) | uLong ZEXPORT adler32_combine(adler1, adler2, len2)
function uLong (line 163) | uLong ZEXPORT adler32_combine64(adler1, adler2, len2)
FILE: src/engine/external/zlib/compress.c
function compress2 (line 22) | int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
function compress (line 62) | int ZEXPORT compress (dest, destLen, source, sourceLen)
function uLong (line 75) | uLong ZEXPORT compressBound (sourceLen)
FILE: src/engine/external/zlib/crc32.c
type u4 (line 39) | typedef unsigned int u4;
type u4 (line 42) | typedef unsigned long u4;
type u4 (line 45) | typedef unsigned short u4;
function local (line 108) | local void make_crc_table()
function local (line 185) | local void write_table(out, table)
function crc32 (line 221) | unsigned long ZEXPORT crc32(crc, buf, len)
function crc32_little (line 264) | local unsigned long crc32_little(crc, buf, len)
function crc32_big (line 304) | local unsigned long crc32_big(crc, buf, len)
function gf2_matrix_times (line 344) | local unsigned long gf2_matrix_times(mat, vec)
function local (line 361) | local void gf2_matrix_square(square, mat)
function local (line 372) | local uLong crc32_combine_(crc1, crc2, len2)
function uLong (line 428) | uLong ZEXPORT crc32_combine(crc1, crc2, len2)
function uLong (line 436) | uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
FILE: src/engine/external/zlib/deflate.c
type block_state (line 66) | typedef enum {
type block_state (line 73) | typedef block_state (*compress_func)
type config (line 117) | typedef struct config_s {
type static_tree_desc_s (line 155) | struct static_tree_desc_s {int dummy;}
function deflateInit_ (line 198) | int ZEXPORT deflateInit_(strm, level, version, stream_size)
function deflateInit2_ (line 210) | int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, str...
function deflateSetDictionary (line 311) | int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
function deflateReset (line 353) | int ZEXPORT deflateReset (strm)
function deflateSetHeader (line 389) | int ZEXPORT deflateSetHeader (strm, head)
function deflatePrime (line 400) | int ZEXPORT deflatePrime (strm, bits, value)
function deflateParams (line 412) | int ZEXPORT deflateParams(strm, level, strategy)
function deflateTune (line 451) | int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_ch...
function uLong (line 486) | uLong ZEXPORT deflateBound(strm, sourceLen)
function local (line 548) | local void putShortMSB (s, b)
function local (line 562) | local void flush_pending(strm)
function deflate (line 582) | int ZEXPORT deflate (strm, flush)
function deflateEnd (line 895) | int ZEXPORT deflateEnd (strm)
function deflateCopy (line 930) | int ZEXPORT deflateCopy (dest, source)
function local (line 992) | local int read_buf(strm, buf, size)
function local (line 1022) | local void lm_init (s)
function local (line 1063) | local uInt longest_match(s, cur_match)
function local (line 1212) | local uInt longest_match(s, cur_match)
function local (line 1271) | local void check_match(s, start, match, length)
function local (line 1305) | local void fill_window(s)
function local (line 1462) | local block_state deflate_stored(s, flush)
function local (line 1520) | local block_state deflate_fast(s, flush)
function local (line 1616) | local block_state deflate_slow(s, flush)
function local (line 1741) | local block_state deflate_rle(s, flush)
function local (line 1807) | local block_state deflate_huff(s, flush)
FILE: src/engine/external/zlib/deflate.h
type ct_data (line 62) | typedef struct ct_data_s {
type static_tree_desc (line 78) | typedef struct static_tree_desc_s static_tree_desc;
type tree_desc (line 80) | typedef struct tree_desc_s {
type ush (line 86) | typedef ush Pos;
type Pos (line 87) | typedef Pos FAR Posf;
type IPos (line 88) | typedef unsigned IPos;
type deflate_state (line 94) | typedef struct internal_state {
FILE: src/engine/external/zlib/infback.c
type inflate_state (line 19) | struct inflate_state
function inflateBackInit_ (line 28) | int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_s...
function local (line 73) | local void fixedtables(state)
function inflateBack (line 241) | int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc)
function inflateBackEnd (line 623) | int ZEXPORT inflateBackEnd(strm)
FILE: src/engine/external/zlib/inffast.c
function inflate_fast (line 67) | void ZLIB_INTERNAL inflate_fast(strm, start)
FILE: src/engine/external/zlib/inflate.c
type inflate_state (line 95) | struct inflate_state
function inflateReset (line 103) | int ZEXPORT inflateReset(strm)
function inflateReset2 (line 130) | int ZEXPORT inflateReset2(strm, windowBits)
function inflateInit2_ (line 168) | int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size)
function inflateInit_ (line 201) | int ZEXPORT inflateInit_(strm, version, stream_size)
function inflatePrime (line 209) | int ZEXPORT inflatePrime(strm, bits, value)
function local (line 240) | local void fixedtables(state)
function makefixed (line 304) | void makefixed()
function local (line 358) | local int updatewindow(strm, out)
type inflate_state (line 593) | struct inflate_state
type inflate_state (line 616) | struct inflate_state
type inflate_state (line 1241) | struct inflate_state
type inflate_state (line 1244) | struct inflate_state
type inflate_state (line 1257) | struct inflate_state
type inflate_state (line 1262) | struct inflate_state
type inflate_state (line 1298) | struct inflate_state
type inflate_state (line 1302) | struct inflate_state
type inflate_state (line 1351) | struct inflate_state
type inflate_state (line 1355) | struct inflate_state
type inflate_state (line 1399) | struct inflate_state
type inflate_state (line 1402) | struct inflate_state
type inflate_state (line 1410) | struct inflate_state
type inflate_state (line 1411) | struct inflate_state
type inflate_state (line 1419) | struct inflate_state
type inflate_state (line 1422) | struct inflate_state
type inflate_state (line 1423) | struct inflate_state
type inflate_state (line 1437) | struct inflate_state
type internal_state (line 1449) | struct internal_state
type inflate_state (line 1457) | struct inflate_state
type inflate_state (line 1460) | struct inflate_state
type inflate_state (line 1473) | struct inflate_state
type inflate_state (line 1476) | struct inflate_state
FILE: src/engine/external/zlib/inflate.h
type inflate_mode (line 20) | typedef enum {
type inflate_state (line 81) | struct inflate_state {
FILE: src/engine/external/zlib/inftrees.c
function inflate_table (line 32) | int ZLIB_INTERNAL inflate_table(type, lens, codes, table, bits, work)
FILE: src/engine/external/zlib/inftrees.h
type code (line 24) | typedef struct {
type codetype (line 54) | typedef enum {
FILE: src/engine/external/zlib/trees.c
type static_tree_desc_s (line 122) | struct static_tree_desc_s {
function local (line 193) | local void send_bits(s, value, length)
function local (line 239) | local void tr_static_init()
function gen_trees_header (line 333) | void gen_trees_header()
function _tr_init (line 386) | void ZLIB_INTERNAL _tr_init(s)
function local (line 415) | local void init_block(s)
function local (line 459) | local void pqdownheap(s, tree, k)
function local (line 494) | local void gen_bitlen(s, desc)
function local (line 581) | local void gen_codes (tree, max_code, bl_count)
function local (line 623) | local void build_tree(s, desc)
function local (line 711) | local void scan_tree (s, tree, max_code)
function local (line 756) | local void send_tree (s, tree, max_code)
function local (line 807) | local int build_bl_tree(s)
function local (line 842) | local void send_all_trees(s, lcodes, dcodes, blcodes)
function _tr_stored_block (line 871) | void ZLIB_INTERNAL _tr_stored_block(s, buf, stored_len, last)
function _tr_align (line 896) | void ZLIB_INTERNAL _tr_align(s)
function ZLIB_INTERNAL (line 1026) | int ZLIB_INTERNAL _tr_tally (s, dist, lc)
function local (line 1076) | local void compress_block(s, ltree, dtree)
function local (line 1137) | local int detect_data_type(s)
function bi_reverse (line 1171) | local unsigned bi_reverse(code, len)
function local (line 1186) | local void bi_flush(s)
function local (line 1203) | local void bi_windup(s)
function local (line 1222) | local void copy_block(s, buf, len, header)
FILE: src/engine/external/zlib/uncompr.c
function uncompress (line 24) | int ZEXPORT uncompress (dest, destLen, source, sourceLen)
FILE: src/engine/external/zlib/zconf.h
type Byte (line 333) | typedef unsigned char Byte;
type uInt (line 335) | typedef unsigned int uInt;
type uLong (line 336) | typedef unsigned long uLong;
type Byte (line 342) | typedef Byte FAR Bytef;
type charf (line 344) | typedef char FAR charf;
type intf (line 345) | typedef int FAR intf;
type uInt (line 346) | typedef uInt FAR uIntf;
type uLong (line 347) | typedef uLong FAR uLongf;
type Byte (line 354) | typedef Byte const *voidpc;
type Byte (line 355) | typedef Byte FAR *voidpf;
type Byte (line 356) | typedef Byte *voidp;
FILE: src/engine/external/zlib/zlib.h
type voidpf (line 80) | typedef voidpf (*alloc_func)
type internal_state (line 83) | struct internal_state
type z_stream (line 85) | typedef struct z_stream_s {
type z_stream (line 106) | typedef z_stream FAR *z_streamp;
type gz_header (line 112) | typedef struct gz_header_s {
type gz_header (line 129) | typedef gz_header FAR *gz_headerp;
type voidp (line 1165) | typedef voidp gzFile;
type internal_state (line 1600) | struct internal_state {int dummy;}
FILE: src/engine/external/zlib/zutil.c
type internal_state (line 11) | struct internal_state {int dummy;}
function uLong (line 32) | uLong ZEXPORT zlibCompileFlags()
function ZLIB_INTERNAL (line 122) | void ZLIB_INTERNAL z_error (m)
function zmemcpy (line 149) | void ZLIB_INTERNAL zmemcpy(dest, source, len)
function zmemcmp (line 160) | int ZLIB_INTERNAL zmemcmp(s1, s2, len)
function zmemzero (line 173) | void ZLIB_INTERNAL zmemzero(dest, len)
type ptr_table (line 203) | typedef struct ptr_table_s {
function voidpf (line 216) | voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
function ZLIB_INTERNAL (line 240) | void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
function voidpf (line 275) | voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
function ZLIB_INTERNAL (line 281) | void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
function voidpf (line 300) | voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
function ZLIB_INTERNAL (line 310) | void ZLIB_INTERNAL zcfree (opaque, ptr)
FILE: src/engine/external/zlib/zutil.h
type uch (line 37) | typedef unsigned char uch;
type uch (line 38) | typedef uch FAR uchf;
type ush (line 39) | typedef unsigned short ush;
type ush (line 40) | typedef ush FAR ushf;
type ulg (line 41) | typedef unsigned long ulg;
FILE: src/engine/friends.h
type CFriendInfo (line 10) | struct CFriendInfo
function class (line 18) | class IFriends : public IInterface
FILE: src/engine/graphics.h
function class (line 11) | class CImageInfo
function class (line 42) | class CVideoMode
function class (line 70) | class CTextureHandle
function virtual (line 101) | virtual int MemoryUsage() const = 0;
type CFreeformItem (line 137) | struct CFreeformItem
FILE: src/engine/input.h
function class (line 10) | class IInput : public IInterface
function class (line 86) | class IEngineInput : public IInput
FILE: src/engine/kernel.h
function class (line 11) | class IInterface
function class (line 37) | class IKernel
FILE: src/engine/map.h
function class (line 8) | class IMap : public IInterface
function class (line 22) | class IEngineMap : public IMap
FILE: src/engine/masterserver.h
function class (line 8) | class IMasterServer : public IInterface
function class (line 31) | class IEngineMasterServer : public IMasterServer
FILE: src/engine/message.h
function class (line 8) | class CMsgPacker : public CPacker
FILE: src/engine/server.h
function class (line 8) | class IServer : public IInterface
function class (line 72) | class IGameServer : public IInterface
FILE: src/engine/server/register.h
function class (line 6) | class CRegister
FILE: src/engine/server/server.cpp
function StrRtrim (line 46) | static void StrRtrim(char *pStr)
function int64 (line 409) | int64 CServer::TickStartTime(int Tick)
function CServer (line 1637) | static CServer *CreateServer() { return new CServer(); }
function main (line 1639) | int main(int argc, const char **argv) // ignore_convention
FILE: src/engine/server/server.h
function class (line 9) | class CSnapIDPool
function class (line 44) | class CServerBan : public CNetBan
function class (line 62) | class CServer : public IServer
FILE: src/engine/serverbrowser.h
function class (line 13) | class CServerInfo
function class (line 56) | class IServerBrowser : public IInterface
FILE: src/engine/shared/compression.h
function class (line 6) | class CVariableInt
FILE: src/engine/shared/config.cpp
class CConfig (line 9) | class CConfig : public IConfig
type CCallback (line 14) | struct CCallback
method EscapeParam (line 28) | void EscapeParam(char *pDst, const char *pSrc, int size)
method CConfig (line 41) | CConfig()
method Init (line 47) | virtual void Init()
method Reset (line 53) | virtual void Reset()
method RestoreStrings (line 64) | virtual void RestoreStrings()
method Save (line 75) | virtual void Save()
method RegisterCallback (line 102) | virtual void RegisterCallback(SAVECALLBACKFUNC pfnFunc, void *pUserData)
method WriteLine (line 110) | virtual void WriteLine(const char *pLine)
function IConfig (line 119) | IConfig *CreateConfig() { return new CConfig; }
FILE: src/engine/shared/config.h
type CConfiguration (line 6) | struct CConfiguration
FILE: src/engine/shared/console.cpp
type CIntVariableData (line 500) | struct CIntVariableData
type CStrVariableData (line 508) | struct CStrVariableData
function IntVariableCommand (line 515) | static void IntVariableCommand(IConsole::IResult *pResult, void *pUserData)
function StrVariableCommand (line 542) | static void StrVariableCommand(IConsole::IResult *pResult, void *pUserData)
function IConsole (line 908) | extern IConsole *CreateConsole(int FlagMask) { return new CConsole(FlagM...
FILE: src/engine/shared/console.h
function class (line 9) | class CConsole : public IConsole
function class (line 124) | class CExecutionQueue
function SetAccessLevel (line 182) | void SetAccessLevel(int AccessLevel) { m_AccessLevel = clamp(AccessLevel...
FILE: src/engine/shared/datafile.cpp
type CDatafileItemType (line 11) | struct CDatafileItemType
type CDatafileItem (line 18) | struct CDatafileItem
type CDatafileHeader (line 24) | struct CDatafileHeader
type CDatafileData (line 37) | struct CDatafileData
type CDatafileInfo (line 47) | struct CDatafileInfo
type CDatafile (line 58) | struct CDatafile
class IStorage (line 69) | class IStorage
class IStorage (line 227) | class IStorage
class IStorage (line 446) | class IStorage
FILE: src/engine/shared/datafile.h
function class (line 7) | class CDataFileReader
function class (line 38) | class CDataFileWriter
FILE: src/engine/shared/demo.cpp
class CSnapshotDelta (line 21) | class CSnapshotDelta
class IStorage (line 29) | class IStorage
class IConsole (line 29) | class IConsole
class CSnapshotDelta (line 319) | class CSnapshotDelta
class IStorage (line 581) | class IStorage
class IConsole (line 581) | class IConsole
class IStorage (line 842) | class IStorage
FILE: src/engine/shared/demo.h
function class (line 11) | class CDemoRecorder : public IDemoRecorder
function class (line 40) | class CDemoPlayer : public IDemoPlayer
FILE: src/engine/shared/econ.h
function class (line 7) | class CEcon
FILE: src/engine/shared/engine.cpp
function HostLookupThread (line 13) | static int HostLookupThread(void *pUser)
class CEngine (line 19) | class CEngine : public IEngine
method Con_DbgDumpmem (line 26) | static void Con_DbgDumpmem(IConsole::IResult *pResult, void *pUserData)
method Con_DbgLognetwork (line 36) | static void Con_DbgLognetwork(IConsole::IResult *pResult, void *pUserD...
method CEngine (line 58) | CEngine(const char *pAppname)
method Init (line 82) | void Init()
method InitLogfile (line 94) | void InitLogfile()
method HostLookup (line 101) | void HostLookup(CHostLookup *pLookup, const char *pHostname, int Nettype)
method AddJob (line 108) | void AddJob(CJob *pJob, JOBFUNC pfnFunc, void *pData)
function IEngine (line 116) | IEngine *CreateEngine(const char *pAppname) { return new CEngine(pAppnam...
FILE: src/engine/shared/filecollection.cpp
function int64 (line 43) | int64 CFileCollection::ExtractTimestamp(const char *pTimestring)
FILE: src/engine/shared/filecollection.h
function class (line 6) | class CFileCollection
FILE: src/engine/shared/huffman.cpp
type CHuffmanConstructNode (line 6) | struct CHuffmanConstructNode
function BubbleSort (line 27) | static void BubbleSort(CHuffmanConstructNode **ppList, int Size)
FILE: src/engine/shared/huffman.h
function class (line 8) | class CHuffman
FILE: src/engine/shared/jobs.h
function class (line 9) | class CJob
function class (line 40) | class CJobPool
FILE: src/engine/shared/kernel.cpp
class CKernel (line 6) | class CKernel : public IKernel
class CInterfaceInfo (line 13) | class CInterfaceInfo
method CInterfaceInfo (line 16) | CInterfaceInfo()
method CInterfaceInfo (line 29) | CInterfaceInfo *FindInterfaceInfo(const char *pName)
method CInterfaceInfo (line 16) | CInterfaceInfo()
method CKernel (line 41) | CKernel()
method RegisterInterfaceImpl (line 47) | virtual bool RegisterInterfaceImpl(const char *pName, IInterface *pInt...
method ReregisterInterfaceImpl (line 76) | virtual bool ReregisterInterfaceImpl(const char *pName, IInterface *pI...
method IInterface (line 89) | virtual IInterface *RequestInterfaceImpl(const char *pName)
function IKernel (line 101) | IKernel *IKernel::Create() { return new CKernel; }
FILE: src/engine/shared/linereader.h
function class (line 8) | class CLineReader
FILE: src/engine/shared/map.cpp
class CMap (line 9) | class CMap : public IEngineMap
method CMap (line 13) | CMap() {}
method UnloadData (line 17) | virtual void UnloadData(int Index) { m_DataFile.UnloadData(Index); }
method GetType (line 19) | virtual void GetType(int Type, int *pStart, int *pNum) { m_DataFile.Ge...
method NumItems (line 21) | virtual int NumItems() { return m_DataFile.NumItems(); }
method Unload (line 23) | virtual void Unload()
method Load (line 28) | virtual bool Load(const char *pMapName, IStorage *pStorage)
method IsLoaded (line 44) | virtual bool IsLoaded()
method Crc (line 49) | virtual unsigned Crc()
function IEngineMap (line 55) | extern IEngineMap *CreateEngineMap() { return new CMap; }
FILE: src/engine/shared/mapchecker.h
function class (line 8) | class CMapChecker
FILE: src/engine/shared/masterserver.cpp
class CMasterServer (line 13) | class CMasterServer : public IEngineMasterServer
type CMasterInfo (line 17) | struct CMasterInfo
method CMasterServer (line 38) | CMasterServer()
method RefreshAddresses (line 46) | virtual int RefreshAddresses(int Nettype)
method Update (line 64) | virtual void Update()
method IsRefreshing (line 95) | virtual int IsRefreshing()
method NETADDR (line 100) | virtual NETADDR GetAddr(int Index)
method IsValid (line 110) | virtual bool IsValid(int Index)
method Init (line 115) | virtual void Init()
method SetDefault (line 121) | virtual void SetDefault()
method Load (line 128) | virtual int Load()
method Save (line 181) | virtual int Save()
function IEngineMasterServer (line 209) | IEngineMasterServer *CreateEngineMasterServer() { return new CMasterServ...
FILE: src/engine/shared/memheap.h
function class (line 5) | class CHeap
FILE: src/engine/shared/message.h
function class (line 5) | class CMessage
FILE: src/engine/shared/netban.h
function NetComp (line 7) | inline int NetComp(const NETADDR *pAddr1, const NETADDR *pAddr2)
function class (line 12) | class CNetRange
function NetComp (line 21) | inline int NetComp(const CNetRange *pRange1, const CNetRange *pRange2)
function class (line 27) | class CNetBan
FILE: src/engine/shared/network.h
type CNetChunk (line 85) | struct CNetChunk
function class (line 96) | class CNetChunkHeader
function class (line 107) | class CNetChunkResend
function class (line 119) | class CNetPacketConstruct
function class (line 130) | class CNetConnection
function class (line 195) | class CConsoleNetConnection
function class (line 225) | class CNetRecvUnpacker
function class (line 244) | class CNetServer
function class (line 290) | class CNetConsole
function class (line 331) | class CNetClient
function class (line 366) | class CNetBase
FILE: src/engine/shared/packer.h
function class (line 8) | class CPacker
function class (line 30) | class CUnpacker
FILE: src/engine/shared/ringbuffer.h
type RINGBUFFER (line 6) | typedef struct RINGBUFFER RINGBUFFER;
function class (line 8) | class CRingBufferBase
function Init (line 57) | void Init() { CRingBufferBase::Init(m_aBuffer, TSIZE, TFLAGS); }
function T (line 59) | T *Allocate(int Size) { return (T*)CRingBufferBase::Allocate(Size); }
function PopFirst (line 60) | int PopFirst() { return CRingBufferBase::PopFirst(); }
function T (line 62) | T *Prev(T *pCurrent) { return (T*)CRingBufferBase::Prev(pCurrent); }
function T (line 63) | T *Next(T *pCurrent) { return (T*)CRingBufferBase::Next(pCurrent); }
function T (line 64) | T *First() { return (T*)CRingBufferBase::First(); }
function T (line 65) | T *Last() { return (T*)CRingBufferBase::Last(); }
FILE: src/engine/shared/snapshot.cpp
function CSnapshotItem (line 8) | CSnapshotItem *CSnapshot::GetItem(int Index)
type CItemList (line 62) | struct CItemList
function GenerateHash (line 74) | static void GenerateHash(CItemList *pHashlist, CSnapshot *pSnapshot)
function GetItemIndexHashed (line 92) | static int GetItemIndexHashed(int Key, const CItemList *pHashlist)
function DiffItem (line 104) | static int DiffItem(int *pPast, int *pCurrent, int *pOut, int Size)
function RangeCheck (line 272) | static int RangeCheck(void *pEnd, void *pPtr, int Size)
function CSnapshotItem (line 514) | CSnapshotItem *CSnapshotBuilder::GetItem(int Index)
FILE: src/engine/shared/snapshot.h
function class (line 10) | class CSnapshotItem
function class (line 22) | class CSnapshot
function class (line 50) | class CSnapshotDelta
function class (line 85) | class CSnapshotStorage
function class (line 113) | class CSnapshotBuilder
FILE: src/engine/shared/storage.cpp
class CStorage (line 10) | class CStorage : public IStorage
method CStorage (line 25) | CStorage()
method Init (line 33) | int Init(const char *pApplicationName, int StorageType, int NumArgs, c...
method LoadPaths (line 82) | void LoadPaths(const char *pArgv0)
method AddDefaultPaths (line 124) | void AddDefaultPaths()
method AddPath (line 131) | void AddPath(const char *pPath)
method FindDatadir (line 167) | void FindDatadir(const char *pArgv0)
method ListDirectory (line 234) | virtual void ListDirectory(int Type, const char *pPath, FS_LISTDIR_CAL...
method IOHANDLE (line 256) | virtual IOHANDLE OpenFile(const char *pFilename, int Flags, int Type, ...
type CFindCBData (line 296) | struct CFindCBData
method FindFileCallback (line 305) | static int FindFileCallback(const char *pName, int IsDir, int Type, vo...
method FindFile (line 332) | virtual bool FindFile(const char *pFilename, const char *pPath, int Ty...
method RemoveFile (line 365) | virtual bool RemoveFile(const char *pFilename, int Type)
method RenameFile (line 374) | virtual bool RenameFile(const char* pOldFilename, const char* pNewFile...
method CreateFolder (line 383) | virtual bool CreateFolder(const char *pFoldername, int Type)
method GetCompletePath (line 392) | virtual void GetCompletePath(int Type, const char *pDir, char *pBuffer...
method IStorage (line 404) | static IStorage *Create(const char *pApplicationName, int StorageType,...
function IStorage (line 417) | IStorage *CreateStorage(const char *pApplicationName, int StorageType, i...
FILE: src/engine/sound.h
function class (line 8) | class ISound : public IInterface
function class (line 54) | class IEngineSound : public ISound
FILE: src/engine/storage.h
function class (line 8) | class IStorage : public IInterface
FILE: src/engine/textrender.h
function class (line 16) | class CTextCursor
function class (line 33) | class ITextRender : public IInterface
function class (line 55) | class IEngineTextRender : public ITextRender
FILE: src/game/client/animstate.cpp
function AnimSeqEval (line 10) | static void AnimSeqEval(CAnimSequence *pSeq, float Time, CAnimKeyframe *...
function AnimAddKeyframe (line 52) | static void AnimAddKeyframe(CAnimKeyframe *pSeq, CAnimKeyframe *pAdded, ...
function AnimAdd (line 59) | static void AnimAdd(CAnimState *pState, CAnimState *pAdded, float Amount)
function CAnimState (line 83) | CAnimState *CAnimState::GetIdle()
FILE: src/game/client/animstate.h
function class (line 6) | class CAnimState
FILE: src/game/client/component.h
function class (line 9) | class CComponent
FILE: src/game/client/components/binds.h
function class (line 8) | class CBinds : public CComponent
FILE: src/game/client/components/broadcast.h
function class (line 7) | class CBroadcast : public CComponent
FILE: src/game/client/components/camera.h
function class (line 8) | class CCamera : public CComponent
FILE: src/game/client/components/chat.h
function class (line 9) | class CChat : public CComponent
FILE: src/game/client/components/console.cpp
function ConsoleScaleFunc (line 250) | static float ConsoleScaleFunc(float t)
type CRenderInfo (line 256) | struct CRenderInfo
FILE: src/game/client/components/console.h
function class (line 9) | class CGameConsole : public CComponent
FILE: src/game/client/components/controls.cpp
function ConKeyInputState (line 46) | static void ConKeyInputState(IConsole::IResult *pResult, void *pUserData)
function ConKeyInputCounter (line 51) | static void ConKeyInputCounter(IConsole::IResult *pResult, void *pUserData)
type CInputSet (line 59) | struct CInputSet
function ConKeyInputSet (line 66) | static void ConKeyInputSet(IConsole::IResult *pResult, void *pUserData)
function ConKeyInputNextPrevWeapon (line 73) | static void ConKeyInputNextPrevWeapon(IConsole::IResult *pResult, void *...
FILE: src/game/client/components/controls.h
function class (line 8) | class CControls : public CComponent
FILE: src/game/client/components/countryflags.h
function class (line 9) | class CCountryFlags : public CComponent
FILE: src/game/client/components/damageind.h
function class (line 8) | class CDamageInd : public CComponent
FILE: src/game/client/components/debughud.h
function class (line 7) | class CDebugHud : public CComponent
FILE: src/game/client/components/effects.cpp
function vec2 (line 19) | inline vec2 RandomDir() { return normalize(vec2(frandom()-0.5f, frandom(...
FILE: src/game/client/components/effects.h
function class (line 7) | class CEffects : public CComponent
FILE: src/game/client/components/emoticon.h
function class (line 8) | class CEmoticon : public CComponent
FILE: src/game/client/components/flow.cpp
function vec2 (line 72) | vec2 CFlow::Get(vec2 Pos)
FILE: src/game/client/components/flow.h
function class (line 8) | class CFlow : public CComponent
FILE: src/game/client/components/hud.h
function class (line 7) | class CHud : public CComponent
FILE: src/game/client/components/items.cpp
type CNetObj_Laser (line 201) | struct CNetObj_Laser
FILE: src/game/client/components/items.h
function class (line 7) | class CItems : public CComponent
FILE: src/game/client/components/killmessages.h
function class (line 7) | class CKillMessages : public CComponent
FILE: src/game/client/components/mapimages.h
function class (line 7) | class CMapImages : public CComponent
FILE: src/game/client/components/maplayers.h
function class (line 7) | class CMapLayers : public CComponent
FILE: src/game/client/components/menus.h
function class (line 22) | class CMenusKeyBinder : public CComponent
type CListboxItem (line 88) | struct CListboxItem
type CMenuImage (line 165) | struct CMenuImage
type CDemoItem (line 230) | struct CDemoItem
type CFriendItem (line 258) | struct CFriendItem
function class (line 285) | class CBrowserFilter
FILE: src/game/client/components/menus_browser.cpp
function CServerInfo (line 86) | const CServerInfo *CMenus::CBrowserFilter::SortedGet(int Index) const
FILE: src/game/client/components/menus_settings.cpp
class CLanguage (line 548) | class CLanguage
method CLanguage (line 551) | CLanguage() {}
method CLanguage (line 552) | CLanguage(const char *n, const char *f, int Code) : m_Name(n), m_FileN...
function LoadLanguageIndexfile (line 561) | void LoadLanguageIndexfile(IStorage *pStorage, IConsole *pConsole, sorte...
FILE: src/game/client/components/motd.h
function class (line 7) | class CMotd : public CComponent
FILE: src/game/client/components/nameplates.h
function class (line 7) | class CNamePlates : public CComponent
FILE: src/game/client/components/particles.h
type CParticle (line 9) | struct CParticle
function class (line 51) | class CParticles : public CComponent
FILE: src/game/client/components/players.cpp
function NormalizeAngular (line 69) | inline float NormalizeAngular(float f)
function AngularMixDirection (line 74) | inline float AngularMixDirection (float Src, float Dst) { return sinf(Ds...
function AngularDistance (line 75) | inline float AngularDistance(float Src, float Dst) { return asinf(sinf(D...
function AngularApproach (line 77) | inline float AngularApproach(float Src, float Dst, float Amount)
FILE: src/game/client/components/players.h
function class (line 7) | class CPlayers : public CComponent
FILE: src/game/client/components/scoreboard.h
function class (line 7) | class CScoreboard : public CComponent
FILE: src/game/client/components/skins.cpp
function vec3 (line 335) | vec3 CSkins::GetColorV3(int v) const
function vec4 (line 341) | vec4 CSkins::GetColorV4(int v, bool UseAlpha) const
FILE: src/game/client/components/skins.h
function class (line 10) | class CSkins : public CComponent
FILE: src/game/client/components/sounds.cpp
type CUserData (line 13) | struct CUserData
function LoadSoundsThread (line 19) | static int LoadSoundsThread(void *pUser)
FILE: src/game/client/components/sounds.h
function class (line 9) | class CSounds : public CComponent
FILE: src/game/client/components/spectator.h
function class (line 9) | class CSpectator : public CComponent
FILE: src/game/client/components/voting.h
function class (line 12) | class CVoting : public CComponent
FILE: src/game/client/gameclient.cpp
class CComponent (line 86) | class CComponent
type CGameMsg (line 119) | struct CGameMsg
function IGameClient (line 1473) | IGameClient *CreateGameClient()
FILE: src/game/client/gameclient.h
function class (line 13) | class CGameClient : public IGameClient
function HueToRgb (line 284) | inline float HueToRgb(float v1, float v2, float h)
function vec3 (line 294) | inline vec3 HslToRgb(vec3 HSL)
FILE: src/game/client/lineinput.h
function class (line 9) | class CLineInput
FILE: src/game/client/localization.h
function class (line 8) | class CLocalizationDatabase
function class (line 41) | class CLocConstString
FILE: src/game/client/render.cpp
function CalcScreenParams (line 504) | static void CalcScreenParams(float Amount, float WMax, float HMax, float...
class CLayers (line 539) | class CLayers
FILE: src/game/client/render.h
function class (line 11) | class CTeeRenderInfo
function class (line 42) | class CRenderTools
FILE: src/game/client/render_map.cpp
function Rotate (line 73) | static void Rotate(CPoint *pCenter, CPoint *pPoint, float Rotation)
FILE: src/game/client/ui.cpp
function CUIRect (line 63) | CUIRect *CUI::Screen()
FILE: src/game/client/ui.h
function class (line 6) | class CUIRect
function class (line 26) | class CUI
function class (line 44) | class IGraphics *Graphics() { return m_pGraphics; }
function class (line 45) | class ITextRender *TextRender() { return m_pTextRender; }
function MouseButton (line 80) | int MouseButton(int Index) const { return (m_MouseButtons>>Index)&1; }
function MouseButtonClicked (line 81) | int MouseButtonClicked(int Index) { return MouseButton(Index) && !((m_La...
function SetHotItem (line 83) | void SetHotItem(const void *pID) { m_pBecommingHotItem = pID; }
function SetActiveItem (line 84) | void SetActiveItem(const void *pID) { m_pActiveItem = pID; if (pID) m_pL...
function ClearLastActiveItem (line 85) | void ClearLastActiveItem() { m_pLastActiveItem = 0; }
FILE: src/game/collision.cpp
class CLayers (line 23) | class CLayers
FILE: src/game/collision.h
function class (line 8) | class CCollision
FILE: src/game/editor/auto_map.cpp
function CompareRules (line 191) | int CompareRules(const void *a, const void *b)
FILE: src/game/editor/auto_map.h
function class (line 12) | class IAutoMapper
function class (line 56) | class CTilesetMapper: public IAutoMapper
function class (line 102) | class CDoodadsMapper: public IAutoMapper
FILE: src/game/editor/editor.cpp
function vec4 (line 435) | vec4 CEditor::ButtonColorMul(const void *pID)
function vec4 (line 498) | vec4 CEditor::GetButtonColor(const void *pID, int Checked)
function CLayerGroup (line 730) | CLayerGroup *CEditor::GetSelectedGroup()
function CLayer (line 737) | CLayer *CEditor::GetSelectedLayer(int Index)
function CLayer (line 748) | CLayer *CEditor::GetSelectedLayerType(int Index, int Type)
function CQuad (line 756) | CQuad *CEditor::GetSelectedQuad()
function Rotate (line 1090) | static void Rotate(const CPoint *pCenter, CPoint *pPoint, float Rotation)
function ModifyIndexDeleted (line 2584) | static void ModifyIndexDeleted(int *pIndex)
function CompareImageName (line 2642) | static int CompareImageName(const void *pObject1, const void *pObject2)
function ModifySortedIndex (line 2651) | static void ModifySortedIndex(int *pIndex)
function EditorListdirCallback (line 2819) | static int EditorListdirCallback(const char *pName, int IsDir, int Stora...
function IEditor (line 4172) | IEditor *CreateEditor() { return new CEditor; }
FILE: src/game/editor/editor.h
type CEntity (line 41) | struct CEntity
function class (line 47) | class CEnvelope
function Resort (line 65) | void Resort()
function FindTopBottom (line 71) | void FindTopBottom(int ChannelMask)
function Eval (line 89) | int Eval(float Time, float *pResult)
function EndTime (line 108) | float EndTime()
function class (line 121) | class CLayer
function class (line 170) | class CLayerGroup
function class (line 233) | class CEditorImage : public CImageInfo
function class (line 262) | class CEditorMap
type CProperty (line 370) | struct CProperty
type RECTi (line 391) | typedef struct
function class (line 397) | class CLayerTiles : public CLayer
function class (line 446) | class CLayerQuads : public CLayer
function class (line 473) | class CLayerGame : public CLayerTiles
function class (line 482) | class CEditor : public IEditor
function class (line 494) | class IClient *Client() { return m_pClient; }
function class (line 495) | class IConsole *Console() { return m_pConsole; }
function class (line 496) | class IGraphics *Graphics() { return m_pGraphics; }
function class (line 497) | class ITextRender *TextRender() { return m_pTextRender; }
function class (line 498) | class IStorage *Storage() { return m_pStorage; }
function CUI (line 499) | CUI *UI() { return &m_UI; }
function CRenderTools (line 500) | CRenderTools *RenderTools() { return &m_RenderTools; }
function virtual (line 574) | virtual bool HasUnsavedData() { return m_Map.m_Modified; }
type CFilelistItem (line 642) | struct CFilelistItem
function ExtractName (line 788) | static void ExtractName(const char *pFileName, char *pName, int BufferSize)
function class (line 808) | inline class IGraphics *CLayer::Graphics() { return m_pEditor->Graphics(...
FILE: src/game/editor/io.cpp
function MakeVersion (line 12) | static int MakeVersion(int i, const T &v)
class IStorage (line 203) | class IStorage
class IStorage (line 424) | class IStorage
function ModifyAdd (line 666) | static void ModifyAdd(int *pIndex)
FILE: src/game/editor/layer_quads.cpp
function CQuad (line 37) | CQuad *CLayerQuads::NewQuad()
function Rotate (line 160) | void Rotate(vec2 *pCenter, vec2 *pPoint, float Rotation)
FILE: src/game/gamecore.cpp
function HermiteBasis1 (line 46) | float HermiteBasis1(float v)
function VelocityRamp (line 51) | float VelocityRamp(float Value, float Start, float Range, float Curvature)
FILE: src/game/gamecore.h
function class (line 15) | class CTuneParam
function class (line 26) | class CTuningParams
function vec2 (line 51) | inline vec2 GetDirection(int Angle)
function vec2 (line 57) | inline vec2 GetDir(float Angle)
function GetAngle (line 62) | inline float GetAngle(vec2 Dir)
function StrToInts (line 72) | inline void StrToInts(int *pInts, int Num, const char *pStr)
function IntsToStr (line 89) | inline void IntsToStr(const int *pInts, int Num, char *pStr)
function vec2 (line 108) | inline vec2 CalcPos(vec2 Pos, vec2 Velocity, float Curvature, float Spee...
function T (line 119) | T SaturatedAdd(T Min, T Max, T Current, T Modifier)
function class (line 155) | class CWorldCore
function class (line 167) | class CCharacterCore
FILE: src/game/layers.cpp
class IKernel (line 16) | class IKernel
function CMapItemGroup (line 59) | CMapItemGroup *CLayers::GetGroup(int Index) const
function CMapItemLayer (line 64) | CMapItemLayer *CLayers::GetLayer(int Index) const
FILE: src/game/layers.h
function class (line 9) | class CLayers
FILE: src/game/mapitems.h
type CPoint (line 61) | struct CPoint
type CColor (line 66) | struct CColor
type CQuad (line 71) | struct CQuad
function class (line 84) | class CTile
type CMapItemInfo (line 93) | struct CMapItemInfo
type CMapItemImage_v1 (line 102) | struct CMapItemImage_v1
function CMapItemImage_v1 (line 112) | struct CMapItemImage : public CMapItemImage_v1
type CMapItemGroup_v1 (line 118) | struct CMapItemGroup_v1
function CMapItemGroup_v1 (line 131) | struct CMapItemGroup : public CMapItemGroup_v1
type CMapItemLayer (line 144) | struct CMapItemLayer
type CMapItemLayerTilemap (line 151) | struct CMapItemLayerTilemap
type CMapItemLayerQuads (line 170) | struct CMapItemLayerQuads
type CMapItemVersion (line 182) | struct CMapItemVersion
type CEnvPoint (line 189) | struct CEnvPoint
type CMapItemEnvelope_v1 (line 198) | struct CMapItemEnvelope_v1
function CMapItemEnvelope_v1 (line 207) | struct CMapItemEnvelope : public CMapItemEnvelope_v1
FILE: src/game/server/alloc.h
function delete (line 17) | void operator delete(void *pPtr) \
FILE: src/game/server/entities/character.cpp
type CInputCount (line 15) | struct CInputCount
function CInputCount (line 21) | CInputCount CountInput(int Prev, int Cur)
FILE: src/game/server/entities/character.h
function class (line 9) | class CCharacter : public CEntity
FILE: src/game/server/entities/flag.h
function class (line 8) | class CFlag : public CEntity
FILE: src/game/server/entities/laser.h
function class (line 8) | class CLaser : public CEntity
FILE: src/game/server/entities/pickup.h
function class (line 10) | class CPickup : public CEntity
FILE: src/game/server/entities/projectile.cpp
function vec2 (line 32) | vec2 CProjectile::GetPos(float Time)
FILE: src/game/server/entities/projectile.h
function class (line 6) | class CProjectile : public CEntity
FILE: src/game/server/entity.h
function class (line 16) | class CEntity
FILE: src/game/server/eventhandler.h
function class (line 7) | class CEventHandler
FILE: src/game/server/gamecontext.cpp
class CCharacter (line 87) | class CCharacter
function IGameServer (line 1450) | IGameServer *CreateGameServer() { return new CGameContext; }
FILE: src/game/server/gamecontext.h
function class (line 36) | class CGameContext : public IGameServer
function CmaskAll (line 187) | inline int CmaskAll() { return -1; }
function CmaskOne (line 188) | inline int CmaskOne(int ClientID) { return 1<<ClientID; }
function CmaskAllExceptOne (line 189) | inline int CmaskAllExceptOne(int ClientID) { return 0x7fffffff^CmaskOne(...
function CmaskIsSet (line 190) | inline bool CmaskIsSet(int Mask, int ClientID) { return (Mask&CmaskOne(C...
FILE: src/game/server/gamecontroller.cpp
function IsSeparator (line 850) | static bool IsSeparator(char c) { return c == ';' || c == ' ' || c == ',...
FILE: src/game/server/gamecontroller.h
function class (line 15) | class IGameController
function IServer (line 95) | IServer *Server() const { return m_pServer; }
function EndMatch (line 104) | void EndMatch() { SetGameState(IGS_END_MATCH, TIMER_END); }
function EndRound (line 105) | void EndRound() { SetGameState(IGS_END_ROUND, TIMER_END); }
type CGameInfo (line 110) | struct CGameInfo
function DoPause (line 173) | void DoPause(int Seconds) { SetGameState(IGS_GAME_PAUSED, Seconds); }
function DoWarmup (line 174) | void DoWarmup(int Seconds)
function IsPlayerReadyMode (line 189) | bool IsPlayerReadyMode() const;
function GetStartRespawnState (line 200) | bool GetStartRespawnState() const;
FILE: src/game/server/gamemodes/ctf.h
function class (line 8) | class CGameControllerCTF : public IGameController
FILE: src/game/server/gamemodes/dm.h
function class (line 7) | class CGameControllerDM : public IGameController
FILE: src/game/server/gamemodes/lms.h
function class (line 7) | class CGameControllerLMS : public IGameController
FILE: src/game/server/gamemodes/mod.cpp
class CGameContext (line 5) | class CGameContext
FILE: src/game/server/gamemodes/mod.h
function class (line 9) | class CGameControllerMOD : public IGameController
FILE: src/game/server/gamemodes/sur.h
function class (line 7) | class CGameControllerSUR : public IGameController
FILE: src/game/server/gamemodes/tdm.cpp
class CGameContext (line 10) | class CGameContext
class CCharacter (line 17) | class CCharacter
class CPlayer (line 17) | class CPlayer
FILE: src/game/server/gamemodes/tdm.h
function class (line 7) | class CGameControllerTDM : public IGameController
FILE: src/game/server/gameworld.cpp
function CEntity (line 39) | CEntity *CGameWorld::FindFirst(int Type)
function CCharacter (line 205) | CCharacter *CGameWorld::IntersectCharacter(vec2 Pos0, vec2 Pos1, float R...
function CCharacter (line 235) | CCharacter *CGameWorld::ClosestCharacter(vec2 Pos, float Radius, CEntity...
FILE: src/game/server/gameworld.h
function class (line 16) | class CGameWorld
FILE: src/game/server/player.cpp
function IServer (line 12) | IServer *CPlayer::Server() const { return m_pGameServer->Server(); }
function CCharacter (line 246) | CCharacter *CPlayer::GetCharacter()
FILE: src/game/server/player.h
function class (line 17) | class CPlayer
FILE: src/game/voting.h
type CVoteOptionClient (line 18) | struct CVoteOptionClient
type CVoteOptionServer (line 25) | struct CVoteOptionServer
FILE: src/mastersrv/mastersrv.cpp
type CCheckServer (line 25) | struct CCheckServer
type ServerType (line 27) | enum ServerType
type CServerEntry (line 37) | struct CServerEntry
type ServerType (line 39) | enum ServerType
type CPacketData (line 47) | struct CPacketData
type CPacketDataLegacy (line 60) | struct CPacketDataLegacy
type CCountPacketData (line 73) | struct CCountPacketData
function BuildPackets (line 91) | void BuildPackets()
function SendOk (line 171) | void SendOk(NETADDR *pAddr)
function SendError (line 185) | void SendError(NETADDR *pAddr)
function SendCheck (line 196) | void SendCheck(NETADDR *pAddr)
function AddCheckserver (line 207) | void AddCheckserver(NETADDR *pInfo, NETADDR *pAlt, ServerType Type)
function AddServer (line 229) | void AddServer(NETADDR *pInfo, ServerType Type)
function UpdateServers (line 260) | void UpdateServers()
function PurgeServers (line 295) | void PurgeServers()
function ReloadBans (line 315) | void ReloadBans()
function main (line 321) | int main(int argc, const char **argv) // ignore_convention
FILE: src/mastersrv/mastersrv.h
type ServerType (line 7) | enum ServerType
type CMastersrvAddr (line 14) | struct CMastersrvAddr
type CMastersrvAddrLegacy (line 39) | struct CMastersrvAddrLegacy
FILE: src/tools/crapnet.cpp
type CPacket (line 7) | struct CPacket
type CPingConfig (line 23) | struct CPingConfig
function Run (line 45) | void Run(unsigned short Port, NETADDR Dest)
function main (line 209) | int main(int argc, char **argv) // ignore_convention
FILE: src/tools/dilate.cpp
function Dilate (line 12) | static void Dilate(int w, int h, CPixel *pSrc, CPixel *pDest)
function CopyAlpha (line 43) | static void CopyAlpha(int w, int h, CPixel *pSrc, CPixel *pDest)
function DilateFile (line 51) | int DilateFile(const char *pFileName)
function main (line 91) | int main(int argc, const char **argv)
FILE: src/tools/fake_server.cpp
function SendHeartBeats (line 30) | static void SendHeartBeats()
function WriteStr (line 53) | static void WriteStr(const char *pStr)
function WriteInt (line 60) | static void WriteInt(int i)
function BuildInfoMsg (line 67) | static void BuildInfoMsg()
function SendServerInfo (line 89) | static void SendServerInfo(NETADDR *pAddr)
function SendFWCheckResponse (line 100) | static void SendFWCheckResponse(NETADDR *pAddr)
function Run (line 111) | static int Run()
function main (line 151) | int main(int argc, char **argv)
FILE: src/tools/map_resave.cpp
function main (line 7) | int main(int argc, const char **argv)
FILE: src/tools/map_version.cpp
function MaplistCallback (line 15) | int MaplistCallback(const char *pName, int IsDir, int DirType, void *pUser)
function main (line 44) | int main(int argc, const char **argv) // ignore_convention
FILE: src/tools/packetgen.cpp
function Run (line 7) | void Run(NETADDR Dest)
function main (line 31) | int main(int argc, char **argv)
FILE: src/tools/tileset_borderop.cpp
function TilesetBorderAdd (line 22) | void TilesetBorderAdd(int w, int h, CPixel *pSrc, CPixel *pDest)
function CPixel (line 52) | CPixel Sample(int x, int y, int w, int h, CPixel *pData, int Pitch, floa...
function TilesetBorderFix (line 59) | void TilesetBorderFix(int w, int h, CPixel *pSrc, CPixel *pDest)
function TilesetBorderRem (line 95) | void TilesetBorderRem(int w, int h, CPixel *pSrc, CPixel *pDest)
function TilesetBorderSet (line 125) | void TilesetBorderSet(int w, int h, CPixel *pSrc, CPixel *pDest)
function ProcessFile (line 147) | void ProcessFile(const char *pFileName, int WidthMod, int HeightMod, int...
function main (line 183) | int main(int argc, const char **argv)
FILE: src/versionsrv/versionsrv.cpp
type CPacketData (line 18) | struct CPacketData
function BuildPackets (line 32) | void BuildPackets()
function SendVer (line 60) | void SendVer(NETADDR *pAddr)
function main (line 77) | int main(int argc, char **argv) // ignore_convention
FILE: src/versionsrv/versionsrv.h
type CMapVersion (line 7) | struct CMapVersion
Condensed preview — 627 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,103K chars).
[
{
"path": ".gitignore",
"chars": 301,
"preview": "/bam\n/.bam\n/config.lua\n/objs\n__pycache__/\n*.pyc\n*.pyo\nscripts/work/\nsrc/game/generated/\nother/icons/*.res\n/SDL.dll\n/free"
},
{
"path": ".gitmodules",
"chars": 207,
"preview": "[submodule \"data/languages\"]\n\tpath = data/languages\n\turl = git://github.com/teeworlds/teeworlds-translation.git\n[submodu"
},
{
"path": "bam.lua",
"chars": 15078,
"preview": "CheckVersion(\"0.4\")\n\nImport(\"configure.lua\")\nImport(\"other/sdl/sdl.lua\")\nImport(\"other/freetype/freetype.lua\")\n\n--- Setu"
},
{
"path": "configure.lua",
"chars": 12103,
"preview": "\n--[[@GROUP Configuration@END]]--\n\n--[[@FUNCTION\n\tTODO\n@END]]--\nfunction NewConfig(on_configured_callback)\n\tlocal config"
},
{
"path": "data/countryflags/index.json",
"chars": 9959,
"preview": "{\"country codes\": \n\t{\"custom\": [\n\t\t{\n\t\t\t\"id\": \"SS\",\n\t\t\t\"code\": 737\n\t\t},\n\t\t{\n\t\t\t\"id\": \"XEN\",\n\t\t\t\"code\": 901\n\t\t},\n\t\t{\n\t\t\t\""
},
{
"path": "data/editor/automap/grass_doodads.json",
"chars": 1024,
"preview": "{\"doodads\": [\n\t{\"vegetation\":\n\t\t{\n\t\t\t\"rules\": [\n\t\t\t{\n\t\t\t\t\"startid\": 1,\n\t\t\t\t\"endid\": 35,\n\t\t\t\t\"ry\": -3,\n\t\t\t\t\"Location\": \"f"
},
{
"path": "data/editor/automap/grass_main.json",
"chars": 6381,
"preview": "{\"tileset\": [\n\t{\"grass\":\n\t\t{\n\t\t\t\"basetile\": 1,\n\n\t\t\t\"rules\": [\n\t\t\t{\n\t\t\t\t\"index\": 2,\n\t\t\t\t\"condition\": [\n\t\t\t\t\t{\"x\": 0, \"y\":"
},
{
"path": "data/editor/desert_main.rules",
"chars": 2469,
"preview": "[Desert]\nIndex 1\nBaseTile\n\n#random\nIndex 2\nPos 0 1 FULL\nPos 0 -1 FULL\nPos 1 0 FULL\nPos -1 0 FULL\nRandom 150\n\nIndex 3\nPos"
},
{
"path": "data/editor/grass_main.rules",
"chars": 2455,
"preview": "[Grass]\nIndex 1\nBaseTile\n\n#random bones\nIndex 2\nPos 0 1 FULL\nPos 0 -1 FULL\nPos 1 0 FULL\nPos -1 0 FULL\nRandom 150\n\nIndex "
},
{
"path": "data/editor/jungle_main.rules",
"chars": 2896,
"preview": "[Jungle]\nIndex 1\nBaseTile\n\n#random bricks\nIndex 66\nPos 0 1 FULL\nPos 0 -1 FULL\nPos 1 0 FULL\nPos -1 0 FULL\nRandom 200\n\nInd"
},
{
"path": "data/editor/winter_main.rules",
"chars": 2010,
"preview": "[Winter]\nIndex 1\nBaseTile\n\n#top\nIndex 17\nPos 0 -1 EMPTY\n\nIndex 18\nPos 0 -1 EMPTY\nPos -1 0 INDEX 17\n\nIndex 19\nPos 0 -1 EM"
},
{
"path": "data/fonts/LICENSE",
"chars": 4816,
"preview": "Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.\nGlyphs imported from Arev fonts are (c) Tavmjo"
},
{
"path": "data/fonts/VERSION",
"chars": 6,
"preview": "2.33\r\n"
},
{
"path": "data/skins/bluekitty.json",
"chars": 528,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"kitty\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 132,\n\t\t\"sat\": 118,\n\t\t\"lgt\": 184\n\t},\n\t\"t"
},
{
"path": "data/skins/bluestripe.json",
"chars": 473,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 155,\n\t\t\"sat\": 116,\n\t\t\"lgt\": 122\n\t},\n"
},
{
"path": "data/skins/brownbear.json",
"chars": 591,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"bear\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 16,\n\t\t\"sat\": 133,\n\t\t\"lgt\": 121\n\t},\n\t\"tat"
},
{
"path": "data/skins/cammo.json",
"chars": 522,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 81,\n\t\t\"sat\": 101,\n\t\t\"lgt\": 70\n\t},\n\t\""
},
{
"path": "data/skins/cammostripes.json",
"chars": 528,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 81,\n\t\t\"sat\": 101,\n\t\t\"lgt\": 70\n\t},\n\t\""
},
{
"path": "data/skins/coala.json",
"chars": 583,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"bear\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 0,\n\t\t\"sat\": 0,\n\t\t\"lgt\": 184\n\t},\n\t\"tattoo"
},
{
"path": "data/skins/default.json",
"chars": 405,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 27,\n\t\t\"sat\": 111,\n\t\t\"lgt\": 116\n\t},\n\t"
},
{
"path": "data/skins/limekitty.json",
"chars": 524,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"kitty\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 70,\n\t\t\"sat\": 98,\n\t\t\"lgt\": 195\n\t},\n\t\"tat"
},
{
"path": "data/skins/pinky.json",
"chars": 533,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 242,\n\t\t\"sat\": 201,\n\t\t\"lgt\": 187\n\t},\n"
},
{
"path": "data/skins/redbopp.json",
"chars": 641,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 246,\n\t\t\"sat\": 216,\n\t\t\"lgt\": 108\n\t},\n"
},
{
"path": "data/skins/redstripe.json",
"chars": 470,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 248,\n\t\t\"sat\": 214,\n\t\t\"lgt\": 123\n\t},\n"
},
{
"path": "data/skins/saddo.json",
"chars": 526,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 109,\n\t\t\"sat\": 109,\n\t\t\"lgt\": 127\n\t},\n"
},
{
"path": "data/skins/toptri.json",
"chars": 472,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 93,\n\t\t\"sat\": 95,\n\t\t\"lgt\": 163\n\t},\n\t\""
},
{
"path": "data/skins/twinbop.json",
"chars": 647,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 233,\n\t\t\"sat\": 158,\n\t\t\"lgt\": 183\n\t},\n"
},
{
"path": "data/skins/twintri.json",
"chars": 524,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 52,\n\t\t\"sat\": 156,\n\t\t\"lgt\": 124\n\t},\n\t"
},
{
"path": "data/skins/warpaint.json",
"chars": 472,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"standard\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 29,\n\t\t\"sat\": 173,\n\t\t\"lgt\": 87\n\t},\n\t\""
},
{
"path": "data/skins/x_ninja.json",
"chars": 436,
"preview": "{\"skin\": {\n\t\"body\": {\n\t\t\"filename\": \"x_ninja\",\n\t\t\"custom_colors\": \"true\",\n\t\t\"hue\": 0,\n\t\t\"sat\": 0,\n\t\t\"lgt\": 0\n\t},\n\t\"tatto"
},
{
"path": "datasrc/compile.py",
"chars": 9646,
"preview": "import os, imp, sys\nfrom datatypes import *\nimport content\nimport network\n\ndef create_enum_table(names, num):\n\tlines = ["
},
{
"path": "datasrc/content.py",
"chars": 25446,
"preview": "import copy\nfrom datatypes import *\n\nclass Sound(Struct):\n\tdef __init__(self, filename=\"\"):\n\t\tStruct.__init__(self, \"CDa"
},
{
"path": "datasrc/datatypes.py",
"chars": 10973,
"preview": "import sys\n\nGlobalIdCounter = 0\ndef GetID():\n\tglobal GlobalIdCounter\n\tGlobalIdCounter += 1\n\treturn GlobalIdCounter\ndef G"
},
{
"path": "datasrc/network.py",
"chars": 8889,
"preview": "from datatypes import *\n\nPickups = Enum(\"PICKUP\", [\"HEALTH\", \"ARMOR\", \"GRENADE\", \"SHOTGUN\", \"LASER\", \"NINJA\"])\nEmotes = "
},
{
"path": "license.txt",
"chars": 1504,
"preview": "Copyright (C) 2007-2013 Magnus Auvinen\n\nThis software is provided 'as-is', without any express or implied\nwarranty. In "
},
{
"path": "other/config_directory.bat",
"chars": 36,
"preview": "@start explorer %APPDATA%\\Teeworlds\n"
},
{
"path": "other/freetype/VERSION",
"chars": 6,
"preview": "2.4.8\n"
},
{
"path": "other/freetype/freetype.lua",
"chars": 1940,
"preview": "FreeType = {\n\tbasepath = PathDir(ModuleFilename()),\n\t\n\tOptFind = function (name, required)\t\n\t\tlocal check = function(opt"
},
{
"path": "other/freetype/include/freetype/config/ftconfig.h",
"chars": 20331,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/config/ftheader.h",
"chars": 25888,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/config/ftmodule.h",
"chars": 1431,
"preview": "/*\r\n * This file registers the FreeType modules compiled into the library.\r\n *\r\n * If you use GNU make, this file IS N"
},
{
"path": "other/freetype/include/freetype/config/ftoption.h",
"chars": 51573,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/config/ftstdlib.h",
"chars": 7487,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/freetype.h",
"chars": 248600,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftadvanc.h",
"chars": 10521,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftbbox.h",
"chars": 5346,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftbdf.h",
"chars": 6958,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftbitmap.h",
"chars": 14225,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftbzip2.h",
"chars": 4409,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftcache.h",
"chars": 61966,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftchapters.h",
"chars": 7446,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftcid.h",
"chars": 5745,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/fterrdef.h",
"chars": 12318,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/fterrors.h",
"chars": 9662,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftgasp.h",
"chars": 4632,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftglyph.h",
"chars": 40437,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftgxval.h",
"chars": 12958,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftgzip.h",
"chars": 4390,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftimage.h",
"chars": 83853,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftincrem.h",
"chars": 11759,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftlcdfil.h",
"chars": 7922,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftlist.h",
"chars": 17041,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftlzw.h",
"chars": 4355,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftmac.h",
"chars": 17372,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftmm.h",
"chars": 23090,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftmodapi.h",
"chars": 27109,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftmoderr.h",
"chars": 7637,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftotval.h",
"chars": 7339,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftoutln.h",
"chars": 33194,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftpfr.h",
"chars": 6461,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftrender.h",
"chars": 11957,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftsizes.h",
"chars": 9720,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftsnames.h",
"chars": 11375,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftstroke.h",
"chars": 21820,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftsynth.h",
"chars": 3977,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftsystem.h",
"chars": 10544,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/fttrigon.h",
"chars": 8793,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/fttypes.h",
"chars": 35564,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftwinfnt.h",
"chars": 10676,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ftxf86.h",
"chars": 4804,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/autohint.h",
"chars": 14290,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftcalc.h",
"chars": 8851,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftdebug.h",
"chars": 11626,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftdriver.h",
"chars": 23134,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftgloadr.h",
"chars": 6666,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftmemory.h",
"chars": 15228,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftobjs.h",
"chars": 81300,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftpic.h",
"chars": 2574,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftrfork.h",
"chars": 12125,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftserv.h",
"chars": 35997,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftstream.h",
"chars": 23792,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/fttrace.h",
"chars": 5545,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/ftvalid.h",
"chars": 7254,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/internal.h",
"chars": 3150,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/psaux.h",
"chars": 36818,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/pshints.h",
"chars": 23110,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svbdf.h",
"chars": 2912,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svcid.h",
"chars": 3594,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svgldict.h",
"chars": 3161,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svgxval.h",
"chars": 2811,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svkern.h",
"chars": 1834,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svmm.h",
"chars": 3981,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svotval.h",
"chars": 2001,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svpfr.h",
"chars": 2336,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svpostnm.h",
"chars": 2925,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svpscmap.h",
"chars": 6048,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svpsinfo.h",
"chars": 4039,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svsfnt.h",
"chars": 3462,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svttcmap.h",
"chars": 4757,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svtteng.h",
"chars": 1740,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svttglyf.h",
"chars": 2411,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svwinfnt.h",
"chars": 1752,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/services/svxf86nm.h",
"chars": 2102,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/sfnt.h",
"chars": 52902,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/t1types.h",
"chars": 10189,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/internal/tttypes.h",
"chars": 88139,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/t1tables.h",
"chars": 27698,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ttnameid.h",
"chars": 63417,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/tttables.h",
"chars": 40853,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/tttags.h",
"chars": 5109,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/freetype/ttunpat.h",
"chars": 2288,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/freetype/include/ft2build.h",
"chars": 2224,
"preview": "/***************************************************************************/\r\n/* "
},
{
"path": "other/icons/teeworlds_cl.rc",
"chars": 25,
"preview": "50h ICON \"teeworlds.ico\"\n"
},
{
"path": "other/icons/teeworlds_gcc.rc",
"chars": 24,
"preview": "ID ICON \"teeworlds.ico\"\n"
},
{
"path": "other/icons/teeworlds_srv_cl.rc",
"chars": 29,
"preview": "50h ICON \"Teeworlds_srv.ico\"\n"
},
{
"path": "other/icons/teeworlds_srv_gcc.rc",
"chars": 28,
"preview": "ID ICON \"Teeworlds_srv.ico\"\n"
},
{
"path": "other/sdl/include/SDL.h",
"chars": 3233,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_active.h",
"chars": 1933,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_audio.h",
"chars": 11215,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_byteorder.h",
"chars": 986,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_cdrom.h",
"chars": 6048,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config.h",
"chars": 1474,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config.h.default",
"chars": 1474,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2006 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config.h.in",
"chars": 7690,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2006 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_amiga.h",
"chars": 2149,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2006 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_dreamcast.h",
"chars": 2803,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_macos.h",
"chars": 2801,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_macosx.h",
"chars": 4193,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_minimal.h",
"chars": 1982,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_nds.h",
"chars": 2979,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_os2.h",
"chars": 3635,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_symbian.h",
"chars": 3107,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_config_win32.h",
"chars": 4574,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_copying.h",
"chars": 869,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_cpuinfo.h",
"chars": 2221,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_endian.h",
"chars": 5873,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_error.h",
"chars": 1874,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_events.h",
"chars": 13041,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_getenv.h",
"chars": 979,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_joystick.h",
"chars": 5532,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_keyboard.h",
"chars": 4098,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_keysym.h",
"chars": 7492,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_loadso.h",
"chars": 2739,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_main.h",
"chars": 2866,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_mouse.h",
"chars": 4754,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_mutex.h",
"chars": 5860,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_name.h",
"chars": 183,
"preview": "\n#ifndef _SDLname_h_\n#define _SDLname_h_\n\n#if defined(__STDC__) || defined(__cplusplus)\n#define NeedFunctionPrototypes 1"
},
{
"path": "other/sdl/include/SDL_opengl.h",
"chars": 336292,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_platform.h",
"chars": 2708,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_quit.h",
"chars": 2009,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_rwops.h",
"chars": 4958,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_stdinc.h",
"chars": 16473,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_syswm.h",
"chars": 6266,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_thread.h",
"chars": 4494,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_timer.h",
"chars": 4527,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_types.h",
"chars": 979,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_version.h",
"chars": 2637,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/SDL_video.h",
"chars": 38018,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/begin_code.h",
"chars": 5128,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/include/close_code.h",
"chars": 1482,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2009 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "other/sdl/sdl.lua",
"chars": 2378,
"preview": "SDL = {\n\tbasepath = PathDir(ModuleFilename()),\n\n\tOptFind = function (name, required)\n\t\tlocal check = function(option, se"
},
{
"path": "other/sdl/sdlnotes.txt",
"chars": 178,
"preview": "NOTE. This is a really stripped down version of SDL only used\r\nto compile teeworlds for windows. For a complete release "
},
{
"path": "readme.txt",
"chars": 356,
"preview": "Copyright (c) 2013 Magnus Auvinen\r\n\r\n\r\nThis software is provided 'as-is', without any express or implied\r\nwarranty. In n"
},
{
"path": "scripts/SDL_keysym.h",
"chars": 7160,
"preview": "/*\n SDL - Simple DirectMedia Layer\n Copyright (C) 1997-2006 Sam Lantinga\n\n This library is free software; you c"
},
{
"path": "scripts/build.py",
"chars": 8303,
"preview": "import imp, optparse, os, re, shutil, sys, zipfile\nos.chdir(os.path.dirname(os.path.realpath(sys.argv[0])) + \"/..\")\nimpo"
},
{
"path": "scripts/check_header_guards.py",
"chars": 781,
"preview": "import os\n\n\nPATH = \"../src/\"\n\n\ndef check_file(filename):\n\tfile = open(filename)\n\twhile 1:\n\t\tline = file.readline()\n\t\tif "
},
{
"path": "scripts/cmd5.py",
"chars": 1005,
"preview": "import hashlib, sys, re\n\nalphanum = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_\".encode()\n\ndef cstr"
},
{
"path": "scripts/compiler.py",
"chars": 16088,
"preview": "#!/usr/bin/python\n\nimport sys\nimport struct\nimport os\n\noption_ptrsize = struct.calcsize(\"P\")\noption_intsize = struct.cal"
},
{
"path": "scripts/copyright.py",
"chars": 1951,
"preview": "import os, sys\nos.chdir(os.path.dirname(os.path.realpath(sys.argv[0])) + \"/..\")\n\nnotice = [b\"/* (c) Magnus Auvinen. See "
},
{
"path": "scripts/count_source.sh",
"chars": 116,
"preview": "svn blame `svn -R ls | grep ^src | grep -v external | grep -v /$ | grep -v \\.txt` | python scripts/process_blame.py\n"
},
{
"path": "scripts/dat2c.py",
"chars": 245,
"preview": "import sys\n\ndata = file(sys.argv[1], \"rb\").read()\n\ni = 0\nprint \"unsigned char\", sys.argv[2], \"[] = {\"\nprint str(ord(data"
},
{
"path": "scripts/font_converter.py",
"chars": 4118,
"preview": "from __future__ import with_statement\nimport struct\nimport sys\nimport re\n\ndef convert(input, output):\n with open(inpu"
},
{
"path": "scripts/font_installer.sh",
"chars": 101,
"preview": "echo Generating .fnts...\n../../font_generator/a.out\npython ../scripts/font_converter.py default*.fnt\n"
},
{
"path": "scripts/gen_keys.py",
"chars": 2028,
"preview": "import sys, os\n\n# genereate keys.h file\nf = file(\"src/engine/keys.h\", \"w\")\n\nkeynames = []\nfor i in range(0, 512):\n\tkeyna"
},
{
"path": "scripts/linecount.sh",
"chars": 75,
"preview": "#!/bin/sh\nwc `find . -iname *.cpp` `find . -iname *.h` `find . -iname *.c`\n"
},
{
"path": "scripts/make_docs.sh",
"chars": 110,
"preview": "perl docs/tool/NaturalDocs -i src/game -i src/engine -xi src/engine/external -p docs/conf -o html docs/output\n"
},
{
"path": "scripts/make_release.py",
"chars": 8631,
"preview": "import shutil, optparse, os, re, sys, zipfile\nos.chdir(os.path.dirname(os.path.realpath(sys.argv[0])) + \"/..\")\nimport tw"
},
{
"path": "scripts/make_src.py",
"chars": 962,
"preview": "import os, shutil, zipfile, sys\n\nif len(sys.argv) <= 1:\n\tprint \"%s VERSION [SVN TREE]\" % sys.argv[0]\n\tsys.exit(-1)\n\nvers"
},
{
"path": "scripts/mass_server.py",
"chars": 1055,
"preview": "#from random import choice\n\nimport random\nimport os\n\nmasterservers = [\"localhost 8300\"]\n\nmaps = [\n\t[\"dm1\", \"dm2\", \"dm6\"]"
},
{
"path": "scripts/netobj.py",
"chars": 11919,
"preview": "import sys, os\n\nline_count = 0\n\nclass variable:\n\tname = \"unknown\"\n\tdef __init__(self, args, name):\n\t\tglobal line_count\n\t"
},
{
"path": "scripts/nicks.txt",
"chars": 15855,
"preview": ":port80c.se.quakenet.org 353 matricks_ = #pcw :SPQR|Snapshot em0k1d n1sse iTouch|HedaN Hyeen Mattzki i9`Nilzon matricks_"
},
{
"path": "scripts/png.py",
"chars": 2594,
"preview": "import struct, zlib, sys\n\nclass image:\n\tw = 0\n\th = 0\n\tdata = []\n\ndef read_tga(f):\n\timage = f.read()\n\timg_type = struct.u"
},
{
"path": "scripts/process_blame.py",
"chars": 428,
"preview": "import sys\nuser_map = {\"kma\":\"matricks\", \"teetow\":\"matricks\", \"jlha\":\"matricks\", \"jdv\":\"void\", \"jaf\":\"serp\"}\nusers = {}\n"
},
{
"path": "scripts/refactor_count.py",
"chars": 11056,
"preview": "import os, re, sys\n\nalphanum = \"0123456789abcdefghijklmnopqrstuvwzyxABCDEFGHIJKLMNOPQRSTUVWXYZ_\"\ncpp_keywords = [\"auto\","
},
{
"path": "scripts/tw_api.py",
"chars": 6423,
"preview": "# coding: utf-8\nfrom socket import *\nimport struct\nimport sys\nimport threading\nimport time\n\n\n\nNUM_MASTERSERVERS = 4\nMAST"
},
{
"path": "scripts/twlib.py",
"chars": 362,
"preview": "import sys\nif sys.version_info[0] == 2:\n\timport urllib\n\turl_lib = urllib\nelif sys.version_info[0] == 3:\n\timport urllib.r"
},
{
"path": "scripts/update_localization.py",
"chars": 2979,
"preview": "import os, re, sys\nmatch = re.search('(.*)/', sys.argv[0])\nif match != None:\n\tos.chdir(match.group(1))\n\nsource_exts = [\""
},
{
"path": "src/base/detect.h",
"chars": 3962,
"preview": "/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */\n/* If you are missing th"
},
{
"path": "src/base/math.h",
"chars": 1509,
"preview": "/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */\n/* If you are missing th"
},
{
"path": "src/base/system.c",
"chars": 41139,
"preview": "/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */\n/* If you are missing th"
}
]
// ... and 427 more files (download for full content)
About this extraction
This page contains the full source code of the matricks/teeworlds GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 627 files (4.6 MB), approximately 1.2M tokens, and a symbol index with 1920 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.