Commit graph

1227 commits

Author SHA1 Message Date
Kp b449986ea8 Use make_unique to reset editor's Current_mission 2016-08-06 19:55:25 +00:00
Kp cbeb42e48c Flatten some newmenu type hierarchy 2016-08-06 19:55:24 +00:00
Kp 6b4e639f65 Flatten newmenu_subfunction_t type 2016-08-06 19:55:24 +00:00
Kp c772385f81 Fix check_header_includes=1 Linux build 2016-08-06 19:55:24 +00:00
Kp 1774676571 Use class to wrap Primary_weapon+Delayed_primary 2016-08-06 19:55:23 +00:00
Kp 7128141c55 Use enum for newmenu item type 2016-08-05 04:12:21 +00:00
Kp 3f051100a5 Move newmenu_item text_len into union 2016-07-31 22:25:51 +00:00
Kp f5c6b0fbf6 Move newmenu_item min_value into union 2016-07-31 22:25:50 +00:00
Kp c9aba5b04e Move newmenu_item max_value into union 2016-07-31 22:25:50 +00:00
Kp 344a567d1b Move newmenu_item group into union 2016-07-31 22:25:50 +00:00
Kp a230d24226 Allow trailing comments after num_levels and num_secrets 2016-07-30 21:56:31 +00:00
Kp ea65c74ba9 Move last_player_bump into player_info.Last_bumped_local_player 2016-07-25 03:48:08 +00:00
Kp 8a46462846 Move lavafall_hiss_playing into player_info 2016-07-24 04:04:25 +00:00
Kp 8fef6a07b4 Pass const object_base to obj_unlink 2016-07-23 04:10:43 +00:00
Kp 139741ec40 Pass const object_base to Laser_render 2016-07-23 04:10:42 +00:00
Kp 99bbd0cf26 Mark global constants as constexpr
s/^const \([^*]*=.*;\)/constexpr \1/
2016-07-23 04:10:42 +00:00
Kp acac40bc25 Mark global constants as constexpr
s/^const \([^*=]*{};\)/constexpr \1/
2016-07-23 04:10:42 +00:00
Kp e446965511 Remove unnecessary wall number check in kill_stuck_objects
Callers are expected to filter out invalid numbers.  Even if they do
not, the only use of the number is to match entries in Stuck_objects.
An invalid match could cause a call to vobjptr() with an invalid index,
but that would be diagnosed by the valptridx checking, so no invalid
memory access will occur.
2016-07-21 01:43:22 +00:00
Kp 24f59cc9d0 Add stub flush_fcd_cache for D1 2016-07-21 01:43:21 +00:00
Kp f29630bd4a Propagate MAX_STUCK_OBJECTS 2016-07-21 01:43:21 +00:00
Kp c636dc4b98 Convert various static const expressions to constexpr 2016-07-16 16:52:04 +00:00
Kp f2ecb6401a Simplify do_powerup_frame tests 2016-07-16 16:52:04 +00:00
Kp 80a087806e Remove useless cast in gamefont.h 2016-07-15 03:43:02 +00:00
Kp 946e7bd4ee Move some digi symbols to dcx 2016-07-15 03:43:02 +00:00
Kp 63651b8c68 Move PIGGY_PAGE_IN into namespace dsx with GameBitmaps 2016-07-15 03:43:01 +00:00
Kp aa95cbfccc Move set_thrust_from_velocity to dcx 2016-07-15 03:43:01 +00:00
Kp 54258ef2ec Remove unnecessary forward declarations 2016-07-14 01:59:05 +00:00
Kp 44592ddc31 Flatten kconfig type hierarchy 2016-07-14 01:59:05 +00:00
Kp 96f78e1032 Use constexpr for MAX_BITMAP_FILES 2016-07-14 01:59:05 +00:00
Kp 6905b5bd1d Use constexpr for MAX_SOUNDS 2016-07-14 01:59:04 +00:00
Kp 5af44fa27a Refactor to propagate MultiLevelInv_Count initial
All callers of MultiLevelInv_Count passed a constant value.  Factor
out the top level blocks of MultiLevelInv_Count into helper functions,
then create two new functions corresponding to MultiLevelInv_Count(0)
and MultiLevelInv_Count(1), implemented by calling the appropriate new
helper functions.
2016-07-14 01:59:03 +00:00
Kp 59750d3c29 Rewrite declarations of ubyte * to standard uint8_t * 2016-07-14 01:59:02 +00:00
Kp 613a7ecbbb Rewrite parenthesized uses of uint to standard unsigned 2016-07-14 01:59:02 +00:00
Kp 0b6af7fcbe Propagate MAX_OBJ_BITMAPS 2016-07-10 04:11:35 +00:00
Kp ca18195390 Propagate MAX_TEXTURES 2016-07-10 04:11:35 +00:00
Kp 6580c37b6e Propagate MAX_STOLEN_ITEMS 2016-07-10 04:11:34 +00:00
Kp 71ab00beb8 Propagate MAX_BOSS_TELEPORT_SEGS 2016-07-10 04:11:34 +00:00
Kp a63fe62cb3 Add typedef for multi_allow_powerup_text type 2016-07-09 17:58:35 +00:00
Kp 2713baf5d3 Move HUD_MESSAGE_LENGTH to hud.cpp 2016-07-09 17:58:35 +00:00
Kp be8022ff41 Add typedef for GMNames array 2016-07-09 17:58:35 +00:00
Kp 3779bc25a0 Define Robot_names only if EDITOR 2016-07-09 17:58:34 +00:00
Kp fee76e6ced Define Powerup_names only if EDITOR 2016-07-09 17:58:34 +00:00
Kp 9128ff7c35 Move Next_laser_fire_time to player_info 2016-07-06 01:54:26 +00:00
Kp bd3db75108 Move Next_missile_fire_time to player_info 2016-07-06 01:54:26 +00:00
Kp a554d7e2c4 Move Next_flare_fire_time into player_info 2016-07-06 01:54:25 +00:00
Kp 6251848c5f Move Missile_gun into player_info 2016-07-06 01:54:25 +00:00
Kp 262094237f Rewrite simple numeric casts from C style to static_cast<>
s/(\(int\|float\|fix\))\s*(/static_cast<\1>(/g
2016-07-06 01:54:24 +00:00
Kp a24dffad13 Include dsx-ns.h in inferno.h for #define dsx 2016-07-02 02:04:11 +00:00
Kp a4967ffceb Move various robot data into namespaces 2016-06-25 23:21:36 +00:00
zico 7684ce92e4 Added packet to notify clients about a changed vulcan ammo count in a weapon powerup in case player collects ammo but leaves the gun itself. 2016-06-06 17:26:59 +02:00
Kp 86b5427906 Fix -Wshadow warning in visited_segment_multibit_array_t::bitproxy_t
bitproxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`.  This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x.  Rename the parameter
to eliminate the warning.

Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
2016-06-01 01:52:45 +00:00
Kp eea74aefb7 Fix -Wshadow warning in visited_segment_multibit_array_t::tmpl_multibit_proxy_t
tmpl_multibit_proxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`.  This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x.  Rename the parameter
to eliminate the warning.

Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
2016-06-01 01:52:45 +00:00
Kp 0cdc1dea72 Fix -Wshadow warning in visited_segment_mask_t::tmpl_maskproxy_t
tmpl_maskproxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`.  This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x.  Rename the parameter
to eliminate the warning.

Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
2016-06-01 01:52:45 +00:00
Kp 359f6f58ee Fix -Wshadow warning in visited_segment_bitarray_t::bitproxy_t
bitproxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`.  This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x.  Rename the parameter
to eliminate the warning.

Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
2016-06-01 01:52:45 +00:00
Kp aa4ad79fbe Fix -Wshadow warning in visited_segment_bitarray_t::tmpl_bitproxy_t
tmpl_bitproxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`.  This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x.  Rename the parameter
to eliminate the warning.

Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
2016-06-01 01:52:45 +00:00
zico e335cdacb3 Reverted 81d7db279b and rather removed the terminator byte from string length in nm_set_item_input(). This also fixes possible 9 character length for pilot callsigns. Had to fix up COOL_SAYING_LEN as it was not considering the termintor but considering the original D2 source, this was a mess to begin with (def = 50, text string = 60, input field len = 45). Made score saying 50 characters as this seems to be the maximum witdth without overlapping. 2016-05-30 14:54:51 +02:00
zico 1856e73ca6 Addition to 3366658a5bd2b30a82949b8b301e97b324ce539d: Changed show_netgame_info and pass netgame as reference and const; removed struct and extern; declared ngii inside show_netgame_info(). 2016-05-30 13:49:06 +02:00
Kp 487547050b Fix -Wshadow warning in visited_segment_mask_t::base_maskproxy_t
base_maskproxy_t has a method named `shift` and its constructor took a
parameter named `shift`.  This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x.  Rename the parameter
to eliminate the warning.

Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/197>
2016-05-29 17:46:32 +00:00
Kp 9d0c6f59a5 Remove always-zero piggy_page_flushed
Descent for DOS supported paging content on demand.  Rebirth has no
support for paging content out, but retained piggy_page_flushed
to track whether anything had been paged out.  Commit 3c20c24 ("Disable
piggy_bitmap_page_out_all") removed the last site that could set
piggy_bitmap_page_out_all to a non-zero value.  All remaining code
either tests it for non-zero or sets it to zero.

Remove the statements that set it to zero.
Remove assertions that the value is zero.
Remove conditional blocks that execute only when it is non-zero.
2016-05-22 17:49:30 +00:00
Kp 1551443eff Fix -Wshadow warnings in macro check_warn_object_type 2016-05-21 17:24:51 +00:00
zico 64400ff284 Restored original Descent 2 HOMING_MAX_TRACKABLE_DOT for D2X build, formerly using the Descent 1 setting 2016-05-10 14:22:53 +02:00
zico 7692d19e2b Raised default Packets Per Second to 30 and added define for the default in multi.h 2016-05-10 13:45:08 +02:00
zico 3366658a5b Updated 'Netgame Rules & Info' screen, added option to toggle it ingame via SHIFT-PAUSE, added hint to netgame help menu 2016-05-10 13:41:13 +02:00
Kp 30230a8137 Pass object &to blast_nearby_glass 2016-04-23 17:59:47 +00:00
Kp 3677e7036e Pass object &to collide_player_and_powerup 2016-04-23 17:59:47 +00:00
Kp 16583d45db Pass object_base &to call_object_create_egg 2016-04-23 17:59:47 +00:00
Kp ebc0547837 Pass object_base &to boss_spew_robot 2016-04-23 17:59:47 +00:00
Kp 7ea89fda9f Pass object_base &to bump_one_object 2016-04-23 17:59:47 +00:00
Kp 389ad4cb1b Pass object &to calc_controlcen_gun_point 2016-04-23 17:59:47 +00:00
Kp 730d61a738 Pass object &to init_ai_object 2016-04-23 17:59:47 +00:00
Kp aad313c85d Pass object_base &to calc_gun_point 2016-04-09 21:40:27 +00:00
Kp c5f933b462 Pass object_base &to ai_turn_towards_vector 2016-04-09 21:40:27 +00:00
Kp 95edd77019 Use array<> for ai.cpp globals 2016-04-09 21:40:27 +00:00
Kp 4126c6c910 Pass object &to multi_send_robot_position 2016-04-06 03:34:15 +00:00
Kp 0e085e4799 Pass thief ID to recreate_thief 2016-04-06 03:34:15 +00:00
Kp 6e0e286dc8 Pass object &to start_robot_death_sequence 2016-04-06 03:34:15 +00:00
Kp 0c299248d4 Pass object &to apply_damage_to_player 2016-04-06 03:34:14 +00:00
Kp 72aa4bc8fb Pass object &to phys_apply_rot 2016-04-06 03:34:14 +00:00
Kp bad1464dcf Pass object_base &to physics_turn_towards_vector 2016-04-06 03:34:14 +00:00
Kp 6a1e1670cc Pass object_base &to phys_apply_force 2016-04-06 03:34:14 +00:00
Kp afa8ffffa3 Remove obsolete bits from GM_MULTI 2016-04-06 03:34:14 +00:00
Kp 89eb173013 Move draw_object_blob to namespace dcx 2016-04-06 03:34:14 +00:00
Kp c2905bda23 Move check_warn_object_type to namespace dcx 2016-04-06 03:34:13 +00:00
Kp 608467161b Remove obsolete arguments from DEFINE_VALPTRIDX_SUBTYPE 2016-04-06 03:34:13 +00:00
Kp 443b1f2915 Add file/line to valptridx output when available 2016-04-06 03:34:13 +00:00
zico ab89dcd366 Reworked 586ba9ff6db85b976f074589c5dd7e2d6ff40cd1: Show player ping along with player kills/scores and made it a toggle for HUD configuration so the player can enable it permanently 2016-03-30 20:09:46 +02:00
Kp dd3cedff3d Add get_ghost_id for multi_do_reappear
Ghosts use the same ID space as players, so reuse function get_player_id
to fetch the ID after checking.

Reported-by: zicodxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/182>
Fixes: 9f26e2211e ("Warn on invalid object ID access")
2016-03-20 20:38:54 +00:00
Kp 27cef20eb3 Move namespace dsx handling to dsx-ns.h 2016-03-19 19:08:10 +00:00
Kp b8f39b024a Move DoMenu into dsx 2016-03-19 19:08:10 +00:00
Kp 797c8b47b2 Move segment_object_iterator_t into segment_object_range_t 2016-03-19 19:08:10 +00:00
Kp 97219697a7 Make check_warn_object_type work without gcc ({}) extension 2016-03-05 17:26:24 +00:00
zico 36d22a3998 Added more specific comment on why RespawnTimer is necessary for MultiLevelInv_Repopulate() 2016-02-29 16:35:00 +01:00
Kp 95ab6076a4 Move FakingInvul to player_info
Every player can fake invulnerability independently.  In preparation for
host tracking, store FakingInvul as a player property, not a static
global.
2016-02-27 19:02:21 +00:00
zico 901a554e96 New powerup management code: Addeed functions and packet type to keep track of original and current level inventory as well as player and thief inventories. Calling maybe_drop_net_powerup() for all ammo based weapons except Concussion missiles. Limiting maybe_drop_net_powerup() to only spawn items missing from initial level inventory. Added function to let host respawn items that were lost for whatever reason. Expanded maybe_drop_net_powerup() and child functions to be able to drop item based on a random player. Changed back maybe_drop_secondary_weapon_egg() to its original behavior, dropping 3 of each type max. 2016-02-25 14:11:08 +01:00
Kp c3003fbb22 Fix vulcan ammo display
Do not abuse `f2i` to shift an unsigned quantity.  `f2i` is defined to
work on `fix`, which is `int`.
2016-02-20 17:28:11 +00:00
Kp 3c20c24ac0 Disable piggy_bitmap_page_out_all 2016-02-20 17:28:11 +00:00
Kp 553b313099 Use vwallptr 2016-02-12 04:02:28 +00:00
Kp b57f08c798 Use partial_const_range 2016-02-12 04:02:28 +00:00
Kp c5f4daa11b Remove write-only trigger field time 2016-02-06 22:12:55 +00:00
Kp 6e20d86941 Move OF_PLAYER_DROPPED into drop_powerup
This fixes an issue where calling drop_powerup with num > 1 only tagged
one powerup as player-dropped.

This also changes powerups dropped by the thief to be "player-dropped",
since, aside from the initial shields/energy, they came from the player
originally.
2016-02-06 22:12:55 +00:00
Kp 198540d080 Use range_for in bm.cpp 2016-02-06 22:12:54 +00:00
Kp 0101f98905 Use wallnum_t in more places 2016-02-06 22:12:54 +00:00
Kp bb5d1bb7e5 Use valptridx array type for Walls 2016-02-06 22:12:54 +00:00
Kp 72d2844070 Use enum for trigger flags 2016-02-06 22:12:54 +00:00
Kp 74dfa29d31 Convert most Trigger references to valptridx 2016-02-06 22:12:54 +00:00
Kp 4f0cbcffa9 Use valptridx array type for Triggers 2016-02-06 22:12:53 +00:00
Kp e283a22709 Use enum class for check_volatile_wall 2016-01-29 04:05:47 +00:00
Kp bc488a8f57 Improve check_volatile_wall 2016-01-29 04:05:47 +00:00
Kp 5a1791f7c3 Fix valptridx pch build 2016-01-26 03:45:08 +00:00
Kp bad07b668e Fix misplaced preprocessor directive 2016-01-26 03:45:06 +00:00
Kp 4e29e2625d Move multi_endlevel_poll* lookups to menu creation 2016-01-26 03:45:06 +00:00
Kp 124a2ee09c Move net_udp.cpp specific defines out of header 2016-01-26 03:45:06 +00:00
Kp 8f7d323ec6 Fix clang cvar build
Add format(printf,...) annotation to varargs functions to move format
string checking up one level.
2016-01-26 03:45:06 +00:00
Kp 9e174a0e0e Factor out primary/secondary search/reorder 2016-01-17 17:36:48 +00:00
Kp 7386094bc3 Rename menu macros to reduce token pasting 2016-01-09 16:38:17 +00:00
Kp dd877f52c2 Remove unused weapon defines 2016-01-09 16:38:15 +00:00
Kp 8e86a3586d Use #ifdef dsx to guard dsx namespace 2016-01-09 16:38:15 +00:00
Kp 86709f547b Fix capitalization of PHYSFS_File
Per comment in physfs.h, the spelling PHYSFS_file is deprecated.
Replace all instances with PHYSFS_File.
2016-01-09 16:38:14 +00:00
Kp 9ceedc96a8 Propagate valptridx requirement up 2016-01-09 16:38:14 +00:00
Kp 0be0475309 Move valptridx array highest to base class 2016-01-09 16:38:14 +00:00
Kp a32d9f01a1 Remove return value truncation in find_object_seg 2016-01-09 16:38:13 +00:00
Kp 98f5afa9f8 Remove default argument for basic_ptr(pointer,array &) 2016-01-09 16:38:13 +00:00
Kp 96898bab0a Block direct changes to Highest_segment_index
Route updates through helper functions.
2016-01-09 16:38:12 +00:00
Kp f48eddeece Block direct changes to Highest_object_index
Route updates through helper functions.
2016-01-09 16:38:12 +00:00
Kp 5a94f8bf4f Fix check_header_includes build 2016-01-09 16:38:12 +00:00
Kp 1f91897f5d Move some game symbols to namespaces 2016-01-09 16:38:12 +00:00
Kp fe1c0ee59b Remove unnecessary free_text
The text is stored in a global unique_ptr, so running global destructors
will free the text.
2016-01-09 16:38:11 +00:00
Kp 0635dbf108 Pass trigger & 2016-01-09 16:38:11 +00:00
Kp 410b09a330 Expand macro Player_exploded 2016-01-09 16:38:10 +00:00
Kp 47190be8e9 Fold Player_exploded into Player_dead_state 2016-01-09 16:38:10 +00:00
Kp 608cfdbf07 Combine Mission::enhanced with Mission::descent_version 2016-01-09 16:38:09 +00:00
Kp 24e902d4cf Simplify find_connect_side 2016-01-03 20:21:35 +00:00
Kp 3428ea6392 Remove Show_only_curside
Show_only_curside was locked to 0 in EDITOR builds, but only EDITOR
builds could render the current side.
2016-01-03 20:21:35 +00:00
Kp 96b9f606d7 Invert game_render_frame_mono argument 2015-12-24 04:01:28 +00:00
Kp be04d3a4f9 Rewrite CLI
Remove artificial length limit on input.
Enable multi-line display of input.
2015-12-22 04:18:52 +00:00
Kp 287a74f88b Multiplex do_laser_firing_player flags 2015-12-22 04:18:52 +00:00
Kp f4a5040a60 Remove write-only Last_laser_fired_time 2015-12-22 04:18:52 +00:00
Kp 5d4bcddd4f Move common object fields to dcx::object_base 2015-12-22 04:18:50 +00:00
Kp af8876efe1 Make array optional for valptridx check_index_range 2015-12-22 04:18:50 +00:00
Kp db9fb0ed42 Move more symbols into namespace dcx/dsx 2015-12-22 04:18:50 +00:00
Kp e0a88f4b7b Move TexFilt to CCfg 2015-12-18 04:08:23 +00:00
Kp 22901a6636 Move WindowMode to CCfg 2015-12-18 04:08:23 +00:00
Kp 2b51578ba6 Use enum class for Player_dead_state (formerly Player_is_dead) 2015-12-15 04:09:35 +00:00
Kp 26e948d5f1 Uninline namespace dsx 2015-12-13 18:00:49 +00:00
Kp dc8c0323d8 Uninline namespace dcx 2015-12-13 18:00:49 +00:00
Kp 32051298ae Use inline namespace dcx/dsx for more symbols 2015-12-13 18:00:48 +00:00
Kp 8109379fdd Use inline namespace dsx for similar/misc/ 2015-12-13 18:00:48 +00:00
Kp 232cc324f9 Use inline namespace dsx for similar/arch/sdl/ 2015-12-13 18:00:48 +00:00
Kp 09eba7f48a Use inline namespace dsx for similar/arch/ogl/ 2015-12-13 18:00:48 +00:00
Kp d4857f4257 Use inline namespace dsx for similar/3d 2015-12-13 18:00:48 +00:00