Christoph Oelckers
5490ffcd77
- removed the obsolete Doomsday 1.8-style texture pack support.
...
This poorly integrated into the texture system and wasn't compatible with modern texture packs anymore so its usefulness was questionable.
2020-04-04 12:55:24 +02:00
drfrag
68f338b134
- Fixed compilation with MinGW and did some cleanup.
2020-02-16 09:39:17 +02:00
dondiego
e13e034cc4
SoftPoly only worked with Vulkan support on POSIX platforms ( #1036 )
...
* - CMake: fix wrong filename.
* - Fixed: SoftPoly only worked with Vulkan support on POSIX platforms.
2020-02-15 17:41:52 -05:00
Christoph Oelckers
c485256c74
Merge remote-tracking branch 'remotes/origin/zmusic_dll'
2020-02-15 10:22:45 +01:00
alexey.lysiuk
2bde2d8268
- fixed 32-bit Linux build with SSE support enabled
2020-02-13 15:29:48 +02:00
alexey.lysiuk
a1b5ab6e9b
- added ZMusic library detection to CMake configuration
2020-02-09 15:51:50 +02:00
Christoph Oelckers
2dd3c28d05
- transitioned engine to use ZMusic as a DLL.
2020-02-09 08:56:49 +01:00
Braden Obrzut
62e9e0cbbb
- Change updaterevision to a CMake script
...
The benefit to this is fairly small, but it does mean a little less work needs
to be done in the build scripts for cross compiling. The C version wasn't
especially concise so it was not obviously better in any way.
2020-02-02 11:43:36 +01:00
alexey.lysiuk
d425d8d9ca
- put common POSIX system code to a separate file
2020-01-26 11:01:13 +02:00
Magnus Norddahl
e43894213e
Remove softpoly specific matrix and vector classes
2020-01-18 13:56:37 +01:00
Alexander Kromm
703686beee
export TMap<FString, FString> to ZScript
2019-12-29 13:37:38 +01:00
Magnus Norddahl
5632c80ab2
Split softpoly into more files
2019-12-15 17:14:23 +01:00
Christoph Oelckers
83349bee1b
- separated reverb data and reverb editor.
...
Again, isolating the part that is game independent from parts that are specific to GZDoom.
2019-12-08 21:45:45 +01:00
Christoph Oelckers
fd181f469d
- reduced the dependency of the sound system on game state.
...
Many of the simple wrappers have been moved to a separate file and the sound source handling has been abstracted.
This is only the first phase, the work is not complete yet.
Also changed the license of the sound code to BSD after verifying that this code bears no similarity to id's original sound code anymore, save for a few function names (which are due to be refactored out anyway.)
2019-12-08 13:28:52 +01:00
Magnus Norddahl
74c6b9fe6d
Remove PolyDrawArgs
2019-12-02 00:21:42 +01:00
Magnus Norddahl
4a25c9f69b
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-01 20:09:19 +01:00
Christoph Oelckers
81753e5ffb
- moved the level postprocessor to its own source file.
2019-11-10 21:28:01 +01:00
alexey.lysiuk
4ae16c27e2
- added Visual Studio debugger visualization for several types
2019-10-23 20:15:55 +02:00
alexey.lysiuk
bb5ca2ce39
- deleted leftovers of exit refactoring
2019-10-12 12:43:49 +03:00
Christoph Oelckers
2e7af1338c
- the big cleanup of the exit cleanup is done!
...
atterm is gone and only a few system-side functions use atexit.
All game side cleanup is performed in D_DoomMain now.
2019-10-07 20:28:55 +02:00
Christoph Oelckers
5a72e0bfb7
- added a new texture class using stb_image to read a more formats.
...
This implementation only reads GIF, BMP and PIC formats. No animated GIF support because stb_image does not handle that.
PNG, JPG and TGA are still being handled by the existing dedicated implementations.
PSD and HDR are impractical for reading texture data and thus are disabled.
PnM could be enabled, if its identification semantics were stronger. stb_image only checks the first two characters which simply would falsely identify several flats with the right colors in the first two bytes.
This is more or less a waste product of getting stb_image to work with something actually testable, so it is just provided as-is.
2019-10-06 08:37:23 +02:00
alexey.lysiuk
46270326be
- implemented str(n)icmp function definitions via CMake macro
2019-10-05 14:47:36 +03:00
alexey.lysiuk
1d9b5cb239
- restored ability to link with thirdparty sound libraries explicitly
...
DYN_SNDFILE=NO and DYN_MPG123=NO were ignored while DYN_FLUIDSYNTH=NO broke compilation
These options should be applied to ZMusic target instead of the main executable
As a bonus, it's now possible to build GZDoom without FluidSynth
2019-10-03 12:22:46 +03:00
Christoph Oelckers
b0acfc3ce6
- split up st_start.cpp into one file with the Windows interface code and a second one which only contains platform independent code.
...
Since this made heavy use of Windows type, those were duplicated to avoid rewriting the entire interface.
This split at least reduces the amount of code needed to refactor for making the screens work on other platforms than Windows.
2019-10-01 23:00:13 +02:00
Christoph Oelckers
2b87941d7d
Merge branch 'master' into zmusic_work
...
# Conflicts:
# src/sound/music/i_musicinterns.h
2019-09-30 17:48:34 +02:00
Christoph Oelckers
d0cf21654e
- moved the CD Audio code to ZMusic, too.
...
This was the last player class.
This code was also cleaned up for non-Windows systems where CD Audio is not implemented.
Instead of providing an empty implementation, all related code is now explicitly deactivated.
2019-09-30 02:22:53 +02:00
Christoph Oelckers
352365189f
- moved the main music classes to ZMusic
...
What's left is the CD-Audio playback and some global functions.
2019-09-30 02:10:00 +02:00
Christoph Oelckers
b9b706e951
- renamed the configuration file.
2019-09-29 22:03:14 +02:00
Christoph Oelckers
859028b35a
- moved the stream sources to zmusic project.
2019-09-29 13:33:09 +02:00
Christoph Oelckers
cdf2a17c5a
- moved the sound decoding code to the zmusic project.
...
Since this gets used by both the sound backend and the music code it needs to be in a place accessible to both.
2019-09-29 12:48:12 +02:00
Christoph Oelckers
cfe89ef6e6
- created a new zmusic library which will eventually contain all the music playback code.
...
Currently all it contains are the MIDI sources and the MIDI devices, the rest needs to be reworked first.
2019-09-28 18:32:25 +02:00
alexey.lysiuk
9f190e76e3
- disabled code signing in Xcode by default
...
It’s impossible to build GZDoom without valid code signing identity with Xcode 11 using a project
2019-09-28 13:32:31 +03:00
Christoph Oelckers
67169b80e5
- split out the MIDIDevice implementation into its own source file.
2019-09-28 07:47:50 +02:00
Christoph Oelckers
9b0529b8a3
- removed most dependencies on ZDoom code in ADL Midi device.
2019-09-26 21:29:06 +02:00
Christoph Oelckers
d3df422031
- made the OPL synth backend a separate library.
2019-09-26 20:06:39 +02:00
Christoph Oelckers
b085ac3efb
- cleaned up the dependencies of the OPL interface layer.
...
This also removes the OPL dumper because I wasn't able to get any non-broken output from it and have no desire to fix such a niche feature.
2019-09-26 19:33:28 +02:00
Christoph Oelckers
b8824b572f
- adapted the PSX XA decoder from EDuke32 as a music format in GZDoom.
...
Libsndfile cannot decode this format but tries to play these files as regular WAVs and turns them into noise (Both are in a RIFF container.)
2019-09-25 21:11:00 +02:00
Christoph Oelckers
4ba8da290c
- made WildMidi a library.
2019-09-25 19:38:48 +02:00
Christoph Oelckers
7962bf189e
- made the Timidity(GUS) device a separate library.
2019-09-24 23:43:44 +02:00
alexey.lysiuk
ca5ca8e974
- fixed C++ compilation flags applied to C files
...
This had an effect on 32-bit targets without SSE support
2019-09-24 11:53:18 +03:00
Christoph Oelckers
115d1cb182
- made the Timidity++ backend a library, now that it has no dependencies on GZDoom anymore.
2019-09-23 14:27:43 +02:00
Christoph Oelckers
b3a9884eb1
- gave libopen the same treatment and made it its own subproject
2019-09-23 10:03:18 +02:00
Christoph Oelckers
84cc7cbdd2
- made libadl its own library subproject.
...
This is to improve compile times because the MSVC compiler tends to become slow with large lists of source files in a single project.
This new project is still our stripped down copy of libadl, not the original, because that project contains a large amount of baggage we do not need.
2019-09-23 10:03:17 +02:00
Magnus Norddahl
a410324084
Merge remote-tracking branch 'origin/master' into polybackend
2019-08-25 11:54:45 +02:00
Christoph Oelckers
66db894866
- split off all music code from s_sound.cpp
2019-08-23 17:15:19 +02:00
alexey.lysiuk
c3edfdd946
- temporary solution to fix build of non-MSVC targets
...
Precompilation of prefix header for GCC and Clang requires some efforts thanks to CMake which doesn't support this feature out of the box
Existing thirparty solutions must be tuned to our needs, and our configuration should be adjusted to a chosen module
2019-08-22 11:30:40 +03:00
Christoph Oelckers
38fec546a7
- moved the generic palette utilities and the matrix class to 'utility'
2019-08-20 23:05:20 +02:00
Christoph Oelckers
cf15ebc966
- inlined the entire ColorMatcher.
2019-08-20 23:05:19 +02:00
alexey.lysiuk
d9dcc26dc6
- set default magnification filter for Metal layer to nearest
...
Magnification filter is applied to swapchain image when it's copied to a physical display surface
This is needed for gfx-portability because MoltenVK uses nearest sampling by default
2019-08-04 13:37:47 +03:00
Magnus Norddahl
7940d5fe01
Merge remote-tracking branch 'origin/master' into polybackend
2019-08-04 02:22:55 +02:00
Magnus Norddahl
4adac3fe59
- move streaming uniform buffers out of VkRenderState
2019-07-28 16:28:43 +02:00
Magnus Norddahl
e6f6f10e81
Merge remote-tracking branch 'origin/master' into polybackend
2019-07-24 21:39:07 +02:00
drfrag
416f5d03b7
- Fixed compilation with MinGW.
2019-07-15 19:26:25 +02:00
alexey.lysiuk
f25e5c738c
- fixed compilation of Linux targets
...
src/../libraries/gdtoa/gdtoa.h:67:19: fatal error: arith.h: No such file or directory
2019-07-14 22:29:38 +03:00
Christoph Oelckers
7346288bf5
- moved some more files.
2019-07-14 21:09:49 +02:00
Christoph Oelckers
7351a76404
- move sound files to sound folder.
2019-07-14 17:48:55 +02:00
Christoph Oelckers
f50e402e92
- sorted sound backend code into subdirectories.
2019-07-14 16:07:18 +02:00
Christoph Oelckers
ed6ab39b2d
- moved third party library projects to a subfolder to reduce size of the root.
2019-07-14 15:06:54 +02:00
Christoph Oelckers
ec52e90e54
- moved more files out of the root src directory.
2019-07-14 14:39:21 +02:00
Christoph Oelckers
2a16fb9d28
- moved most remaining playsim code into its proper folder.
2019-07-14 13:59:16 +02:00
Christoph Oelckers
9045615a7a
- renamed g_shared folder to playsim.
2019-07-14 13:24:18 +02:00
Rachael Alexanderson
ba387f51f3
Revert "Install soundfonts and WOPL/WOPN banks"
...
This reverts commit 2d1c7ba17c
.
2019-06-14 07:51:18 -04:00
William Breathitt Gray
2d1c7ba17c
Install soundfonts and WOPL/WOPN banks
...
The INSTALL_SOUNDFONT_PATH cache entry is used to configure the
installation directory.
2019-06-13 07:43:43 -04:00
Magnus Norddahl
bb47230f79
Merge remote-tracking branch 'origin/master' into polybackend
2019-06-10 22:46:32 +02:00
Christoph Oelckers
2766303cfc
- consolidated the 3 atterm implementations.
...
Each platform had its own copy. Why?
2019-06-10 12:01:01 +02:00
Kyle Evans
e0c7bf7708
Fix clang/32-bit build
...
Rendering bits got restructured and the SSE_MATTERS paths were not updated
to reflect that. A 32-bit build with clang subsequently complaints as the
files in question are not compiled with -mmmx.
2019-05-30 21:16:51 +02:00
Magnus Norddahl
a1229be5c6
- implement camera textures
2019-05-29 05:45:19 +02:00
Magnus Norddahl
48d2d423f6
- remove softpoly scene drawer
2019-05-22 17:16:07 +02:00
Magnus Norddahl
0eda298db2
- create a renderer backend based on softpoly's drawers
2019-05-22 06:29:52 +02:00
Magnus Norddahl
9ab19d057d
- centralize how image transitions are done in the vulkan backend
2019-05-16 18:26:47 +02:00
Magnus Norddahl
b30ed99672
- remove the old OpenGL postprocess custom shader implementation
2019-04-08 01:31:22 +02:00
Rachael Alexanderson
e48d2105ef
Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
2019-04-06 00:27:18 -04:00
drfrag
1ef4c2d0f6
- Hopefully fixed MinGW compilation for real.
2019-04-06 00:07:24 -04:00
Christoph Oelckers
a0b0467e91
- restrict Vulkan to 64 bit builds.
2019-03-24 14:34:48 +01:00
Christoph Oelckers
d86dd902fb
Merge branch 'master' into vulkan2
2019-03-18 13:31:04 +01:00
Christoph Oelckers
c2c9126453
- replaced the XLSX parser with a CSV parser.
...
Since Google can export this as well it makes a lot more sense here because it is a textual format better suited for version control and does not carry along all the formatting baggage that isn't needed for a string table.
2019-03-18 10:18:30 +01:00
Magnus Norddahl
e5e9924c5e
- remove IShaderProgram and make the old classes an implementation detail of the OpenGL backend. In the long run they should be removed completely as their weird design is mostly an artifact of once having supported OpenGL 2
2019-03-13 00:52:25 +01:00
Rachael Alexanderson
879aae1bd3
Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-11 22:07:46 -04:00
Christoph Oelckers
0884057ae1
- use a higher resolution console font with better Unicode support.
2019-03-10 17:54:03 +01:00
alexey.lysiuk
f7a95f612e
- extended RPATH for macOS with executable's directory
...
Dynamic libraries placed in the directory with the main executable now can be loaded by dlopen() function
This is required in order to enable Vulkan support without additional steps like SDK installed in the system
2019-03-09 15:46:18 +02:00
alexey.lysiuk
108ea066f3
- added initial support of Vulkan to SDL backend
...
Removed all platform-specific code from vulkan device
2019-03-06 13:38:45 +02:00
Magnus Norddahl
d65de299e8
- add some classes for managing postprocess and render buffers
2019-03-05 04:59:17 +01:00
Magnus Norddahl
d86a56086c
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-01 21:50:06 +01:00
Christoph Oelckers
86620aaba5
- allow reading xlsx spreadsheets directly for language definitions.
2019-02-28 22:21:55 +01:00
Magnus Norddahl
9ed1c7f40b
- add render pass manager and setup a pipeline for VkRenderState
2019-02-26 11:27:29 +01:00
Christoph Oelckers
413412f603
Merge branch 'master' into vulkan2
2019-02-23 19:53:38 +01:00
Christoph Oelckers
c5156d4598
- moved around a few more files.
2019-02-23 18:57:49 +01:00
Christoph Oelckers
c3890342e6
- moved the 2D drawing code to its own directory under 'rendering'.
2019-02-23 18:08:57 +01:00
Christoph Oelckers
e091369a38
- removed FCriticalSection and replaced all of its uses with std::mutex.
...
There's really no need for a non-standard solution here anymore with C++11.
This also fixes an unreleased lock in the WildMidi code.
2019-02-22 20:24:24 +01:00
Christoph Oelckers
f907bb0484
- moved a few more things and deleted the unused v_pfx implementation.
...
These were pixel format conversion routines used in the D3D backend. Nothing in here is needed anymore - the FBitmap class offers much of the functionality covered here in a far more concise and approachable manner.
2019-02-22 19:48:18 +01:00
Christoph Oelckers
8c06a00ee6
- moved all dialogue loading code into the map loader.
2019-02-22 19:07:58 +01:00
Magnus Norddahl
a97d736bd9
- add vulkan renderstate and shadermanager classes
2019-02-21 22:49:00 +01:00
Magnus Norddahl
478ef05a0a
- create vulkan buffer objects implementation
2019-02-21 12:31:14 +01:00
Magnus Norddahl
75403ec744
- hook up the glsl compiler
2019-02-21 00:25:51 +01:00
Magnus Norddahl
c6b29846d0
- add 3rd party vulkan dependencies
...
- add stubs for a vulkan hw renderer backend
- add RAII wrappers for vulkan object types
- add builder classes to isolate vulkan boilerplate code
- add a swap chain class
2019-02-20 21:21:57 +01:00
Christoph Oelckers
95e62e91bb
- split the FFont base class into its own file.
2019-02-17 13:50:57 +01:00
Christoph Oelckers
9102fb86a5
- moved FSpecialFont to its own file.
2019-02-17 12:53:12 +01:00
Christoph Oelckers
1f0c01459a
- split FSinglePicFont into its own file.
2019-02-17 12:29:08 +01:00
Christoph Oelckers
7f1f25d998
- split the FSingleLumpFont class into its own file.
2019-02-17 12:00:04 +01:00
Christoph Oelckers
9dfffb6697
- moved font code into a subdirectory.
2019-02-17 11:43:04 +01:00
Christoph Oelckers
64685705d0
- made the console Unicode-capable.
...
This also necessitated some character remapping in the console font to move the Windows-1252 extra characters to their proper Unicode code points.
2019-02-16 13:05:19 +01:00
Christoph Oelckers
5e6a96d021
- fixed path of texture directory.
2019-02-10 14:08:27 +01:00
Christoph Oelckers
979f1df281
Merge remote-tracking branch 'remotes/origin/master' into new_level_refactor
...
# Conflicts:
# src/g_level.cpp
# src/p_user.cpp
2019-02-05 13:49:07 +01:00
alexey.lysiuk
8892cb619d
- disabled usage of intrinsics on non-Intel platforms
2019-02-04 15:53:41 +02:00
alexey.lysiuk
2765159fc6
- disabled VM JIT completely on unsuported platforms
2019-02-04 15:53:35 +02:00
Christoph Oelckers
8d83f03138
- changed the linedef translator into a struct and reorganized its storage to allow having different ones at the same time.
...
This was the last piece of data that couldn't be distinct for more than one level.
2019-02-02 01:22:12 +01:00
Christoph Oelckers
32e5be83ea
- moved a few more files and copied the data related parts of p_things.cpp to g_doomedmap.cpp
2019-02-01 19:48:17 +01:00
Christoph Oelckers
a1cc548af4
- moved some more code into the gamedata folder.
...
Two files were split:
g_level.h contained both the game data definitions and some prototypes belonging to the game logic. These were split up.
decallib.cpp contained both the data and the animation thinkers. The thinkers are now in their own file.
2019-02-01 19:20:58 +01:00
Christoph Oelckers
db77ed79cd
- moved the resourcefiles and textures folders into gamedata.
2019-02-01 18:31:57 +01:00
Christoph Oelckers
3f90764faa
- moved the contents of g_inventory to g_shared and gamedata subfolders.
...
a_pickups only contains a few native remains of the inventory code and the other two only the static data maintenance for their items.
2019-02-01 18:13:12 +01:00
Christoph Oelckers
ba451b46c8
- moved a bunch of files to the utility folder.
2019-02-01 01:18:32 +01:00
Christoph Oelckers
b77e83e0b9
- moved 15 more files to g_shared.
2019-02-01 00:48:21 +01:00
Christoph Oelckers
5010e61309
- moved a few more play files free of global state references to g_shared.
2019-01-31 22:31:41 +01:00
Christoph Oelckers
b40c709b66
- minor corrections.
2019-01-31 20:42:36 +01:00
Christoph Oelckers
7241072b16
- moved most utility code to a subdirectory.
...
Again no code changes.
2019-01-31 20:33:52 +01:00
Christoph Oelckers
89d607c9a6
- moved all rendering code into a common subdirectory.
...
No changes to the files themselves was made.
2019-01-31 19:58:17 +01:00
Christoph Oelckers
aa340145ac
- moved the remaining thinker code to g_shared
2019-01-31 02:51:07 +01:00
Christoph Oelckers
65a812e316
- moved the door thinkers into g_shared.
2019-01-31 02:38:39 +01:00
Christoph Oelckers
51581d018a
- moved the hud message and alt hud code from g_shared to g_statusbar
...
This is where it really belongs, this was simply overlooked when the folder was split.
2019-01-31 02:31:57 +01:00
Christoph Oelckers
0f2938089d
- started cleaning up the contents of the g_shared directory, starting with a_dynlight.cpp
...
This is supposed to be come the place where all pure play code should be placed, but for that all CVARs and CCMDs and other things that do not directly handle play data should be taken out to make code reviewing easier. These now get collected in two separate files, g_cvars.cpp and g_dumpinfo.cpp respectively.
The sole ZScript property in here has also been moved - to thingdef_properties.cpp.
2019-01-31 02:05:16 +01:00
Christoph Oelckers
4d55c28b60
- moved a large batch of code from p_spec.cpp and a few other files into the maploader folder.
2019-01-24 20:27:34 +01:00
Timo Myyrä
9e80caa85d
fix Unix builds without backtrace functions in their libc
...
backtrace functions are not present in all libc implementations. Cmake has
module to add external libraries into build if needed so use it to fix build on
Unix systems without backtrace in libc.
2019-01-02 08:44:26 +01:00
Christoph Oelckers
5f303859e9
- made some changes to how the compatibility code works to allow removing the last remaining global variables of the map loading code.
...
Everything temporary is now part of the MapLoader class.
2018-12-28 23:14:11 +01:00
Christoph Oelckers
0e904286e8
- moved renderinfo.cpp entriely into the map loader.
2018-12-28 15:51:32 +01:00
Christoph Oelckers
11e9cdae33
- split polyobject init into its own file and cleaned things up a bit.
2018-12-28 15:05:05 +01:00
Christoph Oelckers
84a28454dc
- split maploader.cpp so that the parts that are not setting up the actual map data go back to p_setup.cpp.
2018-12-28 09:17:10 +01:00
Christoph Oelckers
2edf02d731
- moved map loader files to a subdirectory.
2018-12-27 17:11:10 +01:00
Christoph Oelckers
0faa9111b9
- moved P_OpenMapData and related content out of p_setup.cpp.
2018-12-19 18:41:53 +01:00
Magnus Norddahl
7785dd1b56
- fix linking and some linux things
2018-12-19 00:23:38 +01:00
drfrag
39564d8933
- Fixed linking with MinGW-w64.
2018-12-18 16:43:52 -05:00
Christoph Oelckers
5666e4c805
- made camera textures operational again.
...
Now with proper separation of software rendering logic from the main part of the class.
2018-12-11 00:01:45 +01:00
Christoph Oelckers
34884e2756
- base FFontChar1 and FFontChar2 on FImageSource as well.
...
Now the only textures not being backed by an image source that are actually getting used during normal rendering are the canvas textures.
2018-12-09 16:00:27 +01:00
Christoph Oelckers
4cedbf6cc2
- split between textures and images is complete now.
...
* split up FMultiPatchTexture into a builder class and the actual image source.
* since images can now be referenced by multiple textures the old redirection mechanism has been removed. It can be done better and less intrusive now. Simple single patch textures already directly reference the underlying patch image now.
* allocate all image source related data from a memory arena. Since this is all static this makes it a lot easier to free this in bulk.
2018-12-09 15:25:56 +01:00
Christoph Oelckers
583a740441
- separated the image converters from the texture offsets.
...
Mostly done, except for FMultiPatchTexture and FFontChar1 + 2.
Note that this commit leaks those image objects!
2018-12-09 07:39:05 +01:00
Christoph Oelckers
5eab944157
- started separating the texture class from the image format handlers.
2018-12-08 23:28:35 +01:00
Christoph Oelckers
18c1a3abe5
- make the FWarpTexture class local to the software renderer.
...
This class has only meaning for software-based warping so it doesn't have to be a part of the FTexture hierarchy.
Making it a subclass of FSoftwareTexture is fully sufficient.
2018-12-07 00:58:37 +01:00
Christoph Oelckers
4c67785c40
- moved the span and swtruecolor creation code into FSoftwareTexture.
2018-12-07 00:04:39 +01:00
Christoph Oelckers
33db5792b4
- moved a large part of the VM thunks out of p_mobj.cpp.
2018-12-05 00:21:16 +01:00
Christoph Oelckers
a3265c2963
- more direct native entry points.
2018-12-04 23:12:16 +01:00
Christoph Oelckers
a0c0e8bdfe
Merge remote-tracking branch 'remotes/origin/weapon_scriptification' into asmjit
...
# Conflicts:
# src/g_inventory/a_pickups.cpp
2018-11-30 21:28:44 +01:00
Magnus Norddahl
8b852ce4d8
- move the jit runtime to its own file
2018-11-26 10:46:09 +01:00
Christoph Oelckers
47b1fa774d
Merge branch 'asmjit' into weapon_scriptification
...
# Conflicts:
# src/gi.cpp
# wadsrc/static/zscript/base.txt
2018-11-26 00:14:44 +01:00
Christoph Oelckers
dc16c1d44e
- moved VM thunks from p_sectors.cpp to a separate file and started adding direct native implementations.
...
For a few larger functions I took them out of sector_t and made them global functions to avoid creating more unnecessary stubs.
2018-11-25 11:34:50 +01:00
Christoph Oelckers
6fc63b9b78
- started with a ScriptUtil class which will allow moving function implementations for ACS and FraggleScript to zscript.txt
...
So far 3 functions for testing implemented.
2018-11-24 13:06:01 +01:00
Christoph Oelckers
fb7345e470
Merge branch 'master' into asmjit
2018-11-09 22:36:16 +01:00
Christoph Oelckers
9661c3b53c
- moved hw_Sections to r_data, because this is an essential component of the dynamic light system now so it is needed for all renderers.
2018-11-07 00:53:44 +01:00
Christoph Oelckers
625eb1e76a
- FVertexBuilder's output looks correct now.
2018-11-05 21:11:54 +01:00
Christoph Oelckers
49bfdbef9f
- create an intermediate structure between sectors and subsectors.
...
A section is a continuous part of a sector or in some case of several nearby continuous parts. For sectors with far away parts multiple sections will be created, especially when they lie in disjoint parts of the map.
This is mainly supposed to cut down on time for linking dynamic lights. Since they need to traverse subsectors to find all touching sidedefs a more coarse data structure that only contains the info needed for this is more suitable. In particular, this does not contain any intra-sector lines, i.e. those with both sides in the same sector.
2018-11-04 20:10:51 +01:00
Magnus Norddahl
369dcfd57f
Merge remote-tracking branch 'origin/master' into asmjit
2018-11-01 21:23:26 +01:00
ZZYZX
b911bbc424
Single commit - destructible geometry feature
2018-10-31 17:22:09 +01:00