Commit graph

6427 commits

Author SHA1 Message Date
Kp c0a8f598c2 Factor out polymodel morph switch 2015-02-28 22:34:06 +00:00
Kp c0eb4391ba Factor out polymodel draw switch 2015-02-28 22:34:06 +00:00
Kp 655dc60850 Factor out polymodel color switch 2015-02-28 22:34:06 +00:00
Kp aafe252c6d Factor out polymodel chunk switch 2015-02-28 22:34:06 +00:00
Kp 2085fcca34 Factor out record size 2015-02-28 22:34:06 +00:00
Kp e19237c105 Factor out polymodel swap switch 2015-02-28 22:34:06 +00:00
Kp 1a0f409648 Convert init_model_sub to class 2015-02-28 22:34:05 +00:00
Kp 77ec36b9c3 Convert g3_draw_morphing_model to class 2015-02-28 22:34:05 +00:00
Kp c080f65e81 Convert g3_draw_polygon_model to class 2015-02-28 22:34:05 +00:00
Kp 0ec4a876c5 Convert g3_poly_get_color to class 2015-02-28 22:34:05 +00:00
Kp a07ae16d93 Convert get_chunks to class 2015-02-28 22:34:05 +00:00
Kp 8338cc7640 Convert swap_polygon_model_data to class 2015-02-28 22:34:05 +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 335780758b Remove unused DXX_*_INPUT argument MAX_TEXT_LEN 2015-02-28 19:36:02 +00:00
Kp ec1ab45f4d Remove bogus KEY_BACKSP trap
Numbers accept KEY_BACKSP to mean value-=10.
2015-02-28 19:36:01 +00:00
Kp 3dfac8350e Use array<> for robot_info 2015-02-28 19:36:01 +00:00
Kp a9a330bf3f Use array<> for expl_wall_list
Fixes: 125d9257be ("Use special type names for segment/object numbers")
2015-02-28 19:36:01 +00:00
Kp b940ca0510 Use array<> for bogus_data 2015-02-28 19:36:01 +00:00
Kp 8ad180c0a2 Use array<> for Reactors 2015-02-28 19:36:01 +00:00
Kp 1580a274f2 Use array<> for net_udp buffers 2015-02-28 19:36:01 +00:00
Kp e440bc1b17 Move init_exploding_walls to level load 2015-02-28 19:36:01 +00:00
Kp a65533d477 Remove unused delta_light dummy 2015-02-28 19:36:01 +00:00
Kp 0ad02ad975 Remove unused piggy_game_bitmap_name 2015-02-28 19:36:01 +00:00
Kp ab942b0977 Refactor check_partial_range size lookup 2015-02-28 19:36:00 +00:00
Kp 4871b17c8f Pass array<> to remap_side_uvs 2015-02-27 03:30:33 +00:00
Kp c3b09da175 Simplify assign_light_to_side 2015-02-27 03:30:33 +00:00
Kp 291fc95fb1 Refactor and optimize assign_uvs_to_side
Use ?: to pick Stretch_scale_* value.
Mark bogosity as unlikely.
Cache vector subtraction.
Defer constructing rotation matrix.
Move uvl assignment into reusable lambda.

This also fixes clang build.  btb reports that clang chokes on:
	extern T t;
	extern const T ct;
	[]() {
		if (a)
			return ct;
		return t;
	}
with
    error: return type 'vms_matrix' must match previous return type 'const vms_matrix' when lambda expression has unspecified explicit return type

Compiler failure report: d38dd0aeef (commitcomment-9909178)
2015-02-27 03:30:33 +00:00
Kp 69fa0ee00c Centralize swap_polygon_model_data op update 2015-02-25 04:19:12 +00:00
zico 390d1746a5 Fixed conditions so positional data are not sent before the level is loaded. 2015-02-22 18:04:37 +01:00
zico 31d1ec7be4 Merge branch 'unification/master' of github.com:dxx-rebirth/dxx-rebirth into unification/master 2015-02-22 17:31:17 +01:00
zico 600d9b8685 Removed conditions for Endlevel_sequence in Multiplayer as it is not set - except for multi data where it was rather governed by NETSTAT_ENDLEVEL 2015-02-22 17:31:06 +01:00
Kp a232bbe488 Reorder objnum_remote_to_local owner check 2015-02-22 01:29:43 +00:00
Kp 31df9268bf Use C++ casts for interpreter casts 2015-02-22 01:29:43 +00:00
Kp 2fa2e17a82 Make chunk.old_base const 2015-02-22 01:29:43 +00:00
Kp 5ddab4818d Make rotate_point_list src const 2015-02-22 01:29:43 +00:00
Kp f29f5cc9b3 Fix WORDS_NEED_ALIGNMENT breaks 2015-02-22 01:29:43 +00:00
Kp 8e4493a534 Fix WORDS_BIGENDIAN breaks 2015-02-22 01:29:43 +00:00
zico afd70564e5 Gave client address as player_address for all UPID_SYNC packets so clients can properly discover their player number when (re)joining running games. Defined 0xcc as MULTI_PNUM_UNDEF for purpose of uninitialized Multiplayer client slots. 2015-02-22 01:41:02 +01:00
zico eef3dc03a7 Due to flexible size of game/lite info packets only check for maximum size of these packets 2015-02-21 18:21:34 +01:00
Kp f2fb31a120 Merge 'D1 emulation issues' into unification/master
Requested by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/38
2015-02-20 03:00:46 +00:00
Kp 110a28e137 Use 'class' for partial_range_t declaration
clang -Wmismatched-tags complains for:

struct X;
class X { ... };

Reported by btb: 68e2168377 (commitcomment-9814108)
2015-02-20 03:00:46 +00:00
Kp 9b48b43b16 Remove __attribute_warn_unused_result on gr_rle_decode
Per btb, callers currently ignore the result, causing warnings on OS X
clang, but not on gcc.  Remove __attribute_warn_unused_result for now.
2015-02-19 03:20:53 +00:00
Kp 49a7599ccf Precompute blob vertices
Per report from btb, OS X clang generates uninitialized stores when
initializing array elements from earlier array fields.
2015-02-19 03:20:52 +00:00
Kp 9f9517b5bf Fix empty body in missile viewing 2015-02-19 03:20:52 +00:00
Kp 5c476ddcc3 Fix distance calculation 2015-02-18 03:43:51 +00:00
Kp f900d4a5ee Remove RAIIdmem::operator pointer
Mac OS X defines uint_fast32_t to unsigned int, causing ambiguous
overloads between RAIIdmem::operator[](std::size_t) and
RAIIdmem::operator[](int).  Adding a disambiguating overload for OS X
breaks Windows.  Remove operator pointer and operator[].  Rely on the
inherited operator[] for indexing.  Require users to call ->get() to
convert to a simple pointer.

First btb ambiguity reported: https://github.com/dxx-rebirth/dxx-rebirth/pull/34
Second btb ambiguity reported: https://github.com/dxx-rebirth/dxx-rebirth/pull/43
2015-02-17 03:52:59 +00:00
Kp 011689f038 Move test for opening doors back down
Locked doors, including the exit door, were permanently impassable in
Descent 1 because the door has state WALL_DOOR_OPENING even after it has
flags WALL_DOOR_OPENED.

Fixes: fd01d4c673 ("Reorder wall_is_doorway to favor likely results")
Reported by: zicodxx @ https://github.com/dxx-rebirth/dxx-rebirth/issues/40
2015-02-15 17:24:55 +00:00
Kp 5a015b38e5 Add D1_MISSION_HOGSIZE2 to load_mission_d1 cases
Fixes: 33c118f999 ("Enable Int3 as d_debugbreak")
2015-02-15 17:24:55 +00:00
Kp 4ab72a4d9a Hide save/load game in non-coop multiplayer
Multiplayer non-coop cannot save, so offering the options is pointless.

Fixes: 7338bb2402 ("Extend in-game esc menu with options and saving")
Reported by: zicodxx @ https://github.com/dxx-rebirth/dxx-rebirth/issues/42
2015-02-15 17:24:54 +00:00
Kp 0f74a66063 Use uint_fast32_t for gr_box 2015-02-14 22:48:30 +00:00