Kp
c704cc9fc9
Add const void* conversion to various types
...
Add operator const void*() to prevent accidental use of pointer
comparison. With the overload present, comparing two objects triggers
an ambiguous conversion to pointer, instead of comparing the pointer
values.
2014-10-12 22:11:28 +00:00
Kp
c928c09884
Skip sqrt for homing check
2014-10-10 02:41:51 +00:00
Kp
a8f853aa7a
Pass d_event arg by const&
2014-10-04 22:36:13 +00:00
Kp
649704a37c
Pass med_create_segment arg as &
2014-10-02 03:02:37 +00:00
Kp
51470e5b4a
Pass sort_seg_list arg as &
2014-10-02 03:02:37 +00:00
Kp
ca3a4524a2
Pass med_extract_*_vector_from_segment_side arg as &
2014-10-02 03:02:37 +00:00
Kp
ad562e14a4
Remove unused curve_dir
2014-10-02 03:02:36 +00:00
Kp
07be2e3951
Pass curve_dist p0 by &
2014-10-02 03:02:36 +00:00
Kp
2ceabf5034
Pass g3_add_delta_vec arg by &
2014-10-02 03:02:36 +00:00
Kp
adae9888b9
Pass g3_rotate_delta_vec arg by &
2014-10-02 03:02:36 +00:00
Kp
8aa9f071e6
Pass med_point_2_vec v by &
2014-10-02 03:02:36 +00:00
Kp
d0dd976fdb
Pass g3_point_2_vec v by &
2014-10-02 03:02:36 +00:00
Kp
2434b20445
Pass g3_draw_bitmap pos by const &
2014-10-02 03:02:35 +00:00
Kp
68211d20d3
Pass g3_rotate_point arg by &
2014-10-02 03:02:35 +00:00
Kp
ade7aa2a5f
Pass g3_start_instance_angles arg by const &
2014-10-02 03:02:35 +00:00
Kp
dc5a0bcb98
Pass g3_start_instance_matrix arg by &
2014-10-02 03:02:35 +00:00
Kp
b2ab0e48da
Pass g3_check_normal_facing arg by &
2014-10-02 03:02:35 +00:00
Kp
6b93309ae5
Pass vm_vec_make arg by &
2014-10-02 03:02:35 +00:00
Kp
ff37e54087
Change Vertices to array<vertex>
2014-10-02 03:02:34 +00:00
Kp
04de7920ed
Pass vm_dist_to_plane arg by &
2014-10-01 02:28:42 +00:00
Kp
b65e9ecb61
Pass vm_extract_angles_vector arg by &
2014-10-01 02:28:42 +00:00
Kp
faeeef9b52
Pass vm_extract_angles_matrix arg by &
2014-10-01 02:28:42 +00:00
Kp
83ccb15459
Pass vm_matrix_x_matrix arg by &
2014-10-01 02:28:42 +00:00
Kp
5af79382a5
Pass vm_vec_rotate arg by &
2014-10-01 02:28:42 +00:00
Kp
99f681c8ea
Pass vm_vector_2_matrix arg by &
2014-10-01 02:28:42 +00:00
Kp
e6cb533007
Pass vm_vec_ang_2_matrix arg by &
2014-10-01 02:28:42 +00:00
Kp
d238b4a562
Pass vm_angles_2_matrix arg by &
2014-10-01 02:28:42 +00:00
Kp
b26f385b0e
Pass vm_vec_delta_ang_norm arg by &
2014-10-01 02:28:42 +00:00
Kp
feb7d028e4
Pass vm_vec_delta_ang arg by &
2014-10-01 02:28:42 +00:00
Kp
ee7e23482e
Pass vm_vec_perp arg by &
2014-10-01 02:28:42 +00:00
Kp
f509b49dc3
Pass vm_vec_normal arg by &
2014-10-01 02:28:42 +00:00
Kp
7ed6a9a250
Rename vm_vec_crossprod -> vm_vec_cross
2014-10-01 02:28:42 +00:00
Kp
a99466f8c8
Pass vm_vec_crossprod arg by &
2014-10-01 02:28:42 +00:00
Kp
73545f1dab
Pass vm_vec_normalized_dir_quick arg by &
2014-10-01 02:28:41 +00:00
Kp
b5f443f21e
Pass vm_vec_normalized_dir arg by &
2014-10-01 02:28:41 +00:00
Kp
63eeb60be1
Pass vm_vec_copy_normalize_quick arg by &
2014-10-01 02:28:41 +00:00
Kp
0b691365a7
Pass vm_vec_copy_normalize arg by &
2014-10-01 02:28:41 +00:00
Kp
1fff2db9a8
Pass vm_vec_dist_quick arg by &
2014-10-01 02:28:41 +00:00
Kp
ac39749382
Pass vm_vec_dist arg by &
2014-10-01 02:28:41 +00:00
Kp
c6aba5bb19
Remove unnecessary string_array_t constructor
2014-10-01 02:22:11 +00:00
Kp
2ad59572e0
Use vector to manage string array memory
2014-09-29 00:02:43 +00:00
Kp
05a91f9b58
Pass vm_vec_scale_add2 arguments by &
2014-09-28 21:43:14 +00:00
Kp
4104bf4f11
Pass vm_vec_scale_add arguments by &
2014-09-28 21:43:14 +00:00
Kp
b5949cc4a0
Pass vm_vec_copy_scale arguments by &
2014-09-28 21:43:14 +00:00
Kp
7dff3c7fa9
Pass vm_vec_avg arguments by &
2014-09-28 21:43:01 +00:00
Kp
d6c06e40e7
Pass vm_vec_sub2 arguments by &
2014-09-28 21:43:00 +00:00
Kp
0b2636d535
Pass vm_vec_add2 arguments by &
2014-09-28 21:43:00 +00:00
Kp
ba0b91554c
Remove vm_vec_dotprod -> vm_vec_dot redirect
2014-09-28 21:41:59 +00:00
Kp
0e65268037
Detect writing pointers
2014-09-28 21:41:06 +00:00
Kp
6b7b991bc4
Detect writing excessive data from non-integers
2014-09-28 21:37:37 +00:00
Kp
00b59c3058
Pass vm_vec_dot arguments by &
2014-09-28 21:11:48 +00:00
Kp
321bbe37d8
Pass vm_vec_sub arguments by &
2014-09-28 21:11:45 +00:00
Kp
2107b52764
Pass vm_vec_add arguments by &
2014-09-28 21:11:40 +00:00
Kp
6c30bb5d98
Pass vm_vec_scale2 dest by &
2014-09-28 21:11:36 +00:00
Kp
74925e9b45
Pass vm_vec_scale dest by &
2014-09-28 21:11:05 +00:00
Kp
69968349cb
Pass vm_transpose_matrix m by &
2014-09-28 21:11:04 +00:00
Kp
f12273746f
Pass vm_vec_zero v by &
2014-09-28 21:11:04 +00:00
Kp
a620a59bda
Pass vm_vec_normalize_quick v by &
2014-09-28 21:11:04 +00:00
Kp
a550673639
Pass vm_vec_normalize v by &
2014-09-28 21:11:03 +00:00
Kp
dfdd4ddd29
Pass vm_vec_mag_quick v by const&
2014-09-28 21:11:03 +00:00
Kp
1e6bf36e20
Pass vm_vec_mag v by const&
2014-09-28 21:11:03 +00:00
Kp
7ddba1d15e
Pass vm_vec_negate v by reference
2014-09-28 21:09:37 +00:00
Kp
89a77c4869
Remove never used vm_vec_avg4
2014-09-28 21:09:32 +00:00
Kp
c0023cad51
Fix memory leak writing hoard data
2014-09-27 23:14:50 +00:00
Kp
dc511d0a5c
Pass array<> to iff_read_animbrush
2014-09-27 23:06:33 +00:00
Kp
8be687984b
Remove unneeded rle_position_t constructor
2014-09-26 02:57:03 +00:00
Kp
3f3b8084d1
Fix non-gcc build of physfsx.h
2014-09-22 03:34:08 +00:00
Kp
703f60ac3f
Fix -Wtype-limits warnings
2014-09-21 21:41:55 +00:00
Kp
2c8a07cfa7
Use vector<uint8_t> to manage current_music_hndlbuf
2014-09-20 23:14:03 +00:00
Kp
ba907fd6e3
Eliminate message<...> for common UDT serialization
2014-09-20 23:04:16 +00:00
Kp
d889dd9b7d
Pass serial::pad by-value
2014-09-20 22:44:46 +00:00
Kp
fece9f51a4
Optimize serial using __builtin_bswap if available
2014-09-20 22:15:32 +00:00
Kp
c7d9477fca
Optimize serial copies of byte arrays
...
Switch from a range_for copying bytes to use of copy_n.
2014-09-20 18:14:00 +00:00
Kp
d263380179
Force partial_range offset/length to size_t
2014-09-19 02:58:25 +00:00
Kp
e22923e004
Use unique_ptr for grs_canvas
2014-09-17 02:45:12 +00:00
Kp
cdda53a2e8
Compact pad_storage
2014-09-17 02:44:45 +00:00
Kp
5571cf75ef
Ignore -udp_myport requests for reserved port
2014-09-17 02:16:33 +00:00
Kp
039bf2f0b7
Fix crash on failure to create afterburner blob
...
Fix crash on failure to recreate thief.
2014-09-13 22:01:17 +00:00
Kp
41bb341777
Split valptridx_t into pieces
2014-09-12 03:22:34 +00:00
Kp
0387a2c771
Disallow using RAIIdmem::operator T* on rvalues
2014-09-07 23:56:37 +00:00
Kp
7d166a70e0
Prevent accidental RAIIdmem construction
2014-09-07 23:56:37 +00:00
Kp
425c4242c1
Use std::string for UI_GADGET_BUTTON text
2014-09-07 21:21:57 +00:00
Kp
e8f4b20d1d
Use special type for PHYSFSX_fgets
2014-09-07 20:07:20 +00:00
Kp
07176ece8b
Add Valgrind poison stubs
2014-09-07 19:39:18 +00:00
Kp
a02f78a171
Move saving window pointer into helper
2014-09-07 19:04:07 +00:00
Kp
ff31905181
Use unique_ptr for grs_subcanvas
2014-09-07 19:04:06 +00:00
Kp
8321b90a9a
Use C++ inheritance for UI gadgets
2014-09-07 19:04:06 +00:00
Kp
5576a65dac
Check length of g3 tmap inputs
2014-09-04 03:02:21 +00:00
Kp
8c527c8e0a
Name serial unaligned_storage union
2014-09-04 01:57:04 +00:00
Kp
e503a64e31
Support other endian serialization
2014-09-04 01:53:11 +00:00
Kp
df3f2fe2fe
Simplify ogl/sdl texture mapping
2014-09-02 22:13:15 +00:00
Kp
efbd624f61
Disallow implicitly copying bytebuffer_t
2014-09-02 22:11:31 +00:00
Kp
cdaa4a8329
Make g3_check_and_draw_* inline
2014-08-27 03:16:51 +00:00
Kp
f9e9f0faa9
Use RAIIdmem for gadgets
2014-08-27 03:15:06 +00:00
Kp
1f0bf71c5e
Fix off-by-one in PHYSFSX_puts_literal
2014-08-26 02:41:33 +00:00
Kp
94550355a8
Use make_unique instead of bare new
2014-08-24 18:28:09 +00:00
Kp
b95759aecc
Propagate use of objptridx
2014-08-23 23:53:56 +00:00
Kp
eefdce5b04
Reduce nesting of vms_vector::{x,y,z}
2014-08-22 02:27:13 +00:00
Kp
af0759af59
Remove vms_vector::xyz
2014-08-22 02:27:00 +00:00
Kp
c102a507df
Move render Rotated_last into g3s_point p3_pad
2014-08-20 01:28:22 +00:00
Kp
774d01ddcc
Use enable_if dispatching for serial message_type
2014-08-17 23:24:24 +00:00
Kp
f5a85b0f65
Enable converting vvalptridx->valptridx for subtypes
2014-08-17 22:09:32 +00:00
Kp
3ea6b0eb18
Explicitly delete nullptr construction of valptridx
2014-08-17 20:41:59 +00:00
Kp
66cb80c343
Propagate use of objptridx
2014-08-17 20:31:18 +00:00
Kp
56557a0443
Explicitly delete vvalptridx(valptridx&&)
2014-08-17 19:32:16 +00:00
Kp
d74e36507c
Propagate NULL arguments to g3_check_and_draw_poly
2014-08-16 21:54:48 +00:00
Kp
353e22d314
Default construct g3s_codes to 0/ff
2014-08-16 18:14:11 +00:00
Kp
2a3176dc98
Use array<> for segment members
2014-08-16 18:14:00 +00:00
Kp
0ec8b6671f
Use native int64 math for fixmulaccum
2014-08-16 17:43:56 +00:00
Kp
ceeaadb940
Add native int64 to quadint struct
2014-08-16 17:42:34 +00:00
Kp
e1cdd44998
Remove unused return value for g3_check_and_draw_poly
2014-08-16 17:35:44 +00:00
Kp
913a095be7
Remove unused return value of g3_draw_tmap
2014-08-16 17:35:44 +00:00
Kp
a42a403198
Remove unused return value of g3_draw_morphing_model
2014-08-16 17:35:44 +00:00
Kp
0228b067c1
Remove unused return value of g3_draw_polygon_model
2014-08-16 17:35:44 +00:00
Kp
38c55434e4
Remove Microsoft-specific #define inline
...
Microsoft compilers currently cannot compile Rebirth, but even if they
could, they now understand the standard keyword inline.
2014-08-16 17:34:09 +00:00
Kp
c85819ac94
Forbid d_free on non-POD
2014-08-16 04:18:58 +00:00
Kp
55063abade
Use static_assert to reject invalid vvalptridx_t constants
2014-08-13 22:10:20 +00:00
Kp
915b78b5e1
Add vvalptridx_t for always-valid valptridx values
2014-08-13 03:19:12 +00:00
Kp
125d9257be
Use special type names for segment/object numbers
2014-08-13 02:57:12 +00:00
Kp
bc721dbc8f
Remove unused g3_draw_rod_tmap return value
2014-08-12 02:58:46 +00:00
Kp
b5693e65e0
Remove serial detail class_type_indirection
2014-08-12 02:56:59 +00:00
Kp
903258f54b
Make valptridx constructors ready for constexpr
...
Wait on constexpr marking since array in <gcc-4.8 is not constexpr.
2014-08-09 17:38:45 +00:00
Kp
d13e0c9840
Add compile time check to partial_range
2014-08-09 04:14:59 +00:00
Kp
104333391f
Print more information from partial_range_error_t
2014-08-09 03:59:49 +00:00
Kp
9308162c80
Make alloc_vert/free_vert static
2014-08-08 03:02:24 +00:00
Kp
62c656c00c
Pass quadint to quad_sqrt
2014-08-08 02:53:57 +00:00
Kp
279d39a2d7
Inline fixdivquadlong
2014-08-08 02:53:26 +00:00
Kp
52527e48ee
Optimize out unused g3_set_special_render arguments
2014-08-08 02:52:35 +00:00
Kp
b276590998
Change gr_fade_table to array<array<>>
2014-08-08 02:50:27 +00:00
Kp
f47aa29cd9
Use color_t for color values
2014-08-08 02:07:47 +00:00
Kp
1560dd43e1
Use unique_ptr for font->ft_bitmaps
2014-08-07 03:09:28 +00:00
Kp
fd6a7c218e
Use unique_ptr for font->ft_chars
2014-08-07 03:05:48 +00:00
Kp
4acbb40ad7
Use enum for window event result
2014-08-07 02:47:48 +00:00
Kp
5c5eb1f1f7
Let WINDOW_SEND_EVENT return a value
2014-08-05 02:34:06 +00:00
Kp
ee32a200ea
Change window_create<void> to be non-template
2014-08-05 02:33:40 +00:00
Kp
efb8c495f6
Use unique_ptr for hmp_track data
2014-08-05 02:31:03 +00:00
Kp
81cb86f2e3
Use unique_ptr for hmp_file
2014-08-05 02:29:43 +00:00
Kp
d9f6e944c9
Use template aliases when available
2014-08-03 03:08:15 +00:00
Kp
d667772b21
Move valptridx operator- into DEFINE_VALPTRIDX_SUBTYPE
2014-08-02 00:46:56 +00:00
Kp
b29f2ef7bd
Replace hashtable with std::map
2014-08-02 00:46:56 +00:00
Kp
9c6cc3b3c9
Allow constructing valptridx_t(index_type) from ~0
2014-08-01 03:34:08 +00:00
Kp
f1713f2fec
Rewrite DXX_PHYSFS_CHECK_* to avoid if
2014-08-01 03:34:08 +00:00
Kp
0fc376d92a
Simplify DXX_VALPTRIDX_STATIC_CHECK
2014-08-01 03:34:08 +00:00
Kp
51fdeea84b
Use unique_ptr for model_data
2014-07-26 04:01:35 +00:00
Kp
ebb1b70350
Fix polymodel writing on x64
...
Packed writing a structure containing a pointer, but reading it as an
int, is wrong on x64.
2014-07-26 04:01:35 +00:00
Kp
ba05b20c3c
Forbid MALLOC of non-POD types
2014-07-25 01:47:21 +00:00
Kp
9778c1a151
Use unique_ptr to manage sub bitmaps
2014-07-22 23:48:24 +00:00
Kp
323e796cd0
Use unique_ptr to manage grs_bitmap
2014-07-22 23:48:24 +00:00
Kp
c1d184240d
Use unique_ptr to manage fonts
2014-07-22 23:48:23 +00:00
Kp
bd1c6d8c5d
Reduce header includes of physfsx.h
2014-07-22 23:48:23 +00:00
Kp
b4a778ed9d
Use DXX_ALWAYS_ERROR_FUNCTION for printf check
...
Enable printf check without relying on embedded compound statements.
2014-07-19 21:15:01 +00:00
Kp
eec1cfdc34
Add <cstdint> to gr.h for old compilers
2014-07-19 18:01:15 +00:00
Kp
3a35179e50
List initialize avg_color_rgb
2014-07-19 03:09:58 +00:00
Kp
a4f7f607db
List initialize input to vm_vec_zero
2014-07-19 03:09:26 +00:00
Kp
d3d457cf19
Pass array<> to gr_list_modes to preserve size information
2014-07-17 03:29:57 +00:00
Kp
07036e7962
Use consistent static on process_buffer(message)
2014-07-16 03:21:04 +00:00
Kp
cf75bb6699
Define away printf %s check if __builtin_constant_p not available
2014-07-16 03:14:57 +00:00
Kp
5f9b981380
Move cstring_tie.p init to member initialization
2014-07-16 03:14:51 +00:00
Kp
9f685a0d0a
List initialize unicode_frame_buffer
2014-07-16 03:14:04 +00:00
Kp
dc87c78fd2
Mark grs_bitmap as prohibit_void_ptr
2014-07-16 03:14:04 +00:00
Kp
b97ff9d496
Simplify cstring_tie
2014-07-14 02:27:11 +00:00
Kp
166253f4c2
Compact grs_canvas
2014-07-14 02:17:40 +00:00
Kp
2a8e0a78c6
Use partial_range with RBAudio
2014-07-14 02:17:40 +00:00
Kp
afeaa09e9a
Replace vm_copy_transpose_matrix with vm_transposed_matrix
...
Also, delete obsolete broken inlining support.
2014-07-14 02:17:40 +00:00
Kp
4c7249a016
Return vms_matrix from vm_matrix_x_matrix
2014-07-14 02:17:40 +00:00
Kp
03574d0f5e
Change vm_vec_* macros to inline functions
2014-07-13 03:43:32 +00:00
Kp
082bb43ede
Fold valptridx_t features into template
2014-07-13 03:43:32 +00:00
Kp
d94139c79d
Remove redundant partial_range iterator specification
2014-07-06 03:34:43 +00:00
Kp
229dbe1b47
Add runtime exception reporting to valptridx
2014-07-05 22:00:08 +00:00
Kp
689c2496d0
Unify IFF palette handling
2014-07-05 03:48:57 +00:00
Matt Vandermeulen
28f307eb85
Fixes #5 - Byteswap header renamed to byteutil, plus sed magic
...
[Kp: switch to #pragma for byteutil.h]
2014-07-03 02:03:08 +00:00
Kp
7a1b103ed1
Reduce template recursion in serializer
2014-07-02 03:08:44 +00:00
Kp
6222b58bbc
Move uvl_list into g3_draw_rod_tmap
2014-07-01 03:10:56 +00:00
Kp
b6033c49f2
Use unsigned transparent bitmap bounds
2014-07-01 01:34:16 +00:00
Kp
3abc33d6cc
Optimize gr_rle_decode
2014-06-30 23:56:51 +00:00
Kp
8958a0dfbe
Remove unnecessary typename usage
2014-06-30 03:25:47 +00:00
Kp
d35b021ac6
Fix misspelled C++ guard in loadgl.h
2014-06-28 03:57:57 +00:00
Kp
90300d54d9
Precompute fix_recip table
2014-06-23 04:46:07 +00:00
Kp
7836562a24
Switch serial pad constants to static const
2014-06-22 22:12:17 +00:00
Kp
77ba463614
Compile out unneeded pad initialization
2014-06-22 22:04:23 +00:00
Kp
b3c953375c
Read lines in blocks
2014-06-22 21:56:03 +00:00
Kp
ad3e540b62
Simplify lengthof header
2014-06-22 21:05:08 +00:00
Kp
599520fabb
Add operator bool to exact_type<T>
2014-06-22 21:03:23 +00:00
Kp
794572b771
Enable using count_array_t<T,S> with prohibit_void_ptr<T>
2014-06-22 19:06:52 +00:00
Kp
dc42dad15a
Check that types passed to PHYSFS_read are POD
...
More is needed to trap some misuses, but those traps flag existing code.
2014-06-22 18:52:00 +00:00
Kp
e6a691c5c7
Check that types passed to PHYSFS_write are POD
...
More is needed to trap some misuses, but those traps flag existing code.
2014-06-22 03:54:35 +00:00
Kp
f6631ce742
Unpack various structures
...
Prohibit conversion to void* to avoid accidental use with memcpy
2014-06-21 23:56:27 +00:00
Kp
57a3541424
Fix serial::pad for gcc 4.5
2014-06-21 23:21:30 +00:00
Kp
c016ace90b
Fix partial_range.h for gcc 4.5
2014-06-21 23:21:03 +00:00
Kp
2e95d8c0a8
Use array<> for Walls
2014-06-20 02:59:53 +00:00
Kp
d3ecca360c
Read matcen_info structures carefully
2014-06-20 02:59:53 +00:00
Kp
cb498b3b38
Make padding value customizable
2014-06-20 02:59:53 +00:00
Kp
958f452d2e
Improve UDT static_assert messages
2014-06-15 22:19:26 +00:00
Kp
488e46b562
Return reasonable type from deleted partial_range
...
Avoid secondary errors related to binding void as a range.
2014-06-14 01:15:33 +00:00
Kp
b5701bf202
Add __attribute__((warn_unused_result)) to partial_range
2014-06-08 00:05:33 +00:00
Kp
5c14cf870f
Add optional offset to partial_range
2014-06-08 00:05:33 +00:00
Kp
0257b9ca1c
Disallow using signed offsets with partial_range
2014-06-08 00:05:32 +00:00
zico
ad7cb106bc
Changed custom D1X license to GPLv3
2014-06-01 19:55:23 +02:00
Kp
9b0fb5da0a
Write eclip structures carefully
2014-02-01 18:55:18 +00:00
Kp
917ef39258
Use array<> for Vclip
2014-01-23 03:48:25 +00:00