Kp
8358dfcd0b
Support biased pointers to help memory debuggers
2015-06-13 22:42:15 +00:00
Kp
d5b5846657
Fix serial *_type -fno-inline build
2015-06-11 03:06:58 +00:00
Kp
5124c510f8
Fix serial endian_access -fno-inline build
2015-06-11 03:06:58 +00:00
Kp
64ee9e0047
Improve memdebug d_strdup trace
2015-06-11 03:06:58 +00:00
Kp
7c436f1fbb
Merge pull #39 into unification/master
...
Requested-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/39 >
Acked-by: Matt1360 <https://github.com/dxx-rebirth/dxx-rebirth/pull/39#issuecomment-88712761 >
Acked-by: zico <https://github.com/dxx-rebirth/dxx-rebirth/pull/39#issuecomment-88907523 >
2015-06-07 16:21:37 +00:00
Kp
3718678576
Reduce cvar.h includes
2015-06-07 16:20:46 +00:00
Kp
f7de7d132a
Add initial support for minimum_size
2015-06-05 02:34:40 +00:00
Kp
a8bb0ad07d
Use integral_constant for serial constants
2015-06-05 02:34:40 +00:00
Kp
39b705b352
Use integral_constant for grant masks
2015-06-05 02:34:40 +00:00
Kp
a918692a23
Preprocess out EDITOR-only vm_vec_ang_2_matrix
...
Remove vm_vec_ang_2_matrix from non-EDITOR builds so that
sincos_2_matrix has only one caller, allowing compiler to implicitly
inline it.
2015-06-02 03:03:32 +00:00
Kp
0141e9ed78
Remove redundant fix_sincos calls
...
The result is immediately overwritten. Skip computing it.
2015-06-02 03:03:32 +00:00
Kp
babfa9d8e7
Construct d_event_mousebutton
2015-05-28 03:08:39 +00:00
Kp
692038f284
Cache modifier keys
2015-05-28 03:08:38 +00:00
Kp
25186ca984
Remove write-only keyd_last_released
2015-05-28 03:08:38 +00:00
Kp
badad2ef33
Remove write-only keyd_last_pressed
2015-05-28 03:08:38 +00:00
Kp
abfd8e4d83
Split mouse_toggle_cursor
2015-05-28 03:08:38 +00:00
Kp
73300a285d
Merge "change u_int*_t to C99 standard uint*_t"
...
Requested-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/67 >
Acked-by: Matt1360 <https://github.com/dxx-rebirth/dxx-rebirth/pull/67#issuecomment-104806115 >
2015-05-23 17:36:29 +00:00
Kp
63cea8bb23
Fix gcc-4.6 ui build
...
gcc-4.6 chokes on `static constexpr type value{};`, but accepts
`static constexpr auto value = type{};`
Fixes: 95e3ac1e5b
("Use integral_constant for UI kind")
2015-05-22 03:33:19 +00:00
Kp
0fc7b1898c
Fix gcc-4.6 serial build
...
gcc-4.6 chokes on `static constexpr type value{};`, but accepts
`static constexpr auto value = type{};`
Fixes: 9595aec2fb
("Use integral_constant for endian constants")
2015-05-22 03:33:19 +00:00
Kp
cc2a5e9790
Use gr_free_bitmap_data for Orb_icons
2015-05-22 03:33:19 +00:00
Bradley Bell
bdacd2f7d7
change u_int*_t to C99 standard uint*_t
2015-05-18 17:12:53 -07:00
Kp
265ad59e9c
Remove set_default_handler
...
standard_handler is the only handler. Use it directly.
2015-05-14 02:23:13 +00:00
Kp
e50b0d479e
Inline event_mouse_get_delta
2015-05-14 02:23:13 +00:00
Kp
2a8b79f868
Inline event_mouse_get_button
2015-05-14 02:23:13 +00:00
Kp
0ece005dfa
Use screen_mode for screen resolution
2015-05-14 02:23:13 +00:00
Kp
2d9af1e348
Propagate gr_init argument
2015-05-14 02:23:13 +00:00
Kp
38e8967fba
Split event_toggle_focus
2015-05-09 17:39:03 +00:00
Kp
f248006df5
Remove unused mouse_get_btns
2015-05-09 17:39:03 +00:00
Kp
044ef0773a
Shorten partial_range error reporting
2015-05-09 17:39:02 +00:00
Kp
f92e890f50
Improve valptridx exception reporting
2015-05-09 17:39:02 +00:00
Kp
29f239d6b1
Raise PHYSFSX_exists bool check to caller
...
All callers use a constant value, so raise the check into the caller to
let the optimizer delete the unnecessary branch.
2015-05-09 17:39:02 +00:00
Kp
371838c74e
Use unique_ptr to manage GLsync fence
2015-05-09 17:39:01 +00:00
Kp
2e2c17669c
Shorten timer_delay
2015-05-09 17:39:01 +00:00
Kp
b1992b5e59
Shorten timer_delay2
2015-05-09 17:39:01 +00:00
Kp
6dccb811b7
Pass unsigned x/y to gr_pixel
2015-05-09 17:39:00 +00:00
Kp
cf87ebe54d
Remove write-only grs_bitmap::bm_handle
2015-05-09 17:38:59 +00:00
Kp
b124b3d75f
Shorten Hline/Vline
2015-05-09 17:38:59 +00:00
Kp
ae8ee3651a
Enable vcvalptr(P*)
2015-05-09 17:38:58 +00:00
Kp
bdee338e34
Preserve array size for ui_get_filename
2015-05-09 17:38:58 +00:00
Kp
36ce989db6
Refactor get_next_segment
2015-05-09 17:38:58 +00:00
Kp
fc4b686d9d
Store PHYSFS_list element count in list when needed
2015-05-09 17:38:57 +00:00
Kp
9dc22b1ee6
Expand DXX_CXX11_EXPLICIT_DELETE
...
Various functions use the non-macro form, so support for =delete is
already mandatory. Remove the remnants of support for compilers which
lack =delete and replace it with a hard stop when the compiler rejects
declaring explicitly deleted functions.
2015-05-01 02:18:33 +00:00
Kp
6431b9d821
Include <cstdint> for maths.h
2015-04-30 03:32:26 +00:00
Kp
a5b83d19de
Simplify fix_sin/fix_cos calls
2015-04-29 03:35:09 +00:00
Kp
e30e0ebb94
Shorten vm_vec_copy_scale
2015-04-29 03:35:09 +00:00
Kp
67e5e8c6c1
Remove unused gr_make_blend_table
2015-04-26 20:15:57 +00:00
Kp
ace2235ad8
Remove unused gr_make_cthru_table
2015-04-26 20:15:57 +00:00
Kp
6792c1bc4b
Enable -Wunused-parameter
2015-04-26 20:15:56 +00:00
Kp
c3925353fd
Use null_sentinel_iterator for PHYSFS_list_t
2015-04-26 20:15:51 +00:00
Kp
44adc83ca4
Use std::remove_if in file_get*list
2015-04-26 20:15:50 +00:00
Kp
5d0a640449
Always inline PHYSFS check functions
...
The checking is done at compile time, so force them inline to ensure
the optimizer recognizes constants.
2015-04-26 20:15:50 +00:00
Bradley Bell
a63ec5bd7c
Merge branch 'unification/master' into command-line
2015-04-25 12:27:16 -07:00
Kp
23364a5862
Remove warn_unused_result from vm_vec_normalize
...
Some callers want the side effect of normalizing the argument and do not
need the magnitude. Per report from btb, the warning broke the OS X
build.
Reported-by: btb <5e4bd5c73f (commitcomment-10899878)
>
Fixes: 5e4bd5c73f
("vm_vec_delta_ang: check for vm_vec_copy_normalize failure")
2015-04-25 16:56:25 +00:00
Bradley Bell
844aad2639
Merge branch 'unification/master' into command-line
2015-04-24 20:54:35 -07:00
Kp
6e9638531a
Mark get_previous_segment static
2015-04-22 02:44:31 +00:00
Kp
9595aec2fb
Use integral_constant for endian constants
2015-04-19 04:18:50 +00:00
Kp
5c73a98827
Remove !__cplusplus directives
2015-04-19 04:18:50 +00:00
Kp
84c638ed64
Move PHYSFS_list_t to separate header
2015-04-19 04:18:49 +00:00
Kp
150e2d2686
Convert local arrays to array<>
2015-04-19 04:18:49 +00:00
Kp
534fe7a160
Refactor valptr range checks
2015-04-18 01:21:54 +00:00
derhass
e00b318bee
Fix the INTEL_*() byte swapping functions
...
This fixes a regression from 6e96ff3e00
where WORDS_BIGENDIAN somehow was confused with WORDS_NEED_ALIGNMENT,
so that setting WORDS_NEED_ALIGNMENT resulted in assuming a big endian
machine. This completely broke the RPi build, which is little endian.
Fixes: 6e96ff3e00
("Fix ambiguous use of INTEL_SHORT/INTEL_INT")
[Kp: added Fixes tag.]
2015-04-05 16:08:52 +00:00
Kp
5e4bd5c73f
vm_vec_delta_ang: check for vm_vec_copy_normalize failure
...
derhass reports that Raspbian g++-4.8.2 rejects vecmat.cpp for
-Wmaybe-uninitialized on t0, t1. Fix it by adding code to return 0 if
vm_vec_copy_normalize leaves the temporary uninitialized.
Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/55 >
2015-04-03 02:46:25 +00:00
Kp
36e1612ecb
Make undo_status array<const char *>
2015-04-02 02:36:56 +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
916cf69e37
Remove unused gr_uline 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
95e3ac1e5b
Use integral_constant for UI kind
2015-04-02 02:36:54 +00:00
Kp
f88eaf43ac
Make UI_GADGET_LISTBOX char* const
2015-04-02 02:36:54 +00:00
Kp
9f04c0c3d8
Make OGL_ENABLE safe for single statement blocks
2015-04-02 02:36:54 +00:00
Kp
90fbebf8fd
Convert most global arrays to array<>
2015-04-02 02:36:52 +00:00
Kp
66a70fd373
Prepare for global arrays to be array<>
2015-04-02 02:36:52 +00:00
Kp
6e96ff3e00
Fix ambiguous use of INTEL_SHORT/INTEL_INT
2015-04-02 02:36:52 +00:00
Kp
92b6cd3883
Replace ui_create_dialog specialization with helper
...
Rename ui_create_dialog<void *> specialization with free function
untyped_ui_create_dialog. GCC 4.6 incorrectly considers a
specialization to be a redundant declaration, causing a
-Wredundant-decls failure with the specialization form.
Fixes: be041a9cfc
("Add type checking for ui_create_dialog")
2015-04-02 02:36:52 +00:00
Kp
0b20dea0ad
Remove unused jukebox functions
2015-03-28 17:18:02 +00:00
Kp
c4bcbb0403
Add workaround for gcc 4.6 constructor brace initialization
...
Reported-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/54#issuecomment-86252358 >
2015-03-27 02:50:23 +00:00
Kp
7045b44386
Move operator*(vm_distance,vm_distance) into class scope
...
clang -Wunused-function warns about a 'static constexpr' function
defined in a header if the header is ever included in a file which does
not call the function. Move the function into class scope to silence
the warning and prevent the compiler from considering it when resolving
operator*(T1,T2).
Reported-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/54#issuecomment-86252750 >
2015-03-26 02:42:26 +00:00
Kp
ff83ba95b6
Remove unused ogl_extensions_init return value
2015-03-25 01:59:21 +00:00
derhass
639b569496
Merge branch 'unification/master' into unification/syncgl_v2
...
Conflicts:
similar/arch/ogl/gr.cpp
similar/misc/args.cpp
2015-03-23 20:18:17 +01:00
derhass
6d41224638
move GL synchronization code into its own class
2015-03-22 21:19:06 +01:00
derhass
db267af6f2
add basic OpenGL extension handling
...
Currently only used for fence sync objects.
2015-03-22 20:32:14 +01:00
Kp
d04e7902ee
Make file_get*list static
2015-03-22 18:49:21 +00:00
Kp
2b44a352ca
Remove redundant sc_mode
...
sc_mode is a packed copy of sc_w/sc_h. Switch to an accessor that uses
the copy.
2015-03-22 18:49:21 +00:00
Kp
fca381727c
Add wrappers for screen width/height
2015-03-22 18:49:21 +00:00
Kp
8daa014d53
Remove unused gr_check_mode
2015-03-22 18:49:21 +00:00
Kp
f098471e54
Make sdl_video_flags static
2015-03-22 18:49:21 +00:00
Kp
08c0c3768c
Remove unused gr_set_draw_buffer
2015-03-22 18:49:21 +00:00
Kp
7bf49fe551
Fix clang -Wmissing-braces warnings
2015-03-22 18:49:21 +00:00
Kp
9ddea5f570
Reduce lifetime of Args
2015-03-22 18:49:20 +00:00
derhass
2cd73b6dfe
Import the syncgl patch based on 0.58.1 into unification code base
...
I also changed the command line arguments a bit, gl_syncmethod and
gl_sycnwait are used now. Furthermore, I added the ew mode AUTO. This is
a conservative mode and the default for now: if GL_ARB_sync is available,
use the FENCE_SLEEP mode, otherwise, disable it completely.
Conflicts:
include/args.h
misc/args.c
similar/arch/ogl/gr.cpp
2015-03-22 18:17:11 +01:00
Kp
3a37b41192
Fix startup trap with D1 shareware data
...
D1 shareware models handle textures in a way that requires starting
highest_texture_num at -1.
Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/46 >
Fixes: 68be3baeca
("Track highest_texture_num locally")
2015-03-20 03:30:20 +00:00
Kp
69af920e09
Fix Win64 startup crash
...
Fixes: 5bafa16e7f
("Fix level load hang on >=mingw32-gcc-4.7")
2015-03-19 02:31:22 +00:00
Kp
76d383261c
Return vm_distance_squared from check_vector_to_sphere_1
2015-03-12 02:21:20 +00:00
Kp
2c09f9fa90
Propagate special types for distance/magnitude
2015-03-12 02:21:19 +00:00
Kp
f7d0c853ba
Use special types for distance/magnitude
2015-03-12 02:21:19 +00:00
Kp
9f6cbbe0e0
Move Vertex_list to local scope
2015-03-11 02:19:15 +00:00
Kp
81eae187e5
Pass selection for EVENT_NEWMENU_CHANGED
2015-02-28 22:34:07 +00:00
Kp
cc508be34c
Pass selection for EVENT_NEWMENU_SELECTED
2015-02-28 22:34:07 +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
77ec36b9c3
Convert g3_draw_morphing_model to class
2015-02-28 22:34:05 +00:00
Kp
c080f65e81
Convert g3_draw_polygon_model to class
2015-02-28 22:34:05 +00:00
Kp
0ec4a876c5
Convert g3_poly_get_color to class
2015-02-28 22:34:05 +00:00
Kp
07869d9dba
Add automatic demo recording
...
Various users want automatic demo recording. Add new command line options:
-auto-record-demo start recording on level entry
-record-demo-format set demo name automatically
For -record-demo-format, specify a template containing any mix of strftime
insertions, variable insertions, and literal text. As a special case, specify
"." to use the builtin template "%Y%m%d.%H%M%S-$p-$m". Most users should use
".". Supported variables:
$p name of pilot recording the demo
$m name of msn/mn2 file played
Suggested by jeffersoncarpenter in https://github.com/dxx-rebirth/dxx-rebirth/pull/33 , but implemented by vLKp.
2015-02-28 19:36:02 +00:00
Kp
ab942b0977
Refactor check_partial_range size lookup
2015-02-28 19:36:00 +00:00
Kp
c3b09da175
Simplify assign_light_to_side
2015-02-27 03:30:33 +00:00
Bradley Bell
df3ce9953f
Merge branch 'unification/master' into command-line
2015-02-22 19:25:04 -08:00
Kp
2fa2e17a82
Make chunk.old_base const
2015-02-22 01:29:43 +00:00
Kp
110a28e137
Use 'class' for partial_range_t declaration
...
clang -Wmismatched-tags complains for:
struct X;
class X { ... };
Reported by btb: 68e2168377 (commitcomment-9814108)
2015-02-20 03:00:46 +00:00
Kp
9b48b43b16
Remove __attribute_warn_unused_result on gr_rle_decode
...
Per btb, callers currently ignore the result, causing warnings on OS X
clang, but not on gcc. Remove __attribute_warn_unused_result for now.
2015-02-19 03:20:53 +00:00
Kp
f900d4a5ee
Remove RAIIdmem::operator pointer
...
Mac OS X defines uint_fast32_t to unsigned int, causing ambiguous
overloads between RAIIdmem::operator[](std::size_t) and
RAIIdmem::operator[](int). Adding a disambiguating overload for OS X
breaks Windows. Remove operator pointer and operator[]. Rely on the
inherited operator[] for indexing. Require users to call ->get() to
convert to a simple pointer.
First btb ambiguity reported: https://github.com/dxx-rebirth/dxx-rebirth/pull/34
Second btb ambiguity reported: https://github.com/dxx-rebirth/dxx-rebirth/pull/43
2015-02-17 03:52:59 +00:00
Kp
0f74a66063
Use uint_fast32_t for gr_box
2015-02-14 22:48:30 +00:00
Kp
68e2168377
Use array<> for bitmap_index arrays
2015-02-14 22:48:30 +00:00
Kp
f17458d353
Explicitly delete valptridx inequality operators
2015-02-14 22:48:30 +00:00
Kp
bbb9a23697
Convert {GET,PUT}_INTEL_{SHORT,INT} to C++ casts
2015-02-14 22:48:29 +00:00
Kp
8a64ea3b0e
Use array<> for Vertex_active
2015-02-14 22:48:28 +00:00
Kp
d1f45f85b2
Wrap submodel angles
2015-02-14 22:48:28 +00:00
Kp
03576a28c2
Pass PHYSFSX_* file extensions as counted array
2015-02-14 22:48:28 +00:00
Kp
2088dcc0f3
Add compile-time check for trailing con_printf newline
2015-02-13 03:27:28 +00:00
Bradley Bell
bbb32d0175
added cmd and cvar modules from d2x
2015-02-10 23:35:44 -08:00
Kp
91cc111295
Provide SndDisableSdlMixer=true if !USE_SDLMIXER
...
Accept -nosdlmixer as a no-op in !USE_SDLMIXER builds.
2015-02-08 17:43:29 +00:00
Kp
673a711461
Remove vm_angles_2_matrix return value
2015-02-05 03:03:51 +00:00
Kp
8d3f047427
Make udt_to_message __attribute__((unused))
...
Clang warns for unused static inline functions defined in a source file,
including those defined in a macro in a header, when the macro is
expanded in the source file.
2015-02-05 03:03:50 +00:00
Kp
2daaacaa26
Move robot_points onto stack
2015-02-05 03:03:50 +00:00
Kp
1c58627aa3
Remove unused cos from fix_fastsincos
2015-02-05 03:03:50 +00:00
Kp
4f11c2516f
Add convenience methods fix_sin, fix_cos
2015-02-05 03:03:50 +00:00
Kp
4c8f3a47b5
Convert frequently used casts to C++ casts
2015-02-05 03:03:49 +00:00
Kp
ae0a00a893
Return timer_query() from timer_update()
...
Most timer_update sites immediately query the timer, so return it to
save them the call.
2015-02-05 03:03:48 +00:00
Kp
a8784bc486
Fold fixmul calls to fixmul64
2015-02-05 03:03:48 +00:00
Kp
d1f5695562
Remove unused return value of vm_vec_scale_add
2015-02-03 00:37:08 +00:00
Kp
2026ab7e3a
Remove unused return value of vm_extract_angles_vector
2015-02-03 00:37:08 +00:00
Kp
656c51fa99
Remove unused return value of vm_vec_rotate
2015-02-03 00:37:08 +00:00
Kp
cda693680a
Remove unused return value of g3_rotate_delta_vec
2015-02-03 00:37:08 +00:00
Kp
505a3dbae7
Remove unused return value of vm_vector_2_matrix
2015-02-03 00:37:07 +00:00
Kp
c6f95c5880
Remove unused return value of vm_vec_normal
2015-02-03 00:37:07 +00:00
Kp
52267b87b9
Remove unused return value of vm_vec_cross
2015-02-03 00:37:07 +00:00
Kp
aa75eb212c
Remove unused return value of vm_vec_perp
2015-02-03 00:37:07 +00:00
Kp
055f9593de
Remove unused return value of vm_vec_scale2
2015-02-03 00:37:07 +00:00
Kp
cca8fd65a1
Remove unused return value of vm_vec_scale_add2
2015-02-03 00:37:07 +00:00
Kp
e0bf0be779
Remove unused return value of vm_vec_add2
2015-02-03 00:37:07 +00:00
Kp
e14440b0e0
Remove unused return value of vm_vec_sub2
2015-02-03 00:37:07 +00:00
Kp
cd7e99981b
Remove unused return value of vm_vec_avg
2015-02-03 00:37:07 +00:00
Kp
98afca20a9
Split and simplify partial_range check
...
Rely on T.size() instead of distance(T.begin(), T.end()) to get the
container size. Add a special case for C-style arrays with known size.
In some cases, gcc-4.9 fails to optimize distance(...) on an array<T, N>
of unknown base address, leading to a bogus compile failure. Switching
the object to have a known address prevents the problem, but requires
changing the calling code. Switch to using T.size(), which gcc seems to
get right.
2015-02-01 23:07:18 +00:00
Kp
1985f7f295
Pass rle_swap_0_255 arg by &
2015-01-29 04:27:37 +00:00
Kp
27aeb6764d
Pass rle_remap arg by &
2015-01-29 04:27:37 +00:00
Kp
912253ab00
Pass gr_bitmap_rle_compress arg by &
2015-01-29 04:27:37 +00:00
Kp
93589368c9
Move PHYSFSX_putc to the one file that uses it
2015-01-29 04:27:36 +00:00
Kp
f4517dc0bd
Reduce inclusion of segment.h
2015-01-29 04:27:36 +00:00