Kp
533f1cb3bb
Qualify references to primary weapons
2015-10-18 21:01:18 +00:00
Kp
7da64d3782
Add new autoselect-while-firing mode: "when firing stops"
...
Mako88 reports that some users want not to autoselect while firing, but
do not notice when a new weapon is added to the HUD, and end up never
activating a preferred weapon. Add a new autoselect mode that remembers
what would be selected and switches to it once the player ceases firing.
Changes since Mako88's proposed version:
- Use `enum class` for autoselection mode and a radio button to
represent the decision of Immediate/Never/Delayed.
- Handle delayed autoselect for vulcan ammo.
- Set Delayed_primary == Primary_weapon to indicate no change is needed,
rather than Delayed_primary==-1. This lets some paths use
Delayed_primary without checking for a magic value.
- Likewise Delayed_secondary / Secondary_weapon.
- Update Delayed_primary/Delayed_secondary when changing active
primary/secondary weapon, so that a player who changes weapons while
firing will automatically clear any deferred change.
Requested-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/97 >
Based-on-patch-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/pull/147 >
2015-10-18 18:11:57 +00:00
Kp
5f29170702
Move valptridx error reporting out of main header
2015-10-13 02:43:25 +00:00
Kp
b4556d13fa
Move UDP_netgame_info_lite into D1||D2
...
UDP_netgame_info_lite has a member that is only defined if D1||D2.
Guard the whole structure since it cannot be used in common code.
2015-10-13 02:43:24 +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
2196008178
Move fwdobject.h -> fwd-object.h for consistency
2015-10-10 03:44:14 +00:00
Kp
36c52f7437
Reduce pointer->int->pointer conversions for thief
2015-10-10 03:44:14 +00:00
Kp
a47c6e599d
Shrink menu_bit_wrapper_t when B is empty
2015-10-09 02:46:11 +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
ffd6c113ae
Move fwdwall.h -> fwd-wall.h for consistency
2015-10-09 02:46:10 +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
7034b68357
Manage world time automatically where possible
...
For all cases where world time nests, use automatic management. Some
sites disable time in one function and enable it elsewhere. These are
untouched.
2015-10-09 02:46:09 +00:00
Kp
820abdad41
Fix SDL build break in clipper.h
2015-10-09 02:46:09 +00:00
Kp
8dd1f7c2cf
Move texture_list_index into local scope
2015-10-09 02:46:09 +00:00
Kp
9da2a938d8
Make team_kills signed
...
Suicides can make kill counts negative.
2015-10-03 22:15:17 +00:00
Kp
9df40a86cb
Use uint8 for secondary ammo counts
...
Maximum non-cheating is 40 missiles, which fits in a signed 8 bit value.
Maximum cheating is 200 missiles, which fits in an unsigned 8 bit value.
2015-10-03 17:17:49 +00:00
Kp
e2c6e8449f
Factor out cloak/invul timer display
2015-10-03 17:17:49 +00:00
zico
708372a148
Included compiler-range_for.h into joy.cpp to fix compiler error of undefined range_for
2015-09-29 12:02:49 +02:00
Kp
9642a4c31d
Close SDL joystick handles at shutdown
2015-09-29 02:41:22 +00:00
Kp
e5dff6d63f
Use array<> for d_physical_joystick hat_map, button_map
2015-09-29 02:41:22 +00:00
Kp
46bbdd43af
Move Joystick.n_axes, Joystick.n_buttons into local scope
2015-09-29 02:41:22 +00:00
Kp
edccaa91f6
Check return of pick_connected_segment before use
2015-09-29 02:41:22 +00:00
Kp
50f672ba34
Reuse computed string length
2015-09-29 02:41:22 +00:00
Kp
d9cef82f81
Allow nullptr for gr_get_string_size
2015-09-29 02:41:22 +00:00
Kp
71ffbdf719
Replace fill(0) with ={}
2015-09-29 02:41:22 +00:00
zico
9292431396
Merge branch 'unification/master' of github.com:dxx-rebirth/dxx-rebirth into unification/master
2015-09-27 10:52:04 +02:00
zico
cbe0b4ec69
Added Cloak and Invulnerability Timers to Cockpit and Statusbar and made this feature optional (defaults to off)
2015-09-27 10:51:37 +02:00
Kp
230bc630ed
Store FriendMissileView inside MissileViewEnabled
...
This allows it to persist silently when configuration files are read and
rewritten by versions of Rebirth which do not understand
FriendMissileView.
2015-09-26 21:17:14 +00:00
Kp
d971cf7702
Wrap game-specific types in game-specific preprocessor guards
...
These types are not used in common code, and in some cases would provoke
a -Wodr warning if they were used.
2015-09-26 21:17:12 +00:00
Kp
76b94de1de
Add commented out hook for warning on valptridx exceptions
2015-09-26 21:17:12 +00:00
zico
69353631f0
Made missile views from friendly players optional (off by default)
2015-09-26 20:28:49 +02:00
zico
d3660207d2
Added Mouse Overrun Buffer option as proposed by kp
2015-09-24 16:31:10 +02:00
Kp
b48efd0c56
Initialize the largest subobjects in object unions
2015-09-22 02:28:38 +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
7821af1303
Move axis values into individual joysticks
...
SDL2 allows joysticks to come and go. This conflicts with the unified
virtual joystick.
2015-09-19 23:04:35 +00:00
Kp
21be29e0d4
Optimize out button_last_state
...
This shrinks struct Joystick and makes joy_hat_handler much shorter.
2015-09-19 23:04:34 +00:00
Kp
69e3762933
Return joystick axis values by reference
2015-09-19 23:04:34 +00:00
Kp
38dc303bf8
Simplify joy_flush
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
1cdd4ac2ce
Pass object & to [gs]et_*_id
2015-09-15 02:48:04 +00:00
Kp
8185991062
Ignore excess joysticks
2015-09-13 21:02:19 +00:00
Kp
4df9a4b0f0
Use declval for serial class_type
2015-09-13 21:02:19 +00:00
Kp
cd0b3965a4
Use little endian for control center triggers
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
zico
4a562bf098
Added multi_send_theif_frame() function to update thief bot more frequently (by PPS) and even if it is not controlled by a player to counter discrepancies caused by client side AI movement of the bot
2015-09-03 15:13:56 +02:00
Kp
fd5d7b800d
Move reactor gun loop into calc_controlcen_gun_point
2015-08-26 03:15:10 +00:00
Kp
d3ca71c8d0
Inline get_num_reactor_models
2015-08-26 03:15:10 +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
a606b89fe8
Make robot_flags unsigned
2015-08-22 20:43:03 +00:00
Kp
b946011299
Remove non-GNU PIGGY_PAGE_IN
...
Non-GNU PIGGY_PAGE_IN uses a do {} while(0), but some callers are in a
context where do{}while() is an error.
2015-08-22 20:43:03 +00:00
Kp
b8baddb5a2
Use uint8_t for player_awareness_type_t
...
Fixes: 9157e5f970
("Use enum class for player_awareness_type_t")
2015-08-22 20:43:02 +00:00
Kp
64ff1cda89
Only restore non-alpha when alpha was used
2015-08-21 03:12:35 +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
17b1943c5e
Mark various per-file structures as static
2015-08-12 03:11:46 +00:00
Kp
bc7c469ab2
Use array<> for more globals
2015-08-12 03:11:46 +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
f15116f2cb
Simplify multiplayer sound handling
2015-08-05 02:59:02 +00:00
Kp
6870b48710
Remove unused return value of digi_link_sound_to_object*
2015-08-05 02:59:02 +00:00
Kp
9fb9aef509
Remove unused return value of digi_link_sound_to_pos
2015-08-05 02:59:02 +00:00
Kp
c47b7e383f
Make template alias support mandatory
2015-08-03 03:11:25 +00:00
Kp
20b1db3483
Expand dxx_explicit_operator_bool to "explicit"
...
Many files now use "explicit", so compilers which reject
explicit operator bool() will not work. Remove the macro.
2015-08-03 03:11:25 +00:00
Kp
2fb03da475
Inline multi_send_endlevel_start secret for D2
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
a2816617fe
Pass reactor& to read_model_guns
2015-07-25 23:10:48 +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