Braden Obrzut
ba54d73e07
Merge branch 'portals2_visual'
2016-02-05 00:10:46 -05:00
Randy Heit
b3b0886b64
Merge branch 'scripting'
...
Conflicts:
src/actor.h
src/g_doom/a_doomweaps.cpp
src/g_hexen/a_blastradius.cpp
src/p_enemy.cpp
src/p_enemy.h
src/thingdef/thingdef.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
Randy Heit
2f4dc17954
Add support for face sprite Y flipping
2016-01-31 22:05:32 -06:00
Randy Heit
0b9aeb33e1
Fixed potential divide by 0 when drawing voxels
...
- Since voxels can have their origin behind the viewer and still have a
portion visible in front of the viewer, they aren't clipped to MINZ like
face sprites are. The 3D floor handling in R_DrawSprite() neglected to
clamp it when recalculating the diminished light colormap.
- Aside, but R_DrawSprite() probably shouldn't be messing with these
properties at all. Why isn't this done in R_ProjectSprite() before it
ever gets to the drawing part?
2016-01-31 20:52:56 -06: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
Christoph Oelckers
bc63b70d88
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/fragglescript/t_func.cpp
src/g_doom/a_bossbrain.cpp
src/g_doom/a_revenant.cpp
src/g_heretic/a_hereticartifacts.cpp
src/g_heretic/a_hereticweaps.cpp
src/g_heretic/a_knight.cpp
src/g_hexen/a_bishop.cpp
src/g_hexen/a_clericholy.cpp
src/g_hexen/a_dragon.cpp
src/g_hexen/a_firedemon.cpp
src/g_hexen/a_flechette.cpp
src/g_hexen/a_heresiarch.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/g_hexen/a_iceguy.cpp
src/g_hexen/a_korax.cpp
src/g_hexen/a_magelightning.cpp
src/g_hexen/a_serpent.cpp
src/g_hexen/a_spike.cpp
src/g_hexen/a_wraith.cpp
src/g_raven/a_minotaur.cpp
src/g_shared/a_bridge.cpp
src/g_shared/a_pickups.cpp
src/g_shared/a_randomspawner.cpp
src/g_strife/a_alienspectres.cpp
src/g_strife/a_crusader.cpp
src/g_strife/a_entityboss.cpp
src/g_strife/a_inquisitor.cpp
src/g_strife/a_loremaster.cpp
src/g_strife/a_programmer.cpp
src/g_strife/a_sentinel.cpp
src/g_strife/a_spectral.cpp
src/g_strife/a_strifestuff.cpp
src/g_strife/a_strifeweapons.cpp
src/g_strife/a_thingstoblowup.cpp
src/p_local.h
src/r_utility.cpp
2016-01-19 13:43:11 +01:00
Christoph Oelckers
9f78bcd1e6
- Strife game code refactored for coordinates.
2016-01-19 11:50:07 +01:00
ZZYZX
4bbec2a7fe
Fixed skybox clipping: sprite columns shouldn't be clipped against the current portal if rendered on root level of a skybox.
2016-01-10 05:48:06 +02: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
ZZYZX
75d21d6dd8
ZDoom wasn't setting drawseg_t::curline when making "fake" drawseg for skyboxes, which interfered with portal sprite clipping routine randomly.
2015-11-12 01:17:03 +02:00
ZZYZX
7bfce1d176
Fixed crash in R_ClipSpriteColumnWithPortals if seg->curline is null
2015-10-08 21:16:30 +03:00
ZZYZX
d0df4c1744
Upgraded the portal code to work with the new tagManager system. Was uncompilable
2015-06-07 21:27:20 +03: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
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
Christoph Oelckers
792cad89b3
Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
...
Conflicts:
src/g_hexen/a_clericstaff.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/p_acs.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_expression.cpp
(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Randy Heit
93c7f4b4b5
Don't accelerate BOOM colormaped player sprites
...
- Fixed: Player weapons ignored BOOM colormaps when accelerated.
2015-03-26 21:46:14 -05:00
Randy Heit
e259087c19
Change RGB32k to a union of BYTE[32][32][32] and BYTE[32*32*32]
...
- Clang's optional runtime array bounds checking doesn't understand when we
intentionally "overflow" by doing this:
RGB32k[0][0][colorval]
It will warn that it was accessed at an index will past the bounds
of type 'BYTE [32]', which makes it less than useful for catching real
array bounds overflows. So now do this:
RGB32k.All[colorval]
And if you want this:
RGB32k[r][g][b]
Now do this:
RGB32k.RGB[r][g][b]
2015-03-08 18:05:02 -05:00
Randy Heit
b5e4153c78
Merge branch 'master' into gonesolong
...
Conflicts:
src/CMakeLists.txt
src/b_think.cpp
src/g_doom/a_doomweaps.cpp
src/g_hexen/a_clericstaff.cpp
src/g_hexen/a_fighterplayer.cpp
src/namedef.h
src/p_enemy.cpp
src/p_local.h
src/p_mobj.cpp
src/p_teleport.cpp
src/sc_man_tokens.h
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_function.cpp
src/thingdef/thingdef_parse.cpp
wadsrc/static/actors/actor.txt
wadsrc/static/actors/constants.txt
wadsrc/static/actors/shared/inventory.txt
- Added register reuse to VMFunctionBuilder for FxPick's code emitter.
- Note to self: Need to reimplement IsPointerEqual and CheckClass, which
were added to thingdef_function.cpp over the past year, as this file no
longer exists in this branch.
2014-12-21 21:15:11 -06:00
Randy Heit
2d87eb0ba2
Merge branch 'master' into gonesolong
...
Conflicts:
src/CMakeLists.txt
src/actor.h
src/g_heretic/a_hereticmisc.cpp
src/g_heretic/a_hereticweaps.cpp
src/g_heretic/a_ironlich.cpp
src/info.h
src/namedef.h
src/p_buildmap.cpp
src/p_enemy.cpp
src/p_map.cpp
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
zdoom.vcproj
2014-12-20 19:13:14 -06:00
Kyle Evans
3af08f1983
Fixed weapon drawing rules to account for the death camera [backported from gzdoom], also fixed drawing rules for crosshair
2014-12-01 22:03:22 -06:00
Edward Richardson
07d7f690e8
Non-wall sprites need their original depth checks
2014-08-21 20:03:17 +12:00
Randy Heit
9659b894a3
Skip neardepth/fardepth checking in R_DrawSprite
...
- Wall sprites now clip much, much better than before.
2014-08-07 20:43:09 -05:00
Randy Heit
7b02027ba7
Fixed: Wall sprites cut off one pixel short of the window's right border
2014-08-07 20:00:49 -05:00
Randy Heit
6303935ad6
Use wall sprite Y scale
2014-08-07 19:57:55 -05:00
Randy Heit
0aa67c68ab
Redo lighting for each wall sprite
...
- Because previously it just reused whatever the most recently drawn wall
used.
2014-08-07 17:23:06 -05:00
Randy Heit
e1ee80661e
Make FWallCoords' members lowercase
...
because they're kind of a pain to type when all uppercase.
- Also, make its sx1 and sx2 members shorts, so it takes less space, since
it's getting crammed into a vissprite now.
2014-08-07 17:12:04 -05:00
Randy Heit
d0043bed78
Q&D port of decal code to draw generic wall sprites
...
- This still doesn't use all the sprite properties correctly. It also
looks like they're going to need different code to build the clipping
arrays. But at least wall sprites are drawn at the proper angle now!
2014-08-02 22:35:57 -05:00
Christoph Oelckers
e7225bced6
- check negative XScale on sprites to allow mirroring.
2013-12-01 01:15:10 +01:00
Randy Heit
4deeb8d8ae
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_doom/a_doomweaps.cpp
src/p_local.h
src/p_map.cpp
src/sdl/i_main.cpp
src/thingdef/thingdef_codeptr.cpp
2013-06-25 19:28:25 -05:00
Randy Heit
5916ce087b
- Revert r4244. It seems to be working well enough like this, since there have been no complaints.
...
SVN r4341 (trunk)
2013-06-08 03:24:41 +00:00
Randy Heit
459ad5abff
- Updated scripting branch to latest version in trunk.
...
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Randy Heit
6d6fcbe246
- For the sake of better testing, use 2D sprite sorting unconditionally and not just when a
...
voxel is in view. Hopefully I'm just being paranoid, but I don't trust it to go well with
clipping sprites to walls.
SVN r4244 (trunk)
2013-05-01 02:27:07 +00:00
Randy Heit
2dfb1dd92f
- Added an alternate 2D sprite sorting comparison function which seems to work better with
...
large voxels than the standard 1D sprite sort.
SVN r4229 (trunk)
2013-04-28 03:31:13 +00:00
Randy Heit
6dc21f9a8b
- Fixed: Voxel rendering completely fell apart when a mirror came into view.
...
SVN r4216 (trunk)
2013-04-16 20:17:34 +00:00
Braden Obrzut
dcb1a3c8bd
- GCC warning cleanup
...
SVN r4031 (trunk)
2013-01-21 22:30:30 +00:00
Randy Heit
67eda6b1ad
- Changed P_CheckPlayerSprites() so that it does not alter any actor data. It is now called by
...
R_ProjectSprite() to modify the appropriate data right before it is needed for rendering.
SVN r4004 (trunk)
2013-01-02 02:10:26 +00:00
Randy Heit
21ada0b3f6
- Fixed: When the player sprite is being drawn with a fixed colormap, hardware acceleration
...
should not be disabled when the regular colormap has lights that stay bright throughout.
SVN r4001 (trunk)
2012-12-22 02:57:35 +00:00
Randy Heit
47eec0b275
- Added tracking of time spent specifically in running action functions. I feel kind of stupid
...
about this now. I spent three days trying to figure out why the VC++ debug version was so slow.
It turns out I had a conditional breakpoint set in a high-traffic area. D'oh!
The rest of this stuff should get merged into trunk:
- Fixed: Writing to debugfile uses the standard fprintf, which does not understand %td on VC++.
- Fixed: Instead of crashing when a sprite has been scaled to 0, just don't draw it.
SVN r3896 (scripting)
2012-10-21 03:46:17 +00:00
Randy Heit
e7efa1d802
- Update to latest version in trunk.
...
SVN r3890 (scripting)
2012-10-17 04:24:54 +00:00
Randy Heit
eea532ce48
- Move the float bob offset calculation into a separate function.
...
SVN r3789 (trunk)
2012-07-27 01:53:21 +00:00
Randy Heit
6bd8fafbad
- Fixed: The float bob offsetting in R_ProjectSprite was using r_TicFrac as a millisecond count
...
rather than as a fraction of a tic.
SVN r3788 (trunk)
2012-07-27 01:44:55 +00:00
Randy Heit
562cf04db2
- Update scripting branch to trunk.
...
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00
Randy Heit
5e2b4bddda
- Make floatbobbing a purely cosmetic effect that does not alter an actor's real position in the world.
...
SVN r3744 (trunk)
2012-07-06 03:42:03 +00:00
Randy Heit
8f39e692e7
- Fixed: FCoverageBuffer::InsertSpan() failed to consider the case where the new span starts above
...
an existing span and ends below it.
SVN r3726 (trunk)
2012-07-01 22:42:35 +00:00
Randy Heit
e61f08478d
- Fixed: Revision 3711 broke voxels that need to be drawn offscreen before drawing to the screen.
...
SVN r3725 (trunk)
2012-07-01 22:30:41 +00:00
Randy Heit
2d8b43734b
- Fixed: Revision 3711 broke the drawing of all but the first post in each voxel column.
...
SVN r3724 (trunk)
2012-07-01 22:18:59 +00:00
Randy Heit
4a3438499e
- Use floating point instead of the distrecip() function for slightly less precision loss.
...
- Tweak voxel sizes and vertical positioning further.
SVN r3716 (trunk)
2012-06-29 03:58:26 +00:00
Randy Heit
a2b51665ac
- Try to keep voxels from shifting up and down depending on how far you are above or below them.
...
SVN r3714 (trunk)
2012-06-28 05:22:40 +00:00