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
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
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
Christoph Oelckers
d9808e6d68
- there were still some old definitions left...
2017-11-12 10:02:29 +01:00
Christoph Oelckers
7cf7936ede
Merge remote-tracking branch 'remotes/origin/master' into newtimercode
2017-11-12 09:07:14 +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
Rachael Alexanderson
1088c60add
- add doom e1m6 to rebuildnodes list. https://forum.zdoom.org/viewtopic.php?f=15&t=58430
2017-11-11 15:54:42 -05: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
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
Major Cooke
d422392b94
Extended LineAttack() with offsets and new flags
...
Added forward and side offsets for LineAttack() function
Added absolute offset and absolute position flags for LineAttack() function
2017-11-07 11:02:54 +02:00
alexey.lysiuk
4beefb7007
Removed warning for uninitialized variables in ZScript
...
This reverts commit 8104ef5189
2017-11-06 15:38:28 +02:00
Magnus Norddahl
d4ebe51e83
- Place the HUD model correctly in the world so that shader light calculations work
2017-11-05 15:35:03 +01:00
Magnus Norddahl
23e5d81746
- Implement VSMatrix::inverseMatrix
2017-11-05 15:32:42 +01:00
alexey.lysiuk
61ead4f470
Better STL compatibility for array iterator
...
Extended iterator with types and functions required to use array objects in STL algorithms
2017-11-05 15:20:25 +02:00
alexey.lysiuk
274951839a
Removed unused parameter from several functions in FStateDefinitions class
...
src/p_states.cpp:724:54: warning: parameter ‘actor’ set but not used [-Wunused-but-set-parameter]
https://forum.zdoom.org/viewtopic.php?t=58364
2017-11-05 15:20:25 +02:00
Magnus Norddahl
bd08568b90
- Fix wrong math for model/light distance check
2017-11-05 13:28:56 +01:00
alexey.lysiuk
ba298ccd6e
Added GCC 4.9 to Travis configuration
2017-11-05 10:31:19 +02:00
alexey.lysiuk
a1562c5a76
Use Xcode 9.1 for Travis builds
2017-11-05 10:31:19 +02:00
Christoph Oelckers
fafc636476
- allow allocating constructor of TArray to also reserve the allocated data and use this to properly handle the precalc arrays for the texture resizer.
2017-11-03 17:27:32 +01:00
alexey.lysiuk
8104ef5189
Added warning for uninitialized variables in ZScript
...
https://forum.zdoom.org/viewtopic.php?t=57868
2017-11-03 16:23:41 +02:00
alexey.lysiuk
dac5777a70
Removed obsolete declarations from codegen.h
2017-11-03 12:44:28 +02:00
alexey.lysiuk
81ea9fb372
Added runtime check for negative array indices in VM
...
https://forum.zdoom.org/viewtopic.php?t=57886
2017-11-02 18:01:13 +02:00
alexey.lysiuk
57de598e48
Added implicit scope for if/else, while and do/while statements in ZScript
...
Scope is added only for variable or constant definition so it will no longer leak to outer scope
https://forum.zdoom.org/viewtopic.php?t=57848
2017-11-02 17:10:54 +02:00
alexey.lysiuk
587f6f0f91
Added wait for debugger feature to Cocoa backend
...
Use -wait_for_debugger command line switch to display message box on startup
It's available in Debug configuration only
2017-11-02 14:49:08 +02:00
alexey.lysiuk
de7d8995d5
Added string representation of 'static const' token
...
No more 'Unknown(-141)' in 'Expecting ...' error message
2017-11-02 14:45:35 +02:00
alexey.lysiuk
62e91b23bd
Extended String.LastIndexOf() with endIndex parameter
...
https://forum.zdoom.org/viewtopic.php?t=57326
2017-11-01 15:24:05 +02:00
Rachael Alexanderson
037bb1408b
- add search dirs for SDL2 for Hiaku OS
2017-10-30 19:45:21 +00:00
alexey.lysiuk
d543408fd4
Enabled MSVC 2017 64-bit target in AppVeyor configuration
2017-10-29 16:15:03 +02:00
alexey.lysiuk
ea6daf0212
Added workaround for MSVC 2017 internal compiler error
...
game-music-emu\gme\fir_resampler.cpp(28): fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 256)
2017-10-29 16:14:04 +02:00
alexey.lysiuk
415ed57713
Added Wads.CheckNumForFullName() to ZScript
...
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 15:11:49 +02:00
alexey.lysiuk
2f45218f70
Added Wads.ReadLump() to ZScript
...
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 11:36:22 +02:00
alexey.lysiuk
91fda180de
Added Wads.FindLump() to ZScript
...
https://forum.zdoom.org/viewtopic.php?t=57814
2017-10-29 11:36:22 +02:00
alexey.lysiuk
527cc7ecf1
Changed MSBuild verbosity level to minimal in AppVeyor configuration
2017-10-29 10:11:33 +02:00