Kp
64dee5d52a
Move SysMaxFPS to CGameArg
...
Both games support SysMaxFPS. Move it to the common structure.
2015-11-24 04:05:35 +00:00
Kp
63ca0eb87b
Make respawn-on-fire configurable
...
Requested-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/162 >
2015-11-21 18:12:13 +00:00
Kp
0fbccd609c
Ignore lifetime kills/killed in cooperative games
2015-11-21 18:12:13 +00:00
Kp
ceafa62d64
Use enum class for CLI_insert_mode
2015-11-19 03:23:35 +00:00
Kp
82d0c2ed96
Make some implicit uses of ptridx construction explicit
2015-11-19 03:23:34 +00:00
Kp
edc4015c97
Compute Boss_cloak_end_time as needed
2015-11-19 03:23:34 +00:00
Kp
f2a0edfd35
Expand Boss_cloak_duration inline
2015-11-19 03:23:34 +00:00
Kp
c0149be92a
Use enum class explosion_vclip_stage for get_explosion_vclip
2015-11-15 22:30:41 +00:00
Kp
5f5fd23060
Use enum class for HUD type
2015-11-14 18:17:22 +00:00
Kp
44753209d6
Move homing_object_dist to object.ctype.player_info
2015-11-14 18:17:22 +00:00
Kp
52051c427b
Move invulnerable_time to object.ctype.player_info
2015-11-14 18:17:21 +00:00
Kp
9eb8aba4c9
Move cloak_time to object.ctype.player_info
2015-11-14 18:17:21 +00:00
Kp
f509073b65
Move font allocdata pointer to grs_font
2015-11-14 18:17:21 +00:00
Kp
74290b5150
Add some error checking to font loader
2015-11-14 18:17:21 +00:00
Kp
8997ec557d
Simplify valptridx get_global_array definition
2015-11-14 18:17:21 +00:00
Kp
a7e44f58ce
Use enum class for tmap_drawer_constant
...
This allows tmap_drawer_type to use regular functions instead of
template functions and causes the debugger to show the symbolic name of
the type.
2015-11-14 18:17:20 +00:00
Kp
6b353cb9ac
Move player powerup_flags to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
8a81e25ab0
Move player laser_level to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
b788d0b563
Move player primary_weapon_flags to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
8d6949efa6
Move player killer_objnum to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
6037372cdf
Move player vulcan_ammo to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
e227ef1b32
Move player secondary_ammo to object.ctype.player_info
2015-11-07 21:55:58 +00:00
Kp
6fd6436f14
Move player energy to object.ctype.player_info
2015-11-07 21:55:58 +00:00
Kp
2e28a491f2
Move player shields to struct object
2015-11-07 21:55:58 +00:00
Kp
ccee595321
Remove Interpolation_method from OGL build
2015-11-06 03:51:10 +00:00
Kp
a40d1efcd0
Sort joystick data smallest first
2015-11-01 21:15:40 +00:00
Kp
6111e5adbf
Allow configuring max joysticks at build time
2015-11-01 21:15:40 +00:00
Kp
37bffb75dd
Use std::tuple for storing d_physical_joystick members
...
Simplify later cleanup by hiding the members behind accessors.
2015-11-01 21:15:39 +00:00
Kp
b639ba151a
Remove unused joystick globals n_axes,n_buttons,n_hats
...
These are used only in one function. Make them local only.
2015-11-01 21:15:39 +00:00
Kp
04ee450a07
Take local references to joystick text
2015-11-01 21:15:39 +00:00
Kp
545b71c1cc
Use enum class for kconfig subtype
2015-11-01 21:15:38 +00:00
Kp
df5e02aed0
Use macro get_local_player_invulnerable_time for player's invulnerable_time
2015-10-30 02:52:56 +00:00
Kp
0285efe49d
Use macro get_local_player_cloak_time for player's cloak_time
2015-10-30 02:52:56 +00:00
Kp
17b8b64980
Use macro get_local_player_flags for player's flags
2015-10-30 02:52:56 +00:00
Kp
92f78caf22
Use macro get_local_player_vulcan_ammo for player's vulcan_ammo
2015-10-30 02:52:56 +00:00
Kp
dc5dfb80e8
Use macro get_local_player_secondary_ammo for player's secondary_ammo
2015-10-30 02:52:56 +00:00
Kp
ea5b7a08c1
Use macro get_local_player_energy for local player's energy
2015-10-30 02:52:55 +00:00
Kp
3ffd207e44
Use macro get_local_player_shields for local player's shields
2015-10-30 02:52:55 +00:00
Kp
f07e08fa2f
Move netgame_info::players to end
...
This saves ~200 bytes of text.
2015-10-30 02:52:55 +00:00
Kp
731e287329
Clean up trailing whitespace on rank strings
2015-10-30 02:52:55 +00:00
Kp
070444157e
Use type safe player flags
2015-10-30 02:52:55 +00:00
Kp
7ac2840bfe
Rename Netgame.player_flags to .net_player_flags
...
The simple name conflicts with an upcoming change.
2015-10-30 02:52:54 +00:00
Kp
4882558d6e
Remove unnecessary zero of .cloak_time
2015-10-30 02:52:54 +00:00
Kp
e130ea7b36
Remove unnecessary secondary_weapon_flags
2015-10-30 02:52:53 +00:00
Kp
ea3c4a8986
Switch const multi text to array<>
2015-10-29 03:01:43 +00:00
Kp
2a713567a0
Guard create_*vert*lists in D1||D2
...
check_header_includes=1 fails when create_*vert*lists is tested in
common code. Preprocess it out when built for common.
2015-10-24 03:13:11 +00:00
Kp
1c84b7ab9c
Use enum class for wall_hit_process_t
2015-10-24 03:13:11 +00:00
Kp
8b61b9f0db
Remove unused symbols
2015-10-24 03:13:11 +00:00
Kp
cf9f777187
Simplify select_tmap
...
Remove unreachable nullptr case. Use case-sensitive comparison. Remove
unsupported entry i386 from documentation.
2015-10-21 02:45:44 +00:00
Kp
21057db809
Move DbgSafelog, DbgVerbose to CArg
2015-10-18 21:01:21 +00:00
Kp
6f94cc933c
Fold create_abs_vertex_lists into create_all_vertnum_lists
2015-10-18 21:01:20 +00:00
Kp
af2d8f7deb
Factor out create_vert*_lists switch
2015-10-18 21:01:20 +00:00
Kp
6f10a67c09
Move segment::sides to end
...
sides[] is large and caused all members after it to require disp32
offsets. Move it to the end so that all members can use disp8 offsets.
This saves ~1300 bytes of text on an editor+debug build.
2015-10-18 21:01:20 +00:00
Kp
228dd75260
Switch Side_to_verts to unsigned
2015-10-18 21:01:20 +00:00
Kp
ae338abdc7
Make compute_seg_dynamic_light static
2015-10-18 21:01:19 +00:00
Kp
309426e024
Use enum class for descent_version
2015-10-18 21:01:18 +00:00
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
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
9a5654e002
Move similar/editor/autosave.cpp -> common/editor/autosave.cpp
2015-07-25 23:10:47 +00:00
Kp
720cc9db98
Move tmap scanline pointers to structure
2015-07-25 23:10:47 +00:00
Kp
1738870b22
Make some c_tmap scanline functions static
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
b8cc2f4172
Inline multi_i_am_master
2015-07-25 23:10:46 +00:00
Kp
bda7fef3a0
Use get_local_player to compute reference to local player
2015-07-25 23:10:46 +00:00
Kp
f38e80c053
Use get_local_plrobj to compute reference to object of local player
2015-07-25 23:10:45 +00:00
Kp
f00725f740
Use forward-declaration header for player.h
2015-07-25 23:10:45 +00:00
Kp
70c4cc87ab
Use forward-declaration header for weapon.h
2015-07-25 23:10:45 +00:00
Kp
f899aaeaca
Move player callsign to player-callsign.h
2015-07-25 23:10:45 +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
644c80e632
Pass vsegptr to add_stuck_object
2015-07-21 02:57:27 +00:00
Kp
1f301770d7
Remove always-NULL gr_bitblt_fade_table
2015-07-21 02:57:27 +00:00
Kp
82e1ea5636
Move similar/mem/mem.cpp -> common/mem/mem.cpp
2015-07-18 21:01:56 +00:00
Kp
a58e8f87a0
Move similar/misc/hash.cpp -> common/misc/hash.cpp
2015-07-18 21:01:56 +00:00
Kp
cfdffa184f
Move similar/arch/sdl/event.cpp -> common/arch/sdl/event.cpp
2015-07-18 21:01:56 +00:00
Kp
04d9f82a50
Move similar/arch/sdl/key.cpp -> common/arch/sdl/key.cpp
2015-07-18 21:01:56 +00:00
Kp
c7542fe9fc
Move similar/arch/sdl/mouse.cpp -> common/arch/sdl/mouse.cpp
2015-07-18 21:01:56 +00:00
Kp
d8f28a8767
Move Cfg::Grabinput to CCfg to improve code sharing
2015-07-18 21:01:56 +00:00
Kp
6bd93e466f
Guard args.h for LTO -Wodr
2015-07-18 21:01:56 +00:00
Kp
3015db64ad
Guard segment.h for LTO -Wodr
2015-07-18 21:01:55 +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
d3df8b8e83
Fix LTO -Wodr for cheats
2015-07-18 03:49:47 +00:00
Kp
bbcdf9f7d2
Fix LTO -Wodr for GameCfg
2015-07-18 03:49:47 +00:00
Kp
19ed586988
SDL2: SDL_JoystickName parameter changed
2015-07-14 02:42:12 +00:00
Kp
b822f4c049
Simplify joystick setup
2015-07-14 02:42:12 +00:00
Kp
7a16099aaf
Fix gcc-4.6 cmd build
...
gcc-4.6 lacks forward_list<T>::splice_after(iterator, forward_list&).
Add an explicit std::move to help it.
2015-07-14 02:42:12 +00:00
Kp
7dd310c8e9
Use helper macro for reading/writing short in rle
2015-07-14 02:42:12 +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
012b65a37c
Pass vcobjptridx to check_trigger
2015-07-12 01:04:22 +00:00
Kp
13bcdcf0ca
Use valptr for fireball.cpp
2015-07-12 01:04:19 +00:00
Kp
fdd2356eac
Use segptridx for Cursegp, Markedsegp
2015-07-12 01:04:18 +00:00
Kp
aa890e5d29
Pass only valptr_t to fuelcen_delete
2015-07-12 01:04:18 +00:00
Kp
a8fadce19f
Pass only vobjptr_t to obj_unlink
2015-07-12 01:04:17 +00:00
Kp
e54b550c59
Pass only vobjptr_t to multi_reset_player_object
2015-07-12 01:04:17 +00:00
Kp
1b6999ff4d
Switch get_seg_masks from vcsegptridx_t to vcsegptr_t
...
The index component is not needed.
2015-07-12 01:04:17 +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
fe360b18e3
Implement secluded spawns
2015-07-04 21:01:18 +00:00
Kp
c03fe30fc2
Move similar/arch/sdl/timer.cpp -> common/arch/sdl/timer.cpp
2015-07-04 21:01:17 +00:00
Kp
d73e5a24c3
Reduce scope of ifdef(D1||D2)
2015-07-04 21:01:17 +00:00
Kp
f42a3fe241
Improve Cfg locality
2015-07-04 21:01:17 +00:00
Kp
06b453d617
Enable D1 weapon drops
2015-07-02 02:37:55 +00:00
zico
cd27af9e41
Made MULTI_POSITION and MULTI_ROBOT_POSITION use quaternion packets to increase precision of powerup drops, robot movement and their firing; Also decreased priority of the first iteration of MULTI_POSITION from 2 to 1 as the first packet does not need to be protected but just serves as a convinient excuse to flush the multi data buffer
2015-06-28 19:20:46 +02:00
Kp
0c106b67f2
Make convert_raw_joy_axis static
2015-06-23 03:04:47 +00:00
Kp
24b88c28c7
Fix cmd queue append
2015-06-21 22:30:28 +00:00
Kp
29aa820dc0
Only respawn when the player presses fire
...
Only respawn when the player presses a fire key/button (primary,
secondary, or flare). Only clear primary, second, flare, and bomb when
respawning. This allows dead players to use the automap or change their
camera views.
This is a necessary step to flushing only the firing inputs on respawn,
as requested by Mako88 in
<https://github.com/dxx-rebirth/dxx-rebirth/issues/104 >. Currently,
inputs are flushed again by the activation of the game window, so
respawn still flushes all inputs.
#1 0x00005555555cee19 in game_flush_inputs () at similar/main/game.cpp:374
#2 game_handler (event=...) at similar/main/game.cpp:1114
#3 0x0000555555576113 in window_send_event (wind=..., event=...) at common/arch/sdl/window.cpp:208
#4 0x000055555557627b in WINDOW_SEND_EVENT (file=0x5555556dc126 "common/arch/sdl/window.cpp", e=0x5555556dc141 "EVENT_WINDOW_ACTIVATED", line=179, event=..., w=...) at common/include/window.h:111
#5 window_set_visible (w=..., visible=visible@entry=1) at common/arch/sdl/window.cpp:179
#6 0x00005555555e90f5 in window_set_visible (visible=1, wind=<optimized out>) at common/include/window.h:90
#7 DoPlayerDead () at similar/main/gameseq.cpp:1479
#8 0x000055555563ed65 in dead_player_frame () at similar/main/object.cpp:1486
#9 0x00005555555cf4df in GameProcessFrame () at similar/main/game.cpp:1329
#10 game_handler (event=...) at similar/main/game.cpp:1157
2015-06-20 16:16:43 +00:00
Kp
968cdbecf4
Add non-aborting UserError for user-caused fatal errors
2015-06-16 03:15:40 +00:00
Kp
c72a3a9b11
Make Stuck_objects static
2015-06-13 22:42:21 +00:00
Kp
3905f1a668
Enable -Wcast-qual
2015-06-13 22:42:21 +00:00
Kp
1dc0e24f30
Propagate swap_bytes argument for create_shortpos
...
In every case but one, create_shortpos was called with a constant flag
equal to words_bigendian. The demo system called it with a constant 0.
Split create_shortpos into create_shortpos_little and
create_shortpos_native. Use create_shortpos_native for the demo system,
and create_shortpos_little everywhere else.
2015-06-13 22:42:21 +00:00
Kp
ce72014e2e
Always parse WORDS_BIGENDIAN and !WORDS_BIGENDIAN
2015-06-13 22:42:21 +00:00
Kp
5573ed6bea
Cache font scale X float
2015-06-13 22:42:20 +00:00
Kp
49854c08dd
Change FSPACX/FSPACY macros to inline functions
2015-06-13 22:42:20 +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
9125ae32cd
Make objnum unsigned
2015-06-13 22:42:15 +00:00
Kp
00c1429ebf
Use enum for Escort_special_goal
2015-06-13 22:42:15 +00:00
Kp
148c0f44c8
Convert segnum_t to uint16_t
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
06c363fb19
Fix UI_GADGET -fno-inline build
...
Fixes: 95e3ac1e5b
("Use integral_constant for UI kind")
2015-06-11 03:06:58 +00:00
Kp
64ee9e0047
Improve memdebug d_strdup trace
2015-06-11 03:06:58 +00:00
John Ackerman
fe71a94d53
Implement Nonlinear Joystick Settings
...
[Kp: fix whitespace; squash fixes into main]
Requested-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/pull/84 >
2015-06-11 01:41:26 +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
0e80080b7b
Fix -Wvla error in cmd_execute
2015-06-07 16:20:48 +00:00
Kp
b77db2f638
Use RAIIdmem for cmd_queue_t command_line
2015-06-07 16:20:47 +00:00
Kp
3cab20a501
Move cmd local classes into anonymous namespace
2015-06-07 16:20:47 +00:00
Kp
9a451a9168
Pass cvar_registervariable cvar by &
2015-06-07 16:20:47 +00:00
Kp
4c778ed26b
Add const to cmd prototype
2015-06-07 16:20:47 +00:00
Kp
23349f06e1
Use std::forward_list for cmd_queue
2015-06-07 16:20:47 +00:00
Kp
6bc96bd72b
Remove unaliased entries from map
2015-06-07 16:20:47 +00:00
Kp
e33b037b83
Use RAIIdmem for cmd_alias_t value
2015-06-07 16:20:47 +00:00
Kp
3dec5551ca
Use std::map for cmd_alias_list
2015-06-07 16:20:47 +00:00
Kp
948a4fc184
Use std::map for cmd_list
2015-06-07 16:20:47 +00:00
Kp
1afa132c18
Simplify cli gr_string call
2015-06-07 16:20:47 +00:00
Kp
ddb521c5e7
Use std::map for cvar_list
2015-06-07 16:20:46 +00:00
Kp
2be3ce1f01
Use std::string for cvar string
2015-06-07 16:20:46 +00:00
Kp
ff452dbded
Move CLI code to common
...
None of it depends on D1 vs D2.
2015-06-07 16:20:46 +00:00
Kp
1115114e3d
Remove unnecessary old-style const stripping cast
...
This cast was necessary only because cvar_set_cvar was not properly
const.
2015-06-07 16:20:46 +00:00
Kp
204b7d7cb7
Remove dangerous const-removing constructor
...
Fortunately, this constructor was unnecessary. If it had ever been
used, later code could d_free() read-only storage.
2015-06-07 16:20:46 +00:00
Kp
3718678576
Reduce cvar.h includes
2015-06-07 16:20:46 +00:00
Kp
3b54c50230
Use std::bitset for laser hitobj mask
2015-06-06 18:03:45 +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
0f6a82963a
Inline fix_sincos in vm_extract_angles_matrix
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
b207aa6900
Shorten vm_angles_2_matrix
2015-06-02 03:03:31 +00:00
Kp
33204bac5c
Make Break_on_object static
2015-06-02 03:03:31 +00:00
Kp
bb5fd12ffe
Pass vcobjptr to object_intersects_wall
2015-06-02 03:03:31 +00:00
zico
2bfe21183e
Changing homing turn times to 30 FPS base again by user request
2015-06-01 15:27:34 +02:00
zico
b04282e791
Using one global yet independent timeer for homing missiles similar to d_tick instead of having one in each missile object. Also decreased HOMING_TURNING_TIME to 25 FPS base
2015-05-30 18:29:41 +02:00
zico
7ba3d1317b
Isolated all of the homing code into time-depending condition determined by track_turn_time and added track_turn_tick to make target re-discovery dependent on the individual missile tracking instead of global d_tick_count
2015-05-28 15:22:40 +02:00
Kp
b6a9b2a853
Pass vsegptridx to wall_toggle
2015-05-28 03:08:40 +00:00
Kp
850853326c
Pass vsegptridx to gate_in_robot
2015-05-28 03:08:39 +00:00
Kp
5cc38ea06c
Pass vcsegptridx to digi_link_sound_to_pos
2015-05-28 03:08:39 +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
zico
1f6ae58f52
Added HANDS_OFF_PERIOD define for multibot to make sure code will not break if MAX_ROBOTS_CONTROLLED changes
2015-05-23 18:18:20 +02:00
Kp
2f00efdcc6
Fix gcc-4.6 weapon build
...
gcc-4.6 chokes on `static constexpr type value{};`, but accepts
`static constexpr auto value = type{};`
Fixes: 9d213b5282
("Wrap player_has_weapon return type")
2015-05-22 03:33:20 +00:00
Kp
ef1abd87e8
Fix gcc-4.6 digi build
...
gcc-4.6 chokes on `static constexpr type value{};`, but accepts
`static constexpr auto value = type{};`
Fixes: ae8b99ae7d
("Use RAIIdigi_sound for briefing printing_channel")
2015-05-22 03:33:20 +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
c53b734abb
Compute slide segments early
...
Store slide flag in segment to save one byte per segment.
2015-05-17 20:37:59 +00: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
cb873563c8
Move reticle menu to macro
2015-05-14 02:23:13 +00:00
Kp
ac3b1d6aa3
Switch do_cockpit_window_view to vobjptr_t
...
Only the wake_up_rendered_objects hack needed a vobjptridx_t. Switch to
vobjptr_t.
2015-05-13 03:20:28 +00:00
Kp
5810faf33d
Make Ai_last_missile_camera object*
2015-05-13 03:20:28 +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
5a2c11c7ad
Precompute OGL sync wait_timeout milliseconds
2015-05-09 17:39:01 +00:00