Commit graph

95 commits

Author SHA1 Message Date
Christoph Oelckers
29b7e1cf79 - moved all mouse button handling to the input state
Yet again an unbelievable piece of code working around how input works on modern systems to keep the old 90's code alive.
2019-11-04 01:01:54 +01:00
Christoph Oelckers
b747df60ee - moved all keyboard related code into the InputState class, so that looking for this stuff is easier.
Sadly there's 1ß00 lines of code using this...
2019-11-04 00:53:55 +01:00
Christoph Oelckers
01d5d51f13 - pass key events to the event queue. 2019-11-03 22:46:01 +01:00
Christoph Oelckers
3c7151810f - made the game interfaces classes instead of function pointer lists because that is far better at error catching.
- fixed: Blood's monster flag is a 'have_monsters', not 'nomonsters' flag. As a result none were spawned.
2019-11-03 12:32:58 +01:00
Christoph Oelckers
2d7c0e26d2 - cleanup of the old file system initialization.
The real fun part is yet to come, i.e. removing the remaining dependencies on the old file system code.
2019-11-01 19:25:42 +01:00
Christoph Oelckers
67acad3984 - startup cleanup. 2019-11-01 00:32:56 +01:00
Christoph Oelckers
57f879fa8b - moved the startup dialog out of the game front ends, now that there is a global cross-game list of playable configurations. 2019-10-31 23:25:21 +01:00
Christoph Oelckers
e7f75cbf4d WIP 2019-10-28 01:12:31 +01:00
Christoph Oelckers
038c1ba4ba - more CVARs. 2019-10-27 09:53:09 +01:00
Christoph Oelckers
0d878a8604 - some needed cleanup on the control code before testing can start. 2019-10-26 10:16:39 +02:00
Christoph Oelckers
20df360778 - converted the Polymost CVARs. 2019-10-23 21:11:37 +02:00
Christoph Oelckers
e5aa6c5df0 - refactored the HUD scaling into something manageable.
Blood was fine, albeit with an inverted scale, but the EDuke implementation was something very special - and not in a good way, using 4 CVARs to store the scaling state instead of one.
2019-10-22 23:31:46 +02:00
Christoph Oelckers
30e9eed1b3 - the next CVAR, cl_autoaim 2019-10-22 00:05:21 +02:00
Christoph Oelckers
ae1e090716 - all non-shader related GL calls are gone from the main code base. 2019-10-04 21:13:04 +02:00
Christoph Oelckers
96c0c3197c - abstracted away more OpenGL calls, in particular all matrix access. 2019-10-04 18:12:03 +02:00
Christoph Oelckers
330c80246e - added ZDoom's FArgs class for easier command line checking. 2019-09-23 19:29:25 +02:00
Christoph Oelckers
55a879fcc0 - put EDuke frontend source into a namespace.
This commit does not work yet!
2019-09-21 22:53:00 +02:00
Christoph Oelckers
5050716bc0 - removed most extern "C" from the rest of the code base. 2019-09-21 20:14:34 +02:00
Christoph Oelckers
998ac01157 - manual merge of all NBlood changes that couldn't get cherry picked. 2019-09-21 13:02:17 +02:00
terminx
aa8ce8d42a Fix USE_OPENGL=0 builds
git-svn-id: https://svn.eduke32.com/eduke32@8082 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:57 +02:00
terminx
d0223fd744 Support fullscreening to the correct display in multiple monitor configurations
git-svn-id: https://svn.eduke32.com/eduke32@8063 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/baselayer.h
#	source/build/src/polymost.cpp
2019-09-20 21:10:22 +02:00
terminx
f0ea646560 Fix SDL borderless windowed mode for real this time
Introduces r_borderless cvar. 0: never borderless, 1: always borderless, 2: borderless if resolution matches desktop resolution (default).

git-svn-id: https://svn.eduke32.com/eduke32@8060 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/baselayer.h
#	source/build/src/baselayer.cpp
#	source/build/src/polymost.cpp
2019-09-20 21:09:56 +02:00
pogokeen
222e593437 Change some clocks to support sub-tick precision using a new class, ClockTicks.
Using that higher precision, interpolate at a higher granularity.
Further, truncate the target interpolation time to vertical blank boundaries to avoid producing temporal artifacts.
Fix issues caused by interpolation calculations being handled differently in multiple places (and fix cases where smoothratios were being thrown away only to be redone without checking all proper conditions).
Ensure ClockTicks changes do not break other targets (EKenBuild, VoidSW), but note any interpolation there is not similarly updated.

git-svn-id: https://svn.eduke32.com/eduke32@8050 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/sdlayer.cpp
2019-09-20 21:09:14 +02:00
terminx
7ea2e4de54 Revert "This should be enough for SDL controller hotplug support but I haven't tested it"
git-svn-id: https://svn.eduke32.com/eduke32@8005 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:23 +02:00
terminx
7ec6a6beca This should be enough for SDL controller hotplug support but I haven't tested it
git-svn-id: https://svn.eduke32.com/eduke32@8003 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:19 +02:00
hendricks266
1bbd251bff Rescan for controllers when toggling gamepads back on
git-svn-id: https://svn.eduke32.com/eduke32@7985 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:37 +02:00
terminx
04811f21f4 Replace separate timer implementations in SDL and Winlayer with a shared implementation based on std::chrono
git-svn-id: https://svn.eduke32.com/eduke32@7976 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	platform/Windows/build.vcxproj
#	platform/Windows/build.vcxproj.filters
#	source/build/src/mdsprite.cpp
2019-09-20 16:09:24 +02:00
hendricks266
01fa02e1c0 Make use of SDL2's Game Controller API.
Thanks to JonoF for his take on this.

git-svn-id: https://svn.eduke32.com/eduke32@7958 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:49 +02:00
terminx
7a6293ff42 Floating point grouscan() patch from Nuke.YKT, worth a couple of fps in classic mode in slope-heavy scenes
git-svn-id: https://svn.eduke32.com/eduke32@7755 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:08 +02:00
pogokeen
2e75437262 If GL_ARB_clip_control & GL_ARB_depth_clamp are available, reflect that in glinfo
git-svn-id: https://svn.eduke32.com/eduke32@7753 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:18:33 +02:00
Christoph Oelckers
53335f20ec - Blood merge
# Conflicts:
#	source/build/include/polymost.h
#	source/build/src/build.cpp
#	source/build/src/engine.cpp
#	source/build/src/polymost.cpp
#	source/build/src/voxmodel.cpp
2019-09-19 22:06:49 +02:00
terminx
1cbdb901bd This one is for Hendricks
git-svn-id: https://svn.eduke32.com/eduke32@7223 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:25 +00:00
terminx
5164ab4a25 More control/input cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7181 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:53 +00:00
terminx
06f0e5e946 Move g_defaultVideoModes[] and g_keyAsciiTable[] from baselayer.cpp to baselayer.h and make them constexpr
git-svn-id: https://svn.eduke32.com/eduke32@7159 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:43 +00:00
terminx
f7fac7d9e0 "using osdcmdptr_t = osdfuncparm_t const * const" because I'm tired of seeing it everywhere
git-svn-id: https://svn.eduke32.com/eduke32@7154 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:15 +00:00
terminx
14f1ea1c05 Use "int" for OSD command return values and a few trivial globals. Our current usage of the return values would have even worked with bool, but we might want to add error conditions or something later.
git-svn-id: https://svn.eduke32.com/eduke32@7149 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:45 +00:00
terminx
ebcebbde5e Update engine headers so that argument names in function declarations match the actual function definitions. This also removes const from function declarations in cases when it isn't meaningful.
git-svn-id: https://svn.eduke32.com/eduke32@7073 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:20 +00:00
terminx
df50dcd897 Change mouseGrabInput()'s parameter to a bool
git-svn-id: https://svn.eduke32.com/eduke32@6851 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:52 +00:00
terminx
0340e3cc0f Engine function name cleanup round 2
git-svn-id: https://svn.eduke32.com/eduke32@6828 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:51 +00:00
terminx
ee63d2c070 Beginnings of baselayer.cpp/.h refactor. This is 99.9% renames.
git-svn-id: https://svn.eduke32.com/eduke32@6827 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:31 +00:00
pogokeen
1f133cd049 Polymost: streaming VBO optimizations for polymost_drawpoly()
git-svn-id: https://svn.eduke32.com/eduke32@6662 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:48 +00:00
terminx
c25aa4a790 OSD (console) cleanup
git-svn-id: https://svn.eduke32.com/eduke32@6297 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:24:14 +00:00
hendricks266
914762513d Introducing buildprint, a type-safe and more performant replacement for printf using C++11 variadic templates. At least, an incomplete version that is enough to implement the next commit.
git-svn-id: https://svn.eduke32.com/eduke32@6139 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:07 +00:00
hendricks266
62a921c409 Remove the implicit "static" from our FORCE_INLINE macro.
This will be important for C++ member functions.

git-svn-id: https://svn.eduke32.com/eduke32@6076 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:53 +00:00
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00
Renamed from polymer/eduke32/build/include/baselayer.h (Browse further)