Commit graph

12362 commits

Author SHA1 Message Date
Christoph Oelckers
e15b23f132 - use FileWriter for writing zip files (i.e. savegames.) 2017-12-02 12:46:25 +01:00
Christoph Oelckers
14af7818b8 - use FileReader for all operations on external lumps. 2017-12-02 12:38:38 +01:00
Christoph Oelckers
8d26760671 - use FileWriter for 'writemidi' CCMD. 2017-12-02 12:33:58 +01:00
Christoph Oelckers
1af42b3d50 - use FileWriter for the OPL dumper. 2017-12-02 12:31:21 +01:00
Christoph Oelckers
ebf5c5763e - removed the unused bitmap loading and saving features from hqnx_asm/hqnx_asm_Image. 2017-12-02 12:15:26 +01:00
Christoph Oelckers
623f35073c - use FileReader consistently for loading cached nodes. 2017-12-02 12:08:28 +01:00
Christoph Oelckers
37dc3211f7 - use FileReader for reading the play list. 2017-12-02 12:02:36 +01:00
Christoph Oelckers
ab58e4acb0 - use FileWriter for the AST dump. 2017-12-02 12:01:55 +01:00
Christoph Oelckers
5e7dfa7cce - use FileWriter for the Timidity MIDI dumper 2017-12-02 12:01:19 +01:00
Christoph Oelckers
e8735e2782 - use FileWriter to save the statistics file. 2017-12-02 11:59:31 +01:00
Christoph Oelckers
20b8c1ef70 - moved buildtexture.cpp from using stdio-based file IO to FileReader. 2017-12-02 11:57:32 +01:00
Christoph Oelckers
e1edb46bbb - - let FWadLump use the newly added fdopen function. 2017-12-02 11:56:26 +01:00
Christoph Oelckers
9cc8bab102 - only have one fopen call in the entire FileReader hierarchy
This is for an eventual implementation of UTF-8 handling. On Windows this will require replacement of fopen with _wfopen so let's try to keep the number of fopen calls low.
2017-12-02 11:55:50 +01:00
Christoph Oelckers
cbd2fd34a0 - added seeking capabilities to FileWriter class. 2017-12-02 11:51:37 +01:00
alexey.lysiuk
0d05b41f22 Fixed incomplete ACS string pool state after loading of saved game
https://forum.zdoom.org/viewtopic.php?t=58571
2017-12-02 11:51:52 +02:00
Rachael Alexanderson
0a4599c2e0 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-30 01:29:36 -05:00
Magnus Norddahl
a8b79a28c8 - Disable model rendering in the software renderer 2017-11-29 22:18:21 +01:00
Rachael Alexanderson
6c4f6f94f4 - fixed: prevent i_timescale from freezing the game if set to too low a value 2017-11-29 08:41:09 -05:00
Rachael Alexanderson
12a44f5bc9 - prevent nanosecond timer from ever casting into a double 2017-11-29 07:43:17 -05:00
Rachael Alexanderson
239218aba6 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-29 01:19:36 -05:00
Magnus Norddahl
8cad912db1 - Add r_model_distance_cull to control when models turn into sprites 2017-11-29 01:09:26 +01:00
Magnus Norddahl
b621dccb9c - Improve weapon hud model in the software renderer 2017-11-29 00:33:37 +01:00
Magnus Norddahl
f9fb4a0a17 - Cull back facing triangles for the span drawers 2017-11-29 00:12:15 +01:00
Rachael Alexanderson
7b5f0e621c Merge branch 'reverbedit' of https://github.com/coelckers/gzdoom 2017-11-28 17:43:21 -05:00
Rachael Alexanderson
0612eeae1f Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-28 17:43:03 -05:00
Magnus Norddahl
fae514923a - Move depth testing out of span drawers 2017-11-28 23:08:28 +01:00
Magnus Norddahl
01fd404133 - Fix palette drawer crash 2017-11-28 22:03:51 +01:00
Magnus Norddahl
e0defb060d - Add a slightly faster truecolor model drawer 2017-11-28 21:38:02 +01:00
Magnus Norddahl
d43ac8b9ae - Add model rendering to the software renderer 2017-11-27 23:47:26 +01:00
Christoph Oelckers
a069949482 - connected reverb menu with its backing data
- added an entry to the main options menu to open the reverb editor.
2017-11-26 20:11:14 +01:00
Christoph Oelckers
57058ef727 - removed all remains of the old EAX editor. 2017-11-26 15:23:07 +01:00
Christoph Oelckers
1ed1b42c21 Safety commit. 2017-11-26 14:13:56 +01:00
Christoph Oelckers
78184ad6b5 - more work on reverb menu. 2017-11-26 10:16:21 +01:00
alexey.lysiuk
0667f2ec55 Fixed string format issues reported by GCC/Clang
d_net.cpp:2874:25: warning: format specifies type 'int' but the argument has type 'unsigned long long' [-Wformat]
gl/utility/gl_clock.cpp:240:38: warning: format specifies type 'int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
v_video.cpp:883:71: warning: format specifies type 'unsigned int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
v_video.cpp:883:80: warning: format specifies type 'unsigned int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
2017-11-26 09:59:28 +02:00
Rachael Alexanderson
34f9f794d4 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-25 17:35:24 -05:00
Christoph Oelckers
3ae5f8c09f - initial work on a reverb editor based on the menu system.
This is to get rid of some ugly Windows code and make this platform independent.
2017-11-25 22:03:18 +01:00
alexey.lysiuk
eeba7a7cdf Fixed tics to seconds conversion
Correct time values are now displayed in HUD
2017-11-25 16:32:53 +02:00
Christoph Oelckers
e43a9aa5b5 - don't let models.cpp include gl_system.h. 2017-11-25 13:56:17 +01:00
Christoph Oelckers
836970f012 - moved the matrix code out of 'gl' because the model code also needs it. 2017-11-25 13:51:09 +01:00
Magnus Norddahl
637a9dff9b - Rename voxels.cpp to models_voxel.cpp to avoid having two source files with the same name (confuses debuggers and some build tools) 2017-11-25 13:22:59 +01:00
Magnus Norddahl
7bb92812b8 - Move models into r_data 2017-11-25 13:19:00 +01:00
Magnus Norddahl
679f42db78 - Remove model GL dependencies except for the matrix classes 2017-11-25 13:00:44 +01:00
Magnus Norddahl
56477c8f89 - Fix 'Requested invalid render buffer sizes' when executing the reverbedit command from fullscreen 2017-11-25 12:20:00 +01:00
Magnus Norddahl
b25f191e85 - Move shared model code out of the GL renderer 2017-11-25 12:11:57 +01:00
Christoph Oelckers
430ed532ef Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-25 11:37:46 +01:00
Christoph Oelckers
87816f811f - removed windows.h include from a few files which do not need it anymore. 2017-11-25 10:58:33 +01:00
alexey.lysiuk
074a8e4895 Fixed issue with endless waiting for next tic
https://forum.zdoom.org/viewtopic.php?t=58426&p=1028622#p1028547
2017-11-25 11:48:38 +02:00
alexey.lysiuk
0f5ff5a5de Removed obsolete files after timer code refactoring 2017-11-25 11:48:22 +02:00
Rachael Alexanderson
ae009c94f0 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-25 00:27:19 -05:00
Magnus Norddahl
a120a4657e - Apply viewpoint roll 2017-11-24 22:03:46 +01:00
Rachael Alexanderson
2f093c5988 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-24 14:42:32 -05:00
Rachael Alexanderson
6d43c5cdc6 Merge remote-tracking branch 'origin/friendly_window_title' 2017-11-24 14:41:25 -05:00
Rachael Alexanderson
5e29b1c89c Merge branch 'newtimercode4' 2017-11-24 14:39:58 -05:00
Rachael Alexanderson
c80c2ba635 - added 100% CPU fix provided by Leonard2: https://forum.zdoom.org/viewtopic.php?p=1028500#p1028500 2017-11-24 14:38:55 -05:00
Christoph Oelckers
ed871c3bf8 Merge remote-tracking branch 'remotes/origin/texman_models' 2017-11-24 19:14:08 +01:00
Rachael Alexanderson
f823c6ea3b Merge ../gzdoom 2017-11-23 22:39:52 -05:00
Rachael Alexanderson
297f00aa4b - fix model rotation some more
- a couple compiler warning fixes
2017-11-23 22:37:07 -05:00
Rachael Alexanderson
5181e3ebb2 - rewound time from 2917 to 2017. At least, at this point, we know ZDoom's future is secure. 2017-11-23 22:04:42 -05:00
Rachael Alexanderson
3842071b23 - implemented i_timescale to control the flow of time. 2017-11-23 21:54:04 -05:00
Rachael Alexanderson
1f00810f40 - re-doubled the model rotation code 2017-11-23 21:27:16 -05:00
Rachael Alexanderson
16e6fbf5bf - commit fix - todo: need to re-double/floatify the model timers again 2017-11-23 21:12:50 -05:00
Rachael Alexanderson
fd5b8cdbf7 Merge remote-tracking branch 'origin/master' into newtimercode4
# Conflicts:
#	src/gl/models/gl_models.cpp
2017-11-23 21:08:09 -05:00
Magnus Norddahl
00d7dd0c64 - Implement model rendering in softpoly 2017-11-24 00:39:10 +01:00
Magnus Norddahl
f1e7df542f - Create model renderer abstraction to share more model drawing between renderers 2017-11-24 00:38:52 +01:00
Rachael Alexanderson
339b2b8aec Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-22 18:08:16 -05:00
Christoph Oelckers
734f5104dd Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-22 21:43:01 +01:00
Christoph Oelckers
978fdfb273 - tested and fixed UMAPINFO parser.
Although this looks like it's working with the test file I used it still needs some stress testing!
2017-11-22 21:42:48 +01:00
Magnus Norddahl
e7e9d1a942 - Fixed bug introduced by removing a little bit too much from the rect drawers 2017-11-22 19:02:25 +01:00
Magnus Norddahl
9052ee6bc8 - Added scaled fuzz to softpoly pal drawer 2017-11-22 18:54:49 +01:00
Magnus Norddahl
f04fca75f7 - Add scaled fuzz to softpoly sse2 drawer 2017-11-22 18:46:45 +01:00
Magnus Norddahl
4e4f94db2f - Implement newer scaled fuzz in softpoly's truecolor non-sse drawer 2017-11-22 06:32:55 +01:00
Magnus Norddahl
0ef8105e6b - Add missing r_draw.cpp in CMakeLists.txt 2017-11-21 18:57:44 +01:00
Rachael Alexanderson
2705bdbbdb Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-21 05:28:51 -05:00
Rachael Alexanderson
495fc79fe9 - added dpJudas's drawer fix for the upscaled fuzz drawing 2017-11-21 05:26:46 -05:00
Rachael Alexanderson
505da5bf4f Merge branch 'master' of https://github.com/coelckers/gzdoom into newtimercode4 2017-11-21 05:23:00 -05:00
Rachael Alexanderson
47e9975e90 - fixed a couple of fixes from the previous commit 2017-11-21 05:20:02 -05:00
Rachael Alexanderson
2bc86b52c8 - fixed a few of the more obvious logic errors 2017-11-21 04:06:24 -05:00
Magnus Norddahl
5532266b14 - Fix softpoly sprite positioning bug 2017-11-20 22:43:44 +01:00
Christoph Oelckers
6389b6b914 - UMAPINFO parser, including some convenience additions to FScanner.
Not tested yet!
2017-11-19 23:04:15 +01:00
Rachael Alexanderson
93dbbb661f Merge remote-tracking branch 'gzdoom/texman_models' 2017-11-19 11:55:22 -05:00
alexey.lysiuk
cf9a364f71 textures for models 2017-11-19 18:02:14 +02:00
Christoph Oelckers
f0dc619b5b - fixed bad use of FScanner::GetNumber and GetFloat in code inherited from ZDoomGL.
This could lead to bad error messages if some malformed definitions were used.
2017-11-19 15:30:45 +01:00
Rachael Alexanderson
de19efa79d - trying again: fix shader targets being case sensitive 2017-11-19 04:48:30 -05:00
Rachael Alexanderson
351de94311 - fixed: Accidentally committed in-progress work... again
Partial Revert "- fixed: Made shader targets not case sensitive"

This reverts commit 2c24d2e047.
2017-11-19 04:46:52 -05:00
Rachael Alexanderson
5c6e62cf6b Merge remote-tracking branch 'gzdoom/master' 2017-11-19 04:41:48 -05:00
Rachael Alexanderson
2c24d2e047 - fixed: Made shader targets not case sensitive 2017-11-19 04:41:07 -05:00
Rachael Alexanderson
f1405f68a7 Merge remote-tracking branch 'origin/master' into friendly_window_title 2017-11-18 14:08:33 -05:00
alexey.lysiuk
c2b4efbea0 Fixed applying of brightmaps to overridden textures
https://forum.zdoom.org/viewtopic.php?t=58444
2017-11-18 17:07:42 +02:00
raa-eruanna
28d47d463f - fix linux compile
# Conflicts:
#	src/posix/sdl/sdlvideo.cpp
2017-11-18 08:20:58 -05:00
alexey.lysiuk
35bb9ba9d3 Implemented setting of window title in Cocoa backend
# Conflicts:
#	src/posix/cocoa/i_video.mm
2017-11-18 08:19:15 -05:00
Rachael Alexanderson
c3c637a0cc - set i_friendlywindowtitle to true by default 2017-11-18 08:17:18 -05:00
raa-eruanna
4da9dbf864 - fix linux compile 2017-11-18 08:11:27 -05:00
alexey.lysiuk
b0fa21017b Implemented setting of window title in Cocoa backend 2017-11-18 07:42:17 -05:00
Rachael Alexanderson
0273b1a8cc - revert to before adding I_SetWindowTitle to DFrameBuffer 2017-11-18 07:42:15 -05:00
alexey.lysiuk
80b47cafb4 Fixed detection of the first entry from internal IWADINFO
https://forum.zdoom.org/viewtopic.php?t=58333
2017-11-18 14:37:12 +02:00
Rachael Alexanderson
25ca640354 - attempt to fix Mac OS compile 2017-11-18 02:27:24 -05:00
raa-eruanna
2e2c6fd416 - fix compile on Linux 2017-11-18 02:20:55 -05:00
Rachael Alexanderson
027dc99348 - move I_SetWindowTitle to DFrameBuffer class 2017-11-18 01:33:11 -05:00
Rachael Alexanderson
906607df45 Revert "committing unsaved changes"
This reverts commit 613cb7728a.
2017-11-18 01:00:33 -05:00
Rachael Alexanderson
00de8880b8 - set i_friendlywindowtitle to true by default 2017-11-18 00:53:16 -05:00
Rachael Alexanderson
8bbb462276 Merge branch 'friendly_window_title' of ../gzdoom 2017-11-18 00:52:21 -05:00
Rachael Alexanderson
e9b98881c0 - implemented i_timescale to control the flow of time. 2017-11-18 00:50:22 -05:00
Rachael Alexanderson
d99732eeaa Revert "Merge branch 'newtimercode' of https://github.com/coelckers/gzdoom"
This reverts commit 277ad1e6ed, reversing
changes made to 0063118442.
2017-11-15 22:44:19 -05:00
Rachael Alexanderson
cccd19485a Merge remote-tracking branch 'gzdoom/newtimercode4' 2017-11-15 22:37:19 -05:00
Rachael Alexanderson
556974441e Revert "Merge ../gzdoom"
This reverts commit ee7ea6b9a2, reversing
changes made to c04b50c41f.
2017-11-15 22:36:47 -05:00
Rachael Alexanderson
e867d75712 Merge remote-tracking branch 'origin/master' into newtimercode4 2017-11-15 22:33:27 -05:00
Rachael Alexanderson
e418663a26 - fixed: Reverted an accident in a previous commit where I_StartTic() was moved inappropriately. The new location fixed a mouse stutter, however, it causes net desyncs so it cannot be used here. 2017-11-15 22:20:55 -05:00
Rachael Alexanderson
909daadd75 - update more millisecond-storing data structures to u/int64_t to fix possible rollover bugs 2017-11-15 20:33:08 -05:00
Christoph Oelckers
16fa0cba21 - fixed comparison.
The timer reset must also occur when the values are equal, meaning they got set during the same millisecond.
2017-11-15 18:02:41 +01:00
Rachael Alexanderson
ab32cb4c88 - track level start time for the shader system, reset the shaders. 2017-11-15 11:06:21 -05:00
Rachael Alexanderson
d2bc24737b - put in timer resets for the shader system, so that they can continue being passed as floats 2017-11-14 22:46:28 -05:00
Rachael Alexanderson
277ad1e6ed Merge branch 'newtimercode' of https://github.com/coelckers/gzdoom 2017-11-14 18:45:15 -05:00
Rachael Alexanderson
c5775edc95 - fixed: Reset the renderer timer to 0 at the start of render. This prevents screen jankiness with systems at longer than ~2 days uptime. 2017-11-14 16:36:21 -05:00
Rachael Alexanderson
763222b571 - fixed: high uptime was causing overloads in uint32_t and float structures (float losing loss of precision) - this caused any computer online for more than a few days to experience jankiness with internal animations such as rotations and shader timers. Unfortunately, this sounds the death knell for 32-bit platforms, since uint64_t is now required in time-critical structures, which will hurt performance tremendeously, but 64-bit systems will be unaffected. 2017-11-14 16:15:25 -05:00
Rachael Alexanderson
08d826a6e5 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-14 08:49:15 -05:00
Rachael Alexanderson
ee7ea6b9a2 Merge ../gzdoom 2017-11-14 08:48:58 -05:00
Rachael Alexanderson
04ecaef0ad - added i_timescale to change the flow of time. 2017-11-14 08:41:40 -05:00
Christoph Oelckers
5935e14c09 - exported P_Thing_Warp to ZScript. 2017-11-13 21:00:17 +01:00
Rachael Alexanderson
c04b50c41f Merge branch 'newtimercode' of https://github.com/coelckers/gzdoom 2017-11-12 19:44:12 -05:00
Rachael Alexanderson
a0469d42df Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-12 19:44:03 -05:00
Christoph Oelckers
0323f54384 - rename I_FPSTime function.
- now that the frame buffer stores its render time, the 'ms' return from I_GetTimeFrac is not needed anymore, we may just as well use the globally stored value instead.

The only feature this value was ever used for was texture warping.
2017-11-13 00:54:32 +01:00
Christoph Oelckers
96e9eadd97 - removed I_MSTime entirely after checking how the wipe code actually works.
Since this calls I_WaitVBL, which resets the frame time, it was essentially just like calling a real-time timer anyway and nothing in it required a specific 0-timepoint.
The same applies to the ZScript interface. All it needs is a millisecond-precise timer with no semantics attached.
2017-11-13 00:38:04 +01:00
Christoph Oelckers
2c65f08011 - more timer cleanup
* store the frame time in the current screen buffer from where all render code can access it.
* replace some uses of I_MSTime with I_FPSTime, because they should not use a per-frame timer. The only one left is the wipe code but even this doesn't look like it needs either a per-frame timer or a timer counting from the start of the playsim.
2017-11-13 00:28:43 +01:00
Christoph Oelckers
e94109f1c3 - Inside the renderer, use only the time value being passed to RenderView.
The voxel rotation code of the software renderer and R_SetupFrame still called I_FPSTime directly.
2017-11-12 23:53:46 +01:00
Christoph Oelckers
f54475b1f1 - I_FPSTime may not return the time at frame start.
This is used for real-time profiling and as such needs to return the current time or most of its uses will break.
2017-11-12 23:39:48 +01:00
Christoph Oelckers
93e9c383fa - get the timer used for animation only once at the very beginning of the frame and pass it on to the renderer to avoid any dependencies on the timer's implementation. 2017-11-12 18:51:11 +01:00
Christoph Oelckers
0289d9ad9f - the timing compensation which was necessary for millisecond-precise timing is not needed anymore with nanoseconds. 2017-11-12 13:49:53 +01:00
alexey.lysiuk
5d83ee5e89 Exposed String.Remove() function to ZScript
https://forum.zdoom.org/viewtopic.php?t=58402
2017-11-12 14:44:21 +02:00
Magnus Norddahl
efa7c3cacf - Fix typo in I_FPSTimeNS 2017-11-12 13:22:52 +01:00
Magnus Norddahl
e3141a4af3 - Upgrade timer code to use nanosecond accuracy internally 2017-11-12 12:57:19 +01:00
Christoph Oelckers
0db0f2f7b9 - removed redundant POSIX version of I_WaitVBL 2017-11-12 12:12:51 +01:00
Christoph Oelckers
e50b012c87 - fixed: Model rotation should use the time of the current frame's start, not the time of the time of processing the particular actor.
Reading the time directly would result in different values for different viewpoints in a scene or for different objects in the same scene which is not how this is supposed to work.
2017-11-12 12:04:11 +01:00
alexey.lysiuk
285834ae5b Fixed return state of player entered event
https://forum.zdoom.org/viewtopic.php?t=58433
2017-11-12 11:03:08 +02:00
Christoph Oelckers
d9808e6d68 - there were still some old definitions left... 2017-11-12 10:02:29 +01:00
Christoph Oelckers
6bd76d6b5a - fixed compilation in debug mode.
- moved timer definitions into their own header/source files. d_main is not the right place for this.
- removed some leftover cruft from the old timer code.
2017-11-12 09:06:40 +01:00
Magnus Norddahl
7d63c3324d - Fix macOS compile errors 2017-11-12 03:51:37 +01:00
Magnus Norddahl
307d8931d8 - Switch to C++11 steady clock
- Move the C++11 implementation to d_main
- Remove the platform specific timer implementations
2017-11-12 03:12:22 +01:00
Magnus Norddahl
090943eaa4 - Fix freeze interpolation bug 2017-11-11 17:28:38 +01:00
Magnus Norddahl
28401cd674 - Rewrite win32 game tick timer backend to use performance counters and only calculate values once per frame 2017-11-11 17:28:20 +01:00
Rachael Alexanderson
cdf0733c8b - added latching CVARs to CVARINFO 2017-11-11 09:37:41 -05:00
Rachael Alexanderson
5716dfe050 - put limits on A_SoundVolume 2017-11-10 08:21:28 -05:00
Rachael Alexanderson
ceb736a878 Merge commit 'refs/pull/384/head' of https://github.com/coelckers/gzdoom 2017-11-07 11:59:00 -05:00
Rachael Alexanderson
1f10a9fc11 - set correct version for QZDoom 2017-11-07 11:58:39 -05:00
Rachael Alexanderson
a87b24b510 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-07 11:57:25 -05:00
Major Cooke
6bf2cbeb32 Consistent style. 2017-11-07 10:50:21 -06:00
Major Cooke
1c7d88c8a2 - Added DMG_NO_PAIN for DamageMobj. 2017-11-07 09:55:15 -06:00
alexey.lysiuk
0e706bfecf Use tmpfileplus() instead of tempnam()
Finally get rid of security or deprecated warnings cause by tempnam() function usage
2017-11-07 11:50:07 +02:00
alexey.lysiuk
e6c9ccf3a1 Changed tmpfileplus() to our needs
Removed exclusive flag, made it C++ friendly, replaced unlink() with remove()
2017-11-07 11:13:53 +02:00
alexey.lysiuk
e60c6d35c3 Added tmpfileplus 2.0.0
https://www.di-mgt.com.au/c_function_to_create_temp_file.html
https://www.di-mgt.com.au/tmpfileplus-2.0.0.zip
2017-11-07 11:13:53 +02:00
Chris Robinson
f353f8b5aa Improved OpenGL profile selection in SDL backend
https://forum.zdoom.org/viewtopic.php?t=56852
2017-11-07 11:05:06 +02:00