Magnus Norddahl
698b5f3db1
Simplify drawer code by creating loop iterators
...
Fixed blending bug
2016-06-24 11:37:51 +02:00
Magnus Norddahl
7a0c801a18
Added mipmapping to wallscan
2016-06-22 08:23:16 +02:00
Magnus Norddahl
c70aa1fe99
Added bilinear filtering
2016-06-20 08:24:02 +02:00
Magnus Norddahl
a6d696bbfd
Undo removal of wallscan_np2 and wallscan_np2_ds
2016-06-11 00:50:36 +02:00
Magnus Norddahl
d5331e6095
Wallscan fix
2016-06-10 22:22:40 +02:00
Magnus Norddahl
27156eb60a
Linux compile fixes and missing variable declarations
2016-06-10 16:32:47 +02:00
Magnus Norddahl
05b6fe6174
Added true color texture support for walls and floors
2016-06-10 13:50:34 +02:00
Magnus Norddahl
c59db95cc8
Rewrote wallscan to fix buffer overruns and code duplication.
2016-06-09 23:12:38 +02:00
Magnus Norddahl
0c8c9e0aea
Added FDynamicColormap support to true color mode
2016-06-05 14:08:03 +02:00
Magnus Norddahl
47f32d03cd
Fixed some light and blending functions for the true color mode
2016-06-02 14:49:03 +02:00
Magnus Norddahl
05220a7133
Added IsBgra() to DCanvas
...
Changed SWRender output format to be decided by IsBgra()
2016-05-31 09:36:18 +02:00
Magnus Norddahl
045bad1b52
Removed the need for the pixel_canvas_t typedef
2016-05-31 05:31:32 +02:00
Magnus Norddahl
20b7743ec3
Added R_SetColorMapLight and R_SetDSColorMapLight
2016-05-31 01:49:39 +02:00
Magnus Norddahl
8aabc26cd9
Created standalone rgba drawing functions
2016-05-30 05:52:15 +02:00
Magnus Norddahl
6e53c1bd12
Change render target output from PAL8 to BGRA8
2016-05-28 20:40:33 +02:00
Christoph Oelckers
0726a88ab9
- only return DWORD aligned addresses in openings because the 3D floor code stores floating point values in there which cannot be accessed on platforms with strict alignment rules.
2016-05-11 12:04:41 +02:00
Randy Heit
a95c6b9644
Draw upper/lower textures on two-sided portal lines
2016-04-29 21:54:29 -05:00
Randy Heit
f3d273c94f
Fixed: Tiled midtextures could go up past the ceiling when a 3D floor is in view
2016-04-28 22:06:57 -05:00
Randy Heit
96228ca15f
Trying to fix some rounding, not sure it's actually correct yet
2016-04-28 21:14:48 -05:00
Randy Heit
ac69ed3361
Minimal wallmost changes
...
- Add comments
- Fixed: When WallMost() finds a line entirely above the screen, it should
set the most array to 0, not -1.
2016-04-27 22:17:33 -05:00
Randy Heit
d970be48f9
Use floating point xscale in R_RenderFakeWall()
2016-04-26 23:30:16 -05:00
Randy Heit
ee43c4ff95
Fixed: Accidentally left in /65536.0 in WallMost()
2016-04-26 23:00:41 -05:00
Christoph Oelckers
a26d81e060
- fixed incomplete float conversion in R_RenderFakeWallRange.
2016-04-27 02:28:45 +02:00
Christoph Oelckers
0f99d7d73f
- floatified the few remaining linedef and sector properties that still were fixed_t. The only fixed point things left in r_defs.h are the nodes and a fixed point setter function for vertex_t, which is still needed by the node builder.
2016-04-24 12:15:09 +02:00
Christoph Oelckers
31845cd16b
- fixed two fixed/float mixups.
2016-04-24 10:24:43 +02:00
Christoph Oelckers
04e614daec
- removed some fixed point functions that are no longer needed.
...
- fixed: Visplane checks should only compare the plane flags that are relevant for rendering and mask out the rest.
- floatified FTransform and made the visplane checks a bit less verbose by moving the comparison as an operator into FTransform.
Note that this operator needs forceinline on Visual Studio so that it won't get called as a function.
2016-04-23 12:42:07 +02:00
Christoph Oelckers
35a6994d0a
- remove the 'F' prefix from the floating point access function to the sidedef texture info, now that the fixed point versions are gone.
2016-04-23 10:55:55 +02:00
Christoph Oelckers
4d4f31fd83
- floatified sidedef texture info and fixed two bugs involving this data.
2016-04-23 09:41:59 +02:00
Randy Heit
f1b3f59bcc
Renderer floatification: Use floating point for wall scale and yrepeat
2016-04-22 23:12:53 -05:00
Randy Heit
1f97488945
Renderer floatification: Use floating point for decals
2016-04-22 23:12:53 -05:00
Randy Heit
b2b3e50c5c
Renderer floatification: Use floating point for geometry Zs
2016-04-22 23:12:53 -05:00
Randy Heit
3ef5a678d5
Renderer floatification: Use floating point for texturemids and Y scales
2016-04-22 23:12:53 -05:00
Randy Heit
ec8d038c99
Renderer floatification: Use floats for lighting values
2016-04-22 23:10:34 -05:00
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
28ac65b25b
- Fixed GCC and Clang compilation errors.
2016-04-02 23:01:32 +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
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
77f2530236
- floatified the sector plane movers and removed some of the ZatPoint conversion cruft.
2016-03-30 09:41:46 +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
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
0c39bdd04c
- floatified texture scale values.
2016-03-26 13:37:44 +01:00
Christoph Oelckers
301f5abadc
- floatified the decal code.
2016-03-22 22:07:38 +01:00
Christoph Oelckers
4e60ea0252
- made AActor::alpha a floating point value
...
- replaced some uses of FRACUNIT with OPAQUE when it was about translucency.
- simplified some overly complicated translucency multiplications in the SBARINFO code.
2016-03-21 12:18:46 +01:00
Randy Heit
48b6b6e057
Clip portals to viewheight, not screen height
...
- Aside, but is this even neccessary? The arrays being copied from should
already be clipped properly.
2016-03-08 19:53:37 -06:00
Randy Heit
55142078d8
Normalize line endings
2016-03-01 09:47:10 -06:00
Christoph Oelckers
7242a0ef94
- fixed: Rendering 2-sided walls with 3D floor light effects had the 'is3dfloor' flag of GetLightLevel inverted.
2016-02-29 10:26:07 +01: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
Randy Heit
3ad2e4191d
Remove fudging from the end of (O)WallMost
...
- This might have been added in an effort to fix problems caused by mixing inclusive
and exclusive right edges. It might not be needed anymore. Let's find out...
2016-02-05 16:08:20 -06:00
Christoph Oelckers
a85a8c1465
- changed mirror handling so that it works without attaching a portal to the mirror line and removed line_t::portal_mirror member.
...
- did some cleanup on the portal interface on linedefs: All checks should go through isLinePortal (gameplay related) and isVisualPortal (renderer related) which then can decide on the actual data what to return.
- removed portal_passive because it won't survive the upcoming refactoring.
- removed all direct access to portal members of line_t.
- always use the precise (and fast) version of P_PointOnLineSide inside the renderer.
2016-02-05 16:14:45 +01:00