Commit graph

157 commits

Author SHA1 Message Date
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 070444157e Use type safe player flags 2015-10-30 02:52:55 +00:00
Kp cc345aa83d Simplify demo cloak/invul processing 2015-10-30 02:52:54 +00:00
Kp 6b831b08ec Update demo caching variables sooner 2015-10-30 02:52:54 +00:00
Kp 64c161c4b2 Remove unnecessary zero of .invulnerable_time 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 b0541daf19 Remove dead code in D1 demo fixup 2015-10-18 21:01:21 +00:00
Kp ed668b611f Record start time in demo 2015-10-18 21:01:20 +00:00
Kp 533f1cb3bb Qualify references to primary weapons 2015-10-18 21:01:18 +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 80e98ce2d3 Fix invalid access reading demos 2015-09-26 21:17:14 +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 bdbd56c024 Use C++ <cinclude> style 2015-09-09 03:27:52 +00:00
zico 1aeb8505ee Rearranged some calls of start_time() and stop_time() (+ limited usage to single functions) to make sure time_paused does not go out of balance 2015-08-30 14:04:59 +02:00
Kp bda7fef3a0 Use get_local_player to compute reference to local player 2015-07-25 23:10:46 +00:00
Kp 70c4cc87ab Use forward-declaration header for weapon.h 2015-07-25 23:10:45 +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 b7ecb17162 Use valptr for newdemo.cpp 2015-07-12 01:04: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 ac5d5b879a Use valptr for newdemo highest_valid 2015-06-13 22:42:18 +00:00
Kp 58c8b17619 Use helper for reading 16-bit segments 2015-05-28 03:08:40 +00:00
Kp bb79e50656 Fix definition of newdemo_record_effect_blowup
Fixes: 9a32e151ff ("Pass check_effect_blowup vms_vector arg by &")
2015-05-28 03:08:40 +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 adbefd39c4 Minimize unnecessary fields passed to check_effect_blowup 2015-04-19 04:18:52 +00:00
Kp c338862ad6 Reduce gauges.h includes 2015-04-19 04:18:51 +00:00
Kp 84c638ed64 Move PHYSFS_list_t to separate header 2015-04-19 04:18:49 +00:00
Kp 6b6eaef226 Include polyobj.h from robot.h
Swap the inclusion order since all robots are polyobjects, but not all
polyobjects are robots.
2015-04-02 02:36:57 +00:00
Kp 2f86499144 Remove do_cockpit_window_view unused parameters 2015-04-02 02:36:57 +00:00
Kp 90fbebf8fd Convert most global arrays to array<> 2015-04-02 02:36:52 +00:00
Kp 91d31b1952 Wrap object signature in subtype 2015-03-22 18:49:21 +00:00
Kp 7bf49fe551 Fix clang -Wmissing-braces warnings 2015-03-22 18:49:21 +00:00
Kp 9ddea5f570 Reduce lifetime of Args 2015-03-22 18:49:20 +00:00
Kp 2c09f9fa90 Propagate special types for distance/magnitude 2015-03-12 02:21:19 +00:00
Kp 0684444765 Fix Windows build
Fixes: 07869d9dba ("Add automatic demo recording")
2015-02-28 22:34:07 +00:00
Kp 07869d9dba Add automatic demo recording
Various users want automatic demo recording.  Add new command line options:
	-auto-record-demo	start recording on level entry
	-record-demo-format	set demo name automatically

For -record-demo-format, specify a template containing any mix of strftime
insertions, variable insertions, and literal text.  As a special case, specify
"." to use the builtin template "%Y%m%d.%H%M%S-$p-$m".  Most users should use
".".  Supported variables:
	$p	name of pilot recording the demo
	$m	name of msn/mn2 file played

Suggested by jeffersoncarpenter in https://github.com/dxx-rebirth/dxx-rebirth/pull/33, but implemented by vLKp.
2015-02-28 19:36:02 +00:00
Kp 004e1371d6 Split valid/nonvalid cases of do_cockpit_window_view 2015-02-14 22:48:28 +00:00
Kp 03576a28c2 Pass PHYSFSX_* file extensions as counted array 2015-02-14 22:48:28 +00:00
Kp 99a4a0ed62 Capture range_for by-value temporaries as const
Modifying a by-value temporary does not affect the underlying container,
so modifying it is almost always a bug.  Require use of a by-reference
capture when modification is desired.

sed -i -e 's/range_for\s*(\s*\(const\s\+\)\?auto\s\+\([[:alpha:]_]\)/range_for (const auto \2/g'
2015-02-05 03:03:49 +00:00
Kp 7b0442e238 Fix crash on start of demo playback
PHYSFSX_openReadBuffered returns an RAIIPHYSFS_File, but infile was a
PHYSFS_file.  This caused the file to close instantly, leaving infile
dangling.
2015-01-29 00:56:21 +00:00
Kp 0ecea9717f Fix crash on end of demo recording 2015-01-29 00:52:35 +00:00
Kp 3ee97b1dcd Fix crash on start of demo recording
PHYSFSX_openWriteBuffered returns an RAIIPHYSFS_File, but outfile was a
PHYSFS_file.  This caused the file to close instantly, leaving outfile
dangling.
2015-01-29 00:45:18 +00:00
Kp 18a64e4281 Use RAII for PHYSFS_enumerateFiles result 2015-01-23 03:55:05 +00:00
Kp c6664a45a6 Add newmenu_do helper for array<newmenu_item, N> 2015-01-18 01:58:32 +00:00
Kp fa10e51999 Add helper nm_item_text 2015-01-18 01:58:31 +00:00
Kp f8163957ef Add helper nm_item_input 2015-01-18 01:58:31 +00:00
Kp f7815810e8 Use RAIIPHYSFS_File to manage PHYSFS_File
Fixes a few leaks on error paths.
2015-01-17 18:31:42 +00:00
Kp 68d705a85a Use bool conversion to test PHYSFS_File pointer 2015-01-17 18:31:42 +00:00
Kp fbac119095 Propagate use of objptridx_t 2014-12-23 04:20:27 +00:00
Kp b0b2704961 Allocate ND_EVENT_VIEWER_OBJECT objects from Objects 2014-12-14 21:02:40 +00:00
Kp 9ee9e176c8 Convert newdemo.cpp to use range_for 2014-12-14 05:23:01 +00:00
Kp 16113a2908 Propagate for variable in newdemo 2014-12-14 05:23:00 +00:00
Kp 227dab543c Combine shortpos scan loop 2014-12-14 05:23:00 +00:00
Kp a622aecd58 Pass vcobjptridx_t to digi_ functions 2014-12-13 17:47:06 +00:00
Kp a17cf6f808 Avoid slicing into objnum_t local 2014-11-20 03:00:41 +00:00
Kp 2c349136cc Avoid slicing into segnum_t local 2014-11-20 03:00:36 +00:00
Kp 1bb1c0ad33 Fix build break for objptr->objptridx conversions 2014-11-11 04:12:10 +00:00
Kp d408faf532 Pass nd_read_angvec arg by & 2014-11-01 14:57:25 +00:00
Kp e047d6c2b3 Pass nd_read_vector arg by & 2014-11-01 14:57:05 +00:00
Kp 1aaa08bf33 Pass nd_write_vector arg by & 2014-11-01 14:56:53 +00:00
Kp 53aa70cecb Use vsegptridx_t 2014-10-28 03:08:51 +00:00
Kp b9d1628f32 Pass nd_write_angvec arg by & 2014-10-27 03:24:08 +00:00
Kp 44bd07d031 Make polymodel->n_models unsigned 2014-10-26 22:51:27 +00:00
Kp 9a32e151ff Pass check_effect_blowup vms_vector arg by & 2014-10-26 21:36:35 +00:00
Kp ad452193ad Remove unused hostage_rescue parameter hostage_number 2014-10-17 02:05:37 +00:00
Kp 7f648c0f5f Wrap segment iteration idiom 2014-10-12 23:10:05 +00:00
Kp fb641b3250 Wrap object iteration idiom 2014-10-12 23:05:46 +00:00
Kp 99f681c8ea Pass vm_vector_2_matrix arg by & 2014-10-01 02:28:42 +00:00
Kp 4104bf4f11 Pass vm_vec_scale_add arguments by & 2014-09-28 21:43:14 +00:00
Kp 0b2636d535 Pass vm_vec_add2 arguments by & 2014-09-28 21:43:00 +00:00
Kp 74925e9b45 Pass vm_vec_scale dest by & 2014-09-28 21:11:05 +00:00
Kp a620a59bda Pass vm_vec_normalize_quick v by & 2014-09-28 21:11:04 +00:00
Kp 703f60ac3f Fix -Wtype-limits warnings 2014-09-21 21:41:55 +00:00
Kp d312248d45 Return int_fast32_t from find_connect_side 2014-09-06 04:06:18 +00:00
Kp 66cb80c343 Propagate use of objptridx 2014-08-17 20:31:18 +00:00
Kp 125d9257be Use special type names for segment/object numbers 2014-08-13 02:57:12 +00:00
Kp db2dc1ed38 Reduce newdemo_read_frame_information segnum scope
At broad scope, gcc complains about potential uninitialized usage.
2014-08-01 03:34:08 +00:00
Kp 6826e966a7 Use unique_ptr for Current_mission 2014-07-22 23:48:23 +00:00
Kp bd1c6d8c5d Reduce header includes of physfsx.h 2014-07-22 23:48:23 +00:00
Kp c69ff037d6 Remove useless self assignment 2014-07-16 03:25:28 +00:00
Kp 5c30b2fefd Use operator= instead of memcpy 2014-07-05 19:25:41 +00:00
Kp 44d1924e96 Use special type for player callsign 2014-07-05 19:20:56 +00:00
Kp 8eccadd28a List initialize newdemo structures 2014-07-04 04:14:22 +00:00
Matt Vandermeulen 28f307eb85 Fixes #5 - Byteswap header renamed to byteutil, plus sed magic
[Kp: switch to #pragma for byteutil.h]
2014-07-03 02:03:08 +00:00
Kp 2e95d8c0a8 Use array<> for Walls 2014-06-20 02:59:53 +00:00
zico ad7cb106bc Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
Kp a2427f58b5 Use special type to reduce pointer/index conversions 2014-01-12 19:32:12 +00:00
Kp 89a383e6a9 Pass objptridx_t in newdemo.cpp 2014-01-12 01:44:07 +00:00
Kp 9a5d0f6f09 Use symbolic values for segment/object first/none 2014-01-06 04:17:55 +00:00
Kp 67e1c7fef4 Require integral types to newdemo_read 2014-01-01 03:47:37 +00:00
Kp a7d87134db Only use newdemo_write on integral types 2014-01-01 03:46:08 +00:00
Kp 094dfbf3d4 Reduce header inclusions 2013-12-31 03:22:03 +00:00
zico 5f005baa3b Added MULTI_EFFECT_BLOWUP to remotely blast switches connected to triggers, ensuring sync and preventing misguided (i.e. delayed) player fire accidentially make puzzles or game progress impossible 2013-12-19 13:48:33 +01:00
Kp 76b4a6c57e Avoid memcpy on object 2013-12-18 04:51:46 +00:00
Kp 9776827a33 Make Objects[] a C++ array 2013-12-18 04:51:46 +00:00
Kp 2d0c64ffb8 Fix generation of demo filename
Broken in cb4fd7c1b4 by removal of dot from DEMO_EXT.
2013-12-18 03:43:40 +00:00