Christoph Oelckers
470dc138c6
- got rid of all DTA_Translation uses.
2017-02-05 00:17:29 +01:00
Christoph Oelckers
dadc8e2ec2
- removed all uses of DTA_Translation except for the single one that passes a custom built table.
...
This means that with the exception of 3 pointers the DrawTexture interface only accepts numeric values now.
Still need to get rid of the last 3 to have this ready for scripting.
2017-02-04 23:26:28 +01:00
Christoph Oelckers
d50e52ea59
- use DrawChar to draw font characters instead of calling DrawTexture directly.
...
Mostly done to remove uses of DTA_Translation.
2017-02-04 22:50:23 +01:00
Christoph Oelckers
6dea3eef8e
- exported DrawTexture to scripting.
...
This uses templates to avoid source duplication of ParseDrawTextureTags. Not tested yet.
2017-02-04 22:09:49 +01:00
Christoph Oelckers
a102807737
- atags for null pointers have no meaning so do not assert on them.
2017-02-04 19:37:19 +01:00
alexey.lysiuk
e8c2444ddd
Fixed compilation with GCC/Clang
...
error: use of undeclared identifier 'op'
error: no matching function for call to 'ListEnd'
error: no matching function for call to 'ListGetInt'
error: no matching function for call to 'ListGetDouble'
...
2017-02-04 18:10:30 +02:00
Magnus Norddahl
5bae06a3c6
Make RenderScene the work dispatching class
2017-02-04 14:00:21 +01:00
Christoph Oelckers
d3ed83942f
- did some preparations to ParseDrawTextureTags to allow using the same code for parsing tag lists generated by the VM.
...
- removed the fixed point alpha tag from DrawTexture and replaced all uses with the floating point version.
2017-02-04 13:11:12 +01:00
Magnus Norddahl
6f5e720576
Split drawer command queue from drawer threads
2017-02-04 12:38:05 +01:00
Christoph Oelckers
abac756289
- exported some stuff for fonts and screen size that will be needed for the menus.
2017-02-04 00:46:22 +01:00
Magnus Norddahl
7b4d9675c9
Fix compile errors
2017-02-02 15:24:21 +01:00
Magnus Norddahl
e90b73539e
Move viewport drawing to its own folder
2017-02-02 15:10:06 +01:00
Magnus Norddahl
f3d968cf41
Move wall drawer args into functions
2017-02-02 11:16:18 +01:00
Magnus Norddahl
d91e6ccece
Remove dc_destorg and ylookup
2017-02-01 22:24:34 +01:00
Magnus Norddahl
bb0a223b80
Remove unused dc_destheight
2017-02-01 21:55:55 +01:00
Magnus Norddahl
93166fa150
Remove r_swtruecolor variable as it is redundant
2017-02-01 21:42:08 +01:00
Magnus Norddahl
e78e76a593
Move r_viewport variables into a class
2017-02-01 16:02:21 +01:00
Magnus Norddahl
98fa2976fa
Clean up the SpanDrawerArgs interface a bit
2017-01-30 12:46:17 +01:00
Magnus Norddahl
c574b0ad3f
Remove R_InitColumnDrawers and only allow DrawerArgs classes to call drawers
2017-01-30 11:53:11 +01:00
Magnus Norddahl
2f365e7d2b
Rename ColumnDrawerArgs to SpriteDrawerArgs
2017-01-30 11:27:58 +01:00
Magnus Norddahl
36a23d60b8
Make spanfunc private and local to SpanDrawerArgs
2017-01-30 05:26:57 +01:00
Magnus Norddahl
fd459b1f13
Remove redundant span drawer args
2017-01-30 04:35:28 +01:00
Magnus Norddahl
7c7d6e99e9
Split DrawerArgs into WallDrawerArgs, ColumnDrawerArgs, SpanDrawerArgs and SkyDrawerArgs
2017-01-29 10:05:37 +01:00
Magnus Norddahl
92bd752935
Move drawerargs globals into a class and make them local
2017-01-29 07:49:04 +01:00
Rachael Alexanderson
0c101102dc
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_main.cpp
# src/r_segs.cpp
# src/r_things.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.txt
2017-01-28 17:39:55 -05:00
Christoph Oelckers
ee22a9371b
- use Doom64 colors on sectors and linedefs.
2017-01-28 20:44:46 +01:00
Magnus Norddahl
4afac0f2cc
Force all drawing to go through DrawerStyle
2017-01-28 16:36:39 +01:00
Magnus Norddahl
dbf9cd5de5
Remove a few more drawerargs
2017-01-28 08:17:31 +01:00
Magnus Norddahl
5f38b15635
Move colfunc family of globals into a DrawerStyle class and localize its usage
2017-01-28 07:08:59 +01:00
Magnus Norddahl
ed05a2edd3
Create CameraLight class
2017-01-26 10:22:54 +01:00
Rachael Alexanderson
410a1aa24c
Merge https://github.com/coelckers/gzdoom
2017-01-20 20:56:02 -05:00
Christoph Oelckers
f5421491ec
- wrapped the entire DSBarInfo class in a container and completely decoupled it from DBaseStatusBar.
...
The idea is, when status bars are moved to ZScript that only this small wrapper class needs to be dealt with and the implementation can be left alone. SBARINFO is far too complex to be scriptified, but having it inherit directly from DBaseStatusBar and access its member variables severely limits the options of dealing with the status bar code. This way, it only accesses some globally visible functions in DBaseStatusBar and no variables.
- renamed the global ST_X and ST_Y variables because it is far too confusing and error-prone to have the same names inside and outside DBaseStatusBar.
2017-01-20 11:11:22 +01:00
Magnus Norddahl
1c3440e391
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_plane.cpp
# src/r_plane.h
2017-01-16 06:03:21 +01:00
Christoph Oelckers
d2d6e5d486
- scriptified PowerFlight and PowerWeaponLevel2.
2017-01-15 23:21:38 +01:00
Magnus Norddahl
9e940b4287
Remove basecolormap global
2017-01-12 21:29:19 +01:00
Magnus Norddahl
80e1844d6c
Split r_main into r_viewport, r_scene and r_light
2017-01-12 16:21:46 +01:00
Rachael Alexanderson
05662e5c4d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_plane.cpp
# src/r_things.cpp
2017-01-09 09:51:06 -05:00
Magnus Norddahl
579199a246
Move R_DrawVisSprite to r_sprite and move R_DrawMaskedColumn to r_draw
2017-01-09 13:53:02 +01:00
Christoph Oelckers
cd7986b1b1
- refactored global sides array to be more VM friendly.
...
- moved FLevelLocals to its own header to resolve some circular include conflicts.
2017-01-08 18:46:17 +01:00
Magnus Norddahl
f354cc8c67
Move flat and slope plane drawing to their own files, isolate and privatize their working variables
2016-12-31 11:42:49 +01:00
Magnus Norddahl
f8010854c3
Move colfunc and friends to r_draw and change them to member function pointers
2016-12-27 23:53:47 +01:00
Magnus Norddahl
5a7765910f
Merge R_SetupSpanBits with R_SetSpanSource and rename it to R_SetSpanTexture
2016-12-27 07:30:29 +01:00
Magnus Norddahl
2659090e1c
Move renders into folders
2016-12-27 06:31:55 +01:00
Magnus Norddahl
08fd81802d
Remove useRt
2016-12-25 08:01:21 +01:00
Magnus Norddahl
57593adeb0
Simplify ESPSResult to a boolean
2016-12-25 05:15:23 +01:00
Magnus Norddahl
b0febec986
Removed r_columnmethod as its performance gains are too insignificant to justify its complexity on the codebase
2016-12-25 05:05:53 +01:00
Rachael Alexanderson
8231032f89
- fixed a crash
...
- tried to make MAKETRANSDOT algorithm more consistent with original
2016-12-24 19:22:31 -05:00
Rachael Alexanderson
564bfe482c
Merge branch 'zdoom-rgb666-take3' of https://github.com/raa-eruanna/qzdoom into qzdoom-rgb666
...
# Conflicts:
# src/r_draw.cpp
# src/r_plane.cpp
# src/r_things.h
# src/v_draw.cpp
# src/v_video.cpp
2016-12-24 19:00:28 -05:00
Rachael Alexanderson
821b10a254
- Implementing RGB666 colormatching to replace less precise RGB555 in some parts of the code.
2016-12-23 11:41:10 -05:00
Magnus Norddahl
9ac7a07be6
- Set colormap light info using R_SetColorMapLight and R_SetDSColorMapLight rather than manually calculating it
...
- Move texture and span management into R_DrawMaskedColumn
2016-12-18 11:58:32 +01:00
Christoph Oelckers
cfd6bcec5e
- more Build cleanup: Moved clearbufshort out of Build derived headers, removed the inline version for GCC 32 bit which was actually Build derived and renamed the C-version of this function, which does not originate from Build to 'fillshort'.
...
- cleaned out a lot the SafeDivScale stuff in m_fixed.h. The only SafeDivScale variant still in use was #16 for FixedDiv, so all the SafeDivScale stuff has been removed and the 16 variant renamed to FixedDiv because that's the only form in which it is still being used. (2x in R_DrawVoxel and 1x in ACS's FixedDiv PCode.)
- removed Build notice from m_fixed.h because aside from the inlines includes there is nothing here from Build anymore.
(cherry picked from commit eab06ef086
)
2016-12-09 08:13:22 -05:00
Christoph Oelckers
eab06ef086
- more Build cleanup: Moved clearbufshort out of Build derived headers, removed the inline version for GCC 32 bit which was actually Build derived and renamed the C-version of this function, which does not originate from Build to 'fillshort'.
...
- cleaned out a lot the SafeDivScale stuff in m_fixed.h. The only SafeDivScale variant still in use was #16 for FixedDiv, so all the SafeDivScale stuff has been removed and the 16 variant renamed to FixedDiv because that's the only form in which it is still being used. (2x in R_DrawVoxel and 1x in ACS's FixedDiv PCode.)
- removed Build notice from m_fixed.h because aside from the inlines includes there is nothing here from Build anymore.
2016-12-09 13:04:53 +01:00
Magnus Norddahl
3ff91807b8
Move swrenderer into a namespace, add multithreading framework, and move drawers to commands
2016-12-07 09:34:49 +01:00
Magnus Norddahl
8a12d040de
Merge remote-tracking branch 'zdoom/master' into qzdoom
...
# Conflicts:
# src/r_draw.cpp
# src/r_draw.h
2016-12-05 08:22:04 +01:00
Magnus Norddahl
9416d436fe
Move software renderer into its own namespace to isolate its globals and make
...
any access explicit. This reveals the places in the code where they are being
accessed where they shouldn't and prevents accidental usage.
2016-12-01 02:38:32 +01:00
Rachael Alexanderson
901727a7f8
Merge branch 'master' of https://github.com/rheit/zdoom
2016-11-06 08:11:04 -05:00
Marisa Heit
55ee78fc0b
Add bottomclip parameter to FillSimplePoly() for the software implementation
...
- Polygons will be clipped to bottomclip. If this is zero or below, they
will be clipped to the bottom of the screen instead. This keeps the
polygons from overwriting the status bar border for sofware 2D. The
hardware version ignores it, since it always draws the status bar border
every frame.
2016-11-05 22:49:33 -05:00
Rachael Alexanderson
5e547e9455
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# src/r_segs.cpp
# src/v_draw.cpp
2016-11-05 23:38:50 -04:00
Marisa Heit
dbc54fbca0
Fix FillSimplePoly() for 1-pixel tall or wide textures
2016-11-05 22:30:16 -05:00
Magnus Norddahl
12a1755edf
Move texture info to R_DrawMaskedColumn and add bounds checking
2016-11-04 01:39:53 +01:00
Rachael Alexanderson
c6ea262baf
Merge commit '8d7e400f8eaa964f359849df34306ade247cf850'
2016-11-01 01:52:33 -04:00
Marisa Heit
8d7e400f8e
Fixed: DCanvas::FillSimplePoly must set dc_destorg
...
- dc_destorg is normally set to the upper-left corner of the view window.
If there is a border, then this won't coincide with the upper-left
corner of the screen, and DCanvas::FillSimplePoly would merrily write off
the end of the screen buffer.
2016-10-31 22:34:46 -05:00
Magnus Norddahl
837ed7bd80
Fix dancing sprites due to texture coordinate calculations not taking pixel centers into account
...
Merge R_DrawMaskedColumn and R_DrawMaskedColumnHoriz into one function to remove code duplication
2016-10-29 05:35:41 +02:00
Magnus Norddahl
af937366d1
Added DetectRangeError function
2016-10-17 12:36:01 +02:00
Magnus Norddahl
2534e80a19
Fix vid_hw2d 0 rendering glitch
2016-10-16 16:14:54 +02:00
Magnus Norddahl
366d494b18
Merged R_DrawMaskedColumnHoriz into R_DrawMaskedColumn
2016-10-14 08:33:59 +02:00
Magnus Norddahl
aae4571c95
Changed column drawers to use true color textures
2016-10-07 12:45:21 +02:00
raa-eruanna
81545d9b4e
Merge http://github.com/rheit/zdoom
...
# Conflicts:
# src/v_video.cpp
2016-09-14 02:24:59 -04: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
raa-eruanna
32f758de41
Merge branch 'truecolor' of https://github.com/dpjudas/zdoom
...
# Conflicts:
# src/v_video.cpp
2016-09-08 03:19:08 -04:00
Magnus Norddahl
6414e01354
Add uiscale slider controlling what scale the On setting uses for hud_scale, hud_althudscale and con_scaletext
2016-09-08 00:39:51 +02:00
Magnus Norddahl
9953d70eaa
Merge remote-tracking branch 'upstream/master' into truecolor
2016-08-06 20:45:35 +02:00
Christoph Oelckers
fd7b833ad5
- added some helper code mainly designed to help GZDoom maintain the vertex buffer for the textured automap.
2016-08-06 19:20:41 +02:00
Magnus Norddahl
698b5f3db1
Simplify drawer code by creating loop iterators
...
Fixed blending bug
2016-06-24 11:37:51 +02:00
Magnus Norddahl
d15af1524c
Added mipmap support for floor and ceiling
2016-06-21 09:38:47 +02:00
Magnus Norddahl
77c4786b9d
Minor code cleanup
2016-06-14 23:05:20 +02:00
Magnus Norddahl
8ba6a4f175
Precache, Unload and FillSimplePoly bug fix
2016-06-13 21:39:55 +02:00
Magnus Norddahl
3ce2d8365d
Fix HUD colors when hw2d is off
2016-06-13 20:01:31 +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
4f635983fc
Add bgra support to OS X target
2016-06-01 08:54:39 +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
Randy Heit
3a0d046f7e
Fix rendering with SW 2D: modf usage was backwards
2016-04-23 21:29:40 -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
ded3f92452
Commence renderer floatification
2016-04-22 23:09:13 -05: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
9a48adf81a
- fixed: The software 2D drawer expected its translation pointer to be initialized by ParseDrawTextureTags. Removed the variable from DrawParms and made it and its initialization local to the software rendering code.
2016-04-09 22:56:12 +02:00
Christoph Oelckers
a827bab576
- refactored the use of tag lists so that they do not have to be passed around between functions.
...
This means that the varargs functions themselves are now responsible for parsing them into DrawParms.
This was done because DrawTextV made a blanket assumption that every single vararg has the size of a 32 bit integer and caused crashes when anything else was passed. It also failed to eliminate any tag that is incompatible with text display. These will now abort DrawText and trigger an assert.
2016-04-09 20:47:54 +02:00
Christoph Oelckers
e2ae7d8f5d
- removed the unused x and y parameters from DrawTextureParms.
2016-04-09 12:59:50 +02:00
Christoph Oelckers
43dd759859
- changed DrawTexture so that the parameters get parsed in the varargs function directly and that the virtual function that is getting called gets the fully prepared data.
...
In order to avoid passing around tag lists, DrawTextV needs to parse everything itself and then pass a fully initialized structure to DrawTexture. This cannot be done if all variants require a varargs tag list.
Apparently the only reason for the old approach was the 'hw' parameter which was never used.
2016-04-09 12:55:12 +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
0c39bdd04c
- floatified texture scale values.
2016-03-26 13:37:44 +01:00
Christoph Oelckers
41387622f2
- changed angle parameter of FillSimplePoly.
2016-03-24 16:36:43 +01:00
Christoph Oelckers
1eb106e2c5
- floatification of some alpha parameters.
2016-03-22 13:35:16 +01:00