Kp
b65b6339f4
Make g3_draw_sphere pnt argument const (for OGL only)
...
SDL still needs to modify it, so use alias type `cg3s_point`, which is
`const g3s_point` in OGL and `g3s_point` in SDL.
2017-08-16 01:54:26 +00:00
Kp
79e4e0a628
Raise MAX_POINTS_PER_POLY to 64
...
Past releases had a debug-only assertion that 25 was sufficient, but
then dynamically allocated enough storage for larger models as needed.
Commit 22a34809ee
("Move interpreter g3s_lrgb onto stack") added a
hard limit of 25, but did not detect attempts to exceed this. Custom
models that exceeded 25 would cause a stack buffer overwrite and likely
crash. Raise the limit to 64 and add sanity checking to refuse to
render models that exceed MAX_POINTS_PER_POLY.
Fixes: 22a34809ee
("Move interpreter g3s_lrgb onto stack")
2017-06-07 02:44:55 +00:00
Kp
4e1156a996
Use canvas in OGL g3_draw_sphere
2017-03-11 19:56:24 +00:00
Kp
0d5d2e77a8
Pass canvas to g3_check_and_draw_poly
2017-02-11 21:42:42 +00:00
Kp
48bf96fe6a
Pass canvas to g3_draw_bitmap
2017-02-11 21:42:42 +00:00
Kp
c732c35916
Pass canvas to g3_draw_poly
2017-02-11 21:42:41 +00:00
Kp
66ee668e48
Pass canvas to _g3_draw_poly
2017-02-11 21:42:41 +00:00
Kp
416954bbdf
Pass canvas to gr_upoly_tmap
2017-02-11 21:42:40 +00:00
Kp
59b57bd7dc
Pass canvas to g3_check_and_draw_tmap
2017-02-11 21:42:40 +00:00
Kp
394d9e1b80
Pass canvas to g3_draw_rod_tmap
2017-02-11 21:42:40 +00:00
Kp
6a2f3c1321
Pass canvas to g3_draw_tmap
2017-02-11 21:42:39 +00:00
Kp
4791a40007
Pass canvas to _g3_draw_tmap
2017-02-11 21:42:39 +00:00
Kp
19151c12d9
Pass canvas to draw_tmap{,_flat}
2017-02-11 21:42:39 +00:00
Kp
590a025a89
Pass canvas to g3_start_frame
2017-02-11 21:42:34 +00:00
Kp
80e7ade6a1
Pass canvas to g3_draw_sphere
2017-02-11 21:42:33 +00:00
Kp
513e7ceceb
Pass canvas to g3_draw_line
2017-02-11 21:42:33 +00:00
Kp
47a319bba5
Pass canvas to g3_draw_line
2017-02-11 21:42:33 +00:00
Kp
2cf0a0034a
Simplify g3_draw_poly call stack
2017-02-11 21:42:31 +00:00
Kp
62b58e9890
Move OGL to dxxsconf.h; rename to DXX_USE_OGL
...
Rename symbol OGL to DXX_USE_OGL to show that it is a DXX
symbol, not one inherited from a library. Move it to dxxsconf.h to
shorten the command line.
This is a mostly automated transform, but the changes to SConstruct were
manual.
git grep -lzw OGL -- '*.h' '*.cpp' | xargs -0 sed -i -e 's/\(\s*#\s*if\)def\s*OGL/\1 DXX_USE_OGL/' -e 's/\(\s*#\s*if\)ndef OGL/\1 !DXX_USE_OGL/' -e 's/\(\s*#\s*if !\?\)defined(OGL)/\1DXX_USE_OGL/'
2016-09-24 18:06:11 +00:00
Kp
6a3ded191f
Move EDITOR to dxxsconf.h; rename to DXX_USE_EDITOR
...
Rename symbol EDITOR to DXX_USE_EDITOR to show that it is a DXX
symbol, not one inherited from a library. Move it to dxxsconf.h to
shorten the command line.
This is a mostly automated transform, but the changes to SConstruct were
manual.
git grep -wl EDITOR -- '*.h' '*.cpp' | xargs sed -i -e 's/^\s*#ifdef \(EDITOR\)\>/#if DXX_USE_\1/' -e 's/\s*#\(el\)\?if \(.*\)defined(\(EDITOR\))/#\1if \2DXX_USE_\3/' -e 's/^\s*#ifndef \(EDITOR\)\>/#if !DXX_USE_\1/'
2016-09-11 18:49:16 +00:00
Kp
99bbd0cf26
Mark global constants as constexpr
...
s/^const \([^*]*=.*;\)/constexpr \1/
2016-07-23 04:10:42 +00:00
Kp
c636dc4b98
Convert various static const
expressions to constexpr
2016-07-16 16:52:04 +00:00
Kp
27cef20eb3
Move namespace dsx handling to dsx-ns.h
2016-03-19 19:08:10 +00:00
Kp
d08bfc3170
Pass color to g3_draw_sphere
2016-02-12 04:02:28 +00:00
Kp
1b4b6673ee
Pass color to g3_draw_poly
2016-02-12 04:02:28 +00:00
Kp
8c24eaa721
Pass color to g3_draw_line
2016-02-12 04:02:28 +00:00
Kp
6b9a03cf2d
Pass color to gr_upoly_tmap
2016-02-12 04:02:28 +00:00
Kp
36bd39babe
Pass color to gr_line
2016-02-12 04:02:28 +00:00
Kp
dc8c0323d8
Uninline namespace dcx
2015-12-13 18:00:49 +00:00
Kp
d4857f4257
Use inline namespace dsx for similar/3d
2015-12-13 18:00:48 +00:00
Kp
43dd620557
Use inline namespace dcx for common/3d
2015-12-05 22:57:24 +00:00
Kp
a7e44f58ce
Use enum class for tmap_drawer_constant
...
This allows tmap_drawer_type to use regular functions instead of
template functions and causes the debugger to show the symbolic name of
the type.
2015-11-14 18:17:20 +00:00
Kp
4d8ae44794
Add helper macro DXX_CONSTANT_TRUE
2015-07-29 03:05:28 +00:00
Kp
2a1df52f71
Remove unused g3_draw_bitmap return value
2015-04-02 02:36:54 +00:00
Kp
72d349b0e0
Remove unused g3_draw_sphere return value
2015-04-02 02:36:54 +00:00
Kp
1125a751db
Remove unused g3_draw_poly return value
2015-04-02 02:36:54 +00:00
Kp
ca123b6cde
Remove unused gr_line return value
2015-04-02 02:36:54 +00:00
Kp
c3161d08d5
Remove unused g3_draw_line return value
2015-04-02 02:36:54 +00:00
Kp
9f6cbbe0e0
Move Vertex_list to local scope
2015-03-11 02:19:15 +00:00
Kp
14530d43ea
Guard g3d_interp_outline by defined(EDITOR)
2015-02-28 22:34:07 +00:00
Kp
68be3baeca
Track highest_texture_num locally
2015-02-28 22:34:06 +00:00
Kp
cda693680a
Remove unused return value of g3_rotate_delta_vec
2015-02-03 00:37:08 +00:00
Kp
a2d32c2e6f
Remove 3d.h #include "gr.h"
2015-01-29 04:27:36 +00:00
Kp
492d6fd996
Remove draw_tmap from OGL build
...
It is only used as a placeholder. Replace it with a number.
Compile out various non-OGL functions when building for OGL.
2015-01-22 03:34:20 +00:00
Kp
bf3bb0b144
Pass uint_fast32_t nverts for texture drawers
2015-01-20 02:46:42 +00:00
Kp
634f97e8d2
Pass tmap drawer grs_bitmap by &
2014-11-30 22:09:18 +00:00
Kp
f89b57047a
Pass g3_draw_bitmap grs_bitmap by &
2014-11-30 22:09:17 +00:00
Kp
4ad784028b
Pass scale_bitmap points in array<grs_point, 3>
2014-11-21 03:34:50 +00:00
Kp
c72ec87296
Redirect g3_end_frame->ogl_end_frame
2014-11-16 19:14:51 +00:00
Kp
cdf0d887f6
Move temporary points onto stack
2014-11-16 19:14:51 +00:00