Commit Graph

105 Commits

Author SHA1 Message Date
Christoph Oelckers 657140f985 - fixed: The canvastexture serializer did not call EndArray to close the containing object. 2016-09-23 08:27:31 +02:00
Christoph Oelckers 3a1191281f - some preparations for converting the player serialization code.
- converted sound and canvas texture serialization.
- refactored file_zip, so that it can be used to load loose zip files and extract their compressed data directly.
- added handling to FSerializer to generate and consume compressed Zip file entries.

If all goes well this will allow saving savegames as Zips when the rework is done, which will make analyzing them a lot easier.
2016-09-20 23:13:12 +02:00
Christoph Oelckers af6404f763 - all DObjects converted.
- cleaned out some old cruft that's no longer needed.
2016-09-20 10:27:53 +02:00
Christoph Oelckers d24aa5dec9 - reformatting for easier search. 2016-09-19 10:47:59 +02:00
Magnus Norddahl 017d1cee29 Change canvas rendering to use the aspect ratio of the canvas and generalize 5:4 rendering as AspectTallerThanWide 2016-09-13 23:42:05 +02:00
Magnus Norddahl 172f58c165 Fix 5:4 aspect ratio gun and status bar 2016-09-13 23:42:05 +02:00
Magnus Norddahl 5b438d220f Switch from ratio enum to float 2016-09-12 15:51:50 +02:00
Major Cooke 043ada24da Wave quakes now stack. 2016-09-08 00:38:12 +02:00
Christoph Oelckers 966e6797e4 - fixed: The view path for checking whether the player sprite should be drawn during a portal transition was never set properly in the portal transitioning case. 2016-05-09 23:16:06 +02:00
Christoph Oelckers ef98757c7c - replaced finesine for texture warping with a smaller custom table, based on the old 2005 FP code, but fixes the generation of the sine table.
- removed all remnants of finesine and deleted tables.c and tables.h.
2016-04-28 15:59:37 +02:00
Christoph Oelckers 027b8d29b8 - make FieldOfView a real angle and remove all uses of finetangent. 2016-04-28 13:59:06 +02:00
Christoph Oelckers 26f54b0ba4 - eliminated tantoangle and cleaned up r_tables.h 2016-04-28 12:18:33 +02:00
MajorCooke 64d01a3bb1 Forgot to undo this. 2016-04-27 10:26:06 -05:00
MajorCooke 0fc7055f51 - Fixed: Quakes with rolling were not unique; they borrowed from any other quakes that didn't have rolling, thus preventing the rolling from falling off properly. 2016-04-27 10:13:30 -05:00
MajorCooke 762d186657 Finished interpolation. 2016-04-27 13:42:16 +02:00
MajorCooke be9b25e760 Use ViewRoll instead of CamRoll, and removed CamRoll entirely. Begin work on interpolation. 2016-04-27 13:42:15 +02:00
MajorCooke c972caa9f3 - Added rollIntensity and rollWave to A_QuakeEx.
- Instead of moving the camera around, it rolls the camera.
- This only has an effect in GZDoom.
2016-04-27 13:42:15 +02:00
Christoph Oelckers 3c13d8085b - removed unused R_PointToDist2 and R_PointToAngle2 functions. 2016-04-23 13:55:50 +02:00
Randy Heit ded3f92452 Commence renderer floatification 2016-04-22 23:09:13 -05:00
Christoph Oelckers 322b9fc0ae - wrap access to portal properties into sector_t:: member functions. 2016-04-19 11:35:28 +02:00
Christoph Oelckers f66202aef1 - fixed: If due to portal transitions, the chasecam cannot be interpolated, the entire view interpolation must be disabled for the current frame. 2016-04-17 18:42:54 +02:00
Christoph Oelckers 7ac0cfbbb9 - added support for angle changing portals to P_AimCamera. 2016-04-16 22:54:47 +02:00
Christoph Oelckers 0cbdb9ab72 - handle display of player sprite during portal transition properly.
This checks if the current viewpoint lies on the interpolation path, translated by all active portals.
2016-04-07 19:35:01 +02:00
Christoph Oelckers 6ffb5fa164 - fixed: Angular interpolation needs to call deltaangle instead of using the difference between two angles to avoid overflow conditions. 2016-04-02 22:12:52 +02:00
Christoph Oelckers bb13590e07 - make viewx etc. global.
- a few minor optimizations.
2016-04-02 20:07:02 +02:00
Christoph Oelckers ccfb2ac233 - fixed quake checks. 2016-04-01 12:58:46 +02:00
Christoph Oelckers 8680391e0b - floatified the global view variables.
The software renderer still uses internal copies of the fixed point version.
2016-04-01 12:22:16 +02:00
Christoph Oelckers 9412ce45d6 - floatified portals.cpp and most of p_maputl.cpp. 2016-03-31 16:52:25 +02:00
Christoph Oelckers d54a2364b9 - floatified r_interpolate.cpp. 2016-03-30 17:11:31 +02:00
Christoph Oelckers 66929cbaff - floatified p_trace, p_slopes and p_udmf.cpp.
- major cleanup of unused code.
2016-03-30 16:30:22 +02:00
Christoph Oelckers 25f5e8449a - replaced all direct access to sector plane coefficients with wrapper functions. 2016-03-29 12:40:41 +02:00
Christoph Oelckers 26ff2f73d7 - floatified P_TryMove and the sliding and bouncing code. 2016-03-27 13:29:58 +02:00
Christoph Oelckers 1125101b37 - floatified AActor::Prev plus the stuff using it.
- rewrote some coordinate functions in AActor to use real float math instead of converting back and forth between float and fixed.
2016-03-25 16:25:25 +01:00
Christoph Oelckers 09d8b4af80 - changed I_GetTimeFrac to return a double instead of a fixed_t. 2016-03-24 12:00:21 +01:00
Christoph Oelckers 4a79602325 - floatification of g_shared.
- rewrote FraggleScript's movecamera function because it was utterly incomprehensible.
2016-03-24 01:46:11 +01:00
Christoph Oelckers 6557f3b8c8 - floatified quake and weapon code 2016-03-23 20:45:48 +01:00
Christoph Oelckers 2dbd79cc8d - floatified the return data from Trace(). 2016-03-23 18:07:04 +01:00
Christoph Oelckers 70d87f94f2 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_acs.cpp
#	src/r_utility.cpp
#	src/thingdef/thingdef_codeptr.cpp
#	src/version.h
2016-03-23 14:15:24 +01:00
Christoph Oelckers 0d1fbcf65f - flattened the following commits by Major Cooke:
* Added falloff parameter to A_QuakeEx.
- Treated just like A_Explode's 'fullradiusdamage' parameter, where the quake will fall off from this distance on out to the edge. Default is 0, which means no falloff.
- Credits to MaxED and Michaelis for helping.

* - Added HighPoint parameter to QuakeEx.
- Allows fine tuning of where the quake's maximum or minimum occurs, in tics. This must be a range between [1, duration).
- For up or down scaling quakes, this sets the quake to reach maximum sooner or start minimizing later.
- For both, this indicates when the strongest will occur. Default is 0, or in the middle.

The original commits were nearly impossible to find in the convoluted commit tree, so I think it's preferable to have one clean commit instead.
2016-03-23 14:03:10 +01:00
Christoph Oelckers 6b3c0ecbd3 - floatified viewheight variables and some related code. 2016-03-22 18:06:08 +01:00
Christoph Oelckers 7ebb96f15c - use one of the new floating point special variables to store the portal plane height of the skybox things. 2016-03-21 00:05:44 +01:00
Christoph Oelckers cff8e51811 - converted AActor::height to double. 2016-03-20 20:55:06 +01:00
Christoph Oelckers ada5097e34 - converted scale variables in AActor, FMapThing and skin to float. 2016-03-20 12:13:00 +01:00
Christoph Oelckers 51b05d331d - replaced AActor::vel and player_t::Vel with a floating point version.
- Converted P_MovePlayer and all associated variables to floating point because this wasn't working well with a mixture between float and fixed.

Like the angle commit this has just been patched up to compile, the bulk of work is yet to be done.
2016-03-20 00:54:18 +01:00
Christoph Oelckers b140d71c49 - several fixes. 2016-03-16 22:29:35 +01:00
Christoph Oelckers 671291227e - first stage of converting actor angles to float complete
Patched up everything so that it compiles without errors again. This only addresses code related to some compile error. A large portion of the angle code still uses angle_t and converts back and forth.
2016-03-16 12:41:26 +01:00
Christoph Oelckers 161d03231a - added custom math routines for reliability. 2016-03-11 15:45:47 +01:00
Christoph Oelckers f8ebfb541e - use typedefs for TVector<double> etc.
(Better have this out of the way before messing around with this stuff...)
2016-03-10 20:45:45 +01:00
Christoph Oelckers 90553bb61c - deal with portals in P_AimCamera.
This will most likely need some more testing and refining but at least it should work through line portals now.
2016-03-06 13:10:42 +01:00
Michael Labbe 97821a3036 21:9 aspect ratio support
- vid_aspect 6 forces 21:9
2016-03-03 17:31:12 -06:00