Commit graph

2357 commits

Author SHA1 Message Date
Kp e8d5992797 Remove unused CENTER_STRING_LENGTH 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 0bed5d4727 Rewrite simple HMIDIOUT casts from C style to reinterpret_cast<>
s/(\(HMIDIOUT\))(/reinterpret_cast<\1>(/g
2016-07-08 04:14:59 +00:00
Kp 95d3a9d31c Rewrite simple DWORD casts from C style to static_cast<>
s/(\(DWORD\))(/static_cast<\1>(/g
2016-07-08 04:14:59 +00:00
Kp c8e8c568ff Add parentheses around target of simple HMIDIOUT casts
s/(\s*HMIDIOUT\s*)\s*\([&+-]\?\)\([[:alnum:]_.]\+\s*->\s*\)*\([[:alnum:]_.]\+\)\(\s*\([];+>)*\/^%,|&<>]\)\|$\|\(\s*-\s*[^>]\)\)/(HMIDIOUT)(\1\2\3)\4/g
2016-07-08 04:14:58 +00:00
Kp 2bc994e673 Add parentheses around target of simple DWORD casts
s/(\s*DWORD\s*)\s*\([&+-]\?\)\([[:alnum:]_.]\+\s*->\s*\)*\([[:alnum:]_.]\+\)\(\s*\([];+>)*\/^%,|&<>]\)\|$\|\(\s*-\s*[^>]\)\)/(DWORD)(\1\2\3)\4/g
2016-07-08 04:14:58 +00:00
Kp 59fb7fa4cb Convert hmp casts from C style to reinterpret_cast<> 2016-07-07 03:08:13 +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 b6fd8572d1 Simplify ui_radio_set_value loop 2016-07-06 01:54:25 +00:00
Kp e92a7aea14 Use C++ static_cast for gadget downcast 2016-07-06 01:54:25 +00:00
Kp 37d6a652c9 Remove useless casts in box.cpp 2016-07-06 01:54:24 +00:00
Kp d32afbdac5 Rewrite simple unsigned int casts from C style to static_cast<>
s/(unsigned int)\s*(/static_cast<uint32_t>(/g
2016-07-06 01:54:24 +00:00
Kp b0a2205a4e Convert various pointer casts to reinterpret_cast 2016-07-06 01:54:24 +00:00
Kp 275355994d Remove useless scanline casts 2016-07-06 01:54:24 +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 b35a893d9a Rewrite simple pointer casts from C style to reinterpret_cast<>
s/(\s*\(\w\+\s*\*\+\)\s*)\s*(/reinterpret_cast<\1>(/g
2016-07-03 00:54:15 +00:00
Kp efce2e50dc Rewrite simple integer casts from C style to static_cast<>
s/(\s*\(u\?int[[:digit:]]\+_t\s*\)\s*)\s*(/static_cast<\1>(/g
2016-07-03 00:54:15 +00:00
Kp 19f31eb420 Rewrite simple pointer casts from C style to reinterpret_cast<>
This pass only targets int8_t and uint8_t.

s/(\s*\(u\?int8_t\s*\*\+\)\s*)\s*(/reinterpret_cast<\1>(/g
2016-07-03 00:54:14 +00:00
Kp a7ceee3c03 Add parentheses around target of simple unsigned char casts
C casts do not require parentheses.  C++ casts require grouping around
the target.  Prepare for conversion to C++ casts by adding otherwise
unnecessary parentheses around the target of simple C casts.

s/(\s*unsigned\s\+char\s*\(\*\+\)\s*)\s*\([&+-]\?\)\([[:alnum:]_.]\+\s*->\s*\)*\([[:alnum:]_.]\+\)\(\s*\([];+>)*\/^%,|&<>]\)\|$\|\(\s*-\s*[^>]\)\)/(uint8_t \1)(\2\3\4)\5/g
2016-07-03 00:54:14 +00:00
Kp c7953a3df1 Fix Win32 use of static_cast where reinterpret_cast is needed 2016-07-02 02:04:11 +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
Kp 89ddc1b911 Add parentheses around casts of simple array subscripts
C casts do not require parentheses.  C++ casts require grouping around
the target.  Prepare for conversion to C++ casts by adding otherwise
unnecessary parentheses around the target of simple C casts.

s/\((\s*\(\(un\)\?signed\|int\|char\|short\|long\|float\|double\|s\?size_t\|\(u\?int[[:digit:]]\+_t\)\)\s*\**\s*)\s*\)\([&+-]\?\)\([[:alnum:]_.]\+\s*->\s*\)*\([[:alnum:]_.]\+\)\(\s*\[[^][]*\]\)*\(\s*\([];+>)*\/^%,|&<>]\)\|$\|\(\s*-\s*[^>]\)\)/\1(\5\6\7\8)\9/g
2016-06-25 23:21:36 +00:00
Kp 65f68877aa Rewrite simple integer casts from C style to static_cast<>
This pass only targets commonly used standard types.

s/(\(\s*\(\(un\)\?signed\|int\|char\|short\|long\|float\|double\|s\?size_t\|\(u\?int[[:digit:]]\+_t\)\)\)\s*)\s*(/static_cast<\1>(/g
2016-06-16 03:56:44 +00:00
Kp 0cb099c5e4 Add parentheses around casts of simple function calls
C casts do not require parentheses.  C++ casts require grouping around
the target.  Prepare for conversion to C++ casts by adding otherwise
unnecessary parentheses around the target of simple C casts.

Exclude float|double from the second substitution.  Including it
rewrites medmisc.cpp in an incorrect way, and excluding it does not
exclude any valid rewrites.

s/(\(int\|signed\|float\|double\|long\|short\|unsigned\))\s*\(\w\+\s*(\s*\w\+\s*)\)/(\1)(\2)/
s/(\((\(int\|signed\|long\|short\|unsigned\))(\w\+\s*(\s*\w\+\s*))\))/\1/g
2016-06-16 03:56:44 +00:00
Kp 1b12a3f7ef Add parentheses around target of more complicated casts
C casts do not require parentheses.  C++ casts require grouping around
the target.  Prepare for conversion to C++ casts by adding otherwise
unnecessary parentheses around the target of some C casts.

This pass attempts to process expressions that involve parenthesized or
bracketed subexpressions, but only if those subexpressions do not
themselves contain parenthesized or bracketed subexpressions.

	(int) f(1);	// changed
	(int) f(g());	// not changed

perl -p -i -e 's/(\(\s*((?:un)?signed|int|char|short|long|float|double|s?size_t|(?:u?int[[:digit:]]+_t))\s*\**\s*\)\s*)([&+-]?)([[:alnum:]_.]+\s*->\s*)*([[:alnum:]_.]+)((?:\s*(?:\[[^][]*\])*|(?:\([^()]*\))*))(\s*([;+>*\/^%,|&<>])|$|(\s*-\s*[^>]))/\1\(\3\4\5\6\)\7/g'
2016-06-12 03:45:37 +00:00
Kp bc30ccd216 Rewrite cast of (sbyte) to standard type int8_t
s/(sbyte)\s*\(\w\)/(int8_t) \1/g
2016-06-12 03:45:37 +00:00
Kp 17d71ee0ae Rewrite cast of (uint) to standard type uint32_t
s/(uint)\s*\(\w\)/(uint32_t) \1/g
2016-06-12 03:45:37 +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 231223895d Rewrite simple pointer casts from C style to reinterpret_cast<>
This pass only targets commonly used standard types.

s/(\(\s*\(\(un\)\?signed\|int\|char\|short\|long\|float\|double\|s\?size_t\|\(u\?int[[:digit:]]\+_t\)\)\s*\*\)\s*)\s*(/reinterpret_cast<\1>(/g
2016-06-05 01:04:26 +00:00
Kp b282bea173 Rewrite simple integer casts from C style to static_cast<>
This pass only targets commonly used standard types.

s/(\(\s*\(\(un\)\?signed\|int\|char\|short\|long\|float\|double\|s\?size_t\|\(u\?int[[:digit:]]\+_t\)\)\)\s*)\s*(/static_cast<\1>(/g
2016-06-05 01:04:26 +00:00
Kp 4324ed3771 Fix scanline casts when sizeof(size_t) is not sizeof(void*) 2016-06-05 01:04:26 +00:00
Kp 7fdce88558 Add parentheses around target of simple casts
C casts do not require parentheses.  C++ casts require grouping around
the target.  Prepare for conversion to C++ casts by adding otherwise
unnecessary parentheses around the target of simple C casts.

This pass does not attempt to process expressions that involve
any subexpression that can nest arbitrarily, such as parentheses or
brackets.  It also works only on commonly used standard types.

	(int) a->b;	// changed
	(int) a[b];	// not changed

s/\((\s*\(\(un\)\?signed\|int\|char\|short\|long\|float\|double\|s\?size_t\|\(u\?int[[:digit:]]\+_t\)\)\s*\**\s*)\s*\)\([&+-]\?\)\([[:alnum:]_.]\+\s*->\s*\)*\([[:alnum:]_.]\+\)\(\s*\([];+>)*\/^%,|&<>]\)\|$\|\(\s*-\s*[^>]\)\)/\1(\5\6\7)\8/g
2016-06-05 01:04:25 +00:00
Kp b31446340c Rewrite cast of (ubyte*) to standard type uint8_t
s/(\s*ubyte\s*\*\s*)/(uint8_t *)/g
2016-06-05 01:04:25 +00:00
Kp 73b7905125 Fix -Wshadow warning in get_event (Windows only)
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
2016-06-01 01:52:45 +00: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
zico a8ed0aaa9c Added breaks in event.cpp to prevent unwanted events if -nomouse and/or -nojoystick is given; Added automap_apply_input() to prevent multiple inputs per frame causing multiple movement applications. 2016-05-30 13:17:42 +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 82a8f6ebb0 Pass bm_mode to gr_init_bitmap 2016-05-28 17:31:27 +00:00
Kp 3c5add9d0e Pass bm_mode to gr_init_bitmap_alloc 2016-05-28 17:31:27 +00:00
Kp 86122120b7 Pass bm_mode to gr_init_canvas 2016-05-28 17:31:27 +00:00
Kp dcc56e6b39 Propagate bm_mode::linear into iff_read_bitmap 2016-05-28 17:31:27 +00:00
Kp c00f918a8e Propagate bm_mode::linear into bald_guy_load 2016-05-28 17:31:26 +00:00
Kp 3fb16c1d7a Propagate bm_mode::linear into pcx_read_bitmap 2016-05-28 17:31:26 +00:00
Kp 398596c468 Use enum for bitmap mode 2016-05-28 17:31:26 +00:00
Kp a0cc2bfc7e Pass canvas to ogl_upixelc 2016-05-28 17:31:26 +00:00
Kp 2dfd87f276 Move OGL_VIEWPORT assignments above glViewport 2016-05-28 17:31:26 +00:00
Kp 4a3abb3ca3 Cache src values in gr_ubitmap00 2016-05-28 17:31:26 +00:00
Kp bbda32f78d Make cv_fade_level unsigned 2016-05-28 17:31:26 +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
Kp 5b3a36e6b8 Remove valptridx operator-(P *, A &) 2016-04-06 03:34:13 +00:00
Kp ae722cbb8b Shorten maybe_send_z_move 2016-04-03 17:50:42 +00:00
Kp 1789643480 Remove UserError on unknown MED function
Jayman2000 reports that users who do not update their MED.MNU after
updating to 8b61b9f ("Remove unused symbols") receive an "editor crash"
on startup.  This is not a crash, but instead is poor error handling in
menubar.cpp, which calls UserError instead of ignoring the offending
line.  Calls to UserError are fatal, but do not crash the program.
Replace that call with a con_printf(CON_URGENT) and ignore the line.

Additionally, change the handling for excess menus and for excess menu
items to con_printf+ignore instead of UserError.

Reported-by: Jayman2000 <https://github.com/dxx-rebirth/dxx-rebirth/pull/190>
Fixes: 8b61b9f0db ("Remove unused symbols")
2016-04-03 17:50:42 +00:00
Kp fb6db67d94 Include file+line in UserError output 2016-04-03 17:50:42 +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