├── Android.mk ├── LICENSE ├── Makefile ├── Makefile.common ├── Makefile.deps ├── Makefile.msvc ├── Makefile.orig ├── README.md ├── _clang-format ├── banner.bnr ├── build ├── Makefile.deps ├── buildlic.txt ├── doc │ ├── build.txt │ ├── build2.txt │ ├── buildinf.txt │ └── todo.txt ├── include │ ├── SDLMain.h │ ├── a.h │ ├── baselayer.h │ ├── build.h │ ├── buildtypes.h │ ├── cache1d.h │ ├── colmatch.h │ ├── common.h │ ├── compat.h │ ├── crc32.h │ ├── ctrlayer.h │ ├── dxdidf.h │ ├── dxtfilter.h │ ├── dynamicgtk.h │ ├── editor.h │ ├── glbuild.h │ ├── glext.h │ ├── gtkbits.h │ ├── gtkpixdata.h │ ├── gtkpixdata_shim.h │ ├── hightile.h │ ├── jwzgles.h │ ├── jwzglesI.h │ ├── kplib.h │ ├── libdivide.h │ ├── lunatic.h │ ├── lz4.h │ ├── m32script.h │ ├── md4.h │ ├── mdsprite.h │ ├── mmulti.h │ ├── msvc │ │ ├── inttypes.h │ │ └── stdint.h │ ├── mutex.h │ ├── osd.h │ ├── osxbits.h │ ├── osxmain.h │ ├── polymer.h │ ├── polymost.h │ ├── pragmas.h │ ├── pragmas_arm.h │ ├── pragmas_ppc.h │ ├── pragmas_x86_gcc.h │ ├── pragmas_x86_msvc.h │ ├── prlights.h │ ├── rawinput.h │ ├── renderlayer.h │ ├── scancodes.h │ ├── scriptfile.h │ ├── sdl_inc.h │ ├── sdlappicon.h │ ├── sdlayer.h │ ├── startwin.editor.h │ ├── texcache.h │ ├── tracker.hpp │ ├── tracker_operator.hpp │ ├── tracker_operators.hpp │ ├── wiibits.h │ ├── winbits.h │ ├── winlayer.h │ └── xxhash.h └── src │ ├── SDLMain.m │ ├── a-c.c │ ├── a.masm │ ├── a.nasm │ ├── a64.yasm │ ├── baselayer.c │ ├── build.c │ ├── cache1d.c │ ├── colmatch.c │ ├── common.c │ ├── compat.c │ ├── config.c │ ├── crc32.c │ ├── ctrlayer.c │ ├── defs.c │ ├── dxtfilter.c │ ├── dynamicgtk.c │ ├── engine.c │ ├── engine_oldmap.h │ ├── engine_priv.h │ ├── glbuild.c │ ├── gtkbits.c │ ├── hightile.c │ ├── jwzgles.c │ ├── kplib.c │ ├── lunatic.c │ ├── lz4.c │ ├── md4.c │ ├── mdsprite.c │ ├── mingw_main.c │ ├── misc │ ├── enumdisplay.c │ ├── getdxdidf.c │ └── makesdlkeytrans.c │ ├── mmulti_null.c │ ├── mutex.c │ ├── osd.c │ ├── osxbits.m │ ├── polymer.c │ ├── polymost.c │ ├── pragmas.c │ ├── rawinput.c │ ├── scriptfile.c │ ├── sdlayer.c │ ├── sdlayer12.c │ ├── sdlkeytrans.c │ ├── smalltextfont.c │ ├── startgtk.editor.c │ ├── startosx.editor.m │ ├── startwin.editor.c │ ├── texcache.c │ ├── textfont.c │ ├── util │ ├── arttool.cc │ ├── ase_import.py │ ├── bin2c.cpp │ ├── bsuite.c │ ├── cacheinfo.c │ ├── checkdefs.sh │ ├── compat_tools.c │ ├── generateicon.c │ ├── givedepth.c │ ├── highpalookupmaker.py │ ├── kextract.c │ ├── kgroup.c │ ├── kmd2tool.c │ ├── md2tool.c │ ├── md3_export.py │ ├── mkpalette.c │ ├── prhighpal.py │ ├── transpal.c │ ├── unpackssi.c │ ├── vgafont.cpp │ ├── wad2art.c │ └── wad2map.c │ ├── voxmodel.c │ ├── wiibits.c │ ├── winbits.c │ ├── winlayer.c │ └── xxhash.c ├── cia.rsf ├── eduke32.sln ├── eduke32.vcxproj ├── eduke32.vcxproj.filters ├── icon.bin ├── icon.png ├── jit ├── ABOUT_THIS_DIR └── bcsave.lua ├── make_cia.sh ├── package ├── common │ ├── buildlic.txt │ └── gpl-2.0.txt ├── debug │ ├── win32 │ │ └── ebacktrace1.dll │ └── win64 │ │ └── ebacktrace1-64.dll └── sdk │ ├── SEHELP.HLP │ ├── STHELP.HLP │ ├── m32help.hlp │ ├── names.h │ ├── samples │ ├── _clipshape0.map │ ├── a.m32 │ ├── aspect.map │ ├── duke3d.def.sample │ ├── dump_used_assets.m32 │ ├── enhance.con.sample │ ├── m32script_ex.map │ ├── r_usenewshading.map │ ├── ror.map │ ├── splitscr.con │ ├── spriteclip.txt │ ├── startpos.m32 │ ├── test_tileoffsets.map │ ├── tests.m32 │ ├── trueror1.map │ └── weapons.con.sample │ └── tiles.cfg ├── platform ├── Apple │ ├── EDuke32.xcodeproj │ │ └── project.pbxproj │ ├── bundles │ │ ├── EDuke32.app │ │ │ └── Contents │ │ │ │ ├── Info.plist │ │ │ │ ├── PkgInfo │ │ │ │ └── Resources │ │ │ │ ├── alternate.icns │ │ │ │ ├── eduke32.icns │ │ │ │ ├── game.osxmain.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── game.png │ │ │ │ ├── orange.icns │ │ │ │ └── startwin.game.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ └── Mapster32.app │ │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── PkgInfo │ │ │ └── Resources │ │ │ ├── alternate.icns │ │ │ ├── build.osxmain.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ │ ├── build.png │ │ │ ├── mapster32.icns │ │ │ ├── orange.icns │ │ │ └── startwin.editor.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ └── iOS │ │ ├── Images.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── LaunchImage.launchimage │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── en.lproj │ │ └── InfoPlist.strings ├── Wii │ ├── apps │ │ ├── eduke32 │ │ │ └── icon.png │ │ └── mapster32 │ │ │ └── icon.png │ ├── eduke32_meta_1.xml │ ├── eduke32_meta_2.xml │ ├── include │ │ ├── SDL │ │ │ ├── SDL.h │ │ │ ├── SDL_active.h │ │ │ ├── SDL_audio.h │ │ │ ├── SDL_byteorder.h │ │ │ ├── SDL_cdrom.h │ │ │ ├── SDL_config.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_wii.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_mixer.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 │ │ ├── png.h │ │ ├── pngconf.h │ │ ├── pnglibconf.h │ │ ├── tremor │ │ │ ├── config_types.h │ │ │ ├── ivorbiscodec.h │ │ │ ├── ivorbisfile.h │ │ │ ├── ogg.h │ │ │ └── os_types.h │ │ ├── zconf.h │ │ └── zlib.h │ ├── lib │ │ ├── libSDL.a │ │ ├── libSDL_mixer.a │ │ ├── libaesnd_tueidj.a │ │ ├── libpng.a │ │ ├── libvorbisidec.a │ │ └── libz.a │ ├── mapster32_meta_1.xml │ ├── mapster32_meta_2.xml │ ├── notes.txt │ └── xcopy_exclude.txt ├── Windows │ ├── include │ │ ├── SDL2 │ │ │ ├── SDL.h │ │ │ ├── SDL_assert.h │ │ │ ├── SDL_atomic.h │ │ │ ├── SDL_audio.h │ │ │ ├── SDL_bits.h │ │ │ ├── SDL_blendmode.h │ │ │ ├── SDL_clipboard.h │ │ │ ├── SDL_config.h │ │ │ ├── SDL_cpuinfo.h │ │ │ ├── SDL_endian.h │ │ │ ├── SDL_error.h │ │ │ ├── SDL_events.h │ │ │ ├── SDL_filesystem.h │ │ │ ├── SDL_gamecontroller.h │ │ │ ├── SDL_gesture.h │ │ │ ├── SDL_haptic.h │ │ │ ├── SDL_hints.h │ │ │ ├── SDL_joystick.h │ │ │ ├── SDL_keyboard.h │ │ │ ├── SDL_keycode.h │ │ │ ├── SDL_loadso.h │ │ │ ├── SDL_log.h │ │ │ ├── SDL_main.h │ │ │ ├── SDL_messagebox.h │ │ │ ├── SDL_mixer.h │ │ │ ├── SDL_mouse.h │ │ │ ├── SDL_mutex.h │ │ │ ├── SDL_name.h │ │ │ ├── SDL_opengl.h │ │ │ ├── SDL_opengles.h │ │ │ ├── SDL_opengles2.h │ │ │ ├── SDL_pixels.h │ │ │ ├── SDL_platform.h │ │ │ ├── SDL_power.h │ │ │ ├── SDL_quit.h │ │ │ ├── SDL_rect.h │ │ │ ├── SDL_render.h │ │ │ ├── SDL_revision.h │ │ │ ├── SDL_rwops.h │ │ │ ├── SDL_scancode.h │ │ │ ├── SDL_shape.h │ │ │ ├── SDL_stdinc.h │ │ │ ├── SDL_surface.h │ │ │ ├── SDL_system.h │ │ │ ├── SDL_syswm.h │ │ │ ├── SDL_test.h │ │ │ ├── SDL_test_assert.h │ │ │ ├── SDL_test_common.h │ │ │ ├── SDL_test_compare.h │ │ │ ├── SDL_test_crc32.h │ │ │ ├── SDL_test_font.h │ │ │ ├── SDL_test_fuzzer.h │ │ │ ├── SDL_test_harness.h │ │ │ ├── SDL_test_images.h │ │ │ ├── SDL_test_log.h │ │ │ ├── SDL_test_md5.h │ │ │ ├── SDL_test_random.h │ │ │ ├── SDL_thread.h │ │ │ ├── SDL_timer.h │ │ │ ├── SDL_touch.h │ │ │ ├── SDL_types.h │ │ │ ├── SDL_version.h │ │ │ ├── SDL_video.h │ │ │ ├── begin_code.h │ │ │ └── close_code.h │ │ ├── dx │ │ │ ├── ddraw.h │ │ │ ├── dinput.h │ │ │ ├── dsound.h │ │ │ └── dx_compat.h │ │ ├── luajit-2.0 │ │ │ ├── lauxlib.h │ │ │ ├── lua.h │ │ │ ├── lua.hpp │ │ │ ├── luaconf.h │ │ │ ├── luajit.h │ │ │ └── lualib.h │ │ ├── png.h │ │ ├── pngconf.h │ │ ├── pnglibconf.h │ │ └── vpx │ │ │ ├── vp8.h │ │ │ ├── vp8dx.h │ │ │ ├── vpx_codec.h │ │ │ ├── vpx_decoder.h │ │ │ ├── vpx_image.h │ │ │ └── vpx_integer.h │ ├── lib │ │ ├── 32 │ │ │ ├── SDL_mixer.lib │ │ │ ├── libSDL2.a │ │ │ ├── libSDL2_mixer.a │ │ │ ├── libSDL2main.a │ │ │ ├── libcompat-to-msvc.a │ │ │ ├── libdsound.a │ │ │ ├── libdxguid.a │ │ │ ├── libdxguid_sdl.a │ │ │ ├── liblpeg.a │ │ │ ├── libluajit.a │ │ │ ├── libpng_mini.a │ │ │ ├── libvpx.a │ │ │ └── libz_mini.a │ │ ├── 64 │ │ │ ├── SDL_mixer.lib │ │ │ ├── libSDL2.a │ │ │ ├── libSDL2_mixer.a │ │ │ ├── libSDL2main.a │ │ │ ├── libcompat-to-msvc.a │ │ │ ├── libdsound.a │ │ │ ├── libdxguid.a │ │ │ ├── libdxguid_sdl.a │ │ │ ├── liblpeg.a │ │ │ ├── libluajit.a │ │ │ ├── libpng_mini.a │ │ │ ├── libvpx.a │ │ │ └── libz_mini.a │ │ ├── instructions.txt │ │ ├── libvpx with MinGW-w64.patch │ │ └── minipng.dfa │ └── src │ │ ├── _dbg_LOAD_IMAGE.h │ │ ├── _dbg_common.h │ │ ├── backtrace.c │ │ ├── compat-to-msvc │ │ ├── Makefile │ │ ├── dll_dependency.S │ │ ├── dll_math.c │ │ ├── io_math.c │ │ └── vsnprintf.c │ │ └── dxlibs │ │ ├── Makefile │ │ ├── d3d8.def │ │ ├── d3dx8d.def │ │ ├── d3dxof.def │ │ ├── ddraw.def │ │ ├── dinput.c │ │ ├── dinput.def │ │ ├── dinput8.def │ │ ├── dplayx.def │ │ ├── dpnaddr.def │ │ ├── dpnet.def │ │ ├── dpnlobby.def │ │ ├── dpvoice.def │ │ ├── dsetup.def │ │ ├── dsound.def │ │ ├── dxguid.c │ │ ├── dxguid_sdl.c │ │ └── readme.txt ├── osxbuild.sh └── wiibuild.bat ├── rsrc ├── 32 │ ├── manifest.build.xml │ └── manifest.game.xml ├── 64 │ ├── manifest.build.xml │ └── manifest.game.xml ├── build.bmp ├── build_icon.c ├── build_icon.ico ├── eduke32_icon.c ├── eduke32_icon_32px.c ├── eduke32_icon_48px.c ├── game.bmp ├── game_icon.c ├── game_icon.ico └── source │ ├── EDuke32_logo_21_large.psd │ ├── EDuke32_logo_21_large_blue.psd │ ├── EDuke32_logo_21_large_opaque.psd │ ├── game2.psd │ ├── game3.psd │ └── wii-hbc-icon.xcf └── source ├── GameListSource.game.h ├── GameListSource.game.m ├── GrpFile.game.h ├── GrpFile.game.m ├── _functio.h ├── _midi.h ├── _rts.h ├── actors.c ├── actors.h ├── actors_inline.c ├── actors_inline.h ├── android.h ├── android ├── android-jni.cpp ├── in_android.c └── in_android.h ├── anim.c ├── anim.h ├── animsounds.c ├── animsounds.h ├── animvpx.c ├── animvpx.h ├── astub.c ├── common.c ├── common_game.h ├── config.c ├── config.h ├── ctrmusic.c ├── demo.c ├── demo.h ├── duke3d.h ├── enet ├── LICENSE ├── include │ └── enet │ │ ├── callbacks.h │ │ ├── enet.h │ │ ├── list.h │ │ ├── protocol.h │ │ ├── time.h │ │ ├── types.h │ │ ├── unix.h │ │ ├── utility.h │ │ └── win32.h └── src │ ├── callbacks.c │ ├── compress.c │ ├── host.c │ ├── list.c │ ├── packet.c │ ├── peer.c │ ├── protocol.c │ ├── unix.c │ └── win32.c ├── events_defs.h ├── function.h ├── game.c ├── game.h ├── game_inline.c ├── game_inline.h ├── gamedef.c ├── gamedef.h ├── gamedefs.h ├── gameexec.c ├── gameexec.h ├── gamestructures.c ├── gamevars.c ├── gamevars.h ├── global.c ├── global.h ├── gpl-2.0.txt ├── grpscan.c ├── grpscan.h ├── input.c ├── input.h ├── jaudiolib ├── gpl-2.0.txt ├── include │ ├── drivers.h │ ├── fx_man.h │ └── music.h ├── src │ ├── _multivc.h │ ├── driver_ctr.c │ ├── driver_ctr.h │ ├── driver_directsound.c │ ├── driver_directsound.h │ ├── driver_nosound.c │ ├── driver_nosound.h │ ├── driver_sdl.c │ ├── driver_sdl.h │ ├── drivers.c │ ├── flac.c │ ├── formats.c │ ├── fx_man.c │ ├── linklist.h │ ├── mix.c │ ├── mixst.c │ ├── multivoc.c │ ├── multivoc.h │ ├── pitch.c │ ├── pitch.h │ ├── vorbis.c │ └── xa.c └── third-party │ ├── Windows │ └── lib │ │ ├── 32 │ │ ├── libFLAC.a │ │ ├── libogg.a │ │ ├── libvorbis.a │ │ └── libvorbisfile.a │ │ ├── 64 │ │ ├── libFLAC.a │ │ ├── libogg.a │ │ ├── libvorbis.a │ │ └── libvorbisfile.a │ │ └── instructions.txt │ └── common │ └── include │ ├── FLAC │ ├── all.h │ ├── assert.h │ ├── callback.h │ ├── export.h │ ├── format.h │ ├── metadata.h │ ├── ordinals.h │ ├── stream_decoder.h │ └── stream_encoder.h │ ├── ogg │ ├── config_types.h │ ├── ogg.h │ └── os_types.h │ └── vorbis │ ├── codec.h │ └── vorbisfile.h ├── jmact ├── _control.h ├── _scrplib.h ├── animlib.c ├── animlib.h ├── control.c ├── control.h ├── file_lib.c ├── file_lib.h ├── gpl-2.0.txt ├── joystick.c ├── joystick.h ├── keyboard.c ├── keyboard.h ├── mouse.c ├── mouse.h ├── scriplib.c └── scriplib.h ├── keys.h ├── lunatic ├── bcarray.lua ├── bcheck.lua ├── bitar.lua ├── con_lang.lua ├── control.lua ├── defs.ilua ├── defs_common.lua ├── defs_m32.ilua ├── dis_x64.lua ├── dis_x86.lua ├── doc │ ├── Makefile │ ├── din_w_collapse.png │ ├── din_w_crushing.png │ ├── din_w_explosive.png │ ├── din_w_toxic.png │ ├── how_to_build_lunatic.txt │ ├── lpeg-lunatic.patch │ ├── lunacon.txt │ ├── lunatic.conf │ ├── lunatic.txt │ └── lunatic_sh.style ├── dump.lua ├── dynsymlist ├── dynsymlist_m32 ├── engine.lua ├── engine_maptext.lua ├── fs.lua ├── listglobals.sh ├── lunacon.lua ├── lunatic_game.c ├── lunatic_game.h ├── lunatic_m32.c ├── lunatic_m32.h ├── m32 │ ├── compinside.lua │ └── randwalk.lua ├── profdemo.lua ├── randgen.lua ├── savegame.lua ├── stat.lua ├── strict.lua ├── test.lua ├── test │ ├── animatesprites.con │ ├── checknearwall.con │ ├── damagehplane.lua │ ├── dangling_else.con │ ├── delmusicsfx.lua │ ├── else_brace_if.con │ ├── event_chaining.con │ ├── gamearray.con │ ├── gettimedate.con │ ├── getuserdef.con │ ├── helixspawner.lua │ ├── mapstate.con │ ├── maputil.lua │ ├── nlcf_break.con │ ├── nlcf_return.con │ ├── qgetsysstr.con │ ├── qsubstr.con │ ├── quote_ops.con │ ├── rotfixed_actor.con │ ├── screentext.con │ ├── shadexfog.lua │ ├── sprite_access.con │ ├── sprite_addtv.con │ ├── switch.con │ ├── tables.lua │ ├── test_bitar.lua │ ├── test_dists.lua │ ├── test_geom.lua │ ├── test_rotspr.lua │ ├── thisactor_getzrange.con │ └── weaponvars.con ├── util │ ├── bigytiles.lua │ ├── build.lua │ ├── cmpart.lua │ ├── colenemy.lua │ ├── findmaps.sh │ ├── foreachmap.lua │ ├── map2text.lua │ ├── mapastats.lua │ ├── mapdiff.sh │ ├── mapstats.lua │ ├── mapypan.lua │ └── plax.lua ├── v.lua └── xmath.lua ├── m32common.c ├── m32def.c ├── m32def.h ├── m32exec.c ├── m32structures.c ├── m32vars.c ├── macros.h ├── mapster32.h ├── mdump.cpp ├── mdump.h ├── menus.c ├── menus.h ├── midi.c ├── midi.h ├── misc ├── buildres.rc └── gameres.rc ├── mpu401.c ├── mpu401.h ├── music.c ├── names.h ├── namesdyn.c ├── namesdyn.h ├── net.c ├── net.h ├── old.diff ├── osdcmds.c ├── osdcmds.h ├── osdfuncs.c ├── osdfuncs.h ├── player.c ├── player.h ├── premap.c ├── premap.h ├── quotes.h ├── rev.c ├── rts.c ├── rts.h ├── savegame.c ├── savegame.h ├── sdlmusic.c ├── sector.c ├── sector.h ├── sector_inline.c ├── sector_inline.h ├── soundefs.h ├── sounds.c ├── sounds.h ├── sounds_common.h ├── sounds_mapster32.c ├── sounds_mapster32.h ├── soundsdyn.c ├── soundsdyn.h ├── standard.h ├── startgtk.game.c ├── startosx.game.m ├── startwin.game.c ├── startwin.game.h ├── sw ├── Makefile.deps ├── gpl-2.0.txt ├── rsrc │ ├── 32 │ │ ├── manifest.build.xml │ │ └── manifest.game.xml │ ├── 64 │ │ ├── manifest.build.xml │ │ └── manifest.game.xml │ ├── build.bmp │ ├── buildres.rc │ ├── game.bmp │ ├── game_icon.c │ ├── game_icon.ico │ ├── game_icon.png │ ├── game_icon.svg │ └── gameres.rc └── src │ ├── GameListSource.game.h │ ├── GameListSource.game.m │ ├── GrpFile.game.h │ ├── GrpFile.game.m │ ├── StartupWinController.game.m │ ├── _config.h │ ├── _functio.h │ ├── _rts.h │ ├── actor.c │ ├── actor.h │ ├── ai.c │ ├── ai.h │ ├── ambient.h │ ├── anim.c │ ├── anim.h │ ├── bldscript.c │ ├── border.c │ ├── bots.h │ ├── break.c │ ├── break.h │ ├── brooms.c │ ├── bunny.c │ ├── cache.c │ ├── cache.h │ ├── cheats.c │ ├── colormap.c │ ├── colormap.h │ ├── common.c │ ├── common_game.h │ ├── config.c │ ├── config.h │ ├── conpic.h │ ├── console.c │ ├── coolg.c │ ├── coolie.c │ ├── copysect.c │ ├── damage.h │ ├── demo.c │ ├── demo.h │ ├── digi.h │ ├── draw.c │ ├── eel.c │ ├── function.h │ ├── game.c │ ├── game.h │ ├── gamedefs.h │ ├── girlninj.c │ ├── goro.c │ ├── grpscan.c │ ├── grpscan.h │ ├── hornet.c │ ├── interp.c │ ├── interp.h │ ├── interpsh.c │ ├── inv.c │ ├── inv.h │ ├── jbhlp.c │ ├── jnames.h │ ├── jnstub.c │ ├── jplayer.c │ ├── jsector.c │ ├── jsector.h │ ├── jtags.h │ ├── jweapon.c │ ├── keys.h │ ├── lava.c │ ├── light.c │ ├── light.h │ ├── lists.h │ ├── mclip.c │ ├── mclip.h │ ├── mdastr.c │ ├── menus.c │ ├── menus.h │ ├── mfile.h │ ├── miscactr.c │ ├── morph.c │ ├── mytypes.h │ ├── names.h │ ├── names2.h │ ├── net.c │ ├── net.h │ ├── ninja.c │ ├── ninja.h │ ├── pal.h │ ├── panel.c │ ├── panel.h │ ├── parent.h │ ├── parse.h │ ├── player.c │ ├── player.h │ ├── predict.c │ ├── quake.c │ ├── quake.h │ ├── reserve.h │ ├── ripper.c │ ├── ripper2.c │ ├── rooms.c │ ├── rotator.c │ ├── rts.c │ ├── rts.h │ ├── save.c │ ├── saveable.c │ ├── saveable.h │ ├── savedef.h │ ├── scrip2.c │ ├── sector.c │ ├── sector.h │ ├── serp.c │ ├── settings.h │ ├── setup.c │ ├── skel.c │ ├── skull.c │ ├── slidor.c │ ├── slidor.h │ ├── sounds.c │ ├── sounds.h │ ├── spike.c │ ├── sprite.c │ ├── sprite.h │ ├── stag.h │ ├── startgtk.game.c │ ├── startwin.game.c │ ├── startwin.game.h │ ├── sumo.c │ ├── sw_strs.h │ ├── swconfig.c │ ├── sync.c │ ├── tags.h │ ├── text.c │ ├── text.h │ ├── track.c │ ├── track.h │ ├── trigger.h │ ├── vator.c │ ├── vis.c │ ├── vis.h │ ├── wallmove.c │ ├── warp.c │ ├── warp.h │ ├── weapon.c │ ├── weapon.h │ ├── zilla.c │ └── zombie.c ├── testgame ├── buildlic.txt ├── rsrc │ ├── 32 │ │ ├── manifest.build.xml │ │ └── manifest.game.xml │ ├── 64 │ │ ├── manifest.build.xml │ │ └── manifest.game.xml │ ├── build.bmp │ ├── build.xcf │ ├── build_icon.c │ ├── build_icon.icns │ ├── build_icon.ico │ ├── build_icon.png │ ├── build_icon.xcf │ ├── buildres.rc │ ├── game.bmp │ ├── game.xcf │ ├── game32_icon.c │ ├── game_icon.c │ ├── game_icon.ico │ ├── game_icon.png │ └── gameres.rc └── src │ ├── StartupWinController.game.m │ ├── bstub.c │ ├── common.c │ ├── common_game.h │ ├── config.c │ ├── game.c │ ├── game.h │ ├── names.h │ ├── sound_stub.c │ ├── startgtk.game.c │ ├── startwin.game.c │ └── startwin.game.h ├── util └── ivfrate.c ├── valgrind_errors.log └── winbits.c /README.md: -------------------------------------------------------------------------------- 1 | # EDuke3D 2 | Unofficial port of EDuke32 for the Nintendo 3DS 3 | 4 | ## Installation guide 5 | - Follow the guide for running homebrew at [http://smealum.github.io/3ds/](http://smealum.github.io/3ds/) 6 | - Download the latest zip from the [releases page](https://github.com/masterfeizz/EDuke3D/releases) 7 | - Extract the zip to the root of your SD card 8 | - Launch EDuke3D from the Homebrew Launcher 9 | 10 | ## CIA Notes 11 | - The game files are still required, so follow the instructions above on how to install them. 12 | - The CIA version requires a dumped DSP firmware, use [DSP Dump](https://github.com/Cruel/DspDump) to get it. 13 | 14 | ## Credits 15 | Felipe Izzo (MasterFeizz) - Main developer 16 | 17 | ## Thanks to 18 | 3D Realms - Duke Nukem 3D 19 | 20 | Everyone involved in the EDuke32 project 21 | 22 | Smealum and everyone involved in the development of ctrulib -------------------------------------------------------------------------------- /_clang-format: -------------------------------------------------------------------------------- 1 | AlignEscapedNewlinesLeft: false 2 | AlignTrailingComments: true 3 | AllowAllParametersOfDeclarationOnNextLine: true 4 | AllowShortCaseLabelsOnASingleLine: true 5 | AllowShortFunctionsOnASingleLine: true 6 | AllowShortIfStatementsOnASingleLine: false 7 | AllowShortLoopsOnASingleLine: true 8 | AlwaysBreakBeforeMultilineStrings: false 9 | AlwaysBreakTemplateDeclarations: false 10 | BinPackArguments: true 11 | BinPackParameters: true 12 | BreakBeforeBinaryOperators: false 13 | BreakBeforeBraces: Allman 14 | BreakBeforeTernaryOperators: false 15 | BreakConstructorInitializersBeforeComma: false 16 | ColumnLimit: 120 17 | ConstructorInitializerAllOnOneLineOrOnePerLine: false 18 | ConstructorInitializerIndentWidth: 0 19 | ContinuationIndentWidth: 0 20 | Cpp11BracedListStyle: false 21 | DerivePointerBinding: false 22 | IndentCaseLabels: true 23 | IndentFunctionDeclarationAfterType: true 24 | IndentWidth: 4 25 | KeepEmptyLinesAtTheStartOfBlocks: false 26 | Language: Cpp 27 | MaxEmptyLinesToKeep: 2 28 | NamespaceIndentation: None 29 | PointerAlignment: Middle 30 | PointerBindsToType: false 31 | SpaceBeforeParens: ControlStatements 32 | SpaceInEmptyParentheses: false 33 | SpacesBeforeTrailingComments: 2 34 | SpacesInAngles: false 35 | SpacesInCStyleCastParentheses: false 36 | SpacesInContainerLiterals: false 37 | SpacesInParentheses: false 38 | SpacesInSquareBrackets: false 39 | TabWidth: 4 40 | UseTab: Never 41 | -------------------------------------------------------------------------------- /banner.bnr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/banner.bnr -------------------------------------------------------------------------------- /build/doc/build.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/build/doc/build.txt -------------------------------------------------------------------------------- /build/doc/build2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/build/doc/build2.txt -------------------------------------------------------------------------------- /build/doc/buildinf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/build/doc/buildinf.txt -------------------------------------------------------------------------------- /build/doc/todo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/build/doc/todo.txt -------------------------------------------------------------------------------- /build/include/SDLMain.h: -------------------------------------------------------------------------------- 1 | /* SDLMain.m - main entry point for our Cocoa-ized SDL app 2 | Initial Version: Darrell Walisser 3 | Non-NIB-Code & other changes: Max Horn 4 | 5 | Feel free to customize this file to suit your needs 6 | */ 7 | 8 | #ifndef _SDLMain_h_ 9 | #define _SDLMain_h_ 10 | 11 | #import 12 | 13 | @interface SDLMain : NSObject 14 | @end 15 | 16 | #endif /* _SDLMain_h_ */ 17 | -------------------------------------------------------------------------------- /build/include/colmatch.h: -------------------------------------------------------------------------------- 1 | 2 | #include "compat.h" 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | extern void initfastcolorlookup_scale(int32_t rscale, int32_t gscale, int32_t bscale); 9 | extern void initfastcolorlookup_palette(uint8_t const * pal) ATTRIBUTE((nonnull(1))); 10 | extern void initfastcolorlookup_gridvectors(void); 11 | 12 | extern int32_t getclosestcol_lim(int32_t r, int32_t g, int32_t b, int32_t lastokcol); 13 | extern int32_t getclosestcol_nocache_lim(int32_t r, int32_t g, int32_t b, int32_t lastokcol); 14 | extern void getclosestcol_flush(void); 15 | 16 | FORCE_INLINE int32_t getclosestcol(int32_t r, int32_t g, int32_t b) 17 | { 18 | return getclosestcol_lim(r, g, b, 255); 19 | } 20 | FORCE_INLINE int32_t getclosestcol_nocache(int32_t r, int32_t g, int32_t b) 21 | { 22 | return getclosestcol_nocache_lim(r, g, b, 255); 23 | } 24 | 25 | #ifdef __cplusplus 26 | } 27 | #endif 28 | -------------------------------------------------------------------------------- /build/include/crc32.h: -------------------------------------------------------------------------------- 1 | #ifndef crc32_h_ 2 | #define crc32_h_ 3 | 4 | #include "compat.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | #define POLY 0xEDB88320 11 | 12 | #ifdef BITNESS64 13 | extern uint32_t crc32table[8][256]; 14 | #else 15 | extern uint32_t crc32table[4][256]; 16 | #endif 17 | 18 | extern uint32_t Bcrc32(const void* data, size_t length, uint32_t crc); 19 | extern void initcrc32table(void); 20 | 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /build/include/ctrlayer.h: -------------------------------------------------------------------------------- 1 | #ifndef build_interface_layer_ 2 | #define build_interface_layer_ CTR 3 | 4 | #include "compat.h" 5 | #include "baselayer.h" 6 | 7 | static inline void idle(void) 8 | { 9 | svcSleepThread(10000); 10 | } 11 | 12 | #endif // build_interface_layer_ -------------------------------------------------------------------------------- /build/include/dxtfilter.h: -------------------------------------------------------------------------------- 1 | int32_t dxtfilter(int32_t fil, const texcachepicture *pict, const char *pic, void *midbuf, char *packbuf, uint32_t miplen); 2 | int32_t dedxtfilter(int32_t fil, const texcachepicture *pict, char *pic, void *midbuf, char *packbuf, int32_t ispacked); 3 | -------------------------------------------------------------------------------- /build/include/gtkbits.h: -------------------------------------------------------------------------------- 1 | #ifndef gtkbits_h_ 2 | #define gtkbits_h_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | extern void gtkbuild_init(int32_t *argc, char ***argv); 9 | extern void gtkbuild_exit(int32_t r); 10 | extern int32_t gtkbuild_msgbox(const char *name, const char *msg); 11 | extern int32_t gtkbuild_ynbox(const char *name, const char *msg); 12 | 13 | #ifdef __cplusplus 14 | } 15 | #endif 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /build/include/gtkpixdata.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | 7 | typedef struct _EDuke32_GdkPixdata EDuke32_GdkPixdata; 8 | struct _EDuke32_GdkPixdata 9 | { 10 | guint32 magic; 11 | gint32 length; 12 | guint32 pixdata_type; 13 | guint32 rowstride; 14 | guint32 width; 15 | guint32 height; 16 | const char *pixel_data; 17 | }; 18 | 19 | extern const EDuke32_GdkPixdata startbanner_pixdata; 20 | 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | 25 | -------------------------------------------------------------------------------- /build/include/gtkpixdata_shim.h: -------------------------------------------------------------------------------- 1 | #include "gtkpixdata.h" 2 | 3 | #define GdkPixdata EDuke32_GdkPixdata 4 | 5 | -------------------------------------------------------------------------------- /build/include/lunatic.h: -------------------------------------------------------------------------------- 1 | /* The Lunatic Interpreter, part of EDuke32. Common, engine-side stuff. */ 2 | 3 | #ifndef ENGINE_LUNATIC_H_ 4 | #define ENGINE_LUNATIC_H_ 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | #ifdef USE_LUAJIT_2_1 11 | # include 12 | #else 13 | # include 14 | #endif 15 | 16 | #ifdef __cplusplus 17 | } 18 | #endif 19 | 20 | 21 | typedef struct 22 | { 23 | char *name; 24 | lua_State *L; 25 | } L_State; 26 | 27 | 28 | // -- functions -- 29 | 30 | // helpers taking the lua_State directly: 31 | void L_PushDebugTraceback(lua_State *L); 32 | void L_CheckAndRegisterFunction(lua_State *L, void *regkeyaddr); 33 | int L_HandleError(lua_State *L, int errcode, void (*ErrorPrintFunc)(const char *)); 34 | 35 | // Callback on Lua error. must be used immediately or strdup'd. 36 | extern void (*L_ErrorFunc)(const char *str); 37 | // Out-of-memory handler, supposed to terminate the host program. 38 | extern void (*L_OutOfMemFunc)(void); 39 | 40 | int L_CreateState(L_State *estate, const char *name, void (*StateSetupFunc)(lua_State *)); 41 | void L_DestroyState(L_State *estate); 42 | int L_RunOnce(L_State *estate, const char *fn); 43 | int L_RunString(L_State *estate, char *buf, int dofreebuf, int size, const char *name); 44 | 45 | static inline int L_IsInitialized(const L_State *estate) { return (estate->L != NULL); } 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /build/include/mmulti.h: -------------------------------------------------------------------------------- 1 | // mmulti.h 2 | 3 | #ifndef mmulti_h_ 4 | #define mmulti_h_ 5 | 6 | #define MAXMULTIPLAYERS 16 7 | 8 | extern int myconnectindex, numplayers; 9 | extern int connecthead, connectpoint2[MAXMULTIPLAYERS]; 10 | extern unsigned char syncstate; 11 | 12 | int initmultiplayersparms(int argc, char const * const argv[]); 13 | int initmultiplayerscycle(void); 14 | 15 | void initmultiplayers(int argc, char const * const argv[], unsigned char damultioption, unsigned char dacomrateoption, unsigned char dapriority); 16 | void setpackettimeout(int datimeoutcount, int daresendagaincount); 17 | void uninitmultiplayers(void); 18 | void sendlogon(void); 19 | void sendlogoff(void); 20 | int getoutputcirclesize(void); 21 | void setsocket(int newsocket); 22 | void sendpacket(int other, unsigned char *bufptr, int messleng); 23 | int getpacket(int *other, unsigned char *bufptr); 24 | void flushpackets(void); 25 | void genericmultifunction(int other, unsigned char *bufptr, int messleng, int command); 26 | int isvalidipaddress(const char *st); 27 | 28 | #endif // mmulti_h_ 29 | 30 | -------------------------------------------------------------------------------- /build/include/mutex.h: -------------------------------------------------------------------------------- 1 | #ifndef mutex_h_ 2 | #define mutex_h_ 3 | 4 | /* Mutual exclusion mechanism wrappers for the different platforms */ 5 | 6 | #ifdef RENDERTYPEWIN 7 | # include 8 | # include 9 | #elif defined _3DS 10 | # include <3ds.h> 11 | #else 12 | # define SDL_MAIN_HANDLED 13 | # include "sdl_inc.h" 14 | #endif 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | #ifdef RENDERTYPEWIN 21 | typedef HANDLE mutex_t; 22 | #elif defined _3DS 23 | typedef Handle mutex_t; 24 | #else 25 | /* PK: I don't like pointer typedefs, but SDL_CreateMutex() _returns_ one, 26 | * so we're out of luck with our interface. */ 27 | typedef SDL_mutex* mutex_t; 28 | #endif 29 | 30 | extern int32_t mutex_init(mutex_t *mutex); 31 | extern int32_t mutex_lock(mutex_t *mutex); 32 | extern int32_t mutex_unlock(mutex_t *mutex); 33 | 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /build/include/osxbits.h: -------------------------------------------------------------------------------- 1 | #ifndef osxbits_h_ 2 | #define osxbits_h_ 3 | #include 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | int32_t osx_msgbox(const char *name, const char *msg); 10 | int32_t osx_ynbox(const char *name, const char *msg); 11 | 12 | char *osx_gethomedir(void); 13 | char *osx_getsupportdir(int32_t local); 14 | char *osx_getappdir(void); 15 | char *osx_getapplicationsdir(int32_t local); 16 | 17 | #ifdef __cplusplus 18 | } 19 | #endif 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /build/include/osxmain.h: -------------------------------------------------------------------------------- 1 | /* SDLMain.m - main entry point for our Cocoa-ized SDL app 2 | Initial Version: Darrell Walisser 3 | Non-NIB-Code & other changes: Max Horn 4 | 5 | Feel free to customize this file to suit your needs 6 | */ 7 | 8 | #import 9 | 10 | @interface SDLMain : NSObject 11 | @end 12 | -------------------------------------------------------------------------------- /build/include/prlights.h: -------------------------------------------------------------------------------- 1 | // LIGHTS 2 | #ifndef prlight_h_ 3 | # define prlight_h_ 4 | 5 | #define PR_MAXLIGHTS 1024 6 | #define SHADOW_DEPTH_OFFSET 30 7 | #define PR_MAXLIGHTPRIORITY 6 8 | 9 | typedef struct s_prplanelist { 10 | struct s_prplane* plane; 11 | struct s_prplanelist* n; 12 | } _prplanelist; 13 | 14 | #pragma pack(push,1) 15 | typedef struct s_prlight { 16 | int32_t x, y, z, horiz, range; 17 | int16_t angle, faderadius, radius, sector; 18 | uint8_t color[3], priority; 19 | int8_t minshade, maxshade; 20 | int16_t tilenum; 21 | struct { 22 | int32_t emitshadow : 1; 23 | int32_t negative : 1; 24 | } publicflags; 25 | // internal members 26 | float proj[16]; 27 | float transform[16]; 28 | float frustum[5 * 4]; 29 | int32_t rtindex; 30 | struct { 31 | int32_t active : 1; 32 | int32_t invalidate : 1; 33 | int32_t isinview : 1; 34 | } flags; 35 | uint32_t lightmap; 36 | _prplanelist* planelist; 37 | int32_t planecount; 38 | } _prlight; 39 | 40 | extern _prlight prlights[PR_MAXLIGHTS]; 41 | extern int32_t lightcount; 42 | #pragma pack(pop) 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /build/include/rawinput.h: -------------------------------------------------------------------------------- 1 | #ifndef rawinput_h_ 2 | #define rawinput_h_ 3 | 4 | #include "compat.h" 5 | 6 | void RI_PollDevices(BOOL loop); 7 | void RI_ProcessMessage(MSG *msg); 8 | BOOL RI_CaptureInput(BOOL grab, HWND target); 9 | 10 | #ifndef VK_LBUTTON 11 | #define VK_LBUTTON 0x01 12 | #endif 13 | #ifndef VK_RBUTTON 14 | #define VK_RBUTTON 0x02 15 | #endif 16 | #ifndef VK_CANCEL 17 | #define VK_CANCEL 0x03 18 | #endif 19 | #ifndef VK_MBUTTON 20 | #define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */ 21 | #endif 22 | 23 | #endif // rawinput_h_ 24 | 25 | -------------------------------------------------------------------------------- /build/include/renderlayer.h: -------------------------------------------------------------------------------- 1 | 2 | #ifdef RENDERTYPEWIN 3 | # include "winlayer.h" 4 | #elif defined _3DS 5 | # include "ctrlayer.h" 6 | #else 7 | # include "sdlayer.h" 8 | #endif 9 | 10 | #undef STARTUP_SETUP_WINDOW 11 | #if defined _WIN32 || (defined RENDERTYPESDL && ((defined __APPLE__ && defined OSX_STARTUPWINDOW) || defined HAVE_GTK2)) 12 | # define STARTUP_SETUP_WINDOW 13 | #endif 14 | 15 | #undef WM_MSGBOX_WINDOW 16 | #if defined _WIN32 || (defined RENDERTYPESDL && ((defined __APPLE__ && defined OSX_STARTUPWINDOW) || defined HAVE_GTK2 || SDL_MAJOR_VERSION==2)) 17 | # define WM_MSGBOX_WINDOW 18 | #endif 19 | -------------------------------------------------------------------------------- /build/include/scriptfile.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BUILD_SCRIPTFILE_H_ 3 | #define BUILD_SCRIPTFILE_H_ 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | typedef struct { 10 | char *textbuf; 11 | uint32_t textlength; 12 | char *ltextptr; // pointer to start of the last token fetched (use this for line numbers) 13 | char *textptr; 14 | char *eof; 15 | char *filename; 16 | int32_t linenum; 17 | int32_t *lineoffs; 18 | } scriptfile; 19 | 20 | char *scriptfile_gettoken(scriptfile *sf); 21 | int32_t scriptfile_getnumber(scriptfile *sf, int32_t *num); 22 | int32_t scriptfile_getdouble(scriptfile *sf, double *num); 23 | int32_t scriptfile_getstring(scriptfile *sf, char **st); 24 | int32_t scriptfile_getsymbol(scriptfile *sf, int32_t *num); 25 | int32_t scriptfile_getlinum(const scriptfile *sf, const char *ptr); 26 | int32_t scriptfile_getbraces(scriptfile *sf, char **braceend); 27 | 28 | scriptfile *scriptfile_fromfile(const char *fn); 29 | scriptfile *scriptfile_fromstring(const char *string); 30 | void scriptfile_close(scriptfile *sf); 31 | int32_t scriptfile_eof(scriptfile *sf); 32 | 33 | int32_t scriptfile_getsymbolvalue(char *name, int32_t *val); 34 | int32_t scriptfile_addsymbolvalue(char *name, int32_t val); 35 | void scriptfile_clearsymbols(void); 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /build/include/sdlappicon.h: -------------------------------------------------------------------------------- 1 | 2 | struct sdlappicon { 3 | int32_t width,height; 4 | uint8_t *pixels; 5 | }; 6 | -------------------------------------------------------------------------------- /build/include/startwin.editor.h: -------------------------------------------------------------------------------- 1 | // resource ids 2 | #define WIN_STARTWIN 1000 3 | #define WIN_STARTWINPAGE_CONFIG 2000 4 | #define WIN_STARTWIN_BITMAP 100 // banner bitmap 5 | #define WIN_STARTWIN_TABCTL 101 6 | #define WIN_STARTWIN_CANCEL IDCANCEL 7 | #define WIN_STARTWIN_START IDOK 8 | 9 | #define WIN_STARTWIN_MESSAGES 104 // output list box 10 | 11 | #define RSRC_ICON 100 12 | #define RSRC_BMP 200 13 | 14 | // config page 15 | #define IDCFULLSCREEN 100 16 | #define IDC2DVMODE 101 17 | #define IDC3DVMODE 102 18 | #define IDCALWAYSSHOW 103 19 | 20 | -------------------------------------------------------------------------------- /build/include/tracker_operator.hpp: -------------------------------------------------------------------------------- 1 | 2 | template 3 | inline TrackedType TRACKER_NAME_::operator TRACKER_OPERATOR_ (__TRACKER_RIGHTHAND_TYPE) 4 | { 5 | bool isNoop; 6 | 7 | switch (TRACKER_NOOP_) { 8 | case TRACKER_NOOP_RIGHTHAND_EQUAL_: 9 | isNoop = this->TrackedValue == __TRACKER_RIGHTHAND; 10 | break; 11 | case TRACKER_NOOP_RIGHTHAND_ZERO_: 12 | isNoop = __TRACKER_RIGHTHAND == 0; 13 | break; 14 | case TRACKER_NOOP_RIGHTHAND_ONE_: 15 | isNoop = __TRACKER_RIGHTHAND == 1; 16 | break; 17 | default: 18 | case __TRACKER_NEVER: 19 | isNoop = false; 20 | break; 21 | } 22 | 23 | if (!isNoop) { 24 | 25 | TRACKER_GLOBAL_HOOK_((uintptr_t)&this->TrackedValue); 26 | return (this->TrackedValue TRACKER_OPERATOR_ __TRACKER_RIGHTHAND); 27 | } else { 28 | return this->TrackedValue; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /build/include/wiibits.h: -------------------------------------------------------------------------------- 1 | 2 | #define HW_RVL 3 | 4 | #include "compat.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | void wii_open(void); 11 | void wii_initgamevideo(void); 12 | 13 | #ifdef __cplusplus 14 | } 15 | #endif 16 | -------------------------------------------------------------------------------- /build/include/winbits.h: -------------------------------------------------------------------------------- 1 | // Windows layer-independent code 2 | 3 | #include 4 | 5 | #define WindowClass "buildapp" 6 | 7 | extern int32_t backgroundidle; // set to 1 to tell winlayer to go to idle priority when inactive 8 | 9 | extern int64_t win_timerfreq; 10 | 11 | extern char silentvideomodeswitch; 12 | 13 | extern BOOL CheckWinVersion(void); 14 | extern void win_allowtaskswitching(int32_t onf); 15 | extern int32_t win_checkinstance(void); 16 | 17 | extern int32_t win_inittimer(void); 18 | extern uint64_t win_getu64ticks(void); 19 | 20 | extern void win_open(void); 21 | extern void win_init(void); 22 | extern void win_setvideomode(int32_t c); 23 | extern void win_uninit(void); 24 | extern void win_close(void); 25 | 26 | extern void ShowErrorBox(const char *m); 27 | 28 | extern LPTSTR GetWindowsErrorMsg(DWORD code); 29 | 30 | extern int32_t addsearchpath_ProgramFiles(const char *p); 31 | 32 | extern int32_t G_GetVersionFromWebsite(char *buffer); 33 | extern int32_t win_buildargs(char **argvbuf); -------------------------------------------------------------------------------- /build/include/winlayer.h: -------------------------------------------------------------------------------- 1 | // Windows DIB/DirectDraw interface layer for the Build Engine 2 | // Originally by Jonathon Fowler (jf@jonof.id.au) 3 | 4 | #ifndef build_interface_layer_ 5 | #define build_interface_layer_ WIN 6 | 7 | #define WIN32_LEAN_AND_MEAN 8 | #include 9 | 10 | extern uint32_t maxrefreshfreq; 11 | 12 | extern int32_t glusecds; 13 | 14 | extern char di_disabled; 15 | 16 | HWND win_gethwnd(void); 17 | HINSTANCE win_gethinstance(void); 18 | 19 | extern void idle_waitevent_timeout(uint32_t timeout); 20 | 21 | static inline void idle_waitevent(void) 22 | { 23 | idle_waitevent_timeout(100); 24 | } 25 | 26 | static inline void idle(void) 27 | { 28 | idle_waitevent(); 29 | } 30 | 31 | #include "baselayer.h" 32 | 33 | #else 34 | #if (build_interface_layer_ != WIN) 35 | #error "Already using the " build_interface_layer_ ". Can't now use Windows." 36 | #endif 37 | #endif // build_interface_layer_ 38 | 39 | -------------------------------------------------------------------------------- /build/src/misc/makesdlkeytrans.c: -------------------------------------------------------------------------------- 1 | // gcc b.c -Lc:/mingw32/lib -lmingw32 -lSDLmain -lSDL 2 | 3 | #include 4 | #include 5 | #include "sdl_inc.h" 6 | 7 | #include "sdlkeytrans.c" 8 | 9 | #undef main 10 | 11 | int main(void) 12 | { 13 | unsigned int i; 14 | 15 | buildkeytranslationtable(); 16 | 17 | for (i = 0; i < sizeof(keytranslation); i++) { 18 | if (i>0) printf(", "); 19 | if (i%8 == 7) printf("\n"); 20 | printf("%d", keytranslation[i]); 21 | } 22 | 23 | return 0; 24 | } 25 | 26 | -------------------------------------------------------------------------------- /build/src/mutex.c: -------------------------------------------------------------------------------- 1 | #include "compat.h" 2 | #include "mutex.h" 3 | 4 | int32_t mutex_init(mutex_t *mutex) 5 | { 6 | #ifdef RENDERTYPEWIN 7 | *mutex = CreateMutex(0, FALSE, 0); 8 | return (*mutex == 0); 9 | #elif defined _3DS 10 | return svcCreateMutex(mutex, false); 11 | #else 12 | if (mutex) 13 | { 14 | *mutex = SDL_CreateMutex(); 15 | if (*mutex != NULL) 16 | return 0; 17 | } 18 | return -1; 19 | #endif 20 | } 21 | 22 | int32_t mutex_lock(mutex_t *mutex) 23 | { 24 | #ifdef RENDERTYPEWIN 25 | return (WaitForSingleObject(*mutex, INFINITE) == WAIT_FAILED); 26 | #elif defined _3DS 27 | return svcWaitSynchronization(*mutex, U64_MAX); 28 | #else 29 | return SDL_LockMutex(*mutex); 30 | #endif 31 | } 32 | 33 | int32_t mutex_unlock(mutex_t *mutex) 34 | { 35 | #ifdef RENDERTYPEWIN 36 | return (ReleaseMutex(*mutex) == 0); 37 | #elif defined _3DS 38 | return svcReleaseMutex(*mutex); 39 | #else 40 | return SDL_UnlockMutex(*mutex); 41 | #endif 42 | } 43 | -------------------------------------------------------------------------------- /build/src/util/bin2c.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/build/src/util/bin2c.cpp -------------------------------------------------------------------------------- /build/src/util/compat_tools.c: -------------------------------------------------------------------------------- 1 | // Compatibility declarations for the tools to avoid linking to the entire engine. 2 | 3 | #include "compat.h" 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | // 10 | // initprintf() -- prints a string 11 | // 12 | void initprintf(const char *f, ...) 13 | { 14 | va_list va; 15 | char buf[2048]; 16 | 17 | va_start(va, f); 18 | Bvsnprintf(buf, sizeof(buf), f, va); 19 | va_end(va); 20 | } 21 | 22 | int16_t editstatus = 1; 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /icon.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/icon.bin -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/icon.png -------------------------------------------------------------------------------- /jit/ABOUT_THIS_DIR: -------------------------------------------------------------------------------- 1 | This directory currently resides below eduke32/ because luajit (the stand-alone 2 | LuaJIT interpreter) requires "jit.bcsave" for creating bytecode dumps. However, 3 | there seems to be no way invoke luajit so as to add a directory to its search 4 | path AND create bytecode in one run from a Makefile. Because the build is done 5 | from eduke32/, in this setup, "jit.bcsave" is found since the current working 6 | directory is part of the Lua load path by default. 7 | -------------------------------------------------------------------------------- /make_cia.sh: -------------------------------------------------------------------------------- 1 | makerom -f cia -o EDuke3D.cia -elf eduke3d.elf -rsf cia.rsf -banner banner.bnr -icon icon.bin -exefslogo -target t -------------------------------------------------------------------------------- /package/debug/win32/ebacktrace1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/debug/win32/ebacktrace1.dll -------------------------------------------------------------------------------- /package/debug/win64/ebacktrace1-64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/debug/win64/ebacktrace1-64.dll -------------------------------------------------------------------------------- /package/sdk/SEHELP.HLP: -------------------------------------------------------------------------------- 1 | -Sector Effector Help- 2 | 3 | 0 : Rotating Sector 4 | 1 : Pivot Sprite for SE 0 5 | 2 : Earthquake 6 | 3 : Random Lights After Shot Out 7 | 4 : Random Lights 8 | 6 : Subway 9 | 7 : Teleporter 10 | 8 : Up Open Door Lights 11 | 9 : Down Open Door Lights 12 | 10 : Door Auto Close (Hitag = Delay) 13 | 11 : Rotate Sector Door (ST 23) 14 | 12 : Light Switch 15 | 13 : C-9 Explosive 16 | 14 : Subway Car 17 | 15 : Slide Door (ST 25) 18 | 16 : Rotate Reactor Sector 19 | 17 : Elevator Transport (ST 15) 20 | 18 : Incremental Sector Rise/Fall 21 | 19 : Explosion Lowers Ceiling 22 | 20 : Stretch (ST 27) 23 | 21 : Drop Floor (ST 28) 24 | 22 : Teeth Door Prong (ST 29) 25 | 23 : One-Way Teleporter Destination 26 | 24 : Conveyor Belt or Water Current 27 | 25 : Engine Piston 28 | 27 : Demo Camera 29 | 28 : Lightning 30 | 29 : Float (for Waves) 31 | 30 : Two-Way Train (ST 31) 32 | 31 : Floor Rise/Fall 33 | 32 : Ceiling Rise/Fall 34 | 33 : Earthquake Debris 35 | 36 : Projectile Shooter 36 | -------------------------------------------------------------------------------- /package/sdk/STHELP.HLP: -------------------------------------------------------------------------------- 1 | -Sector Tags Help- 2 | 3 | 1 : Above Water (SE 7) 4 | 2 : Underwater (SE 7) 5 | 9 : Sliding Star Trek Doors 6 | 15 : Elevator Transport (SE 17) 7 | 16 : Elevator Platform Down 8 | 17 : Elevator Platform Up 9 | 18 : Elevator Down 10 | 19 : Elevator Up 11 | 20 : Ceiling Door 12 | 21 : Floor Door 13 | 22 : Splitting Door 14 | 23 : Swinging Door (SE 11) 15 | 25 : Sliding Door (SE 15) 16 | 26 : Splitting Star Trek Door 17 | 27 : Stretch (SE 20) 18 | 28 : Drop Floor (SE 21) 19 | 29 : Teeth Door Prong (SE 22) 20 | 30 : Rotate and Rise Bridge 21 | 31 : Two-Way Train (SE 30) 22 | 10+++ : One-Time Sound 23 | 32767 : Secret Room 24 | 65534 : End Of Level with Message 25 | 65535 : End Of Level 26 | -------------------------------------------------------------------------------- /package/sdk/samples/_clipshape0.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/sdk/samples/_clipshape0.map -------------------------------------------------------------------------------- /package/sdk/samples/aspect.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/sdk/samples/aspect.map -------------------------------------------------------------------------------- /package/sdk/samples/m32script_ex.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/sdk/samples/m32script_ex.map -------------------------------------------------------------------------------- /package/sdk/samples/r_usenewshading.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/sdk/samples/r_usenewshading.map -------------------------------------------------------------------------------- /package/sdk/samples/ror.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/sdk/samples/ror.map -------------------------------------------------------------------------------- /package/sdk/samples/test_tileoffsets.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/sdk/samples/test_tileoffsets.map -------------------------------------------------------------------------------- /package/sdk/samples/trueror1.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/package/sdk/samples/trueror1.map -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | EDuke32 9 | CFBundleExecutable 10 | eduke32 11 | CFBundleGetInfoString 12 | 2.0, Copyright EDuke32 Team 13 | CFBundleIconFile 14 | eduke32.icns 15 | CFBundleIdentifier 16 | com.voidpoint.eduke32 17 | CFBundleInfoDictionaryVersion 18 | 6.0 19 | CFBundleName 20 | EDuke32 21 | CFBundlePackageType 22 | APPL 23 | CFBundleShortVersionString 24 | 2.0 25 | CFBundleSignature 26 | ED32 27 | CFBundleVersion 28 | 2.0 29 | CGDisableCoalescedUpdates 30 | 31 | CSResourcesFileMapped 32 | 33 | LSApplicationCategoryType 34 | public.app-category.action-games 35 | NSHumanReadableCopyright 36 | Copyright Voidpoint, LLC 37 | NSMainNibFile 38 | game.osxmain 39 | NSPrincipalClass 40 | NSApplication 41 | 42 | 43 | -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPLED32 2 | -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/alternate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/EDuke32.app/Contents/Resources/alternate.icns -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/eduke32.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/EDuke32.app/Contents/Resources/eduke32.icns -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/game.osxmain.nib/classes.nib: -------------------------------------------------------------------------------- 1 | { 2 | IBClasses = ( 3 | {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 4 | {CLASS = SDLMain; LANGUAGE = ObjC; SUPERCLASS = NSObject; } 5 | ); 6 | IBVersion = 1; 7 | } -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/game.osxmain.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBDocumentLocation 6 | 563 86 356 240 0 0 1280 938 7 | IBEditorPositions 8 | 9 | 29 10 | 581 456 159 44 0 0 1280 938 11 | 12 | IBFramework Version 13 | 364.0 14 | IBOpenObjects 15 | 16 | 29 17 | 18 | IBSystem Version 19 | 7W98 20 | 21 | 22 | -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/game.osxmain.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/EDuke32.app/Contents/Resources/game.osxmain.nib/keyedobjects.nib -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/EDuke32.app/Contents/Resources/game.png -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/orange.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/EDuke32.app/Contents/Resources/orange.icns -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/startwin.game.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 677 7 | IBLastKnownRelativeProjectPath 8 | duke3d.xcodeproj 9 | IBOldestOS 10 | 3 11 | IBOpenObjects 12 | 13 | 35 14 | 15 | IBSystem Version 16 | 9J61 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /platform/Apple/bundles/EDuke32.app/Contents/Resources/startwin.game.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/EDuke32.app/Contents/Resources/startwin.game.nib/keyedobjects.nib -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | Mapster32 9 | CFBundleExecutable 10 | mapster32 11 | CFBundleGetInfoString 12 | 2.0, Copyright EDuke32 Team 13 | CFBundleIconFile 14 | mapster32.icns 15 | CFBundleIdentifier 16 | com.voidpoint.mapster32 17 | CFBundleInfoDictionaryVersion 18 | 6.0 19 | CFBundleName 20 | Mapster32 21 | CFBundlePackageType 22 | APPL 23 | CFBundleShortVersionString 24 | 2.0 25 | CFBundleSignature 26 | MP32 27 | CFBundleVersion 28 | 2.0 29 | CGDisableCoalescedUpdates 30 | 31 | CSResourcesFileMapped 32 | 33 | NSHumanReadableCopyright 34 | Copyright Voidpoint, LLC 35 | NSMainNibFile 36 | build.osxmain 37 | NSPrincipalClass 38 | NSApplication 39 | 40 | 41 | -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPLMP32 2 | -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/alternate.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/Mapster32.app/Contents/Resources/alternate.icns -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/build.osxmain.nib/classes.nib: -------------------------------------------------------------------------------- 1 | { 2 | IBClasses = ( 3 | {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 4 | {CLASS = SDLMain; LANGUAGE = ObjC; SUPERCLASS = NSObject; } 5 | ); 6 | IBVersion = 1; 7 | } -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/build.osxmain.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBDocumentLocation 6 | 567 77 356 240 0 0 1280 938 7 | IBEditorPositions 8 | 9 | 29 10 | 562 525 257 44 0 0 1280 938 11 | 12 | IBFramework Version 13 | 364.0 14 | IBOpenObjects 15 | 16 | 29 17 | 18 | IBSystem Version 19 | 7W98 20 | 21 | 22 | -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/build.osxmain.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/Mapster32.app/Contents/Resources/build.osxmain.nib/keyedobjects.nib -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/Mapster32.app/Contents/Resources/build.png -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/mapster32.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/Mapster32.app/Contents/Resources/mapster32.icns -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/orange.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/Mapster32.app/Contents/Resources/orange.icns -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/startwin.editor.nib/classes.nib: -------------------------------------------------------------------------------- 1 | { 2 | IBClasses = ( 3 | {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 4 | { 5 | ACTIONS = {alwaysShowClicked = id; cancel = id; fullscreenClicked = id; start = id; }; 6 | CLASS = StartupWinController; 7 | LANGUAGE = ObjC; 8 | OUTLETS = { 9 | alwaysShowButton = NSButton; 10 | cancelButton = NSButton; 11 | fullscreenButton = NSButton; 12 | messagesView = NSTextView; 13 | startButton = NSButton; 14 | tabView = NSTabView; 15 | videoMode2DPUButton = NSPopUpButton; 16 | videoMode3DPUButton = NSPopUpButton; 17 | }; 18 | SUPERCLASS = NSWindowController; 19 | } 20 | ); 21 | IBVersion = 1; 22 | } -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/startwin.editor.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBDocumentLocation 6 | 111 188 356 240 0 0 1280 938 7 | IBFramework Version 8 | 446.1 9 | IBOpenObjects 10 | 11 | 23 12 | 13 | IBSystem Version 14 | 8R218 15 | 16 | 17 | -------------------------------------------------------------------------------- /platform/Apple/bundles/Mapster32.app/Contents/Resources/startwin.editor.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Apple/bundles/Mapster32.app/Contents/Resources/startwin.editor.nib/keyedobjects.nib -------------------------------------------------------------------------------- /platform/Apple/iOS/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "ipad", 20 | "size" : "29x29", 21 | "scale" : "1x" 22 | }, 23 | { 24 | "idiom" : "ipad", 25 | "size" : "29x29", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "ipad", 30 | "size" : "40x40", 31 | "scale" : "1x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "40x40", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "76x76", 41 | "scale" : "1x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "76x76", 46 | "scale" : "2x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /platform/Apple/iOS/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "orientation" : "portrait", 20 | "idiom" : "ipad", 21 | "extent" : "full-screen", 22 | "minimum-system-version" : "7.0", 23 | "scale" : "1x" 24 | }, 25 | { 26 | "orientation" : "landscape", 27 | "idiom" : "ipad", 28 | "extent" : "full-screen", 29 | "minimum-system-version" : "7.0", 30 | "scale" : "1x" 31 | }, 32 | { 33 | "orientation" : "portrait", 34 | "idiom" : "ipad", 35 | "extent" : "full-screen", 36 | "minimum-system-version" : "7.0", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "orientation" : "landscape", 41 | "idiom" : "ipad", 42 | "extent" : "full-screen", 43 | "minimum-system-version" : "7.0", 44 | "scale" : "2x" 45 | } 46 | ], 47 | "info" : { 48 | "version" : 1, 49 | "author" : "xcode" 50 | } 51 | } -------------------------------------------------------------------------------- /platform/Apple/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | EDuke32 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIcons 12 | 13 | CFBundleIcons~ipad 14 | 15 | CFBundleIdentifier 16 | com.voidpoint.eduke32 17 | CFBundleInfoDictionaryVersion 18 | 6.0 19 | CFBundleName 20 | EDuke32 21 | CFBundlePackageType 22 | APPL 23 | CFBundleShortVersionString 24 | 1.0 25 | CFBundleSignature 26 | ???? 27 | CFBundleVersion 28 | 1.0 29 | LSRequiresIPhoneOS 30 | 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UIStatusBarHidden 36 | 37 | UIStatusBarStyle 38 | UIStatusBarStyleLightContent 39 | UISupportedInterfaceOrientations 40 | 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | UISupportedInterfaceOrientations~ipad 45 | 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /platform/Apple/iOS/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /platform/Wii/apps/eduke32/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Wii/apps/eduke32/icon.png -------------------------------------------------------------------------------- /platform/Wii/apps/mapster32/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Wii/apps/mapster32/icon.png -------------------------------------------------------------------------------- /platform/Wii/eduke32_meta_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | EDuke32 Wii 4 | EDuke32 Team 5 | -------------------------------------------------------------------------------- /platform/Wii/eduke32_meta_2.xml: -------------------------------------------------------------------------------- 1 | Duke Nukem 3D 2 | EDuke32 is an awesome, free homebrew game engine and source port of the classic PC first person shooter Duke Nukem 3D--Duke3D for short. We've added thousands of cool and useful features and upgrades for regular players and additional editing capabilities and scripting extensions for homebrew developers and mod creators. EDuke32 is completely free, open source software. EDuke32 is licensed under the GNU GPL and the BUILD license. http://eduke32.com/ 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platform/Wii/include/SDL/SDL_byteorder.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2009 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /* DEPRECATED */ 24 | #include "SDL_endian.h" 25 | -------------------------------------------------------------------------------- /platform/Wii/include/SDL/SDL_copying.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2009 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | -------------------------------------------------------------------------------- /platform/Wii/include/SDL/SDL_getenv.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2009 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /* DEPRECATED */ 24 | #include "SDL_stdinc.h" 25 | -------------------------------------------------------------------------------- /platform/Wii/include/SDL/SDL_name.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _SDLname_h_ 3 | #define _SDLname_h_ 4 | 5 | #if defined(__STDC__) || defined(__cplusplus) 6 | #define NeedFunctionPrototypes 1 7 | #endif 8 | 9 | #define SDL_NAME(X) SDL_##X 10 | 11 | #endif /* _SDLname_h_ */ 12 | -------------------------------------------------------------------------------- /platform/Wii/include/SDL/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2009 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /* DEPRECATED */ 24 | #include "SDL_stdinc.h" 25 | -------------------------------------------------------------------------------- /platform/Wii/include/SDL/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2009 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /* This file reverses the effects of begin_code.h and should be included 24 | after you finish any function and structure declarations in your headers 25 | */ 26 | 27 | #undef _begin_code_h 28 | 29 | /* Reset structure packing at previous byte alignment */ 30 | #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__) 31 | #ifdef __BORLANDC__ 32 | #pragma nopackwarning 33 | #endif 34 | #if (defined(__MWERKS__) && defined(__MACOS__)) 35 | #pragma options align=reset 36 | #pragma enumsalwaysint reset 37 | #else 38 | #pragma pack(pop) 39 | #endif 40 | #endif /* Compiler needs structure packing set */ 41 | 42 | -------------------------------------------------------------------------------- /platform/Wii/include/tremor/config_types.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: #ifdef jail to whip a few platforms into the UNIX ideal. 15 | 16 | ********************************************************************/ 17 | #ifndef _OS_CVTYPES_H 18 | #define _OS_CVTYPES_H 19 | 20 | typedef long long ogg_int64_t; 21 | typedef int ogg_int32_t; 22 | typedef unsigned int ogg_uint32_t; 23 | typedef short ogg_int16_t; 24 | typedef unsigned short ogg_uint16_t; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /platform/Wii/lib/libSDL.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Wii/lib/libSDL.a -------------------------------------------------------------------------------- /platform/Wii/lib/libSDL_mixer.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Wii/lib/libSDL_mixer.a -------------------------------------------------------------------------------- /platform/Wii/lib/libaesnd_tueidj.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Wii/lib/libaesnd_tueidj.a -------------------------------------------------------------------------------- /platform/Wii/lib/libpng.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Wii/lib/libpng.a -------------------------------------------------------------------------------- /platform/Wii/lib/libvorbisidec.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Wii/lib/libvorbisidec.a -------------------------------------------------------------------------------- /platform/Wii/lib/libz.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Wii/lib/libz.a -------------------------------------------------------------------------------- /platform/Wii/mapster32_meta_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Mapster32 Wii 4 | EDuke32 Team 5 | -------------------------------------------------------------------------------- /platform/Wii/mapster32_meta_2.xml: -------------------------------------------------------------------------------- 1 | BUILD Editor 2 | Mapster32 is the level editor for EDuke32 and the BUILD Engine, featuring additional editing capabilities and scripting extensions for homebrew developers and mod creators. Mapster32 is completely free, open source software. Mapster32 is licensed under the GNU GPL and the BUILD license. http://eduke32.com/ 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platform/Wii/notes.txt: -------------------------------------------------------------------------------- 1 | For details about the modified builds of SDL Wii and libaesnd, see: http://wiki.eduke32.com/wiki/EDuke32_Wii 2 | -------------------------------------------------------------------------------- /platform/Wii/xcopy_exclude.txt: -------------------------------------------------------------------------------- 1 | .dll -------------------------------------------------------------------------------- /platform/Windows/include/SDL2/SDL_name.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2014 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef _SDLname_h_ 23 | #define _SDLname_h_ 24 | 25 | #if defined(__STDC__) || defined(__cplusplus) 26 | #define NeedFunctionPrototypes 1 27 | #endif 28 | 29 | #define SDL_NAME(X) SDL_##X 30 | 31 | #endif /* _SDLname_h_ */ 32 | 33 | /* vi: set ts=4 sw=4 expandtab: */ 34 | -------------------------------------------------------------------------------- /platform/Windows/include/SDL2/SDL_opengles.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2014 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 1.X API headers. 26 | */ 27 | 28 | #ifdef __IPHONEOS__ 29 | #include 30 | #include 31 | #else 32 | #include 33 | #include 34 | #endif 35 | 36 | #ifndef APIENTRY 37 | #define APIENTRY 38 | #endif 39 | -------------------------------------------------------------------------------- /platform/Windows/include/SDL2/SDL_revision.h: -------------------------------------------------------------------------------- 1 | #define SDL_REVISION "hg-8628:b558f99d48f0" 2 | #define SDL_REVISION_NUMBER 8628 3 | -------------------------------------------------------------------------------- /platform/Windows/include/SDL2/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2014 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_types.h 24 | * 25 | * \deprecated 26 | */ 27 | 28 | /* DEPRECATED */ 29 | #include "SDL_stdinc.h" 30 | -------------------------------------------------------------------------------- /platform/Windows/include/SDL2/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2014 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file close_code.h 24 | * 25 | * This file reverses the effects of begin_code.h and should be included 26 | * after you finish any function and structure declarations in your headers 27 | */ 28 | 29 | #undef _begin_code_h 30 | 31 | /* Reset structure packing at previous byte alignment */ 32 | #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__) 33 | #ifdef __BORLANDC__ 34 | #pragma nopackwarning 35 | #endif 36 | #pragma pack(pop) 37 | #endif /* Compiler needs structure packing set */ 38 | -------------------------------------------------------------------------------- /platform/Windows/include/dx/dx_compat.h: -------------------------------------------------------------------------------- 1 | 2 | // MinGW-w64 headers are deficient. 3 | // Here, account for CINTERFACE because they don't. 4 | #ifdef REFGUID 5 | # undef REFGUID 6 | #endif 7 | #ifdef REFIID 8 | # undef REFIID 9 | #endif 10 | #ifdef REFCLSID 11 | # undef REFCLSID 12 | #endif 13 | #ifdef REFFMTID 14 | # undef REFFMTID 15 | #endif 16 | 17 | // copied from MinGW's 18 | #if defined (__cplusplus) && !defined (CINTERFACE) 19 | # define REFGUID const GUID& 20 | # define REFIID const IID& 21 | # define REFCLSID const CLSID& 22 | # define REFFMTID const FMTID& 23 | #else 24 | # define REFGUID const GUID* const 25 | # define REFIID const IID* const 26 | # define REFCLSID const CLSID* const 27 | # define REFFMTID const FMTID* const 28 | #endif 29 | -------------------------------------------------------------------------------- /platform/Windows/include/luajit-2.0/lua.hpp: -------------------------------------------------------------------------------- 1 | // C++ wrapper for LuaJIT header files. 2 | 3 | extern "C" { 4 | #include "lua.h" 5 | #include "lauxlib.h" 6 | #include "lualib.h" 7 | #include "luajit.h" 8 | } 9 | 10 | -------------------------------------------------------------------------------- /platform/Windows/include/luajit-2.0/lualib.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Standard library header. 3 | ** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h 4 | */ 5 | 6 | #ifndef _LUALIB_H 7 | #define _LUALIB_H 8 | 9 | #include "lua.h" 10 | 11 | #define LUA_FILEHANDLE "FILE*" 12 | 13 | #define LUA_COLIBNAME "coroutine" 14 | #define LUA_MATHLIBNAME "math" 15 | #define LUA_STRLIBNAME "string" 16 | #define LUA_TABLIBNAME "table" 17 | #define LUA_IOLIBNAME "io" 18 | #define LUA_OSLIBNAME "os" 19 | #define LUA_LOADLIBNAME "package" 20 | #define LUA_DBLIBNAME "debug" 21 | #define LUA_BITLIBNAME "bit" 22 | #define LUA_JITLIBNAME "jit" 23 | #define LUA_FFILIBNAME "ffi" 24 | 25 | LUALIB_API int luaopen_base(lua_State *L); 26 | LUALIB_API int luaopen_math(lua_State *L); 27 | LUALIB_API int luaopen_string(lua_State *L); 28 | LUALIB_API int luaopen_table(lua_State *L); 29 | LUALIB_API int luaopen_io(lua_State *L); 30 | LUALIB_API int luaopen_os(lua_State *L); 31 | LUALIB_API int luaopen_package(lua_State *L); 32 | LUALIB_API int luaopen_debug(lua_State *L); 33 | LUALIB_API int luaopen_bit(lua_State *L); 34 | LUALIB_API int luaopen_jit(lua_State *L); 35 | LUALIB_API int luaopen_ffi(lua_State *L); 36 | 37 | LUALIB_API void luaL_openlibs(lua_State *L); 38 | 39 | #ifndef lua_assert 40 | #define lua_assert(x) ((void)0) 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /platform/Windows/include/vpx/vpx_integer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | 12 | #ifndef VPX_VPX_INTEGER_H_ 13 | #define VPX_VPX_INTEGER_H_ 14 | 15 | /* get ptrdiff_t, size_t, wchar_t, NULL */ 16 | #include 17 | 18 | #if (defined(_MSC_VER) && (_MSC_VER < 1600)) || defined(VPX_EMULATE_INTTYPES) 19 | typedef signed char int8_t; 20 | typedef signed short int16_t; 21 | typedef signed int int32_t; 22 | 23 | typedef unsigned char uint8_t; 24 | typedef unsigned short uint16_t; 25 | typedef unsigned int uint32_t; 26 | 27 | #if (defined(_MSC_VER) && (_MSC_VER < 1600)) 28 | typedef signed __int64 int64_t; 29 | typedef unsigned __int64 uint64_t; 30 | #define INT64_MAX _I64_MAX 31 | #define INT16_MAX _I16_MAX 32 | #define INT16_MIN _I16_MIN 33 | #endif 34 | 35 | #ifndef _UINTPTR_T_DEFINED 36 | typedef size_t uintptr_t; 37 | #endif 38 | 39 | #else 40 | 41 | /* Most platforms have the C99 standard integer types. */ 42 | 43 | #if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS) 44 | #define __STDC_FORMAT_MACROS 45 | #endif 46 | #include 47 | 48 | #endif 49 | 50 | /* VS2010 defines stdint.h, but not inttypes.h */ 51 | #if defined(_MSC_VER) 52 | #define PRId64 "I64d" 53 | #else 54 | #include 55 | #endif 56 | 57 | #endif // VPX_VPX_INTEGER_H_ 58 | -------------------------------------------------------------------------------- /platform/Windows/lib/32/SDL_mixer.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/SDL_mixer.lib -------------------------------------------------------------------------------- /platform/Windows/lib/32/libSDL2.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libSDL2.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libSDL2_mixer.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libSDL2_mixer.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libSDL2main.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libSDL2main.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libcompat-to-msvc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libcompat-to-msvc.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libdsound.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libdsound.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libdxguid.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libdxguid.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libdxguid_sdl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libdxguid_sdl.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/liblpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/liblpeg.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libluajit.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libluajit.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libpng_mini.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libpng_mini.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libvpx.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libvpx.a -------------------------------------------------------------------------------- /platform/Windows/lib/32/libz_mini.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/32/libz_mini.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/SDL_mixer.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/SDL_mixer.lib -------------------------------------------------------------------------------- /platform/Windows/lib/64/libSDL2.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libSDL2.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libSDL2_mixer.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libSDL2_mixer.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libSDL2main.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libSDL2main.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libcompat-to-msvc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libcompat-to-msvc.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libdsound.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libdsound.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libdxguid.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libdxguid.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libdxguid_sdl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libdxguid_sdl.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/liblpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/liblpeg.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libluajit.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libluajit.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libpng_mini.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libpng_mini.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libvpx.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libvpx.a -------------------------------------------------------------------------------- /platform/Windows/lib/64/libz_mini.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/platform/Windows/lib/64/libz_mini.a -------------------------------------------------------------------------------- /platform/Windows/lib/libvpx with MinGW-w64.patch: -------------------------------------------------------------------------------- 1 | diff --git a/build/make/configure.sh b/build/make/configure.sh 2 | index b5151da..a739468 100755 3 | --- a/build/make/configure.sh 4 | +++ b/build/make/configure.sh 5 | @@ -661,9 +661,14 @@ process_common_toolchain() { 6 | x86_64*mingw32*) 7 | tgt_os=win64 8 | ;; 9 | - *mingw32*|*cygwin*) 10 | + *mingw32*|*cygwin*|*win32-gcc*) 11 | [ -z "$tgt_isa" ] && tgt_isa=x86 12 | tgt_os=win32 13 | + [ "$tgt_isa" == "x86_64" ] && tgt_os=win64 14 | + ;; 15 | + *win64-gcc*) 16 | + [ -z "$tgt_isa" ] && tgt_isa=x86_64 17 | + tgt_os=win64 18 | ;; 19 | *linux*|*bsd*) 20 | tgt_os=linux 21 | diff --git a/configure b/configure 22 | index 9f5a435..93f3d30 100755 23 | --- a/configure 24 | +++ b/configure 25 | @@ -137,6 +137,7 @@ all_platforms="${all_platforms} x86_64-darwin13-gcc" 26 | all_platforms="${all_platforms} x86_64-linux-gcc" 27 | all_platforms="${all_platforms} x86_64-linux-icc" 28 | all_platforms="${all_platforms} x86_64-solaris-gcc" 29 | +all_platforms="${all_platforms} x86_64-win32-gcc" 30 | all_platforms="${all_platforms} x86_64-win64-gcc" 31 | all_platforms="${all_platforms} x86_64-win64-vs8" 32 | all_platforms="${all_platforms} x86_64-win64-vs9" 33 | -------------------------------------------------------------------------------- /platform/Windows/src/_dbg_LOAD_IMAGE.h: -------------------------------------------------------------------------------- 1 | /** 2 | * This file has no copyright assigned and is placed in the Public Domain. 3 | * This file is part of the w64 mingw-runtime package. 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 | */ 6 | #ifndef _dbg_LOAD_IMAGE_h 7 | #define _dbg_LOAD_IMAGE_h 8 | 9 | #ifndef WINAPI 10 | #define WINAPI __stdcall 11 | #endif 12 | 13 | #define IMAGEAPI DECLSPEC_IMPORT WINAPI 14 | #define DBHLP_DEPRECIATED __declspec(deprecated) 15 | 16 | #define DBHLPAPI IMAGEAPI 17 | 18 | #ifndef EBACKTRACE_MINGW32 19 | 20 | #define IMAGE_SEPARATION (64*1024) 21 | 22 | typedef struct _LOADED_IMAGE { 23 | PSTR ModuleName; 24 | HANDLE hFile; 25 | PUCHAR MappedAddress; 26 | #ifdef _IMAGEHLP64 27 | PIMAGE_NT_HEADERS64 FileHeader; 28 | #else 29 | PIMAGE_NT_HEADERS32 FileHeader; 30 | #endif 31 | PIMAGE_SECTION_HEADER LastRvaSection; 32 | ULONG NumberOfSections; 33 | PIMAGE_SECTION_HEADER Sections; 34 | ULONG Characteristics; 35 | BOOLEAN fSystemImage; 36 | BOOLEAN fDOSImage; 37 | BOOLEAN fReadOnly; 38 | UCHAR Version; 39 | LIST_ENTRY Links; 40 | ULONG SizeOfImage; 41 | } LOADED_IMAGE,*PLOADED_IMAGE; 42 | 43 | #endif 44 | 45 | #define MAX_SYM_NAME 2000 46 | 47 | typedef struct _MODLOAD_DATA { 48 | DWORD ssize; 49 | DWORD ssig; 50 | PVOID data; 51 | DWORD size; 52 | DWORD flags; 53 | } MODLOAD_DATA,*PMODLOAD_DATA; 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /platform/Windows/src/compat-to-msvc/Makefile: -------------------------------------------------------------------------------- 1 | 2 | o=o 3 | 4 | NAME:=libcompat-to-msvc 5 | 6 | 7 | %.$o: %.c 8 | gcc -Wall -Wextra -O3 -c $< -o $@ 9 | 10 | %.$o: %.S 11 | gcc -c $< -o $@ 12 | 13 | OBJS=dll_math.$o io_math.$o dll_dependency.$o vsnprintf.$o 14 | 15 | .INTERMEDIATE: $(OBJS) 16 | 17 | $(NAME).a: $(OBJS) 18 | ar rc $@ $^ 19 | ranlib $@ 20 | 21 | clean: 22 | -rm -f *.a *.o 23 | -------------------------------------------------------------------------------- /platform/Windows/src/compat-to-msvc/io_math.c: -------------------------------------------------------------------------------- 1 | // Some libraries expect these functions, for which Visual Studio (pre-2013) falls down on the job. 2 | 3 | #include 4 | #include 5 | 6 | #ifndef _MSC_VER 7 | # include 8 | int64_t _ftelli64( 9 | FILE *stream 10 | ); 11 | int _fseeki64( 12 | FILE *stream, 13 | int64_t offset, 14 | int origin 15 | ); 16 | #endif 17 | 18 | int fseeko(FILE *fp, off_t offset, int whence) 19 | { 20 | return _fseeki64(fp, (int64_t)offset, whence); 21 | } 22 | int fseeko64(FILE *fp, off64_t offset, int whence) 23 | { 24 | return _fseeki64(fp, (int64_t)offset, whence); 25 | } 26 | 27 | off_t ftello(FILE *stream) 28 | { 29 | return (off_t)_ftelli64(stream); 30 | } 31 | off64_t ftello64(FILE *stream) 32 | { 33 | return (off64_t)_ftelli64(stream); 34 | } 35 | 36 | long lround(double d) 37 | { 38 | return (long)(d > 0 ? d + 0.5 : ceil(d - 0.5)); 39 | } 40 | -------------------------------------------------------------------------------- /platform/Windows/src/compat-to-msvc/vsnprintf.c: -------------------------------------------------------------------------------- 1 | /** 2 | * This file has no copyright assigned and is placed in the Public Domain. 3 | * This file is part of the mingw-w64 runtime package. 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 | */ 6 | #define __CRT__NO_INLINE 7 | #include 8 | #include 9 | 10 | extern int __cdecl _vsnprintf(char * __restrict__, size_t, const char * __restrict__, va_list); 11 | 12 | int __cdecl __ms_vsnprintf (char * __restrict__ s, size_t n, const char * __restrict__ format, va_list arg) 13 | { 14 | return _vsnprintf(s, n, format, arg); 15 | } 16 | int __cdecl __mingw_vsnprintf (char * __restrict__ s, size_t n, const char * __restrict__ format, va_list arg) 17 | { 18 | return _vsnprintf(s, n, format, arg); 19 | } 20 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/Makefile: -------------------------------------------------------------------------------- 1 | # ensure dinput.h can be found before running 2 | 3 | %.o: %.c 4 | gcc -I../../include -Wall -Wextra -c $< -o $@ 5 | 6 | lib%.a: %.def %.o 7 | dlltool -k --output-lib $@ --def $*.def 8 | ar r $@ $*.o 9 | ranlib $@ 10 | 11 | lib%.a: %.def 12 | dlltool -k --output-lib $@ --def $< 13 | 14 | 15 | 16 | all : libdsound.a libdxguid.a libdxguid_sdl.a 17 | @ls -l $^ 18 | 19 | full : libd3d8.a libd3dx8d.a libd3dxof.a libddraw.a libdinput.a libdinput8.a libdplayx.a \ 20 | libdpnaddr.a libdpnet.a libdpnlobby.a libdpvoice.a libdsetup.a \ 21 | libdsound.a libdxguid.a libdxguid_sdl.a 22 | @ls -l $^ 23 | @echo move the created libraries to the lib dir. 24 | @echo happy coding !! 25 | 26 | 27 | 28 | libdxguid_sdl.a : dxguid_sdl.o 29 | ar -r libdxguid_sdl.a dxguid_sdl.o 30 | ranlib libdxguid_sdl.a 31 | 32 | libdxguid.a : dxguid.o 33 | ar -r libdxguid.a dxguid.o 34 | ranlib libdxguid.a 35 | 36 | libdinput_custom.a : dinput.o 37 | ar r libdinput_custom.a dinput.o 38 | ranlib libdinput_custom.a 39 | 40 | libdinput8.a : dinput8.def dinput.o 41 | dlltool -k --output-lib libdinput8.a --def dinput8.def 42 | ar r libdinput8.a dinput.o 43 | ranlib libdinput8.a 44 | 45 | 46 | 47 | clean: 48 | -rm -f *.a *.o 49 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/d3d8.def: -------------------------------------------------------------------------------- 1 | LIBRARY "d3d8.dll" 2 | EXPORTS 3 | ValidatePixelShader 4 | ValidateVertexShader 5 | Direct3DCreate8@4 6 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/d3dxof.def: -------------------------------------------------------------------------------- 1 | LIBRARY "d3dxof.dll" 2 | EXPORTS 3 | DirectXFileCreate@4 4 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/ddraw.def: -------------------------------------------------------------------------------- 1 | LIBRARY "DDRAW.dll" 2 | EXPORTS 3 | DDGetAttachedSurfaceLcl@12 4 | DDInternalLock@8 5 | DDInternalUnlock@4 6 | DSoundHelp@12 7 | DirectDrawCreate@12 8 | DirectDrawCreateClipper@12 9 | DirectDrawCreateEx@16 10 | DirectDrawEnumerateA@8 11 | DirectDrawEnumerateExA@12 12 | DirectDrawEnumerateExW@12 13 | DirectDrawEnumerateW@8 14 | GetDDSurfaceLocal@12 15 | GetSurfaceFromDC@12 16 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dinput.def: -------------------------------------------------------------------------------- 1 | LIBRARY "dinput.dll" 2 | EXPORTS 3 | DirectInputCreateA@16 4 | DirectInputCreateEx@20 5 | DirectInputCreateW@16 6 | 7 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dinput8.def: -------------------------------------------------------------------------------- 1 | LIBRARY "dinput8.dll" 2 | EXPORTS 3 | DirectInput8Create@20 4 | 5 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dplayx.def: -------------------------------------------------------------------------------- 1 | LIBRARY "dplayx.dll" 2 | EXPORTS 3 | DirectPlayCreate@12 4 | DirectPlayEnumerate@8 5 | DirectPlayEnumerateA@8 6 | DirectPlayEnumerateW@8 7 | DirectPlayLobbyCreateA@20 8 | DirectPlayLobbyCreateW@20 9 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dpnaddr.def: -------------------------------------------------------------------------------- 1 | LIBRARY "dpnaddr.dll" 2 | EXPORTS 3 | DirectPlay8AddressCreate@12 4 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dpnet.def: -------------------------------------------------------------------------------- 1 | LIBRARY "dpnet.dll" 2 | EXPORTS 3 | DirectPlay8Create@12 4 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dpnlobby.def: -------------------------------------------------------------------------------- 1 | LIBRARY "dpnlobby.dll" 2 | EXPORTS 3 | DirectPlay8LobbyCreate@12 4 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dpvoice.def: -------------------------------------------------------------------------------- 1 | LIBRARY "dpvoice.dll" 2 | EXPORTS 3 | DirectPlayVoiceCreate@12 4 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dsetup.def: -------------------------------------------------------------------------------- 1 | LIBRARY "DSETUP.dll" 2 | EXPORTS 3 | DirectXDeviceDriverSetupA@16 4 | DirectXDeviceDriverSetupW@16 5 | DirectXLoadString@12 6 | DirectXRegisterApplicationA@8 7 | DirectXRegisterApplicationW@8 8 | DirectXSetupA@12 9 | DirectXSetupCallback@20 10 | DirectXSetupGetFileVersion@12 11 | DirectXSetupGetVersion@8 12 | DirectXSetupIsEng@0 13 | DirectXSetupIsJapan@0 14 | DirectXSetupIsJapanNec@0 15 | DirectXSetupSetCallback@4 16 | DirectXSetupShowEULA@4 17 | DirectXSetupW@12 18 | DirectXUnRegisterApplication@8 19 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dsound.def: -------------------------------------------------------------------------------- 1 | LIBRARY "dsound.dll" 2 | EXPORTS 3 | DirectSoundCaptureCreate8@12 4 | DirectSoundCaptureCreate@12 5 | DirectSoundCaptureEnumerateA@8 6 | DirectSoundCaptureEnumerateW@8 7 | DirectSoundCreate8@12 8 | DirectSoundCreate@12 9 | DirectSoundCreate 10 | DirectSoundEnumerateA@8 11 | DirectSoundEnumerateW@8 12 | DirectSoundFullDuplexCreate@40 13 | GetDeviceID@8 14 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/dxguid_sdl.c: -------------------------------------------------------------------------------- 1 | 2 | #define DIRECTINPUT_VERSION 0x0700 3 | #include "dx/dinput.h" 4 | 5 | #undef DEFINE_GUID 6 | #define DEFINE_GUID(n,a,b,c,d,e,f,g,h,i,j,k) const GUID n = {a,b,c,{d,e,f,g,h,i,j,k}} 7 | 8 | /* dsound.h */ 9 | DEFINE_GUID(IID_IDirectSoundNotify, 0xb0210783, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16); 10 | -------------------------------------------------------------------------------- /platform/Windows/src/dxlibs/readme.txt: -------------------------------------------------------------------------------- 1 | This minimal DirectX 8.0 SDK is largely based upon work from Paul Gerfen. 2 | 3 | paul@gamecoding.co.uk 4 | www.gamecoding.co.uk 5 | 6 | 7 | from: http://alleg.sourceforge.net/files/dx80_mgw.zip 8 | tweaked for inclusion in EDuke32 9 | -------------------------------------------------------------------------------- /rsrc/32/manifest.build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | Mapster32 for EDuke32 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /rsrc/32/manifest.game.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | EDuke32 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /rsrc/64/manifest.build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | Mapster32 for EDuke32 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /rsrc/64/manifest.game.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | EDuke32 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /rsrc/build.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/build.bmp -------------------------------------------------------------------------------- /rsrc/build_icon.c: -------------------------------------------------------------------------------- 1 | #include "eduke32_icon.c" 2 | -------------------------------------------------------------------------------- /rsrc/build_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/build_icon.ico -------------------------------------------------------------------------------- /rsrc/eduke32_icon.c: -------------------------------------------------------------------------------- 1 | 2 | #include "compat.h" 3 | #include "sdlappicon.h" 4 | #include "sdl_inc.h" 5 | 6 | static uint8_t sdlappicon_pixels[] = { 7 | #if defined _WIN32 && SDL_MAJOR_VERSION==1 8 | # include "eduke32_icon_32px.c" 9 | #else 10 | # include "eduke32_icon_48px.c" 11 | #endif 12 | }; 13 | 14 | struct sdlappicon sdlappicon = { 15 | #if defined _WIN32 && SDL_MAJOR_VERSION==1 16 | 32,32, 17 | #else 18 | 48,48, 19 | #endif 20 | sdlappicon_pixels 21 | }; 22 | -------------------------------------------------------------------------------- /rsrc/game.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/game.bmp -------------------------------------------------------------------------------- /rsrc/game_icon.c: -------------------------------------------------------------------------------- 1 | #include "eduke32_icon.c" 2 | -------------------------------------------------------------------------------- /rsrc/game_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/game_icon.ico -------------------------------------------------------------------------------- /rsrc/source/EDuke32_logo_21_large.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/source/EDuke32_logo_21_large.psd -------------------------------------------------------------------------------- /rsrc/source/EDuke32_logo_21_large_blue.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/source/EDuke32_logo_21_large_blue.psd -------------------------------------------------------------------------------- /rsrc/source/EDuke32_logo_21_large_opaque.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/source/EDuke32_logo_21_large_opaque.psd -------------------------------------------------------------------------------- /rsrc/source/game2.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/source/game2.psd -------------------------------------------------------------------------------- /rsrc/source/game3.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/source/game3.psd -------------------------------------------------------------------------------- /rsrc/source/wii-hbc-icon.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/rsrc/source/wii-hbc-icon.xcf -------------------------------------------------------------------------------- /source/GameListSource.game.h: -------------------------------------------------------------------------------- 1 | /* 2 | * GameListSource.game.h 3 | * duke3d 4 | * 5 | * Created by Jonathon Fowler on 24/07/09. 6 | * Copyright 2009 __MyCompanyName__. All rights reserved. 7 | * 8 | */ 9 | 10 | #import 11 | #import 12 | 13 | @interface GameListSource : NSObject 14 | { 15 | NSMutableArray *list; 16 | } 17 | - (id)init; 18 | - (void)dealloc; 19 | - (GrpFile*)grpAtIndex:(int)index; 20 | - (int)findIndexForGrpname:(NSString*)grpname; 21 | - (id)tableView:(NSTableView *)aTableView 22 | objectValueForTableColumn:(NSTableColumn *)aTableColumn 23 | row:(NSInteger)rowIndex; 24 | - (int)numberOfRowsInTableView:(NSTableView *)aTableView; 25 | @end 26 | 27 | -------------------------------------------------------------------------------- /source/GrpFile.game.h: -------------------------------------------------------------------------------- 1 | /* 2 | * GrpFile.game.h 3 | * duke3d 4 | * 5 | * Created by Jonathon Fowler on 24/07/09. 6 | * Copyright 2009 __MyCompanyName__. All rights reserved. 7 | * 8 | */ 9 | 10 | #import 11 | 12 | #include "grpscan.h" 13 | 14 | @interface GrpFile : NSObject 15 | { 16 | NSString *namestring; 17 | NSString *grpnamestring; 18 | grpfile_t const *fg; 19 | } 20 | - (id)initWithGrpfile:(grpfile_t const *)grpfile; 21 | - (void)dealloc; 22 | - (NSString *)name; 23 | - (NSString *)grpname; 24 | - (grpfile_t const *)entryptr; 25 | @end 26 | 27 | -------------------------------------------------------------------------------- /source/GrpFile.game.m: -------------------------------------------------------------------------------- 1 | /* 2 | * GrpFile.game.m 3 | * duke3d 4 | * 5 | * Created by Jonathon Fowler on 24/07/09. 6 | * Copyright 2009 __MyCompanyName__. All rights reserved. 7 | * 8 | */ 9 | 10 | #include "GrpFile.game.h" 11 | 12 | @implementation GrpFile 13 | - (id)initWithGrpfile:(grpfile_t const *)grpfile 14 | { 15 | self = [super init]; 16 | if (self) { 17 | fg = grpfile; 18 | namestring = [NSString stringWithCString:fg->type->name encoding:NSUTF8StringEncoding]; 19 | [namestring retain]; 20 | grpnamestring = [NSString stringWithCString:fg->filename encoding:NSUTF8StringEncoding]; 21 | [grpnamestring retain]; 22 | } 23 | return self; 24 | } 25 | - (void)dealloc 26 | { 27 | [namestring release]; 28 | [grpnamestring release]; 29 | [super dealloc]; 30 | } 31 | - (NSString *)name 32 | { 33 | return namestring; 34 | } 35 | - (NSString *)grpname 36 | { 37 | return grpnamestring; 38 | } 39 | - (grpfile_t const *)entryptr 40 | { 41 | return fg; 42 | } 43 | @end 44 | -------------------------------------------------------------------------------- /source/_rts.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef rts_private__ 24 | #define rts_private__ 25 | 26 | //=============== 27 | // TYPES 28 | //=============== 29 | 30 | typedef struct 31 | { 32 | char name[8]; 33 | int32_t handle, position, size; 34 | } lumpinfo_t; 35 | 36 | typedef struct 37 | { 38 | char identification[4]; // should be "IWAD" 39 | int32_t numlumps; 40 | int32_t infotableofs; 41 | } wadinfo_t; 42 | 43 | typedef struct 44 | { 45 | int32_t filepos; 46 | int32_t size; 47 | char name[8]; 48 | } filelump_t; 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /source/android.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef android_h_ 24 | #define android_h_ 25 | 26 | #ifdef __ANDROID__ 27 | #include "compat.h" 28 | #include "control.h" 29 | #include "android/in_android.h" 30 | 31 | //extern int android_sample_rate; 32 | 33 | //extern int android_audio_buffer_size; 34 | 35 | 36 | extern void CONTROL_Android_ClearButton(int32_t whichbutton); 37 | extern void CONTROL_Android_PollDevices(ControlInfo *info); 38 | extern void CONTROL_Android_SetLastWeapon(int w); 39 | 40 | extern void CONTROL_Android_ScrollMap(int32_t *angle,int32_t *x, int32_t *y, uint16_t *zoom ); 41 | 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /source/anim.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef anim_h_ 24 | #define anim_h_ 25 | 26 | #define NUM_HARDCODED_ANIMS 12 27 | 28 | typedef struct 29 | { 30 | uint8_t* animbuf; 31 | void (*sound_func)(int32_t); 32 | uint16_t *sounds; 33 | int16_t numsounds; 34 | uint8_t framedelay; 35 | char animlock; 36 | } dukeanim_t; 37 | 38 | extern dukeanim_t * g_animPtr; 39 | extern hashtable_t h_dukeanim; 40 | extern dukeanim_t * G_FindAnim(const char *s); 41 | extern dukeanim_t * G_DefineAnim(const char *fn, uint8_t framerate, void (*sound_func)(int32_t)); 42 | int32_t G_PlayAnim(const char *fn); 43 | void G_InitAnim(void); 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /source/animsounds.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2015 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef animsounds_h__ 24 | #define animsounds_h__ 25 | void endanimsounds(int32_t fr); 26 | void logoanimsounds(int32_t fr); 27 | void intro4animsounds(int32_t fr); 28 | void endanimvol43(int32_t fr); 29 | void endanimvol42(int32_t fr); 30 | void endanimvol41(int32_t fr); 31 | void intro42animsounds(int32_t fr); 32 | void first4animsounds(int32_t fr); 33 | #endif // animsounds_h__ 34 | -------------------------------------------------------------------------------- /source/enet/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2011 Lee Salzman 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /source/enet/include/enet/callbacks.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file callbacks.h 3 | @brief ENet callbacks 4 | */ 5 | #ifndef __ENET_CALLBACKS_H__ 6 | #define __ENET_CALLBACKS_H__ 7 | 8 | #include 9 | 10 | typedef struct _ENetCallbacks 11 | { 12 | void * (ENET_CALLBACK * malloc) (size_t size); 13 | void (ENET_CALLBACK * free) (void * memory); 14 | void (ENET_CALLBACK * no_memory) (void); 15 | } ENetCallbacks; 16 | 17 | /** @defgroup callbacks ENet internal callbacks 18 | @{ 19 | @ingroup private 20 | */ 21 | extern void * enet_malloc (size_t); 22 | extern void enet_free (void *); 23 | 24 | /** @} */ 25 | 26 | #endif /* __ENET_CALLBACKS_H__ */ 27 | 28 | -------------------------------------------------------------------------------- /source/enet/include/enet/list.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file list.h 3 | @brief ENet list management 4 | */ 5 | #ifndef __ENET_LIST_H__ 6 | #define __ENET_LIST_H__ 7 | 8 | #include 9 | 10 | typedef struct _ENetListNode 11 | { 12 | struct _ENetListNode * next; 13 | struct _ENetListNode * previous; 14 | } ENetListNode; 15 | 16 | typedef ENetListNode * ENetListIterator; 17 | 18 | typedef struct _ENetList 19 | { 20 | ENetListNode sentinel; 21 | } ENetList; 22 | 23 | extern void enet_list_clear (ENetList *); 24 | 25 | extern ENetListIterator enet_list_insert (ENetListIterator, void *); 26 | extern void * enet_list_remove (ENetListIterator); 27 | extern ENetListIterator enet_list_move (ENetListIterator, void *, void *); 28 | 29 | extern size_t enet_list_size (ENetList *); 30 | 31 | #define enet_list_begin(list) ((list) -> sentinel.next) 32 | #define enet_list_end(list) (& (list) -> sentinel) 33 | 34 | #define enet_list_empty(list) (enet_list_begin (list) == enet_list_end (list)) 35 | 36 | #define enet_list_next(iterator) ((iterator) -> next) 37 | #define enet_list_previous(iterator) ((iterator) -> previous) 38 | 39 | #define enet_list_front(list) ((void *) (list) -> sentinel.next) 40 | #define enet_list_back(list) ((void *) (list) -> sentinel.previous) 41 | 42 | #endif /* __ENET_LIST_H__ */ 43 | 44 | -------------------------------------------------------------------------------- /source/enet/include/enet/time.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file time.h 3 | @brief ENet time constants and macros 4 | */ 5 | #ifndef __ENET_TIME_H__ 6 | #define __ENET_TIME_H__ 7 | 8 | #define ENET_TIME_OVERFLOW 86400000 9 | 10 | #define ENET_TIME_LESS(a, b) ((a) - (b) >= ENET_TIME_OVERFLOW) 11 | #define ENET_TIME_GREATER(a, b) ((b) - (a) >= ENET_TIME_OVERFLOW) 12 | #define ENET_TIME_LESS_EQUAL(a, b) (! ENET_TIME_GREATER (a, b)) 13 | #define ENET_TIME_GREATER_EQUAL(a, b) (! ENET_TIME_LESS (a, b)) 14 | 15 | #define ENET_TIME_DIFFERENCE(a, b) ((a) - (b) >= ENET_TIME_OVERFLOW ? (b) - (a) : (a) - (b)) 16 | 17 | #endif /* __ENET_TIME_H__ */ 18 | 19 | -------------------------------------------------------------------------------- /source/enet/include/enet/types.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file types.h 3 | @brief type definitions for ENet 4 | */ 5 | #ifndef __ENET_TYPES_H__ 6 | #define __ENET_TYPES_H__ 7 | 8 | typedef unsigned char enet_uint8; /**< unsigned 8-bit type */ 9 | typedef unsigned short enet_uint16; /**< unsigned 16-bit type */ 10 | typedef unsigned int enet_uint32; /**< unsigned 32-bit type */ 11 | 12 | #endif /* __ENET_TYPES_H__ */ 13 | 14 | -------------------------------------------------------------------------------- /source/enet/include/enet/unix.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file unix.h 3 | @brief ENet Unix header 4 | */ 5 | #ifndef __ENET_UNIX_H__ 6 | #define __ENET_UNIX_H__ 7 | 8 | #include 9 | #include 10 | #include 11 | #if defined(GEKKO) 12 | # include 13 | #else 14 | #include 15 | #include 16 | #endif 17 | #include 18 | 19 | #ifdef MSG_MAXIOVLEN 20 | #define ENET_BUFFER_MAXIMUM MSG_MAXIOVLEN 21 | #endif 22 | 23 | typedef int ENetSocket; 24 | 25 | #define ENET_SOCKET_NULL -1 26 | 27 | #define ENET_HOST_TO_NET_16(value) (htons (value)) /**< macro that converts host to net byte-order of a 16-bit value */ 28 | #define ENET_HOST_TO_NET_32(value) (htonl (value)) /**< macro that converts host to net byte-order of a 32-bit value */ 29 | 30 | #define ENET_NET_TO_HOST_16(value) (ntohs (value)) /**< macro that converts net to host byte-order of a 16-bit value */ 31 | #define ENET_NET_TO_HOST_32(value) (ntohl (value)) /**< macro that converts net to host byte-order of a 32-bit value */ 32 | 33 | typedef struct 34 | { 35 | void * data; 36 | size_t dataLength; 37 | } ENetBuffer; 38 | 39 | #define ENET_CALLBACK 40 | 41 | #define ENET_API extern 42 | 43 | typedef fd_set ENetSocketSet; 44 | 45 | #define ENET_SOCKETSET_EMPTY(sockset) FD_ZERO (& (sockset)) 46 | #define ENET_SOCKETSET_ADD(sockset, socket) FD_SET (socket, & (sockset)) 47 | #define ENET_SOCKETSET_REMOVE(sockset, socket) FD_CLR (socket, & (sockset)) 48 | #define ENET_SOCKETSET_CHECK(sockset, socket) FD_ISSET (socket, & (sockset)) 49 | 50 | #endif /* __ENET_UNIX_H__ */ 51 | 52 | -------------------------------------------------------------------------------- /source/enet/include/enet/utility.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file utility.h 3 | @brief ENet utility header 4 | */ 5 | #ifndef __ENET_UTILITY_H__ 6 | #define __ENET_UTILITY_H__ 7 | 8 | #define ENET_MAX(x, y) ((x) > (y) ? (x) : (y)) 9 | #define ENET_MIN(x, y) ((x) < (y) ? (x) : (y)) 10 | 11 | #endif /* __ENET_UTILITY_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /source/enet/include/enet/win32.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file win32.h 3 | @brief ENet Win32 header 4 | */ 5 | #ifndef __ENET_WIN32_H__ 6 | #define __ENET_WIN32_H__ 7 | 8 | #ifdef _MSC_VER 9 | #ifdef ENET_BUILDING_LIB 10 | #pragma warning (disable: 4267) // size_t to int conversion 11 | #pragma warning (disable: 4244) // 64bit to 32bit int 12 | #pragma warning (disable: 4018) // signed/unsigned mismatch 13 | #pragma warning (disable: 4146) // unary minus operator applied to unsigned type 14 | #endif 15 | #endif 16 | 17 | #include 18 | #include 19 | 20 | typedef SOCKET ENetSocket; 21 | 22 | #define ENET_SOCKET_NULL INVALID_SOCKET 23 | 24 | #define ENET_HOST_TO_NET_16(value) (htons (value)) 25 | #define ENET_HOST_TO_NET_32(value) (htonl (value)) 26 | 27 | #define ENET_NET_TO_HOST_16(value) (ntohs (value)) 28 | #define ENET_NET_TO_HOST_32(value) (ntohl (value)) 29 | 30 | typedef struct 31 | { 32 | size_t dataLength; 33 | void * data; 34 | } ENetBuffer; 35 | 36 | #define ENET_CALLBACK __cdecl 37 | 38 | #ifdef ENET_DLL 39 | #ifdef ENET_BUILDING_LIB 40 | #define ENET_API __declspec( dllexport ) 41 | #else 42 | #define ENET_API __declspec( dllimport ) 43 | #endif /* ENET_BUILDING_LIB */ 44 | #else /* !ENET_DLL */ 45 | #define ENET_API extern 46 | #endif /* ENET_DLL */ 47 | 48 | typedef fd_set ENetSocketSet; 49 | 50 | #define ENET_SOCKETSET_EMPTY(sockset) FD_ZERO (& (sockset)) 51 | #define ENET_SOCKETSET_ADD(sockset, socket) FD_SET (socket, & (sockset)) 52 | #define ENET_SOCKETSET_REMOVE(sockset, socket) FD_CLR (socket, & (sockset)) 53 | #define ENET_SOCKETSET_CHECK(sockset, socket) FD_ISSET (socket, & (sockset)) 54 | 55 | #endif /* __ENET_WIN32_H__ */ 56 | 57 | 58 | -------------------------------------------------------------------------------- /source/enet/src/callbacks.c: -------------------------------------------------------------------------------- 1 | /** 2 | @file callbacks.c 3 | @brief ENet callback functions 4 | */ 5 | #define ENET_BUILDING_LIB 1 6 | #include "enet/enet.h" 7 | 8 | static ENetCallbacks callbacks = { malloc, free, abort }; 9 | 10 | int 11 | enet_initialize_with_callbacks (ENetVersion version, const ENetCallbacks * inits) 12 | { 13 | if (version < ENET_VERSION_CREATE (1, 3, 0)) 14 | return -1; 15 | 16 | if (inits -> malloc != NULL || inits -> free != NULL) 17 | { 18 | if (inits -> malloc == NULL || inits -> free == NULL) 19 | return -1; 20 | 21 | callbacks.malloc = inits -> malloc; 22 | callbacks.free = inits -> free; 23 | } 24 | 25 | if (inits -> no_memory != NULL) 26 | callbacks.no_memory = inits -> no_memory; 27 | 28 | return enet_initialize (); 29 | } 30 | 31 | ENetVersion 32 | enet_linked_version (void) 33 | { 34 | return ENET_VERSION; 35 | } 36 | 37 | void * 38 | enet_malloc (size_t size) 39 | { 40 | void * memory = callbacks.malloc (size); 41 | 42 | if (memory == NULL) 43 | callbacks.no_memory (); 44 | 45 | return memory; 46 | } 47 | 48 | void 49 | enet_free (void * memory) 50 | { 51 | callbacks.free (memory); 52 | } 53 | 54 | -------------------------------------------------------------------------------- /source/game_inline.c: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef game_inline_c_ 24 | #define game_inline_c_ 25 | 26 | #include "compat.h" 27 | #include "duke3d.h" 28 | #include "premap.h" 29 | #include "game.h" 30 | #include "game_inline.h" 31 | 32 | EXTERN_INLINE void G_SetStatusBarScale(int32_t sc) 33 | { 34 | ud.statusbarscale = clamp(sc, 36, 100); 35 | G_UpdateScreenArea(); 36 | } 37 | 38 | // the point of this is to prevent re-running a function or calculation passed to potentialValue 39 | // without making a new variable under each individual circumstance 40 | EXTERN_INLINE void SetIfGreater(int32_t *variable, int32_t potentialValue) 41 | { 42 | if (potentialValue > *variable) 43 | *variable = potentialValue; 44 | } 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /source/game_inline.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef game_inline_h_ 24 | #define game_inline_h_ 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | EXTERN_INLINE_HEADER void G_SetStatusBarScale(int32_t sc); 31 | 32 | EXTERN_INLINE_HEADER void SetIfGreater(int32_t *variable, int32_t potentialValue); 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | #ifndef DISABLE_INLINING 39 | #include "game_inline.c" 40 | #endif 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /source/jaudiolib/src/driver_ctr.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2015 Felipe Izzo 3 | 4 | This program is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU General Public License 6 | as published by the Free Software Foundation; either version 2 7 | of the License, or (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | 13 | See the GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | 19 | */ 20 | 21 | 22 | int CTRDrv_GetError(void); 23 | const char *CTRDrv_ErrorString( int ErrorNumber ); 24 | int CTRDrv_PCM_Init(int *mixrate, int *numchannels, void * initdata); 25 | void CTRDrv_PCM_Shutdown(void); 26 | int CTRDrv_PCM_BeginPlayback(char *BufferStart, int BufferSize, 27 | int NumDivisions, void ( *CallBackFunc )( void ) ); 28 | void CTRDrv_PCM_StopPlayback(void); 29 | void CTRDrv_PCM_Lock(void); 30 | void CTRDrv_PCM_Unlock(void); -------------------------------------------------------------------------------- /source/jaudiolib/src/driver_directsound.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2009 Jonathon Fowler 3 | 4 | This program is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU General Public License 6 | as published by the Free Software Foundation; either version 2 7 | of the License, or (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | 13 | See the GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | 19 | */ 20 | 21 | #include "inttypes.h" 22 | 23 | int32_t DirectSoundDrv_GetError(void); 24 | const char *DirectSoundDrv_ErrorString( int32_t ErrorNumber ); 25 | int32_t DirectSoundDrv_PCM_Init(int32_t *mixrate, int32_t *numchannels, void * initdata); 26 | void DirectSoundDrv_PCM_Shutdown(void); 27 | int32_t DirectSoundDrv_PCM_BeginPlayback(char *BufferStart, int32_t BufferSize, 28 | int32_t NumDivisions, void ( *CallBackFunc )( void ) ); 29 | void DirectSoundDrv_PCM_StopPlayback(void); 30 | void DirectSoundDrv_PCM_Lock(void); 31 | void DirectSoundDrv_PCM_Unlock(void); 32 | -------------------------------------------------------------------------------- /source/jaudiolib/src/driver_nosound.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2009 Jonathon Fowler 3 | 4 | This program is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU General Public License 6 | as published by the Free Software Foundation; either version 2 7 | of the License, or (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | 13 | See the GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | 19 | */ 20 | 21 | 22 | int NoSoundDrv_GetError(void); 23 | const char *NoSoundDrv_ErrorString( int ErrorNumber ); 24 | int NoSoundDrv_PCM_Init(int *mixrate, int *numchannels, void * initdata); 25 | void NoSoundDrv_PCM_Shutdown(void); 26 | int NoSoundDrv_PCM_BeginPlayback(char *BufferStart, int BufferSize, 27 | int NumDivisions, void ( *CallBackFunc )( void ) ); 28 | void NoSoundDrv_PCM_StopPlayback(void); 29 | void NoSoundDrv_PCM_Lock(void); 30 | void NoSoundDrv_PCM_Unlock(void); 31 | -------------------------------------------------------------------------------- /source/jaudiolib/src/driver_sdl.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2009 Jonathon Fowler 3 | 4 | This program is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU General Public License 6 | as published by the Free Software Foundation; either version 2 7 | of the License, or (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | 13 | See the GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | 19 | */ 20 | 21 | 22 | int32_t SDLDrv_GetError(void); 23 | const char *SDLDrv_ErrorString( int32_t ErrorNumber ); 24 | int32_t SDLDrv_PCM_Init(int32_t *mixrate, int32_t *numchannels, void * initdata); 25 | void SDLDrv_PCM_Shutdown(void); 26 | int32_t SDLDrv_PCM_BeginPlayback(char *BufferStart, int32_t BufferSize, 27 | int32_t NumDivisions, void ( *CallBackFunc )( void ) ); 28 | void SDLDrv_PCM_StopPlayback(void); 29 | void SDLDrv_PCM_Lock(void); 30 | void SDLDrv_PCM_Unlock(void); 31 | -------------------------------------------------------------------------------- /source/jaudiolib/src/pitch.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1994-1995 Apogee Software, Ltd. 3 | 4 | This program is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU General Public License 6 | as published by the Free Software Foundation; either version 2 7 | of the License, or (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | 13 | See the GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | 19 | */ 20 | /********************************************************************** 21 | module: PITCH.H 22 | 23 | author: James R. Dose 24 | date: June 14, 1994 25 | 26 | Public header for PITCH.C 27 | 28 | (c) Copyright 1994 James R. Dose. All Rights Reserved. 29 | **********************************************************************/ 30 | 31 | #ifndef PITCH_H_ 32 | #define PITCH_H_ 33 | 34 | #include "inttypes.h" 35 | 36 | enum PITCH_ERRORS 37 | { 38 | PITCH_Warning = -2, 39 | PITCH_Error = -1, 40 | PITCH_Ok = 0, 41 | }; 42 | 43 | //void PITCH_Init( void ); 44 | uint32_t PITCH_GetScale( int32_t pitchoffset ); 45 | void PITCH_UnlockMemory( void ); 46 | int32_t PITCH_LockMemory( void ); 47 | #endif 48 | -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/32/libFLAC.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/jaudiolib/third-party/Windows/lib/32/libFLAC.a -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/32/libogg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/jaudiolib/third-party/Windows/lib/32/libogg.a -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/32/libvorbis.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/jaudiolib/third-party/Windows/lib/32/libvorbis.a -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/32/libvorbisfile.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/jaudiolib/third-party/Windows/lib/32/libvorbisfile.a -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/64/libFLAC.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/jaudiolib/third-party/Windows/lib/64/libFLAC.a -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/64/libogg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/jaudiolib/third-party/Windows/lib/64/libogg.a -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/64/libvorbis.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/jaudiolib/third-party/Windows/lib/64/libvorbis.a -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/64/libvorbisfile.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/jaudiolib/third-party/Windows/lib/64/libvorbisfile.a -------------------------------------------------------------------------------- /source/jaudiolib/third-party/Windows/lib/instructions.txt: -------------------------------------------------------------------------------- 1 | See "polymer\eduke32\Windows\lib\instructions.txt". 2 | -------------------------------------------------------------------------------- /source/jaudiolib/third-party/common/include/ogg/config_types.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONFIG_TYPES_H__ 2 | #define __CONFIG_TYPES_H__ 3 | 4 | /* these are filled in by configure */ 5 | #define INCLUDE_INTTYPES_H 1 6 | #define INCLUDE_STDINT_H 1 7 | #define INCLUDE_SYS_TYPES_H 1 8 | 9 | #if INCLUDE_INTTYPES_H 10 | # include 11 | #endif 12 | #if INCLUDE_STDINT_H 13 | # include 14 | #endif 15 | #if INCLUDE_SYS_TYPES_H 16 | # include 17 | #endif 18 | 19 | typedef int16_t ogg_int16_t; 20 | typedef uint16_t ogg_uint16_t; 21 | typedef int32_t ogg_int32_t; 22 | typedef uint32_t ogg_uint32_t; 23 | typedef int64_t ogg_int64_t; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /source/lunatic/defs_m32.ilua: -------------------------------------------------------------------------------- 1 | -- INTERNAL 2 | -- definitions of BUILD and game types for the Lunatic Interpreter 3 | 4 | local ffi = require("ffi") 5 | local ffiC = ffi.C 6 | 7 | ffi.cdef[[ 8 | enum { 9 | LUNATIC_CLIENT_MAPSTER32 = 0, 10 | LUNATIC_CLIENT_EDUKE32 = 1, 11 | 12 | LUNATIC_CLIENT = LUNATIC_CLIENT_MAPSTER32 13 | } 14 | ]] 15 | 16 | --== First, load the definitions common to the game's and editor's Lua interface. 17 | decl = ffi.cdef 18 | local defs_c = require("defs_common") 19 | defs_c.finish_spritetype({}) 20 | 21 | defs_c.create_globals(_G) 22 | 23 | -- TODO: provide access to only a subset, restict access to ffiC? 24 | gv = ffiC 25 | 26 | --== Mapster32-specific initialization 27 | 28 | ffi.cdef "char *listsearchpath(int32_t initp);" 29 | 30 | -- Add the search path directories to the Lua load path. 31 | local initp = 1 32 | while (true) do 33 | local sp_c = ffiC.listsearchpath(initp) 34 | 35 | if (sp_c == nil) then 36 | break 37 | end 38 | 39 | local sp = ffi.string(sp_c) 40 | assert(sp:sub(-1)=='/') 41 | package.path = sp..'?.lua;'..package.path 42 | 43 | initp = 0 44 | end 45 | 46 | -- Helper functions 47 | local package = package 48 | local require = require 49 | 50 | function reload(modname) 51 | package.loaded[modname] = nil 52 | return require(modname) 53 | end 54 | 55 | --print('Lua load path: '..package.path) 56 | -------------------------------------------------------------------------------- /source/lunatic/dis_x64.lua: -------------------------------------------------------------------------------- 1 | ---------------------------------------------------------------------------- 2 | -- LuaJIT x64 disassembler wrapper module. 3 | -- 4 | -- Copyright (C) 2005-2015 Mike Pall. All rights reserved. 5 | -- Released under the MIT license. See Copyright Notice in luajit.h 6 | ---------------------------------------------------------------------------- 7 | -- This module just exports the 64 bit functions from the combined 8 | -- x86/x64 disassembler module. All the interesting stuff is there. 9 | ------------------------------------------------------------------------------ 10 | 11 | local require = require 12 | 13 | module(...) 14 | 15 | local dis_x86 = require(_PACKAGE.."dis_x86") 16 | 17 | create = dis_x86.create64 18 | disass = dis_x86.disass64 19 | regname = dis_x86.regname64 20 | 21 | -------------------------------------------------------------------------------- /source/lunatic/doc/Makefile: -------------------------------------------------------------------------------- 1 | FILES=lunatic.html lunacon.html 2 | 3 | # NOTE: the 'source-highlight-args' attribute is not present in the default 4 | # AsciiDoc distribution. It has to be hacked into its 5 | # filters/source/source-highlight-filter.conf like this: 6 | # 7 | # filter="source-highlight -f xhtml -s {language} (...)" 8 | # --> 9 | # filter="source-highlight {source-highlight-args} -f xhtml -s {language} (...)" 10 | %.html: %.txt Makefile lunatic_sh.style 11 | asciidoc -v -a latexmath -a source-highlight-args="--style-file=$(shell pwd)/lunatic_sh.style" $< 12 | 13 | all: $(FILES) 14 | 15 | clean: 16 | rm -f $(FILES) 17 | -------------------------------------------------------------------------------- /source/lunatic/doc/din_w_collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/lunatic/doc/din_w_collapse.png -------------------------------------------------------------------------------- /source/lunatic/doc/din_w_crushing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/lunatic/doc/din_w_crushing.png -------------------------------------------------------------------------------- /source/lunatic/doc/din_w_explosive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/lunatic/doc/din_w_explosive.png -------------------------------------------------------------------------------- /source/lunatic/doc/din_w_toxic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/lunatic/doc/din_w_toxic.png -------------------------------------------------------------------------------- /source/lunatic/doc/how_to_build_lunatic.txt: -------------------------------------------------------------------------------- 1 | 2 | Lunatic depends on the following: 3 | 4 | * LuaJIT 2.0.3 or later [http://luajit.org]. It is recommended to get the 5 | latest git HEAD of the 2.0 branch. As of time of writing, LuaJIT 2.1 is 6 | in alpha, and has not been successfully tested with Lunatic. 7 | 8 | * LPeg 0.12 [http://www.inf.puc-rio.br/~roberto/lpeg]. 9 | 10 | For Windows, static libraries and headers have been provided. 11 | 12 | See platform/Windows/lib/instructions.txt for information on building. 13 | 14 | Build EDuke32 with the GNU Make invocation "make LUNATIC=1". 15 | -------------------------------------------------------------------------------- /source/lunatic/doc/lunatic.conf: -------------------------------------------------------------------------------- 1 | [replacements] 2 | # Make -- an en dash for good looking minus signs. 3 | --=– 4 | -------------------------------------------------------------------------------- /source/lunatic/doc/lunatic_sh.style: -------------------------------------------------------------------------------- 1 | // Custom style file for GNU Source-highlight, derived from its default.style 2 | 3 | bgcolor "white"; // the background color for documents 4 | context gray; // the color for context lines (when specified with line ranges) 5 | 6 | keyword darkblue b; // for language keywords 7 | string "#116611" f; // for strings and chars 8 | specialchar pink f; // for special chars, e.g., \n, \t, \\ 9 | comment "#444444" i, noref; // for comments 10 | cbracket red; // for block brackets (e.g. {, }) 11 | -------------------------------------------------------------------------------- /source/lunatic/listglobals.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z "$1" ]; then 4 | # S or G can be used to display SETGLOBALs or GETGLOBALs, respectively 5 | echo "Usage: $0 [S|G] " 6 | exit 1; 7 | fi 8 | 9 | GS= 10 | 11 | if [ "$1" = G ]; then 12 | GS=G 13 | shift 14 | elif [ "$1" = S ]; then 15 | GS=S 16 | shift 17 | fi 18 | 19 | # Lua 5.2 required to parse ::label:: / goto generated by LunaCON. 20 | LUAC=luac 21 | 22 | for f in "$@"; do 23 | if [ ! -f "$f" ]; then 24 | echo "$f: No such file" 25 | exit 2 26 | fi 27 | echo "[$f]" 28 | # Strip LuaJIT specific syntax first. Run luac and extract interesting lines. 29 | sed -r -e "s/[0-9]+U?LL/0/g" "$f" | $LUAC -p -l - | grep "${GS}ETTABUP.*; _ENV " | 30 | # Reformat them. 31 | sed -e 's/.*\[\(.*\)\].*\([SG]ET\)TABUP.*"\(.*\)".*/\1: \2 \3/' | 32 | # Mark where the new module environment starts. 33 | sed -e 's/GET module/& ____________________/' 34 | echo 35 | done 36 | -------------------------------------------------------------------------------- /source/lunatic/lunatic_m32.c: -------------------------------------------------------------------------------- 1 | /* The Lunatic Interpreter, part of EDuke32. Editor stuff. */ 2 | 3 | #ifdef USE_LUAJIT_2_1 4 | # include 5 | #else 6 | # include 7 | #endif 8 | 9 | #include "lunatic_m32.h" 10 | 11 | 12 | int Em_CreateState(L_State *estate) 13 | { 14 | return L_CreateState(estate, "m32", NULL); 15 | } 16 | 17 | void Em_DestroyState(L_State *estate) 18 | { 19 | L_DestroyState(estate); 20 | } 21 | -------------------------------------------------------------------------------- /source/lunatic/lunatic_m32.h: -------------------------------------------------------------------------------- 1 | /* The Lunatic Interpreter, part of EDuke32. Editor stuff. */ 2 | 3 | #ifndef EDUKE32_LUNATIC_M32_H_ 4 | #define EDUKE32_LUNATIC_M32_H_ 5 | 6 | #include "lunatic.h" 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | int Em_CreateState(L_State *estate); 13 | void Em_DestroyState(L_State *estate); 14 | 15 | #ifdef __cplusplus 16 | } 17 | #endif 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /source/lunatic/strict.lua: -------------------------------------------------------------------------------- 1 | -- 2 | -- strict.lua 3 | -- checks uses of undeclared global variables 4 | -- All global variables must be 'declared' through a regular assignment 5 | -- (even assigning nil will do) in a main chunk before being used 6 | -- anywhere or assigned to inside a function. 7 | -- 8 | 9 | local getinfo, error, rawset, rawget = debug.getinfo, error, rawset, rawget 10 | 11 | local mt = getmetatable(_G) 12 | if mt == nil then 13 | mt = {} 14 | setmetatable(_G, mt) 15 | end 16 | 17 | mt.__declared = {} 18 | 19 | local function what () 20 | local d = getinfo(3, "S") 21 | return d and d.what or "C" 22 | end 23 | 24 | mt.__newindex = function (t, n, v) 25 | if not mt.__declared[n] then 26 | local w = what() 27 | if w ~= "main" and w ~= "C" then 28 | error("assign to undeclared variable '"..n.."'", 2) 29 | end 30 | mt.__declared[n] = true 31 | end 32 | rawset(t, n, v) 33 | end 34 | 35 | -- PK: change from original (undeclared-refs in main allowed): 36 | mt.__index = function (t, n) 37 | if not mt.__declared[n] then 38 | local w = what() 39 | if w ~= "main" and w ~= "C" then 40 | error("variable '"..n.."' is not declared", 2) 41 | end 42 | end 43 | return rawget(t, n) 44 | end 45 | -------------------------------------------------------------------------------- /source/lunatic/test/else_brace_if.con: -------------------------------------------------------------------------------- 1 | 2 | actor 1890 1 3 | // The following "else { if" must not be translated to an "elseif". 4 | ifcount 1 nullop else 5 | { 6 | ifvare 0 0 7 | spawn 1 8 | else 9 | spawn 2 10 | 11 | ifvare 1 1 12 | spawn 3 13 | else ifvare 1 2 14 | spawn 4 15 | } 16 | enda 17 | -------------------------------------------------------------------------------- /source/lunatic/test/event_chaining.con: -------------------------------------------------------------------------------- 1 | definequote 125 FIRST 2 | definequote 126 SECOND 3 | definequote 127 THIRD 4 | 5 | onevent EVENT_ENTERLEVEL 6 | echo 125 7 | endevent 8 | 9 | onevent EVENT_ENTERLEVEL 10 | echo 126 11 | break 12 | echo 126 13 | endevent 14 | 15 | onevent EVENT_ENTERLEVEL 16 | echo 127 17 | endevent 18 | 19 | eventloadactor 930 // "police line" ribbon 20 | // make non-destroyable 21 | setactor[THISACTOR].hitag 0 22 | enda 23 | 24 | eventloadactor 2491 // DUKECAR 25 | killit 26 | enda 27 | 28 | /* 29 | Outputs: 30 | ======== 31 | 32 | C-CON: 33 | ------ 34 | (Since r5097:) 35 | THIRD 36 | SECOND 37 | FIRST 38 | (Before r5097:) 39 | THIRD 40 | SECOND 41 | 42 | LunaCON: 43 | -------- 44 | THIRD 45 | SECOND 46 | FIRST 47 | 48 | */ 49 | -------------------------------------------------------------------------------- /source/lunatic/test/getuserdef.con: -------------------------------------------------------------------------------- 1 | definegametype 0 46051 Cooperative, not Dukematch 2 | 3 | // NOTE: we need to define the rest anew too (or at least #4), because 4 | // 'definegametype' does "g_numGametypes = idx+1", as opposed to 5 | // "g_numGametypes = max(g_numGametypes, idx+1)". 6 | definegametype 1 46051 Cooperative 7 | definegametype 2 16410 Dukematch (no spawn) 8 | definegametype 3 216088 Team Dukematch 9 | definegametype 4 213018 Team Dukematch (no spawn) 10 | 11 | gamevar temp 0 0 12 | 13 | // Original version by Fox, from 14 | // http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__183890 15 | onevent EVENT_DISPLAYREST 16 | // Notes: 17 | // - index (THISACTOR) is never used. 18 | // - incorrect if screenpeek != myconnectindex, e.g. by pressing [K]: 19 | // - all three are equivalent: 20 | getuserdef[THISACTOR].statusbarscale temp 21 | getuserdef .statusbarscale temp 22 | getuserdef[].statusbarscale temp 23 | 24 | redefinequote 0 %ld 25 | qsprintf 0 0 temp 26 | gametext STARTALPHANUM 10 10 0 0 0 0 0 0 xdim ydim 27 | endevent 28 | -------------------------------------------------------------------------------- /source/lunatic/test/nlcf_break.con: -------------------------------------------------------------------------------- 1 | // NOTE: This file is misnamed, "break" is local control flow, of course. 2 | 3 | state teststate_break 4 | ifvare 1 1 5 | { 6 | redefinequote 114 BEFORE 7 | echo 114 8 | 9 | break 10 | 11 | redefinequote 114 AFTER 12 | echo 114 13 | } 14 | 15 | redefinequote 114 STILL LIVE INNER 16 | echo 114 17 | ends 18 | 19 | definequote 499 === 20 | definequote 500 MAXSPRITES: %d 21 | definequote 501 MAXSTATUS: %d 22 | definequote 502 MAX_WEAPONS: %d 23 | 24 | // XXX: EVENT_INIT not reached with LunaCON 25 | onevent EVENT_ENTERLEVEL 26 | state teststate_break 27 | 28 | redefinequote 114 STILL LIVE OUTER 29 | echo 114 30 | 31 | qsprintf 499 /*<-*/ 500 MAXSPRITES 32 | echo 499 33 | qsprintf 499 /*<-*/ 501 MAXSTATUS 34 | echo 499 35 | qsprintf 499 /*<-*/ 502 MAX_WEAPONS 36 | echo 499 37 | endevent 38 | 39 | // Test number parsing 40 | gamevar MINUS_ONE -1 0 41 | gamevar INT32_MIN 0x80000000 0 42 | gamevar INT32_MIN_ -0x80000000 0 43 | gamevar INT32_MINh 0x80000000h 0 44 | gamevar INT32_MIN_h -0x80000000h 0 45 | 46 | gamevar INT32_MIN_P1 0x80000001 0 47 | gamevar INT32_MIN_P1h 0x80000001h 0 48 | //gamevar INT32_MAX_ -0x80000001 0 // error 49 | 50 | gamevar INT32_MAX 0x7fffffff 0 51 | gamevar INT32_MAXh 0x7fffffffh 0 52 | 53 | // 9 digits? truncate it, but only because there's an F there. 54 | gamevar SOMEHEX 0xFFEFC0001 0 55 | 56 | // This one throws an error: 57 | //gamevar BADHEX 0xBFEFC0001 0 58 | -------------------------------------------------------------------------------- /source/lunatic/test/nlcf_return.con: -------------------------------------------------------------------------------- 1 | definequote 125 SPAWNED HEAVYHBOMB 2 | definequote 126 RAN EVENT_EGS 3 | definequote 127 RAN TEST STATE 4 | 5 | state teststate1 6 | return 7 | quote 127 8 | ends 9 | 10 | onevent EVENT_EGS 11 | ifactor HEAVYHBOMB 12 | { 13 | state teststate1 // after teststate1's return, return from EVENT_EGS! 14 | quote 126 15 | } 16 | endevent 17 | 18 | onevent EVENT_FIRE 19 | // the concrete actor is irrelevant, only placeholder 20 | spawn HEAVYHBOMB // --> EVENT_EGS 21 | quote 125 22 | endevent 23 | -------------------------------------------------------------------------------- /source/lunatic/test/rotfixed_actor.con: -------------------------------------------------------------------------------- 1 | // Use as root file, not as additional CON module. 2 | 3 | // Test dynamic tile remapping. 4 | dynamicremap 5 | // Make MASKWALL2 (fence in E1L1 rooftop) execute the C side code of DUKECAR. 6 | // This must be before the original DUKECAR definition, because label 7 | // redefinitions are ignored in CON. 8 | // XXX: Does MASKWALL2's code get executed, too? 9 | define DUKECAR 913 10 | 11 | include GAME.CON 12 | // NOTE: 13 | // DEFS.CON 520:6: warning: label "DUKECAR" not redefined with new value 2491 (old: 913) 14 | 15 | gamevar LOGO_FLAGS 6399 0 // 255+2048+4096, test "no E4 intro", "no E1 bonus" bits 16 | 17 | useractor 4 58 1 NO NO 0 18 | // usertype 4 is "rotation-fixed actor" 19 | // tile 58 is the space suit 20 | 21 | state killme 22 | enda 23 | 24 | // Test useractor type "enemy" 25 | define CYCLOIDHEAD 490 26 | // Will have a flat-sprite-on-floor shadow and be an autoaim target. 27 | useractor 1 CYCLOIDHEAD 10 28 | ifpdistl 1024 tip 29 | state killme 30 | enda 31 | 32 | onevent EVENT_JUMP 33 | mail 2 34 | money 5 35 | paper 3 36 | endevent 37 | 38 | // Speed up sector effects a little 8-) 39 | gamevar ra_temp 0 0 40 | eventloadactor GPSPEED 41 | getactor[THISACTOR].lotag ra_temp 42 | mulvar ra_temp 4 43 | setactor[THISACTOR].lotag ra_temp 44 | enda 45 | 46 | gamevar ii 0 0 47 | onevent EVENT_PROCESSINPUT 48 | setvar ii 0 49 | whilevarvarn ii MAXSPRITES 50 | { 51 | ifvare sprite[ii].picnum 58 // space suit 52 | ssp ii CLIPMASK0 53 | 54 | addvar ii 1 55 | } 56 | endevent 57 | -------------------------------------------------------------------------------- /source/lunatic/test/sprite_addtv.con: -------------------------------------------------------------------------------- 1 | 2 | gamevar tmp 0 0 3 | gamevar cs 0 0 4 | 5 | state setup_animatesprites 6 | getactor[THISACTOR].mdflags tmp 7 | orvar tmp 16 8 | setactor[THISACTOR].mdflags tmp 9 | ends 10 | 11 | onevent EVENT_EGS 12 | state setup_animatesprites 13 | endevent 14 | 15 | onevent EVENT_LOADACTOR 16 | state setup_animatesprites 17 | endevent 18 | 19 | // Assuming a PALETTE.DAT with e.g.: 20 | // blend 0: 50/50 alpha 21 | // blend 1: factor 1.0 additive 22 | // 23 | // See discussion starting from 24 | // http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__213408 25 | onevent EVENT_ANIMATESPRITES 26 | getactor[THISACTOR].cstat cs 27 | ifvarand cs 2 ifvarand cs 512 28 | setactor[THISACTOR].blend 1 29 | else 30 | setactor[THISACTOR].blend 0 31 | endevent 32 | -------------------------------------------------------------------------------- /source/lunatic/util/bigytiles.lua: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env luajit 2 | 3 | if (arg[1]==nil) then 4 | print("Usage: "..arg[0].." ../path/to/*.ART") 5 | return 1 6 | end 7 | 8 | B = require "build" 9 | 10 | tile = B.loadarts(arg) 11 | 12 | for i=0,B.MAX.TILES-1 do 13 | if (tile.sizy[i] > 256) then 14 | print(i..": "..tile.sizy[i]) 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /source/lunatic/util/findmaps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ok=yes 4 | if [ -z "$1" ]; then 5 | ok= 6 | fi 7 | if [ -z "$2" ]; then 8 | ok= 9 | fi 10 | 11 | if [ -z "$ok" ]; then 12 | echo "Usage: $0 " 13 | exit 1 14 | fi 15 | 16 | LOPT=-L 17 | idx=$(expr match `uname -s` '[mM][iI][nN][gG][wW]') 18 | if [ "$idx" != 0 ]; then 19 | LOPT= 20 | fi 21 | 22 | FN="$1" 23 | ARG="$2" 24 | 25 | idx=$(expr match "$ARG" '.*lua$') 26 | if [ "$idx" == 0 ]; then 27 | ARG="-e$ARG" 28 | find $LOPT "$FN" -iname '*.map' -print0 | xargs -0 ./foreachmap.lua "$ARG" 29 | else 30 | shift 31 | # So that you can e.g. do 32 | # ./findmaps.sh ~/.eduke32 ./colenemy.lua -u 33 | find $LOPT "$FN" -iname '*.map' -print0 | xargs -0 ./foreachmap.lua "$@" 34 | fi 35 | -------------------------------------------------------------------------------- /source/lunatic/util/mapastats.lua: -------------------------------------------------------------------------------- 1 | 2 | -- Print out some aggregate statistics for passed BUILD maps, 3 | -- foreachmap module. 4 | 5 | local string = require "string" 6 | local math = require "math" 7 | 8 | local print = print 9 | local type = type 10 | 11 | local stat = require "stat" 12 | 13 | 14 | module(...) 15 | 16 | 17 | local function printf(fmt, ...) 18 | print(string.format(fmt, ...)) 19 | end 20 | 21 | local sumnumsectors = 0 22 | local sumnumwalls = 0 23 | 24 | local s = stat.new() 25 | 26 | function success(map, fn) 27 | local ns = map.numsectors 28 | local nw = map.numwalls 29 | 30 | s:add(nw/ns) 31 | 32 | sumnumsectors = sumnumsectors+ns 33 | sumnumwalls = sumnumwalls+nw 34 | end 35 | 36 | function finish() 37 | res = s:getstats() 38 | 39 | printf("%d maps\n", res.n) 40 | printf("total sectors: %d", sumnumsectors) 41 | printf("total walls: %d", sumnumwalls) 42 | printf("total walls / total sectors: %.02f", sumnumwalls/sumnumsectors) 43 | printf("") 44 | printf("Walls/sector") 45 | print(res) 46 | end 47 | -------------------------------------------------------------------------------- /source/lunatic/util/mapdiff.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | DIFF="git diff -U2 --no-index --color-words" 4 | CMD="/usr/bin/env luajit ./map2text.lua" 5 | 6 | opt="" 7 | 8 | # Name of the 'tempfile' or 'mktemp' command (or full path). 9 | tempfile_cmd=tempfile 10 | 11 | tempfile_path=`which "$tempfile_cmd"` 12 | if [ -z "$tempfile_path" ]; then 13 | echo "Error: tempfile_cmd ($tempfile_cmd) must be the name of existing 'tempfile' or 'mktemp' executable." 14 | exit 1 15 | fi 16 | 17 | if [ "$1" = "-c" -o "$1" = "-C" ]; then 18 | opt="$1" 19 | shift 20 | fi 21 | 22 | if [ -z "$1" -o -z "$2" ]; then 23 | echo "Usage: ./mapdiff.sh [-c] " 24 | exit 1 25 | fi 26 | 27 | tf1=`"$tempfile_cmd"` 28 | if [ -z "$tf1" ]; then 29 | echo Failed creating temp file 30 | exit 2 31 | fi 32 | 33 | tf2=`"$tempfile_cmd"` 34 | if [ -z "$tf2" ]; then 35 | rm "$tf1" 36 | echo Failed creating temp file 37 | exit 2 38 | fi 39 | 40 | $CMD $opt "$1" > "$tf1" 41 | $CMD $opt "$2" > "$tf2" 42 | 43 | $DIFF "$tf1" "$tf2" 44 | 45 | rm "$tf1" 46 | rm "$tf2" 47 | -------------------------------------------------------------------------------- /source/lunatic/util/mapstats.lua: -------------------------------------------------------------------------------- 1 | 2 | -- Print out some statistics for a BUILD map, 3 | -- foreachmap module. 4 | 5 | local string = require "string" 6 | local print = print 7 | 8 | module(...) 9 | 10 | 11 | local function printf(fmt, ...) 12 | print(string.format(fmt, ...)) 13 | end 14 | 15 | 16 | function success(map, fn) 17 | printf("--- %s:", fn) 18 | 19 | printf(" version: %d", map.version) 20 | printf(" numsectors: %d\n numwalls: %d\n numsprites: %d", 21 | map.numsectors, map.numwalls, map.numsprites) 22 | printf(" walls/sector: %.02f\n sprites/sector: %.02f", 23 | map.numwalls/map.numsectors, map.numsprites/map.numsectors) 24 | printf("") 25 | end 26 | -------------------------------------------------------------------------------- /source/mdump.h: -------------------------------------------------------------------------------- 1 | #define _WIN32_WINNT 0x0500 2 | #include 3 | #include 4 | #include 5 | #if _MSC_VER < 1300 6 | #define DECLSPEC_DEPRECATED 7 | // VC6: change this path to your Platform SDK headers 8 | #include "M:\\dev7\\vs\\devtools\\common\\win32sdk\\include\\dbghelp.h" // must be XP version of file 9 | #else 10 | // VC7: ships with updated headers 11 | #include "dbghelp.h" 12 | #endif 13 | 14 | // based on dbghelp.h 15 | typedef BOOL (WINAPI *MINIDUMPWRITEDUMP)(HANDLE hProcess, DWORD dwPid, HANDLE hFile, MINIDUMP_TYPE DumpType, 16 | CONST PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, 17 | CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, 18 | CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam 19 | ); 20 | 21 | class MiniDumper 22 | { 23 | private: 24 | static LPCSTR m_szAppName; 25 | 26 | static LONG WINAPI TopLevelFilter( struct _EXCEPTION_POINTERS *pExceptionInfo ); 27 | 28 | public: 29 | MiniDumper( LPCSTR szAppName ); 30 | }; 31 | -------------------------------------------------------------------------------- /source/misc/buildres.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/misc/buildres.rc -------------------------------------------------------------------------------- /source/misc/gameres.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/misc/gameres.rc -------------------------------------------------------------------------------- /source/osdcmds.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef osdcmds_h_ 24 | #define osdcmds_h_ 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | struct osdcmd_cheatsinfo { 31 | int32_t cheatnum; // -1 = none, else = see DoCheats() 32 | int32_t volume,level; 33 | }; 34 | 35 | extern struct osdcmd_cheatsinfo osdcmd_cheatsinfo_stat; 36 | 37 | int32_t registerosdcommands(void); 38 | void onvideomodechange(int32_t newmode); 39 | 40 | extern float r_ambientlight,r_ambientlightrecip; 41 | 42 | // key bindings stuff 43 | typedef struct { 44 | const char *name; 45 | int32_t id; 46 | } keydef_t; 47 | 48 | extern const keydef_t ConsoleKeys[]; 49 | extern const char *const ConsoleButtons[]; 50 | 51 | extern uint32_t cl_cheatmask; 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif 56 | 57 | #endif // osdcmds_h_ 58 | 59 | -------------------------------------------------------------------------------- /source/osdfuncs.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | void GAME_drawosdchar(int32_t x, int32_t y, char ch, int32_t shade, int32_t pal); 24 | void GAME_drawosdstr(int32_t x, int32_t y, const char *ch, int32_t len, int32_t shade, int32_t pal); 25 | void GAME_drawosdcursor(int32_t x, int32_t y, int32_t type, int32_t lastkeypress); 26 | int32_t GAME_getcolumnwidth(int32_t w); 27 | int32_t GAME_getrowheight(int32_t w); 28 | void GAME_onshowosd(int32_t shown); 29 | void GAME_clearbackground(int32_t numcols, int32_t numrows); 30 | 31 | extern int32_t osdhightile; 32 | extern int32_t osdshown; 33 | extern float osdscale, osdrscale; 34 | 35 | #define OSDCHAR_WIDTH 8 36 | 37 | -------------------------------------------------------------------------------- /source/rev.c: -------------------------------------------------------------------------------- 1 | // This file's main purpose is to be recompiled unconditionally so the timestamp gets updated, even for a partial recompile. 2 | 3 | #if !defined REV 4 | # define REV "r(?)" 5 | #endif 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | const char* s_buildRev = REV; 11 | const char* s_buildTimestamp = __DATE__ " " __TIME__; 12 | #ifdef __cplusplus 13 | } 14 | #endif 15 | -------------------------------------------------------------------------------- /source/rts.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | //*************************************************************************** 24 | // 25 | // RTS.H 26 | // 27 | //*************************************************************************** 28 | 29 | #ifndef rts_public_ 30 | #define rts_public_ 31 | 32 | extern char rts_lumplockbyte[11]; 33 | 34 | /* Files with a .rts extension are idlink files with multiple lumps */ 35 | void RTS_Init(const char *filename); 36 | 37 | int32_t RTS_IsInitialized(void); 38 | 39 | /* Returns the buffer size needed to load the given lump */ 40 | int32_t RTS_SoundLength(int32_t lump); 41 | 42 | void *RTS_GetSound(int32_t lump); 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /source/sector_inline.c: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef sector_inline_c_ 24 | #define sector_inline_c_ 25 | 26 | #include "compat.h" 27 | #include "build.h" 28 | #include "global.h" 29 | #include "duke3d.h" 30 | #include "macros.h" 31 | #include "player.h" 32 | #include "sector_inline.h" 33 | 34 | EXTERN_INLINE int32_t G_CheckPlayerInSector(int32_t sect) 35 | { 36 | int32_t i; 37 | for (TRAVERSE_CONNECT(i)) 38 | if ((unsigned)g_player[i].ps->i < MAXSPRITES && sprite[g_player[i].ps->i].sectnum == sect) 39 | return i; 40 | return -1; 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /source/sector_inline.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef sector_inline_h_ 24 | #define sector_inline_h_ 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | EXTERN_INLINE_HEADER int32_t G_CheckPlayerInSector(int32_t sect); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #ifndef DISABLE_INLINING 37 | #include "sector_inline.c" 38 | #endif 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /source/sounds_common.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2013 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | #ifndef EDUKE32_SOUNDS_COMMON_H 24 | #define EDUKE32_SOUNDS_COMMON_H 25 | 26 | // Sound flags 27 | enum { 28 | SF_LOOP = 1, 29 | SF_MSFX = 2, 30 | SF_TALK = 4, 31 | SF_ADULT = 8, 32 | SF_GLOBAL = 16, 33 | SF_ONEINST_INTERNAL = 32, 34 | 35 | SF_DTAG = 128, 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /source/startwin.game.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2010 EDuke32 developers and contributors 4 | 5 | This file is part of EDuke32. 6 | 7 | EDuke32 is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License version 2 9 | as published by the Free Software Foundation. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | */ 21 | //------------------------------------------------------------------------- 22 | 23 | // resource ids 24 | #define WIN_STARTWIN 1000 25 | #define WIN_STARTWINPAGE_CONFIG 2000 26 | #define WIN_STARTWIN_BITMAP 100 // banner bitmap 27 | #define WIN_STARTWIN_TABCTL 101 28 | #define WIN_STARTWIN_CANCEL IDCANCEL 29 | #define WIN_STARTWIN_START IDOK 30 | 31 | #define WIN_STARTWIN_MESSAGES 104 // output list box 32 | 33 | #define RSRC_ICON 100 34 | #define RSRC_BMP 200 35 | 36 | // config page 37 | #define IDCFULLSCREEN 100 38 | #define IDCVMODE 101 39 | #define IDCSOUNDDRV 102 40 | #define IDCMIDIDEV 103 41 | #define IDCCDADEV 104 42 | #define IDCALWAYSSHOW 105 43 | #define IDCDATA 106 44 | #define IDCGAMEDIR 107 45 | #define IDCPOLYMER 108 46 | #define IDCAUTOLOAD 109 47 | #define IDCINPUT 110 48 | -------------------------------------------------------------------------------- /source/sw/rsrc/32/manifest.build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | Mapster32 for VoidSW 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /source/sw/rsrc/32/manifest.game.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | VoidSW 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /source/sw/rsrc/64/manifest.build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | Mapster32 for VoidSW 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /source/sw/rsrc/64/manifest.game.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | VoidSW 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /source/sw/rsrc/build.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/sw/rsrc/build.bmp -------------------------------------------------------------------------------- /source/sw/rsrc/game.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/sw/rsrc/game.bmp -------------------------------------------------------------------------------- /source/sw/rsrc/game_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/sw/rsrc/game_icon.ico -------------------------------------------------------------------------------- /source/sw/rsrc/game_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/sw/rsrc/game_icon.png -------------------------------------------------------------------------------- /source/sw/src/GameListSource.game.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2013 Jonathon Fowler 4 | 5 | This file is part of JFShadowWarrior 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | */ 22 | //------------------------------------------------------------------------- 23 | 24 | @interface GameListSource : NSObject 25 | { 26 | NSMutableArray *list; 27 | } 28 | - (id)init; 29 | - (void)dealloc; 30 | - (GrpFile *)grpAtIndex:(int)index; 31 | - (int)findIndexForGrpname:(NSString *)grpname; 32 | - (id)tableView:(NSTableView *)aTableView 33 | objectValueForTableColumn:(NSTableColumn *)aTableColumn 34 | row:(NSInteger)rowIndex; 35 | - (int)numberOfRowsInTableView:(NSTableView *)aTableView; 36 | @end 37 | 38 | -------------------------------------------------------------------------------- /source/sw/src/GrpFile.game.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2013 Jonathon Fowler 4 | 5 | This file is part of JFShadowWarrior 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | */ 22 | //------------------------------------------------------------------------- 23 | 24 | 25 | #import 26 | 27 | #include "grpscan.h" 28 | 29 | @interface GrpFile : NSObject 30 | { 31 | NSString *name; 32 | struct grpfile *fg; 33 | } 34 | - (id)initWithGrpfile:(struct grpfile *)grpfile andName:(NSString *)aName; 35 | - (void)dealloc; 36 | - (NSString *)name; 37 | - (NSString *)grpname; 38 | - (struct grpfile *)entryptr; 39 | @end 40 | 41 | -------------------------------------------------------------------------------- /source/sw/src/GrpFile.game.m: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2013 Jonathon Fowler 4 | 5 | This file is part of JFShadowWarrior 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | */ 22 | //------------------------------------------------------------------------- 23 | 24 | #include "GrpFile.game.h" 25 | 26 | @implementation GrpFile 27 | - (id)initWithGrpfile:(struct grpfile *)grpfile andName:(NSString*)aName 28 | { 29 | self = [super init]; 30 | if (self) { 31 | fg = grpfile; 32 | name = aName; 33 | [aName retain]; 34 | } 35 | return self; 36 | } 37 | - (void)dealloc 38 | { 39 | [name release]; 40 | [super dealloc]; 41 | } 42 | - (NSString *)name 43 | { 44 | return name; 45 | } 46 | - (NSString *)grpname 47 | { 48 | return [NSString stringWithUTF8String:(fg->name)]; 49 | } 50 | - (struct grpfile *)entryptr 51 | { 52 | return fg; 53 | } 54 | @end 55 | -------------------------------------------------------------------------------- /source/sw/src/_config.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | #ifndef config_private_ 28 | #define config_private_ 29 | 30 | //#define SETUPFILENAME "SW.CFG" 31 | 32 | #endif 33 | 34 | 35 | -------------------------------------------------------------------------------- /source/sw/src/actor.h: -------------------------------------------------------------------------------- 1 | int DoBeginJump(short SpriteNum); 2 | int DoJump(short SpriteNum); 3 | int DoBeginFall(short SpriteNum); 4 | int DoFall(short SpriteNum); 5 | void KeepActorOnFloor(short SpriteNum); 6 | int DoActorSlide(short SpriteNum); 7 | int DoActorSectorDamage(short SpriteNum); 8 | int DoScaleSprite(short SpriteNum); 9 | -------------------------------------------------------------------------------- /source/sw/src/anim.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | #define ANIM_INTRO 0 28 | #define ANIM_SERP 1 29 | #define ANIM_SUMO 2 30 | #define ANIM_ZILLA 3 31 | 32 | unsigned char *LoadAnm(short anim_num); 33 | void playanm(short anim_num); 34 | -------------------------------------------------------------------------------- /source/sw/src/cache.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | #define CACHE_NONE 0 // don't use this - this is for ken 28 | #define CACHE_LOCK_MAX 255 29 | #define CACHE_LOCK_START 200 30 | #define CACHE_UNLOCK_START 1 31 | #define CACHE_UNLOCK_MAX 199 32 | 33 | #define CACHE_SOUND_PRECACHE 0 34 | #define CACHE_SOUND_PLAY 1 35 | 36 | void SetupPreCache(void); 37 | void PreCacheRange(short start_pic, short end_pic); 38 | void DoTheCache(void); 39 | void precache(void); 40 | 41 | -------------------------------------------------------------------------------- /source/sw/src/colormap.h: -------------------------------------------------------------------------------- 1 | void MapColors(short num,COLOR_MAP cm,short create); 2 | void InitPalette(void); 3 | void SetPaletteToVESA(unsigned char *pal); 4 | void set_pal(unsigned char *pal); 5 | void GetPaletteFromVESA(unsigned char *pal); 6 | void InitPalette(void); 7 | -------------------------------------------------------------------------------- /source/sw/src/common.c: -------------------------------------------------------------------------------- 1 | 2 | #include "build.h" 3 | 4 | #include "common_game.h" 5 | 6 | static const char *defaultgrpfilename = "sw.grp"; 7 | static const char *defaultdeffilename = "sw.def"; 8 | 9 | // g_grpNamePtr can ONLY point to a malloc'd block (length BMAX_PATH) 10 | char *g_grpNamePtr = NULL; 11 | 12 | void clearGrpNamePtr(void) 13 | { 14 | Bfree(g_grpNamePtr); 15 | // g_grpNamePtr assumed to be assigned to right after 16 | } 17 | 18 | const char *G_DefaultGrpFile(void) 19 | { 20 | return defaultgrpfilename; 21 | } 22 | const char *G_GrpFile(void) 23 | { 24 | if (g_grpNamePtr == NULL) 25 | return G_DefaultGrpFile(); 26 | else 27 | return g_grpNamePtr; 28 | } 29 | 30 | const char *G_DefaultDefFile(void) 31 | { 32 | return defaultdeffilename; 33 | } 34 | const char *G_DefFile(void) 35 | { 36 | if (g_defNamePtr == NULL) 37 | return G_DefaultDefFile(); 38 | else 39 | return g_defNamePtr; 40 | } 41 | 42 | 43 | void SW_InitMultiPsky(void) 44 | { 45 | // default 46 | psky * const defaultsky = E_DefinePsky(DEFAULTPSKY); 47 | defaultsky->lognumtiles = 1; 48 | defaultsky->horizfrac = 8192; 49 | } 50 | -------------------------------------------------------------------------------- /source/sw/src/common_game.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/sw/src/common_game.h -------------------------------------------------------------------------------- /source/sw/src/grpscan.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 2007 Jonathon Fowler 4 | 5 | This file is part of JFShadowWarrior 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | */ 22 | //------------------------------------------------------------------------- 23 | 24 | #ifndef grpscan_h__ 25 | #define grpscan_h__ 26 | 27 | // List of internally-known GRP files 28 | #define numgrpfiles 3 29 | struct grpfile 30 | { 31 | const char *name; 32 | int crcval; 33 | int size; 34 | struct grpfile *next; 35 | } grpfiles[numgrpfiles], *foundgrps; 36 | 37 | int ScanGroups(void); 38 | void FreeGroups(void); 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /source/sw/src/jnames.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | // My pic names file 28 | 29 | #ifndef JNAMES_H 30 | #define JNAMES_H 31 | 32 | #define MIRROR 340 33 | #define FLOORMIRROR 341 34 | #define CAMSPRITE 3830 35 | 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /source/sw/src/mclip.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | #define RECT_CLIP 1 28 | 29 | int MultiClipMove(PLAYERp pp, int z, int floor_dist); 30 | short MultiClipTurn(PLAYERp pp, short new_ang, int z, int floor_dist); 31 | int testquadinsect(int *point_num, int *qx, int *qy, short sectnum); 32 | int RectClipMove(PLAYERp pp, int *qx, int *qy); 33 | int testpointinquad(int x, int y, int *qx, int *qy); 34 | //short RectClipTurn(PLAYERp pp, short new_ang, int z, int floor_dist, int *qx, int *qy); 35 | short RectClipTurn(PLAYERp pp, short new_ang, int *qx, int *qy, int *ox, int *oy); 36 | -------------------------------------------------------------------------------- /source/sw/src/mfile.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | #include "compat.h" 28 | #include "cache1d.h" 29 | 30 | typedef BFILE* MFILE_WRITE; 31 | typedef int32_t MFILE_READ; 32 | #define MREAD(ptr, size, num,handle) kdfread((ptr),(size),(num),(handle)) 33 | #define MWRITE(ptr, size, num,handle) dfwrite((ptr),(size),(num),(handle)) 34 | #define MOPEN_WRITE(name) Bfopen(name,"wb") 35 | #define MOPEN_READ(name) kopen4load(name,0) 36 | #define MCLOSE_WRITE(handle) Bfclose(handle) 37 | #define MCLOSE_READ(handle) kclose(handle) 38 | #define MOPEN_WRITE_ERR 0 39 | #define MOPEN_READ_ERR -1 40 | -------------------------------------------------------------------------------- /source/sw/src/ninja.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | #ifndef NINJA_H 28 | #define NINJA_H 29 | 30 | #define NINJA_NORMAL_SPEED 60 31 | #define NINJA_RUN_AWAY_SPEED 130 32 | #define NINJA_FIND_PLAYER_SPEED 100 33 | #define NINJA_CRAWL_SPEED 50 34 | #define NINJA_SWIM_SPEED 50 35 | 36 | void InitPlayerSprite(PLAYERp pp); 37 | void InitAllPlayerSprites(void); 38 | void PlayerPanelSetup(void); 39 | void PlayerDeathReset(PLAYERp pp); 40 | void SpawnPlayerUnderSprite(PLAYERp pp); 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /source/sw/src/quake.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | void DoQuakeMatch(short match); 28 | void ProcessQuakeOn(void); 29 | void ProcessQuakeSpot(void); 30 | void QuakeViewChange(PLAYERp pp, int *z_diff, int *x_diff, int *y_diff, short *ang_diff); 31 | void DoQuake(PLAYERp pp); 32 | SWBOOL SetQuake(PLAYERp pp, short tics, short amt); 33 | int SetExpQuake(int16_t Weapon); 34 | int SetGunQuake(int16_t SpriteNum); 35 | int SetPlayerQuake(PLAYERp mpp); 36 | int SetNuclearQuake(int16_t Weapon); 37 | int SetSumoQuake(int16_t SpriteNum); 38 | int SetSumoFartQuake(int16_t SpriteNum); 39 | 40 | -------------------------------------------------------------------------------- /source/sw/src/savedef.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | #define SAVE_VALIDATE FALSE 28 | -------------------------------------------------------------------------------- /source/sw/src/slidor.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | #ifndef SLIDOR_PUBLIC_ 28 | #define SLIDOR_PUBLIC_ 29 | 30 | short DoSlidorMatch(PLAYERp pp, short match, SWBOOL); 31 | SWBOOL TestSlidorMatchActive(short match); 32 | void InterpSectorSprites(short sectnum, SWBOOL state); 33 | 34 | typedef void INTERP_FUNC (int *); 35 | typedef INTERP_FUNC *INTERP_FUNCp; 36 | 37 | void SetSlidorActive(short SpriteNum); 38 | void DoSlidorInterp(short, INTERP_FUNCp); 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /source/sw/src/startwin.game.h: -------------------------------------------------------------------------------- 1 | // resource ids 2 | #define WIN_STARTWIN 1000 3 | #define WIN_STARTWINPAGE_CONFIG 2000 4 | #define WIN_STARTWINPAGE_GAME 3000 5 | #define WIN_STARTWIN_BITMAP 100 // banner bitmap 6 | #define WIN_STARTWIN_TABCTL 101 7 | #define WIN_STARTWIN_CANCEL IDCANCEL 8 | #define WIN_STARTWIN_START IDOK 9 | 10 | #define WIN_STARTWIN_MESSAGES 104 // output list box 11 | 12 | #define RSRC_ICON 100 13 | #define RSRC_BMP 200 14 | 15 | // config page 16 | #define IDCFULLSCREEN 100 17 | #define IDCVMODE 101 18 | #define IDCSOUNDQUAL 102 19 | #define IDCINPUTMOUSE 105 20 | #define IDCINPUTJOY 106 21 | #define IDCALWAYSSHOW 107 22 | 23 | // game page 24 | #define IDGDATA 100 25 | 26 | -------------------------------------------------------------------------------- /source/sw/src/track.h: -------------------------------------------------------------------------------- 1 | int ActorFollowTrack(short SpriteNum,short locktics); 2 | void ActorLeaveTrack(short SpriteNum); 3 | void RefreshPoints(SECTOR_OBJECTp sop,int nx,int ny,SWBOOL dynamic); 4 | void TrackSetup(void); 5 | void PlaceSectorObject(SECTOR_OBJECTp sop,short newang,int newx,int newy); 6 | void PlaceSectorObjectsOnTracks(void); 7 | void PlaceActorsOnTracks(void); 8 | void SetupSectorObject(short sectnum,short tag); 9 | void PostSetupSectorObject(void); 10 | void VehicleSetSmoke(SECTOR_OBJECTp sop,ANIMATORp animator); 11 | void CollapseSectorObject(SECTOR_OBJECTp sop,int nx,int ny); 12 | void KillSectorObjectSprites(SECTOR_OBJECTp sop); 13 | void MoveSectorObjects(SECTOR_OBJECTp sop,short locktics); 14 | -------------------------------------------------------------------------------- /source/sw/src/trigger.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | enum TriggerType {TRIGGER_TYPE_REMOTE_SO}; 28 | -------------------------------------------------------------------------------- /source/sw/src/vis.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | void ProcessVisOn(void); 28 | void VisViewChange(PLAYERp pp, int *vis); 29 | int SpawnVis(short Parent, short sectnum, int x, int y, int z, int amt); 30 | -------------------------------------------------------------------------------- /source/sw/src/warp.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------- 2 | /* 3 | Copyright (C) 1997, 2005 - 3D Realms Entertainment 4 | 5 | This file is part of Shadow Warrior version 1.2 6 | 7 | Shadow Warrior is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License 9 | as published by the Free Software Foundation; either version 2 10 | of the License, or (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | 22 | Original Source: 1997 - Frank Maddin and Jim Norwood 23 | Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms 24 | */ 25 | //------------------------------------------------------------------------- 26 | 27 | SWBOOL WarpPlaneSectorInfo(short sectnum, SPRITEp *sp_ceiling, SPRITEp *sp_floor); 28 | SPRITEp WarpPlane(int32_t* x, int32_t* y, int32_t* z, int16_t* sectnum); 29 | SPRITEp WarpToArea(SPRITEp sp_from, int32_t* x, int32_t* y, int32_t* z, int16_t* sectnum); 30 | SWBOOL WarpSectorInfo(short sectnum, SPRITEp *sp_warp); 31 | SPRITEp Warp(int32_t* x, int32_t* y, int32_t* z, int16_t* sectnum); 32 | -------------------------------------------------------------------------------- /source/testgame/rsrc/32/manifest.build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | Mapster32 for KenBuild 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /source/testgame/rsrc/32/manifest.game.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | KenBuild 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /source/testgame/rsrc/64/manifest.build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | Mapster32 for KenBuild 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /source/testgame/rsrc/64/manifest.game.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 14 | KenBuild 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /source/testgame/rsrc/build.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/build.bmp -------------------------------------------------------------------------------- /source/testgame/rsrc/build.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/build.xcf -------------------------------------------------------------------------------- /source/testgame/rsrc/build_icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/build_icon.icns -------------------------------------------------------------------------------- /source/testgame/rsrc/build_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/build_icon.ico -------------------------------------------------------------------------------- /source/testgame/rsrc/build_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/build_icon.png -------------------------------------------------------------------------------- /source/testgame/rsrc/build_icon.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/build_icon.xcf -------------------------------------------------------------------------------- /source/testgame/rsrc/game.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/game.bmp -------------------------------------------------------------------------------- /source/testgame/rsrc/game.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/game.xcf -------------------------------------------------------------------------------- /source/testgame/rsrc/game_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/game_icon.ico -------------------------------------------------------------------------------- /source/testgame/rsrc/game_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masterfeizz/EDuke3D/e29108b78c777d5f7814ff4543c1643b93c77d24/source/testgame/rsrc/game_icon.png -------------------------------------------------------------------------------- /source/testgame/src/common.c: -------------------------------------------------------------------------------- 1 | 2 | #include "compat.h" 3 | #include "build.h" 4 | 5 | #include "names.h" 6 | #include "common_game.h" 7 | 8 | static const char *defaultgrpfilename = "stuff.dat"; 9 | static const char *defaultdeffilename = "kenbuild.def"; 10 | 11 | const char *G_DefaultGrpFile(void) 12 | { 13 | return defaultgrpfilename; 14 | } 15 | const char *G_GrpFile(void) 16 | { 17 | return defaultgrpfilename; 18 | } 19 | 20 | const char *G_DefaultDefFile(void) 21 | { 22 | return defaultdeffilename; 23 | } 24 | const char *G_DefFile(void) 25 | { 26 | return defaultdeffilename; 27 | } 28 | 29 | void Ken_InitMultiPsky(void) 30 | { 31 | // default 32 | psky *const defaultsky = E_DefinePsky(DEFAULTPSKY); 33 | defaultsky->lognumtiles = 1; 34 | defaultsky->horizfrac = 65536; 35 | 36 | // DAYSKY 37 | psky *const daysky = E_DefinePsky(DAYSKY); 38 | daysky->lognumtiles = 1; 39 | daysky->horizfrac = 65536; 40 | 41 | // NIGHTSKY 42 | psky *const nightsky = E_DefinePsky(NIGHTSKY); 43 | nightsky->lognumtiles = 3; 44 | nightsky->horizfrac = 65536; 45 | } 46 | -------------------------------------------------------------------------------- /source/testgame/src/common_game.h: -------------------------------------------------------------------------------- 1 | 2 | #include "compat.h" 3 | 4 | extern const char *G_DefaultGrpFile(void); 5 | extern const char *G_GrpFile(void); 6 | 7 | extern void Ken_InitMultiPsky(void); 8 | -------------------------------------------------------------------------------- /source/testgame/src/names.h: -------------------------------------------------------------------------------- 1 | //Be careful when changing this file - it is parsed by Editart and Build. 2 | #define SWITCH1ON 15 3 | #define SLIME 34 4 | #define BACKGROUND 37 5 | #define KENPICTURE 48 6 | #define BUILDDISK 49 7 | #define SWITCH2ON 66 8 | #define SWITCH2OFF 69 9 | #define ALPHABET 73 10 | #define NO 74 11 | #define DEMOSIGN 75 12 | #define COIN 76 13 | #define COINSTACK 77 14 | #define GIFTBOX 78 15 | #define DIAMONDS 79 16 | #define EVILALGRAVE 83 17 | #define STATUSBAR 87 18 | #define DAYSKY 89 19 | #define WATERFOUNTAIN 90 20 | #define USEWATERFOUNTAIN 91 21 | #define NIGHTSKY 93 22 | #define BULLET 98 23 | #define BOMB 100 24 | #define CANNON 101 25 | #define GUNONBOTTOM 102 26 | #define BOMBEMITTER 103 27 | #define EXPLOSION 105 28 | #define SPLASH 106 29 | #define BROWNMONSTER 110 30 | #define SKELETON 113 31 | #define AL 114 32 | #define EVILAL 115 33 | #define PLAYER 120 34 | #define SWITCH3OFF 146 35 | #define SWITCH3ON 147 36 | #define AIRPLANE 148 37 | #define SPIRAL 149 38 | #define COMPASS 150 39 | #define FOOTPRINT 156 40 | #define STATUSBARFILL8 160 41 | #define STATUSBARFILL4 161 42 | #define BOUNCYMAT 162 43 | #define MIRROR 165 44 | #define FLOORMIRROR 166 45 | #define GRABBER 167 46 | #define GRABCANNON 168 47 | #define MISSILE 169 48 | #define LAUNCHER 171 49 | #define MIRRORLABEL 4000 50 | -------------------------------------------------------------------------------- /source/testgame/src/sound_stub.c: -------------------------------------------------------------------------------- 1 | 2 | #include "compat.h" 3 | 4 | void initsb(char dadigistat, char damusistat, int dasamplerate, char danumspeakers, char dabytespersample, char daintspersec, char daquality) 5 | { 6 | UNREFERENCED_PARAMETER(dadigistat); 7 | UNREFERENCED_PARAMETER(damusistat); 8 | UNREFERENCED_PARAMETER(dasamplerate); 9 | UNREFERENCED_PARAMETER(danumspeakers); 10 | UNREFERENCED_PARAMETER(dabytespersample); 11 | UNREFERENCED_PARAMETER(daintspersec); 12 | UNREFERENCED_PARAMETER(daquality); 13 | } 14 | 15 | void uninitsb(void) 16 | { 17 | } 18 | 19 | void setears(int daposx, int daposy, int daxvect, int dayvect) 20 | { 21 | UNREFERENCED_PARAMETER(daposx); 22 | UNREFERENCED_PARAMETER(daposy); 23 | UNREFERENCED_PARAMETER(daxvect); 24 | UNREFERENCED_PARAMETER(dayvect); 25 | } 26 | 27 | void wsayfollow(char *dafilename, int dafreq, int davol, int *daxplc, int *dayplc, char followstat) 28 | { 29 | UNREFERENCED_PARAMETER(dafilename); 30 | UNREFERENCED_PARAMETER(dafreq); 31 | UNREFERENCED_PARAMETER(davol); 32 | UNREFERENCED_PARAMETER(daxplc); 33 | UNREFERENCED_PARAMETER(dayplc); 34 | UNREFERENCED_PARAMETER(followstat); 35 | } 36 | 37 | void wsay(char *dafilename, int dafreq, int volume1, int volume2) 38 | { 39 | UNREFERENCED_PARAMETER(dafilename); 40 | UNREFERENCED_PARAMETER(dafreq); 41 | UNREFERENCED_PARAMETER(volume1); 42 | UNREFERENCED_PARAMETER(volume2); 43 | } 44 | 45 | void loadwaves(void) 46 | { 47 | } 48 | 49 | void loadsong(char *filename) 50 | { 51 | UNREFERENCED_PARAMETER(filename); 52 | } 53 | 54 | void musicon(void) 55 | { 56 | } 57 | 58 | void musicoff(void) 59 | { 60 | } 61 | 62 | void refreshaudio(void) 63 | { 64 | } 65 | -------------------------------------------------------------------------------- /source/testgame/src/startwin.game.h: -------------------------------------------------------------------------------- 1 | // resource ids 2 | #define WIN_STARTWIN 1000 3 | #define WIN_STARTWINPAGE_CONFIG 2000 4 | #define WIN_STARTWIN_BITMAP 100 // banner bitmap 5 | #define WIN_STARTWIN_TABCTL 101 6 | #define WIN_STARTWIN_CANCEL IDCANCEL 7 | #define WIN_STARTWIN_START IDOK 8 | 9 | #define WIN_STARTWIN_MESSAGES 104 // output list box 10 | 11 | #define RSRC_ICON 100 12 | #define RSRC_BMP 200 13 | 14 | // config page 15 | #define IDCFULLSCREEN 100 16 | #define IDC3DVMODE 101 17 | #define IDCALWAYSSHOW 102 18 | --------------------------------------------------------------------------------