Kp
31d6b151da
Pass gr_bm_ubitblt arg by &
2014-12-02 03:35:01 +00:00
Kp
15f9d5d3f5
Pass ogl_ubitblt arg by &
2014-12-02 03:35:01 +00:00
Kp
e7aae37c8d
Pass ogl_ubitblt_i arg by &
2014-12-02 03:35:01 +00:00
Kp
7031c809fc
Pass gr_ubitmapm arg by &
2014-12-02 03:35:01 +00:00
Kp
5eddc2c197
Make bitmap bm_data const where easy
2014-12-02 03:24:38 +00:00
Kp
690dec3342
Workaround compilers mishandling template-template arguments
...
Visual Studio 2013 Update 4 and Clang 3.4 fail to parse
valptridx_template_t related argument lists because they misinterpret
the unspecialized inner template name as a reference to the current
specialization. This seems to be nonconforming in C++11.
All gcc versions supported by Rebirth parse this sample program
correctly, but neither Visual Studio nor clang accept it.
template <template <typename> class>
struct A
{
};
template <typename>
struct B
{
B(A<B>);
};
In <https://stackoverflow.com/questions/17687459/clang-not-accepting-use-of-template-template-parameter-when-using-crtp >, a user saw a similar failure and received the answer:
Your code is legal.
From the C++11 Standard, section 14.6.1:
Like normal (non-template) classes, class templates have an injected-class-name (Clause 9). The injected-class-name can be used as a template-name or a type-name. When it is used with a template-argument-list, as a template-argument for a template template-parameter, or as the final identifier in the elaborated-type- specifier of a friend class template declaration, it refers to the class template itself.
Looks like your version of clang is still implementing the old rule.
This failure was first seen with Visual Studio 2013, but ignored because
Visual Studio has so many other problems parsing Rebirth. Now that it
has been reported to affect clang as well, a workaround is clearly
needed. A fix was suggested by btb
<2f9543f981
>,
but that fix breaks gcc.
Rewrite the valptridx_template_t parameter passing to avoid mentioning
unspecialized template names as template parameters while defining the
class used as the parameter.
Reported by btb (clang): https://github.com/dxx-rebirth/dxx-rebirth/pull/12
2014-11-30 23:44:52 +00:00
Kp
ea535b0e38
Pass gr_rle_expand_scanline arg as const
2014-11-30 22:09:22 +00:00
Kp
706782b275
Pass gr_rle_getsize arg as const
2014-11-30 22:09:22 +00:00
Kp
9b2ef9cfa4
Pass gr_rle_expand_scanline_generic arg by &
2014-11-30 22:09:22 +00:00
Kp
2697918223
Pass gr_bm_pixel arg by &
2014-11-30 22:09:22 +00:00
Kp
0b1aa34c43
Pass gr_set_super_transparent arg by &
...
Flip name of the boolean to match its function.
2014-11-30 22:09:21 +00:00
Kp
26f4aaa51b
Pass gr_set_transparent arg by &
2014-11-30 22:09:21 +00:00
Kp
e5acd8056d
Pass gr_set_bitmap_flags arg by &
2014-11-30 22:09:21 +00:00
Kp
efa7566821
Pass colormap as array<>
2014-11-30 22:09:21 +00:00
Kp
d0abc13c94
Pass gr_create_sub_bitmap arg by &
2014-11-30 22:09:21 +00:00
Kp
ef539be1ab
Pass gr_init_bitmap_data arg by &
2014-11-30 22:09:21 +00:00
Kp
f6dde1c593
Pass gr_init_bitmap_alloc arg by &
2014-11-30 22:09:21 +00:00
Kp
53ce29e789
Pass gr_init_bitmap arg by &
2014-11-30 22:09:20 +00:00
Kp
594c597621
Pass gr_init_bitmap_data arg by &
2014-11-30 22:09:20 +00:00
Kp
0672cdff1b
Pass gr_set_bitmap_data grs_bitmap by &
2014-11-30 22:09:20 +00:00
Kp
97332b848c
Pass gr_free_bitmap_data arg by &
2014-11-30 22:09:20 +00:00
Kp
0236c237ed
Pass ogl_freebmtexture arg by &
2014-11-30 22:09:20 +00:00
Kp
a86313e746
Pass ogl_init_texture arg by &
2014-11-30 22:09:19 +00:00
Kp
bba9d90347
Use subscript notation in grs_bitmap bm_data
2014-11-30 22:09:19 +00:00
Kp
0790eda153
Use new/delete for grs_screen
2014-11-30 22:09:19 +00:00
Kp
b4acc5b858
Pass gr_ubitmap arg by &
2014-11-30 22:09:19 +00:00
Kp
166f15617d
Pass ogl_ubitmapm_cs arg by &
2014-11-30 22:09:18 +00:00
Kp
4cadc18e52
Pass merge_textures_new arg by &
2014-11-30 22:09:18 +00:00
Kp
968f7ddc97
Pass gr_gpixel arg by &
2014-11-30 22:09:18 +00:00
Kp
ad3a240958
Pass ogl_ugpixel arg by &
2014-11-30 22:09:18 +00:00
Kp
634f97e8d2
Pass tmap drawer grs_bitmap by &
2014-11-30 22:09:18 +00:00
Kp
dd4a0db47f
Pass rle_expand_texture arg as const &
2014-11-30 22:09:17 +00:00
Kp
2c07191681
Pass ntexture_map_lighted_linear arg by const &
2014-11-30 22:09:17 +00:00
Kp
f89b57047a
Pass g3_draw_bitmap grs_bitmap by &
2014-11-30 22:09:17 +00:00
Kp
06b384e349
Pass scale_bitmap arg by &
2014-11-30 22:09:17 +00:00
Kp
e7c0c639aa
Include <memory>, not <utility> for std::addressof
...
Including utility works on Linux, but apparently fails on OS X 10.10.
Switch to <memory>, which also works on Linux, and which btb reports
works on OS X.
Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
Fixed by btb: 2f4b2f031c
2014-11-30 17:04:49 +00:00
Kp
d149b9b9e8
Include <string> in partial_range.h for std::string
...
Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
Fixed by btb: 93a80e56cd
2014-11-30 17:00:03 +00:00
Kp
5f38c85e02
Improve compiler error messages on failed const T* -> T* conversions
2014-11-27 03:25:21 +00:00
Kp
327fe23586
Fix -Wnarrowing in valptridx operator-
2014-11-26 03:00:58 +00:00
Kp
388dfb98a0
Move valptridx helpers out of macro
2014-11-25 04:02:01 +00:00
Kp
d0090225b3
Fix segment_first/object_first mismatch
2014-11-23 21:41:30 +00:00
Kp
d63be88eb0
Propagate use of vsegptridx_t
2014-11-23 04:58:45 +00:00
Kp
4ad784028b
Pass scale_bitmap points in array<grs_point, 3>
2014-11-21 03:34:50 +00:00
Kp
e56fe128e0
Remove DosShell
2014-11-19 04:19:43 +00:00
Kp
57ed5c24fd
Add developer option to test header completeness
2014-11-17 04:02:25 +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
Kp
855b249555
Make g3s_point const only in OGL
2014-11-16 19:14:51 +00:00
Kp
11769c5fc0
Pass draw_tmap* arg as const
2014-11-16 19:14:50 +00:00
Kp
501f5e8557
Narrow some graphics parameters
2014-11-15 03:31:41 +00:00
Kp
2df4bea9b5
Use range_for in rle
2014-11-15 03:10:09 +00:00
Kp
c2d308807c
Make various g3s_point * const
2014-11-15 03:10:06 +00:00
Kp
3a73f2c9d0
Pass g3_draw_line as const
2014-11-15 03:10:04 +00:00
Kp
8e0d85b666
Pass g3_draw_tmap arg by &
2014-11-13 03:44:04 +00:00
Kp
841e037e15
Pass ogl_loadbmtexture_f arg by &
2014-11-13 03:42:41 +00:00
Kp
9baeb31162
Pass rle_end arg by &
2014-11-13 03:41:38 +00:00
Kp
baa39fe8f7
Add g3_rotate_point that returns result
2014-11-13 03:41:29 +00:00
Kp
d9e42e6bf3
Pass g3_draw_rod_tmap arg by &
2014-11-13 03:34:42 +00:00
Kp
207dceba33
Pass g3_draw_sphere arg by &
2014-11-13 03:22:49 +00:00
Kp
ff13155fc2
Pass g3_project_point arg by &
2014-11-13 03:21:33 +00:00
Kp
aba13a0bd0
Pass g3_draw_line arg by &
2014-11-13 03:19:52 +00:00
Kp
c5fd8cb859
Pass g3_code_point arg by &
2014-11-13 03:16:17 +00:00
Kp
fda3fc33f3
Skip unnecessary sqrt for omega cannon
2014-11-11 04:25:47 +00:00
Kp
e2741ce899
Add vm_extract_angles_matrix that returns result
2014-11-04 01:32:43 +00:00
Kp
df6b4bd783
Add vm_vec_rotate that returns result
2014-11-04 01:31:22 +00:00
Kp
3a24b20e15
Add vm_vector_2_matrix that returns result
2014-11-04 01:27:55 +00:00
Kp
141a7602d0
Add vm_angles_2_matrix that returns result
2014-11-04 01:24:08 +00:00
Kp
fd9a9a5166
Pass rotate_segment_new arg by &
2014-11-04 01:23:01 +00:00
Kp
c97f1136fa
Pass AttachSegmentNewAng arg by &
2014-11-04 01:20:07 +00:00
Kp
f5717c7db7
Pass med_rotate_segment vms_matrix by &
2014-11-02 03:44:31 +00:00
Kp
fed5d0e90f
Add vm_vec_perp that returns result
2014-11-02 03:44:27 +00:00
Kp
d76e259db5
Add vm_vec_cross that returns result
2014-11-02 03:44:12 +00:00
Kp
40eb2e6b01
Add vm_vec_scale_add that returns result
2014-11-02 03:43:57 +00:00
Kp
b32f5e5df3
Add vm_vec_copy_scale that returns result
2014-11-02 03:43:47 +00:00
Kp
697bdcf078
Add vm_vec_normal that returns result
2014-11-01 03:17:48 +00:00
Kp
66a4b8b061
Add vm_vec_avg that returns result
2014-10-30 03:18:38 +00:00
Kp
a09fcd7753
Add vm_vec_add that returns result
2014-10-30 03:11:06 +00:00
Kp
5bb9c88979
Add vm_vec_sub that returns result
2014-10-29 03:24:31 +00:00
Kp
22ff219877
Factor out dividing vms_vector elements by a fix
2014-10-29 03:10:30 +00:00
Kp
53aa70cecb
Use vsegptridx_t
2014-10-28 03:08:51 +00:00
Kp
b8b81ba5fc
Move PHYSFSX_writeAngleVec to gamesave.cpp
2014-10-26 22:56:50 +00:00
Kp
bf57d03930
Move PHYSFSX_writeMatrix to gamesave.cpp
2014-10-26 22:56:50 +00:00
Kp
44084ff261
Pass PHYSFSX_readVector vector by &
2014-10-26 22:08:58 +00:00
Kp
af318b9eb2
Pass PHYSFSX_writeVector vector by const &
2014-10-26 22:08:58 +00:00
Kp
f465c7972f
Move PHYSFSX_readVectorX to ai.cpp
2014-10-26 22:08:58 +00:00
Kp
69c052ccf6
Pass vms_vector_swap arg by &
2014-10-26 22:08:58 +00:00
Kp
f0d4c50fcc
Pass create_curve arg by &
2014-10-26 22:08:58 +00:00
Kp
ae6502f86b
Pass set_matrix_based_on_side arg by &
2014-10-26 22:01:18 +00:00
Kp
fc5b50c433
Pass med_create_new_segment arg by &
2014-10-26 22:01:13 +00:00
Kp
0e0eaff221
Pass g3_calc_point_depth arg by &
2014-10-26 22:01:04 +00:00
Kp
09835590f3
Pass g3_set_view_matrix arg by &
2014-10-26 22:01:00 +00:00
Kp
c7b2735e74
Mark vm_vector_2_matrix vectors const
2014-10-26 21:37:13 +00:00
Kp
153ec60924
Remove unused vm_vec_to_angles
2014-10-26 21:36:57 +00:00
Kp
258d6b4a04
Pass place_object vms_vector arg by &
2014-10-26 21:36:10 +00:00
Kp
666dd75629
Return objptridx_t from find_escort
2014-10-25 16:40:20 +00:00
Kp
359fcb3ce7
Remove unused set_chase_matrix
2014-10-25 16:40:00 +00:00
Kp
019b572c0e
Remove #define Segment2s Segments
2014-10-21 03:15:12 +00:00
Kp
32cb662f66
Remove unused s2s2(S)
2014-10-21 03:14:21 +00:00
Kp
e7e23eb92e
Make unused_window_userdata_t const
2014-10-16 02:30:29 +00:00
Kp
fb641b3250
Wrap object iteration idiom
2014-10-12 23:05:46 +00:00