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
9ed4754009
Remove typedef valptridx<T>::array_managed_type managed_type##_array_t
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
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
bc7c469ab2
Use array<> for more globals
2015-08-12 03:11:46 +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
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
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
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
15fb75c1c7
Fix check_header_includes build
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
d8f28a8767
Move Cfg::Grabinput to CCfg to improve code sharing
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
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
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
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
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
fe360b18e3
Implement secluded spawns
2015-07-04 21:01:18 +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
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
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
9ecb8d8601
Use fwdvalptridx instead of inline forward declarations
2015-06-13 22:42:16 +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
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
39b705b352
Use integral_constant for grant masks
2015-06-05 02:34:40 +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
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
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
0ece005dfa
Use screen_mode for screen resolution
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
ed86b53395
Make Muzzle_queue_index static
2015-05-09 17:39:01 +00:00
Kp
1cdc43d71a
Split object_create_egg
2015-05-09 17:39:01 +00:00
Kp
f5b02ce6a0
Remove write-only ai_static D1 follow_path_start_seg
2015-05-09 17:39:01 +00:00
Kp
7dae02fbb4
Remove write-only ai_static D1 follow_path_end_seg
2015-05-09 17:39:00 +00:00
Kp
3b59a71e11
Remove unused D1 last_see_time
2015-05-09 17:39:00 +00:00
Kp
83baf4dfe8
Remove unused D1 last_attack_time
2015-05-09 17:39:00 +00:00
Kp
9a4f7a32bf
Pass vcsegptr to fuelcen_give_fuel
2015-05-09 17:39:00 +00:00
Kp
a51a7110e8
Pass vobjptridx_t to multi_send_position
2015-05-09 17:38:59 +00:00
Kp
b5eae4c809
Split create_smart_children
2015-05-09 17:38:58 +00:00
Kp
08a42a68ff
Pass vcobjptridx to laser_are_related
2015-05-09 17:38:58 +00:00
Kp
68834fb929
Expand render_mine window_rendered_data helper inline
2015-05-05 03:20:42 +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
bfd434fb15
Switch object_signature_t forward declaration to class
...
Although struct and class are interchangeable in this context, clang
whines when the program mixes them. Use 'class' consistently to silence
this warning.
Reported-by: btb <91d31b1952 (commitcomment-10903195)
>
Fixes: 91d31b1952
("Wrap object signature in subtype")
2015-04-26 20:15:57 +00:00
Kp
0d564814f5
Convert Primary_weapon to primary_weapon_index_t
2015-04-26 20:15:57 +00:00
Kp
8d849b2b39
Wrap laser level in class
...
Move enum laser_level_t to weapon.h for the new class.
2015-04-26 20:15:56 +00:00
Kp
6792c1bc4b
Enable -Wunused-parameter
2015-04-26 20:15:56 +00:00
Kp
cca163fc30
Split select_weapon
2015-04-26 20:15:52 +00:00
Kp
f789e29b41
Simplify check_to_use_primary
2015-04-26 20:15:52 +00:00
Kp
610f603ebf
Pass weapon_name to select_weapon
2015-04-26 20:15:52 +00:00
Kp
10b9206a9b
Split do_weapon_select
2015-04-26 20:15:51 +00:00
Kp
4d046c5336
Split auto_select_weapon
2015-04-26 20:15:51 +00:00
Kp
8e5a63700b
Use enum class for ai_mode
2015-04-26 20:15:51 +00:00
Kp
f15ec9c86a
Use enum for AIM constants
2015-04-26 20:15:51 +00:00
Kp
e883d7c872
Use enum class for AIB constants
2015-04-26 20:15:51 +00:00
Kp
fd6ac87c25
Fix trigger_none checks
2015-04-26 20:15:50 +00:00
Bradley Bell
844aad2639
Merge branch 'unification/master' into command-line
2015-04-24 20:54:35 -07:00
Kp
3eb8f4813e
Pass vcobjptr_t to apply_damage_to_controlcen
2015-04-22 02:44:30 +00:00
Kp
eedfaab822
Remove OGL Max_linear_depth
2015-04-22 02:44:29 +00:00
Kp
b46ecbb3e9
Add netgame parameter to duplicate powerups
2015-04-19 04:18:53 +00:00
Kp
4381b81497
Pack spawn granted items in D1
2015-04-19 04:18:53 +00:00
Kp
b32298df5a
Rewrite powerup cap code to centralize logic
2015-04-19 04:18:53 +00:00
Kp
b88c232f9f
Use powerup_type_t for *_weapon_to_powerup
2015-04-19 04:18:53 +00:00
Kp
d7066c3eb9
Remove constant arguments to pick_up_ammo
2015-04-19 04:18:53 +00:00
Kp
28b4a65547
Centralize ammo rack bonus
2015-04-19 04:18:52 +00:00
Kp
adbefd39c4
Minimize unnecessary fields passed to check_effect_blowup
2015-04-19 04:18:52 +00:00
Kp
864605dce2
Use stdint for titles.h
2015-04-19 04:18:52 +00:00
Kp
c20cfc02cb
Remove unused D1 definition of POW_FULL_MAP
2015-04-19 04:18:52 +00:00
Kp
ae8a8c98ce
Reduce player.h includes
2015-04-19 04:18:52 +00:00
Kp
83afd8d96f
Reduce piggy.h includes
2015-04-19 04:18:52 +00:00
Kp
51ab9ff9d6
Simplify DXX guard on object.h
2015-04-19 04:18:52 +00:00
Kp
808d5c1cf2
Switch joystick_text_length to integral_constant
2015-04-19 04:18:52 +00:00
Kp
cd6be09547
Reduce kconfig.h includes
2015-04-19 04:18:51 +00:00
Kp
c338862ad6
Reduce gauges.h includes
2015-04-19 04:18:51 +00:00
Kp
4149ab6e5f
Reduce gameseq.h includes
2015-04-19 04:18:51 +00:00
Kp
714fd36241
Reduce gamemine.h includes
2015-04-19 04:18:51 +00:00
Kp
27b6ad1630
Reduce game.h includes
2015-04-19 04:18:51 +00:00
Kp
75162a6fe9
Reduce controls.h includes
2015-04-19 04:18:51 +00:00
Kp
516b8b2397
Reduce collide.h includes
2015-04-19 04:18:51 +00:00
Kp
8c6ddf1abf
Reduce cntrlcen.h includes
2015-04-19 04:18:51 +00:00
Kp
726e5737bb
Reduce bm.h includes
2015-04-19 04:18:51 +00:00
Kp
8582907b91
Reduce ai.h includes
2015-04-19 04:18:51 +00:00
Kp
4e937ae239
Reduce playsave.h includes
...
Move non-common includes into defined(D1||D2)
2015-04-19 04:18:50 +00:00