Kp
5f29170702
Move valptridx error reporting out of main header
2015-10-13 02:43:25 +00:00
Kp
9bd5c492aa
Move valptridx size call out of line
2015-10-13 02:43:24 +00:00
Kp
a0919bf345
Add support for -add-missions-dir
2015-10-11 22:21:00 +00:00
Kp
a37bae4b4f
Track output size for PHYSFSX_getRealPath
2015-10-11 22:21:00 +00:00
Kp
3ceefb4189
Pass filename to Error
2015-10-11 22:21:00 +00:00
Kp
ad8b4230df
Move fwdsegment.h -> fwd-segment.h for consistency
2015-10-10 03:44:14 +00:00
Kp
1d99084026
Use UserError when main hog is missing
...
Error traps to the debugger and then aborts, which is not appropriate
for a user setup error.
2015-10-09 02:46:11 +00:00
Kp
dd0f5cb83f
Move fwdvalptridx.h -> fwd-valptridx.h for consistency
2015-10-09 02:46:11 +00:00
Kp
743f2df80f
Add fwd-window.h with forward declarations of window.h
2015-10-09 02:46:10 +00:00
Kp
78de0ac119
Add fwd-event.h with forward declarations of event.h
2015-10-09 02:46:10 +00:00
Kp
e8a4a25639
Use template alias for window_subfunction_t
2015-10-09 02:46:10 +00:00
Kp
cb5c0186b3
Remove obsolete PHYSFSX_check_read/PHYSFSX_check_write overloads
2015-10-09 02:46:10 +00:00
Kp
bca143d87d
Only include ogl_init.h in OpenGL builds
2015-10-09 02:46:10 +00:00
Kp
29f79f0a6b
Enable -notitles for Descent 2
2015-10-09 02:46:09 +00:00
Kp
50f672ba34
Reuse computed string length
2015-09-29 02:41:22 +00:00
Kp
76b94de1de
Add commented out hook for warning on valptridx exceptions
2015-09-26 21:17:12 +00:00
Kp
da4d1e0670
Remove bool SysNoHogDir on non-unix
2015-09-22 02:28:38 +00:00
Kp
37aac31d0c
Switch i2f/f2i to inline functions
2015-09-19 23:04:36 +00:00
Kp
fcab519693
Remove extern for vms_vector_swap
...
It is only used in the interpreter.
2015-09-19 23:04:36 +00:00
Kp
b626ca67e7
Combine game-specific preprocessor blocks
...
Change:
#ifdef D1
x;
#endif
...
#ifdef D1
y;
#endif
to:
#ifdef D1
x;
y;
#endif
...
2015-09-19 23:04:35 +00:00
Kp
69e3762933
Return joystick axis values by reference
2015-09-19 23:04:34 +00:00
Kp
2f927c68f9
Improve support for using exact_type with valptridx
2015-09-15 02:48:04 +00:00
Kp
4df9a4b0f0
Use declval for serial class_type
2015-09-13 21:02:19 +00:00
Kp
888cfddabd
Combine gauges left/right window boxes
2015-09-13 21:02:19 +00:00
Kp
c4a8432081
Remove WORDS_NEED_ALIGNMENT memcpy src cast to const uint8_t*
...
The cast provokes a warning on systems that require alignment, so remove
it. memcpy takes const void* input, so the cast is unnecessary.
Reported-by: MattWatt <https://github.com/dxx-rebirth/dxx-rebirth/issues/119 >
2015-09-13 21:02:19 +00:00
Kp
fb5ae4e0bc
Fix various header freestanding issues
2015-09-09 03:27:52 +00:00
Kp
9ca2bc20c6
Use DXX_CONSTANT_TRUE for valptridx static checks
2015-08-22 20:43:04 +00:00
Kp
9ed4754009
Remove typedef valptridx<T>::array_managed_type managed_type##_array_t
2015-08-22 20:43:04 +00:00
Kp
2833e81ab4
Disallow copying vptr factories
2015-08-22 20:43:04 +00:00
Kp
e6fab164ae
Remove valptridx internal use of operator-(ptr,array)
2015-08-22 20:43:04 +00:00
Kp
2155c417cb
Move array_managed_type into valptridx<T>
2015-08-22 20:43:04 +00:00
Kp
f8008ca34f
Only define object_array_t::object_array_t if VALGRIND
2015-08-22 20:43:04 +00:00
Kp
946048c54b
Move valptridx subtypes to individual fwd headers
2015-08-22 20:43:04 +00:00
Kp
a126f72bef
Remove array for basic_ptr(basic_ptr<rpolicy>,array)
2015-08-22 20:43:04 +00:00
Kp
fcfd3d7e54
Cast valptridx size_t to unsigned long for Windows
...
Windows has `typedef unsigned size_t`, so %lu triggers a format warning
for Windows targets.
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/116 >
2015-08-19 02:42:49 +00:00
Kp
be3ab3bd81
Use range_for in PHYSFSX_checkMatchingExtension
2015-08-14 03:02:04 +00:00
Kp
e5683593ef
Expand ZERO_VECTOR inline
2015-08-13 03:15:53 +00:00
Kp
4f871c43fe
Add compile-time check for non-overlapping vm_matrix_x_matrix
2015-08-13 03:15:52 +00:00
Kp
fa9f2e626d
Move DbgShowMemInfo to CArg
...
Members of Arg are not visible to common code, so common/mem/mem.cpp
broke during the -Wodr cleanup.
Reported-by: zicodxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/114 >
Fixes: 6bd93e466f
("Guard args.h for LTO -Wodr")
2015-08-11 03:05:55 +00:00
Kp
0a3de25d7a
Flatten valptridx ptr/idx further
...
Use a dummy template parameter to prevent slicing, instead of an extra
class in the inheritance chain. This improves the generated code
slightly.
2015-08-07 03:13:51 +00:00
Kp
3458454f7e
Flatten valptridx hierarchy
2015-08-06 02:57:59 +00:00
Kp
b3d1c6efaa
Use helper for valptridx array size checks
2015-08-06 02:57:58 +00:00
Kp
e3dbe7a07c
Add workaround for gcc-4.7 type inheritance quirk
...
In gcc-4.7, a type inherited via using is distinct from a type defined
by using.
$ cat t.cpp
template <typename>
class A
{
public:
typedef void a;
typedef void b;
};
template <typename T>
class B : protected A<T>
{
protected:
using typename A<T>::a;
using b = typename A<T>::b;
public:
static inline a f1();
static inline b f2();
};
template <typename T>
typename B<T>::a B<T>::f1() {} // fails for gcc-4.7, works in later
template <typename T>
typename B<T>::b B<T>::f2() {} // works in both
$ gcc-4.7 -Wall -Wextra -std=gnu++0x -O2 -c t.cpp
t.cpp:21:18: error: prototype for 'typename B<T>::a B<T>::f1()' does not match any in class 'B<T>'
t.cpp:16:18: error: candidate is: static typename A<T>::a B<T>::f1()
t.cpp:16:18: warning: inline function 'static typename A<T>::a B<T>::f1() [with T = int; typename A<T>::a = void]' used but never defined [enabled by default]
$ gcc-4.8 -Wall -Wextra -std=gnu++0x -O2 -c t.cpp
$
Fixes: 8b7c5c3e2b
("Rewrite valptridx")
2015-08-05 02:59:03 +00:00
Kp
c47b7e383f
Make template alias support mandatory
2015-08-03 03:11:25 +00:00
Kp
978cf91a96
Reduce partial_range error argument shuffling
2015-08-03 03:11:24 +00:00
Kp
eb5fcb34e6
Remove default argument for basic_ptr(reference,array)
2015-07-29 03:05:28 +00:00
Kp
e0e1b28c72
Remove default argument for basic_ptr(reference,index,array)
2015-07-29 03:05:28 +00:00
Kp
84bd64a14c
Remove default argument for basic_ptridx(magic,array)
2015-07-29 03:05:28 +00:00
Kp
ba38214bab
Remove default argument for basic_ptridx(pointer,index,array)
2015-07-29 03:05:28 +00:00
Kp
4d8ae44794
Add helper macro DXX_CONSTANT_TRUE
2015-07-29 03:05:28 +00:00
Kp
c9dff229f1
Remove dead AI fire leading code
2015-07-25 23:10:47 +00:00
Kp
822f8ad5c0
Use __builtin_object_size to check some unchecked ranges
2015-07-25 23:10:47 +00:00
Kp
2f847030ce
Combine partial_range_error reporting
...
Use iterator type instead of container type, so that T[1] and T[2] use
the same reporting function. This saves ~7k in an LTO build.
2015-07-25 23:10:47 +00:00
Kp
3f6a402bfd
Include bound in partial_range always_error function name
2015-07-25 23:10:47 +00:00
Kp
c942d28197
Use accessor for grs_bitmap::bm_type
2015-07-25 23:10:47 +00:00
Kp
b7838318b1
Fix valptridx for -fno-inline
2015-07-25 23:10:46 +00:00
Kp
9bfea35e4f
Use forward-declaration header for gr.h
2015-07-25 23:10:45 +00:00
Kp
15fb75c1c7
Fix check_header_includes build
2015-07-25 23:10:45 +00:00
Kp
cdb113a050
Diagnose including compiler-type_traits without dxxsconf.h
2015-07-25 23:10:45 +00:00
Kp
8594086b23
Move magic_constant definition into valptridx
2015-07-21 02:57:27 +00:00
Kp
6bd93e466f
Guard args.h for LTO -Wodr
2015-07-18 21:01:56 +00:00
Kp
4c200342dd
Use range_for for PHYSFS archive types
2015-07-18 21:01:55 +00:00
Kp
095e64fd5a
Support serializing enum class
2015-07-18 21:01:55 +00:00
Kp
1c5399427a
Work around clang name lookup bug #13983
...
clang searches scopes in the wrong order, causing strange failures when
an inner template has a parameter with the same name as a type in an
outer scope.
clang bug report: <https://llvm.org/bugs/show_bug.cgi?id=13983 >
2015-07-13 01:09:37 +00:00
Kp
6c94416a90
Pass array from ptridx factory
2015-07-13 01:09:37 +00:00
Kp
fa8dcc9113
Explicitly delete basic_ptridx(pointer_type); require array
...
Require the array argument for basic_ptridx, which is supplied
automatically when the factory is used.
2015-07-13 01:09:37 +00:00
Kp
1adb56f16b
Make draw_mine_all static
2015-07-13 01:09:36 +00:00
Kp
ff5bb37c5c
Combine basic_ptr_global_factory, basic_vptridx_global_factory
2015-07-13 01:09:36 +00:00
Kp
73fdd59225
Require exact type for valptridx factory
2015-07-13 01:09:36 +00:00
Kp
745de17c41
Use T::index_type for highest_valid
2015-07-13 01:09:36 +00:00
Kp
fdd2356eac
Use segptridx for Cursegp, Markedsegp
2015-07-12 01:04:18 +00:00
Kp
8b7c5c3e2b
Rewrite valptridx
...
Move decisions out to policy classes. Provide trivial copy
construction/assignment. Simplify checking for unsafe conversions.
2015-07-09 03:12:45 +00:00
Kp
658102a868
Improve static_assert test
...
Previously, SConstruct tested whether static_assert worked with trivial
constant expressions. Extend the test to more complicated expressions
like the ones used in the program.
Replace the typedef based approach with an inline enum to avoid warnings
about unused local typedefs.
Allow use with compilers that lack working static_assert or that cannot
accept complicated expressions. Add a non-checking definition that uses
the input parameter. This prevents warnings when types or constants are
used only for the static_assert.
2015-07-09 03:12:45 +00:00
Kp
4a742e3fc4
Parenthesize static_assert expression
...
When static_assert is a macro, it must have two arguments as seen by the
preprocessor. Add an identity mapping to the native case to enforce
this, and fix up all the sites that break with the new rule.
2015-07-09 03:12:45 +00:00
Kp
d73e5a24c3
Reduce scope of ifdef(D1||D2)
2015-07-04 21:01:17 +00:00
Kp
968cdbecf4
Add non-aborting UserError for user-caused fatal errors
2015-06-16 03:15:40 +00:00
Kp
ce72014e2e
Always parse WORDS_BIGENDIAN and !WORDS_BIGENDIAN
2015-06-13 22:42:21 +00:00
Kp
302e344979
Warn when UI_GADGET_* are immediately freed
2015-06-13 22:42:19 +00:00
Kp
9ecb8d8601
Use fwdvalptridx instead of inline forward declarations
2015-06-13 22:42:16 +00:00
Kp
286753d210
Fix valptridx operator& definition
2015-06-13 22:42:15 +00:00
Kp
fcaacaebde
Factor out valptridx test for *_none
2015-06-13 22:42:15 +00:00
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
Kp
6b767c3a03
Remove various #include "gr.h"
2015-01-29 04:27:36 +00:00
Kp
a2d32c2e6f
Remove 3d.h #include "gr.h"
2015-01-29 04:27:36 +00:00
Kp
f38aec1212
Remove string copying in GetKeyDescription
2015-01-29 04:27:35 +00:00
Kp
71ec47b32e
Refactor ui_pad_activate
2015-01-29 04:27:35 +00:00
Kp
9a36b82d5d
Disallow implicit pointer conversion from rvalue smart pointers
2015-01-29 00:58:53 +00:00
Kp
e25446a15a
Fix Windows build for RAIIdmem index conversion
2015-01-28 03:42:53 +00:00
Kp
ff4a0ccd70
Fix RAIIdmem array usage
...
Some RAIIdmem instances managed a T[], but were declared to manage a T.
2015-01-28 03:42:53 +00:00
Kp
3952c64ffc
Fix PHYSFSX_check_* for RAIIdmem<T[]>
2015-01-28 03:42:53 +00:00
Kp
d2f0bdc867
Exit cleanly on bad command line arguments
2015-01-28 03:42:53 +00:00
Kp
06142a6c80
Optimize gr_remap_bitmap_good integer handling
2015-01-25 05:32:45 +00:00
Kp
fa73ca8a17
Pass gr_remap_bitmap_good arg by &
2015-01-25 05:32:45 +00:00
Kp
31450e4843
Pass iff_read_bitmap arg by &
2015-01-25 05:32:44 +00:00
Kp
922a7b7dc9
Pass grs_main_bitmap to iff_read_animbrush
2015-01-25 05:32:44 +00:00
Kp
3ca442cb33
Use arg_port_number for -udp_hostport
2015-01-25 05:32:44 +00:00
Kp
6bc48b7876
Add option -no-tracker to suppress tracker for one run
2015-01-24 19:16:35 +00:00
Kp
fd309ee728
Fix size truncation in mem_malloc
2015-01-23 03:55:05 +00:00
Kp
18a64e4281
Use RAII for PHYSFS_enumerateFiles result
2015-01-23 03:55:05 +00:00
Kp
9c58fd23f4
Use RAIIdmem for jukebox_songs list_buf
2015-01-23 03:55:05 +00:00
Kp
d3e657222e
Use RAIIdmem for height_array
2015-01-23 03:55:04 +00:00