Randy Heit
4416d88eb2
Renderer floatification: Use floating point for visibility values
2016-04-22 23:10:02 -05:00
Randy Heit
ded3f92452
Commence renderer floatification
2016-04-22 23:09:13 -05:00
Edoardo Prezioso
afa3009f93
- Fixed a GCC/Clang compiler error and a warning.
2016-04-21 16:11:03 +02:00
Christoph Oelckers
082042818b
- refactored sector portal data so that it does not rely on actors.
...
This is necessary because otherwise the level data cannot be serialized before the actors.
2016-04-20 19:20:11 +02:00
Christoph Oelckers
d88a5ac353
- make distancecheck 3D and use the actual view position for calculation.
2016-04-13 10:48:39 +02:00
Christoph Oelckers
db86385cf6
- removed STACK_ARGS.
...
The only reason this even existed was that ZDoom's original VC projects used __fastcall. The CMake generated project do not, they stick to __cdecl.
Since no performance gain can be seen by using __fastcall the best course of action is to just remove all traces of it from the source and forget that it ever existed.
2016-04-11 10:46:30 +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
9a07f81269
- renamed all ZatPoint variants that return a fixed point value to ZatPointFixed, to avoid accidental mixup with the floating point variants.
2016-04-02 20:45:32 +02:00
Christoph Oelckers
bb13590e07
- make viewx etc. global.
...
- a few minor optimizations.
2016-04-02 20:07:02 +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
ff0b371582
- made the linedef deltas private and only accessible through access functions.
...
Now everything should be in place to remove the fixed point math from the rest of the play code.
2016-03-29 16:13:16 +02:00
Christoph Oelckers
c7ae4688a3
- replaced all direct access to vertex coordinates with wrapper functions.
...
So that code replacement can be done piece by piece and not all at once.
2016-03-29 10:07:06 +02: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
e11a0986ce
- encountered a strange crash that after changing a map, InSubsector was not NULL and pointing to invalid data. So let's better NULL this variable explicitly each time a render loop is started.
2016-03-08 12:27:01 +01:00
Michael Labbe
97821a3036
21:9 aspect ratio support
...
- vid_aspect 6 forces 21:9
2016-03-03 17:31:12 -06:00
Christoph Oelckers
14a0567343
- optimized the portal translation functions by precalculating the rotation angle, sine and cosine.
2016-03-03 11:58:04 +01:00
Randy Heit
55142078d8
Normalize line endings
2016-03-01 09:47:10 -06:00
Christoph Oelckers
02d7572343
- some header dependency cleanup so that it is no longer needed to include portal.h to get the inline functions. Portal.h has been reduced of most dependencies now so that including it is cheap and can be done in other headers.
...
- some consolidation in p_map.cpp. PIT_CheckLine and PIT_FindFloorCeiling had quite a bit of redundancy which has been merged.
- čontinued work on FMultiBlockLinesIterator. It's still not completely finished.
2016-02-19 14:08:41 +01:00
Christoph Oelckers
158caf78a0
- more float to double conversion.
...
In particular this removes all assignments of FIXED2FLOAT to double variables because they not only lose precision but also generate unnecessary code.
2016-02-11 21:33:30 +01:00
Christoph Oelckers
00895c245e
- mpved all software renderer specific code for the portals into the render sources.
2016-02-05 15:39:06 +01:00
Braden Obrzut
ba54d73e07
Merge branch 'portals2_visual'
2016-02-05 00:10:46 -05:00
Randy Heit
240ca2af4c
Use consistant right-edge rules in the renderer.
...
- The original Doom renderer was inclusive for all right edges. This was
fine for the wonky projection it did. This was not fine for a standard
perspective divide, so I had to change walls to be right-edge exclusive
when I changed the projection. I only touched what was needed. Until
now. The right edge is always exclusive now, which should prevent any
more bugs related to mixing the two clusivities incorrectly.
2016-01-30 21:27:35 -06:00
Braden Obrzut
f3f77a1ba0
Merge branch 'master' into portals2_visual
2016-01-18 09:45:42 -05:00
ZZYZX
605fce9008
Fixed skybox clipping: things in a skybox shouldn't be clipped against current portal. Fixed: portal inside of a skybox sets CurrentPortalInSkybox to false.
2016-01-10 05:45:26 +02:00
ZZYZX
4d518a220c
Fixed skybox clipping: lines in a skybox shouldn't be clipped against current portal
2016-01-10 05:22:33 +02:00
Christoph Oelckers
7e87216878
- fixed: r_visibility values >= 205 appear to cause fixed point overflows at least on 5:4 aspect ratio so they should be blocked.
2015-11-27 10:44:37 +01:00
ZZYZX
b3764f4ee2
Fixed trivial bug with two-sided portals not clipping stuff correctly
2015-06-07 04:19:21 +03:00
ZZYZX
29880026a6
Fixed sprite clipping with drawsegs (removed unnecessary portal check)
2015-06-07 04:19:21 +03:00
ZZYZX
f07d43943a
Made a CVar to limit recursions; Made a CVar to highlight portal borders; Fixed slight logical bug in unique portal identifiers
2015-06-07 04:19:20 +03:00
ZZYZX
cd39c4b8a6
Merged mirrors with portals; Render part of mirrors done, render part of portals needs further testing
2015-06-07 04:19:17 +03:00
Teemu Piippo
ca012bc9be
- adapted AActor to use TFlags
2015-04-04 19:40:43 +03:00
Randy Heit
891b3da103
Remove extra magnitude from magic texture mapping values
...
- These used to be fixed point, but now they're floating point, so the
excess magnitude is unneeded.
2014-08-07 22:43:23 -05:00
Randy Heit
bbc3b69a7c
Remove polymost stuff
...
- Maybe it will be back someday, but it's been essentially dead for nearly
10 years, so don't hold your breath.
2014-07-31 19:44:41 -05:00
Braden Obrzut
d8ff4ec281
- Fixed: All clang 5.0 warnings.
...
- Renamed autostart/autozend since Xcode’s build process links in strictly alphabetical order.
2014-01-05 19:50:09 -05:00
Christoph Oelckers
50c5dc62aa
- fixed typo in USDF spec.
...
- comment fixes taken from GZDoom.
- division by zero check in R_SetVisibility from GZDoom.
2013-06-23 10:28:12 +02:00
Randy Heit
2919bdf4fe
- Fixed: Skyboxes never cleared planes when a 3D floor was in view.
...
SVN r4164 (trunk)
2013-02-23 05:15:32 +00:00
Randy Heit
b5a731f3a6
- Move player prediction calls into D_Display().
...
SVN r3636 (trunk)
2012-05-10 03:48:36 +00:00
Randy Heit
118e513d03
- Fixed: The player's position was only predicted during the duration of R_SetupFrame().
...
Consequently, if somebody used the chasecam while predicting, they would appear to lag
behind the camera, because their actor would be at its unpredicted position by the time
sprites were processed.
SVN r3603 (trunk)
2012-04-28 03:04:21 +00:00
Christoph Oelckers
4ef68ded5d
- fixed some leftover references to the software renderer.
...
SVN r3264 (trunk)
2011-07-07 19:53:42 +00:00
Christoph Oelckers
5bfcaab25c
- separation of software renderer from the rest of the code complete. All external access to the renderer is routed through the FRenderer interface class now, with two exceptions (2D texture drawing to a canvas and polymost testing code) that are handled by #defines.
...
SVN r3263 (trunk)
2011-07-07 15:37:47 +00:00
Christoph Oelckers
463c276014
- removed more r_ header dependencies from the rest of the code.
...
SVN r3260 (trunk)
2011-07-06 15:31:05 +00:00
Christoph Oelckers
163301dcd5
- took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
...
SVN r3259 (trunk)
2011-07-06 14:20:54 +00:00
Christoph Oelckers
03177090c0
- removed some unnecessary r_ header #includes.
...
SVN r3257 (trunk)
2011-07-06 10:55:04 +00:00
Christoph Oelckers
f8ba5af858
- separated sprite and skin maintenance code from r_things.cpp into a separate file.
...
SVN r3256 (trunk)
2011-07-06 10:24:40 +00:00
Christoph Oelckers
fbff5ca932
- moved r_interpolate.cpp and r_translate.cpp to r_data.
...
- merged r_jpeg.h into jpegtexture.cpp because that's the only place where it's ever used.
SVN r3255 (trunk)
2011-07-06 08:50:15 +00:00
Christoph Oelckers
5c6fd66ed5
- rename src/resources to src/r_data.
...
SVN r3254 (trunk)
2011-07-06 07:35:36 +00:00
Christoph Oelckers
5bf6398d85
- moved render style and border drawing code out of r_draw.cpp.
...
SVN r3251 (trunk)
2011-07-05 20:41:53 +00:00
Christoph Oelckers
17ed7aaabd
- moved the code from r_data.cpp to some better fitting places and deleted this file and r_data.h because the remaining parts of it were just a random collection of unrelated functions.
...
SVN r3248 (trunk)
2011-07-05 10:02:38 +00:00
Christoph Oelckers
4626492f50
- separated all colormap related code from v_palette.cpp and r_data.cpp into its own file.
...
SVN r3245 (trunk)
2011-07-03 10:47:35 +00:00