Commit graph

2827 commits

Author SHA1 Message Date
Kp 39bf7c2206 Simplify apply_damage_to_controlcen time calculation 2015-09-26 21:17:13 +00:00
Kp 467c82ec31 Cache get_local_player in ai.cpp 2015-09-26 21:17:13 +00:00
Kp d6059a3abf Rework pickup of weapon powerups 2015-09-26 21:17:12 +00:00
zico a175812000 Reworded text for Descent 1 bomb counter 2015-09-26 20:45:59 +02:00
zico 69353631f0 Made missile views from friendly players optional (off by default) 2015-09-26 20:28:49 +02:00
zico db2ed6d766 Cleaned up options menu with clearer structure, added hud options under graphics menu and sorted existing items 2015-09-26 19:48:57 +02:00
John Ackerman d5c580845e Split Sensitivity into separate menus 2015-09-25 16:59:20 -05:00
John Ackerman 8128d68e3d Change friendly fire wording 2015-09-25 16:52:41 -05:00
John Ackerman aa9a5df0d4 Rearrange Advanced Hosting Menu 2015-09-25 15:31:42 -05:00
zico f8f9843f35 Mouse overrun improvements: Reduced the range of Overrun (from 32 to 16) based on feedbach and restored original mouse base divisor for mouse X/Y axes (changed in 5a36ffdb17) 2015-09-25 12:07:30 +02:00
zico d3660207d2 Added Mouse Overrun Buffer option as proposed by kp 2015-09-24 16:31:10 +02:00
Kp 609e6ca584 Flip direction of bit scan
Fixes: b1c112d121 ("Fix -Og -Wuninitialized warning in gr_internal_string_clipped_template")
2015-09-24 03:05:16 +00:00
Kp 3c29742698 Flip direction of bit scan
Fixes: fc5611dc77 ("Fix -Og -Wuninitialized warning in gr_internal_string0_template")
2015-09-24 03:05:16 +00:00
Kp da4d1e0670 Remove bool SysNoHogDir on non-unix 2015-09-22 02:28:38 +00:00
Kp 80f47ec7d9 Cache PHYSFS writedir/separator 2015-09-22 02:28:38 +00:00
Kp f9469ffe18 Fix clang warning for powerup caps 2015-09-22 02:28:38 +00:00
Kp c0e7f70638 Update reactor life text as slider moves
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/125>
2015-09-22 02:28:38 +00:00
zico b984243d8e Fixed a bunch of uninitialized object variables Valgrind complained about 2015-09-20 19:24:25 +02:00
Kp fcab519693 Remove extern for vms_vector_swap
It is only used in the interpreter.
2015-09-19 23:04:36 +00:00
Kp 7673bba50d Factor out special handling of super laser 2015-09-19 23:04:36 +00:00
Kp 155cd3c928 Remove literal snprintf 2015-09-19 23:04:35 +00:00
Kp 69e3762933 Return joystick axis values by reference 2015-09-19 23:04:34 +00:00
zico 41983dc051 Reworked Advanced Netgame Menu to fit on all possible resolutions and added tracker address to seperate line as newmenu does not really like \n (yet) 2015-09-17 13:55:19 +02:00
Kp 2f927c68f9 Improve support for using exact_type with valptridx 2015-09-15 02:48:04 +00:00
Kp 1cdd4ac2ce Pass object & to [gs]et_*_id 2015-09-15 02:48:04 +00:00
Kp be62f446f1 Use range_for for clear_stuck_objects 2015-09-15 02:48:03 +00:00
Kp ff8aab4694 Move guided missile logic to helper function
Fix original bug that tested wrong field for guided missile signature
check.
2015-09-15 02:48:03 +00:00
Kp 3823f0f414 Fix spelling errors in help text
keymoard -> keyboard
immedaitely -> immediately
2015-09-13 21:02:19 +00:00
Kp cd0b3965a4 Use little endian for control center triggers 2015-09-13 21:02:19 +00:00
Kp 888cfddabd Combine gauges left/right window boxes 2015-09-13 21:02:19 +00:00
Kp b1c112d121 Fix -Og -Wuninitialized warning in gr_internal_string_clipped_template 2015-09-13 21:02:19 +00:00
Kp fc5611dc77 Fix -Og -Wuninitialized warning in gr_internal_string0_template 2015-09-13 21:02:19 +00:00
Kp 83f77fbc48 Use fill_n to store runs of cockpitbuf TRANSPARENCY_COLOR 2015-09-13 21:02:19 +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 204b608fa6 Normalize MACH&&APPLE vs APPLE&&MACH 2015-09-13 20:23:05 +00:00
zico e0785251c4 Reset homing_object_dist along with d_homer_tick_step instead of every frame to make sure lock indicator is visible in frames where homers wait for a new chance to turn; Also moved call of calc_d_tick() to calc_frame_time() - shouldn't be nested in calc_d_homer_tick() 2015-09-10 14:11:30 +02:00
zico cbaac96324 Fixed (hacked) homing missiles fired by bots that would not track players if player with lowest objnum is dead 2015-09-10 13:19:34 +02:00
zico 6ba89b5abd If sending robot fire of a non-controlled robot, send fire packet immediately (as the comment suggests); also reformatted robot fire send/do functions to improve readability a bit 2015-09-10 13:05:10 +02:00
Kp bdbd56c024 Use C++ <cinclude> style 2015-09-09 03:27:52 +00:00
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
zico 51049794ce Break screenshot numbering on 9999 instead of 99999 due to formatting of the string (it's still enough) 2015-09-01 19:06:14 +02:00
zico dcd91636d8 Do not duplicate objects for latecoming players as they will get dups from the host 2015-09-01 19:00:33 +02: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
zico 818017398d Added a little failsafe to screenshot function to make sure the game will not cause an endless loop if savenum ever rolls over 2015-08-30 12:47:47 +02:00
zico b5ac86c4f0 Slightly modified keyboard pitch and heading sensitivity so highest setting matches the original game running at ~60 FPS 2015-08-29 15:46:03 +02:00
zico 15757d552f Added STATE_MATCEN_VERSION for reading/writing matcen_info in savestates (equal to GAME_VERSION) instead of using STATE_VERSION 2015-08-27 18:55:14 +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 4434559e8e Write old matcen_info to D1 savegames
Fixes: 92814475a9 ("Use array<> for RobotCenters")
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 cc0e29d7a2 Blank out non-robot AI on save 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 e976a823df Shorten paging_touch_robot_maker 2015-08-22 20:43:03 +00:00
Kp 0f4d38ea6d Shorten paging_touch_robot 2015-08-22 20:43:03 +00:00
Kp 6a50a904a3 Shorten paging_touch_weapon 2015-08-22 20:43:03 +00:00
Kp 9bf8b8212d Shorten paging_touch_model 2015-08-22 20:43:03 +00:00
Kp 6265431fd9 Pass & to paging_touch_vclip 2015-08-22 20:43:03 +00:00
Kp 423c1c3f10 Use range_for for fuelcen.cpp 2015-08-22 20:43:03 +00:00
Kp 64ff1cda89 Only restore non-alpha when alpha was used 2015-08-21 03:12:35 +00:00
zico 30e909226f Fixed Primary weapon info position in HiRes cockpit mode; Removed redundant vulcan ammo display in Fullscreen Alt HUD #1 2015-08-18 19:17:24 +02:00
Kp 66da9c136e Cache do_explosion_sequence Robot_info lookups 2015-08-17 02:44:56 +00:00
Kp 080e052d65 Reorder fvi_sub object tests
Change to individual continue statements to reduce number of negations.
2015-08-17 02:44:56 +00:00
Kp 2eeca09ae1 Improve create_smart_children
Use accurate squared distance instead of quick non-squared distance.
Simplify target choice loop.
2015-08-17 02:44:56 +00:00
Kp 947145a194 Simplify player-got-hit sound check 2015-08-17 02:44:56 +00:00
zico fb6ea072e4 Repositioned (non Release) HUD level time output and FPS counter to fixed positions across all cockpit modes; Slight reformat for FPS counter and added FrameTime display (in ms) if -verbose is given 2015-08-16 15:37:30 +02:00
zico 57b4bd0281 Community wish: If friendly fire is disabled, also protect players from explosion damage caused by friendly players. This also protects against splash damage caused by oneself. 2015-08-16 13:25:07 +02:00
Kp be3ab3bd81 Use range_for in PHYSFSX_checkMatchingExtension 2015-08-14 03:02:04 +00:00
Kp 655e7b6f72 Optimize clearing ConsoleObject anim_angles 2015-08-14 03:02:04 +00:00
Kp e5683593ef Expand ZERO_VECTOR inline 2015-08-13 03:15:53 +00:00
Kp 5922d3cf9e Update endlevel !SHORT_SEQUENCE code
This rotted long ago, but the fixes are easy.  Clean it up in case
someone wants to activate it.
2015-08-13 03:15:52 +00:00
Kp c4118ee014 Improve caching when duplicating items 2015-08-13 03:15:52 +00:00
Kp 17b1943c5e Mark various per-file structures as static 2015-08-12 03:11:46 +00:00
Kp bc7c469ab2 Use array<> for more globals 2015-08-12 03:11:46 +00:00
Kp fa9f2e626d Move DbgShowMemInfo to CArg
Members of Arg are not visible to common code, so common/mem/mem.cpp
broke during the -Wodr cleanup.

Reported-by: zicodxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/114>
Fixes: 6bd93e466f ("Guard args.h for LTO -Wodr")
2015-08-11 03:05:55 +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 c80d12319a Use unqualified begin/end
Most call sites use unqualified begin/end and rely on using declarations
to pick an appropriate implementation.  Fix the sites that explicitly
requested std::begin/std::end.
2015-08-03 03:11:25 +00:00
Kp 49b0868230 Fix ambiguous return when constructor inheritance is missing
gcc-4.7 (and, if constructor inheritance is suppressed, later versions)
reject

	return objnum == object_none ? vcobjptr(static_cast<objnum_t>(object_first)) : objnum;

where objnum is a cobjptridx:

similar/main/digiobj.cpp: In lambda function:
similar/main/digiobj.cpp:564:85: error: operands to ?: have different types 'valptridx<object>::vcptr' and 'valptridx<object>::cptridx'
similar/main/digiobj.cpp:564:85: error: inconsistent types '<type error>' and 'valptridx<object>::vcptr' deduced for lambda return type

Fix it by removing the ternary operator and adding an appropriate
conversion cast.
2015-08-03 03:11:25 +00:00
Kp 555ff20ae9 Move render_state.h up for gcc-4.7 static_assert
In gcc-4.7, <bits/hashtable.h> uses static_assert in a way that the
preprocessor considers to have 3 arguments.  Move render_state.h up to
ensure that <bits/hashtable.h> is included before
"compiler-static_assert.h" converts static_assert into a 2 argument
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 84bd64a14c Remove default argument for basic_ptridx(magic,array) 2015-07-29 03:05:28 +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 c9dff229f1 Remove dead AI fire leading code 2015-07-25 23:10:47 +00:00
Kp 9a5654e002 Move similar/editor/autosave.cpp -> common/editor/autosave.cpp 2015-07-25 23:10:47 +00:00
Kp c942d28197 Use accessor for grs_bitmap::bm_type 2015-07-25 23:10:47 +00:00
Kp 37a830f400 Switch AI key lookup 2015-07-25 23:10:46 +00:00
Kp b8cc2f4172 Inline multi_i_am_master 2015-07-25 23:10:46 +00:00
Kp 81abf3666b Reorder hoard kill tests 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 9bfea35e4f Use forward-declaration header for gr.h 2015-07-25 23:10:45 +00:00
Kp 3b2d6f42ab Use range_for for add_stuck_object 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 1378ec2176 Remove unused Fuelcen_refill_speed
Fixes: 0df3209fad ("Remove unused energy center capacity tracking")
2015-07-21 02:57:27 +00:00
Kp 1658e05604 Fix SDL-only build for valptridx changes
Fixes: fa8dcc9113 ("Explicitly delete basic_ptridx(pointer_type); require array")
2015-07-21 02:57:27 +00:00
Kp 61d49de324 Reduce multi_do_effect_blowup stack usage 2015-07-18 21:01:57 +00:00
Kp 8887eeb1c2 Shorten multi_do_ranking 2015-07-18 21:01:57 +00:00
Kp d4c2152009 Shorten calc_d_tick 2015-07-18 21:01:57 +00:00
Kp 9be5a4bfb6 Shorten calc_frame_time 2015-07-18 21:01:56 +00:00
Kp 82e1ea5636 Move similar/mem/mem.cpp -> common/mem/mem.cpp 2015-07-18 21:01:56 +00:00
Kp a58e8f87a0 Move similar/misc/hash.cpp -> common/misc/hash.cpp 2015-07-18 21:01:56 +00:00
Kp cfdffa184f Move similar/arch/sdl/event.cpp -> common/arch/sdl/event.cpp 2015-07-18 21:01:56 +00:00
Kp 04d9f82a50 Move similar/arch/sdl/key.cpp -> common/arch/sdl/key.cpp 2015-07-18 21:01:56 +00:00
Kp c7542fe9fc Move similar/arch/sdl/mouse.cpp -> common/arch/sdl/mouse.cpp 2015-07-18 21:01:56 +00:00
Kp d8f28a8767 Move Cfg::Grabinput to CCfg to improve code sharing 2015-07-18 21:01:56 +00:00
Kp 6bd93e466f Guard args.h for LTO -Wodr 2015-07-18 21:01:56 +00:00
Kp 921276232f Use range_for for player menu list 2015-07-18 21:01:55 +00:00
Kp 4c200342dd Use range_for for PHYSFS archive types 2015-07-18 21:01:55 +00:00
Kp cf678a23ac Pass vcsegptridx/vcsegptr to find_point_seg 2015-07-18 21:01:55 +00:00
Kp a5476c5605 Use array<> for segsize_common propagated 2015-07-18 21:01:55 +00:00
Kp 8c2ba970d3 Use vsegptr for eobject.cpp 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 1db87a6e61 Return objnum_t from get_next_object 2015-07-14 02:42:11 +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 fa805558f2 Use std::swap for ExchangeMarkandCurseg 2015-07-13 01:09:37 +00:00
Kp 1adb56f16b Make draw_mine_all static 2015-07-13 01:09:36 +00:00
Kp 73fdd59225 Require exact type for valptridx factory 2015-07-13 01:09:36 +00:00
Kp 012b65a37c Pass vcobjptridx to check_trigger 2015-07-12 01:04:22 +00:00
Kp f4ab295af8 Pass vsegptridx from propagate_textures_common 2015-07-12 01:04:22 +00:00
Kp 827e7a4b99 Pass vsegptridx to ktmap pts_aux 2015-07-12 01:04:22 +00:00
Kp e16f6bd267 Use valptr for wall.cpp 2015-07-12 01:04:21 +00:00
Kp b31f5f8946 Use valptr for switch.cpp 2015-07-12 01:04:21 +00:00
Kp 0d9781d5be Use valptr for state.cpp 2015-07-12 01:04:21 +00:00
Kp 810fb3ea4f Use valptr for render.cpp 2015-07-12 01:04:21 +00:00
Kp 14bbc17bd6 Use valptr for physics.cpp 2015-07-12 01:04:21 +00:00
Kp 201a91fc3e Use valptr for object.cpp 2015-07-12 01:04:21 +00:00
Kp b7ecb17162 Use valptr for newdemo.cpp 2015-07-12 01:04:21 +00:00
Kp 78f7d1e3a6 Use valptr for net_udp.cpp 2015-07-12 01:04:21 +00:00
Kp 09f095a225 Use valptr for multibot.cpp 2015-07-12 01:04:21 +00:00
Kp 2e85ccebad Use valptr for multi.cpp 2015-07-12 01:04:21 +00:00
Kp 8ff34ce35e Use valptr for lighting.cpp 2015-07-12 01:04:20 +00:00
Kp 2b604d6193 Use valptr for laser.cpp 2015-07-12 01:04:20 +00:00
Kp 06a7bdfd87 Use valptr for gauges.cpp 2015-07-12 01:04:20 +00:00
Kp fe42d32a89 Use valptr for gameseq.cpp 2015-07-12 01:04:20 +00:00
Kp 4c53f79a89 Use valptr for gameseg.cpp 2015-07-12 01:04:20 +00:00
Kp adfc3bb5f9 Use valptr for gamesave.cpp 2015-07-12 01:04:20 +00:00
Kp 88c0510eed Use valptr for gamerend.cpp 2015-07-12 01:04:20 +00:00
Kp 33db8ec3c6 Use valptr for gamemine.cpp 2015-07-12 01:04:20 +00:00
Kp 22de35cd1a Use valptr for gamecntl.cpp 2015-07-12 01:04:20 +00:00
Kp b20f33e705 Use valptr for game.cpp 2015-07-12 01:04:19 +00:00
Kp 53b6d25eeb Use valptr for fvi.cpp 2015-07-12 01:04:19 +00:00
Kp 374145633b Use valptr for fuelcen.cpp 2015-07-12 01:04:19 +00:00
Kp 13bcdcf0ca Use valptr for fireball.cpp 2015-07-12 01:04:19 +00:00
Kp bf589a05b7 Use valptr for endlevel.cpp 2015-07-12 01:04:19 +00:00
Kp 16bf682f47 Use valptr for dumpmine.cpp 2015-07-12 01:04:19 +00:00
Kp 8bbcf497b7 Use valptr for collide.cpp 2015-07-12 01:04:19 +00:00
Kp 2aeb6e3afd Use valptr for cntrlcen.cpp 2015-07-12 01:04:19 +00:00
Kp 05fe25b3d4 Use valptr for aipath.cpp 2015-07-12 01:04:19 +00:00
Kp f81bb22cb2 Use valptr for ai.cpp 2015-07-12 01:04:19 +00:00
Kp 2c326df217 Use valptr for kgame.cpp 2015-07-12 01:04:18 +00:00
Kp 04fc19c941 Use valptr for group.cpp 2015-07-12 01:04:18 +00:00
Kp 4f99478814 Use valptr for elight.cpp 2015-07-12 01:04:18 +00:00
Kp f7c89300e4 Use valptr for curves.cpp 2015-07-12 01:04:18 +00:00
Kp fdd2356eac Use segptridx for Cursegp, Markedsegp 2015-07-12 01:04:18 +00:00
Kp aa890e5d29 Pass only valptr_t to fuelcen_delete 2015-07-12 01:04:18 +00:00
Kp 1248f9a474 Pass only vobjptr_t to obj_detach_one 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 c10e580453 Optimize check_poke
Callers care only for zero vs. non-zero.  Return (sidemask & (1 <<
side)) to skip the test and reload to constant 1.
2015-07-12 01:04:17 +00:00
Kp 8e5bf66b5f Optimize is_door_free
Skip finding the connecting side if the first side is blocked.
2015-07-12 01:04:17 +00:00
Kp f7c6462631 Pass vcobjptr_t to check_poke 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 f20892e24f Remove write-only PlayerSegment 2015-07-10 03:22:27 +00:00
Kp 0df3209fad Remove unused energy center capacity tracking 2015-07-10 03:22:26 +00:00
Kp 8eab601e44 Make digi_sync_sounds objp const 2015-07-10 03:22:26 +00:00
Kp 4a742e3fc4 Parenthesize static_assert expression
When static_assert is a macro, it must have two arguments as seen by the
preprocessor.  Add an identity mapping to the native case to enforce
this, and fix up all the sites that break with the new rule.
2015-07-09 03:12:45 +00:00
Kp 82410f4a8c Treat death by reactor as a suicide 2015-07-05 22:06:12 +00:00
Kp 3ce967ac3d Adjust kill goal progress on suicide
Requested-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/94>
2015-07-05 22:06:12 +00:00
Kp fe360b18e3 Implement secluded spawns 2015-07-04 21:01:18 +00:00
Kp d43bbd67b1 Simplify newmenu idle 2015-07-04 21:01:17 +00:00
Kp 8f46fb3ae6 Move net_udp_more_options into class 2015-07-04 21:01:17 +00:00
Kp c03fe30fc2 Move similar/arch/sdl/timer.cpp -> common/arch/sdl/timer.cpp 2015-07-04 21:01:17 +00:00
Kp 06b453d617 Enable D1 weapon drops 2015-07-02 02:37:55 +00:00
Kp f458e5ad62 Defer rule masking into helper 2015-07-02 02:37:55 +00:00
Kp 268f9649af Fix secondary weapon text alignment
Fixes: 2d70cd65ea ("Cache font space results")
Reported-by: zico <https://github.com/dxx-rebirth/dxx-rebirth/issues/112>
2015-06-28 21:02:46 +00:00
Kp eeb644ad6f Require D1 cheat-unlock code before accepting cheats 2015-06-28 20:04:25 +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 241ea1722d Cache kconfig_read_controls FrameTime 2015-06-25 02:48:43 +00:00
Kp 83f1b1414b Cache speed_factor*FrameTime 2015-06-25 02:48:42 +00:00
Kp 882ffdebb0 Use operator?: in kconfig 2015-06-25 02:48:42 +00:00
Kp bc3a1402b2 Reduce wasted work in kconfig 2015-06-25 02:48:42 +00:00
Kp 0c106b67f2 Make convert_raw_joy_axis static 2015-06-23 03:04:47 +00:00
Kp 108d22fc80 Avoid remultiplying netgame info y 2015-06-21 22:30:28 +00:00
Kp 8600fb9fcb Rework rule display 2015-06-21 22:30:28 +00:00
Kp 4bcec0c578 Factor out netgame info base y 2015-06-21 22:30:27 +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 968cdbecf4 Add non-aborting UserError for user-caused fatal errors 2015-06-16 03:15:40 +00:00
Kp 2a62fa7d78 Make Spawn invulnerability a slider in 0s-4s 2015-06-13 22:42:22 +00:00
Kp a64a08fd6c Raise kill goal limit to 100 2015-06-13 22:42:22 +00:00
Kp e3308be8b9 Cache font LINE_SPACING 2015-06-13 22:42:22 +00:00
Kp fc730cb6b0 Cache multi_do_light side array 2015-06-13 22:42:22 +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 c8ce2c32de Simplify extract_shortpos_little 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 ce72014e2e Always parse WORDS_BIGENDIAN and !WORDS_BIGENDIAN 2015-06-13 22:42:21 +00:00
Kp 215e2dca81 Remove unused libpng support
HAVE_LIBPNG has not been set since 2004 when
3325c0b52b ("remove old OSX bundle stuff")
commented out the autoconf check to set it.
2015-06-13 22:42:21 +00:00
Kp 2d70cd65ea Cache font space results 2015-06-13 22:42:20 +00:00
Kp 78f6dc29a6 Cache font scale Y float 2015-06-13 22:42:20 +00:00
Kp 5573ed6bea Cache font scale X float 2015-06-13 22:42:20 +00:00
Kp 404e7e1d63 Shorten kmatrix_redraw 2015-06-13 22:42:20 +00:00
Kp f788de2e9f Avoid repeated strlen while truncating gauge name 2015-06-13 22:42:20 +00:00
Kp 869d0ffdc5 Optimize gr_get_string_size
Cache cv_font.
Defer updating longest_width.
Compute line height once at the end.
2015-06-13 22:42:20 +00:00
Kp b2887abd51 Cache globals in hud_show_cloak_invuln 2015-06-13 22:42:20 +00:00
Kp 379a2a32b7 Use operator?: for similar gr_printf in gauges 2015-06-13 22:42:19 +00:00
Kp caf40e279e Enable tail-call from close_wall_window 2015-06-13 22:42:19 +00:00
Kp 7b7bfe14a5 Enable tail-call to redraw_current_object 2015-06-13 22:42:19 +00:00
Kp c1455cfea9 Use template for object page functions 2015-06-13 22:42:19 +00:00
Kp 7b1e774cb8 Hack around buggy clang constant warning
clang whines that static_assert(A && B) uses && with a constant operand,
but this is necessary and correct, because static_assert only takes
compile-time constant expressions.  However, !!A && !!B does not warn.
Switch to !!A && !!B to silence the clang whining.

similar/main/collide.cpp:2566:63: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
 static_assert(collision_result_t<OBJ_WALL, OBJ_ROBOT>::value && collision_result_t<OBJ_ROBOT, OBJ_WALL>::value, "OBJ_WALL" " " "OBJ_ROBOT");
2015-06-13 22:42:19 +00:00
Kp 420c2adee1 Simplify editor lighting 2015-06-13 22:42:19 +00:00
Kp fe3dae1508 Use valptr for texpage highest_valid 2015-06-13 22:42:19 +00:00
Kp 994350f752 Use valptr for state highest_valid 2015-06-13 22:42:19 +00:00
Kp b07704ef45 Use valptr for seguvs highest_valid 2015-06-13 22:42:19 +00:00
Kp 2154f8e442 Use valptr for segment highest_valid 2015-06-13 22:42:19 +00:00
Kp f98e884fdf Use valptr for paging highest_valid 2015-06-13 22:42:18 +00:00
Kp 94a86326b5 Use valptr for ogl highest_valid 2015-06-13 22:42:18 +00:00
Kp a4d3c55fe4 Use valptr for object highest_valid 2015-06-13 22:42:18 +00:00
Kp ac5d5b879a Use valptr for newdemo highest_valid 2015-06-13 22:42:18 +00:00
Kp 4a8f836a3d Use valptr for net_udp highest_valid 2015-06-13 22:42:18 +00:00
Kp 71e7432290 Use valptr for multibot highest_valid 2015-06-13 22:42:18 +00:00
Kp 546f361c5f Use valptr for multi highest_valid 2015-06-13 22:42:18 +00:00
Kp 438a1a4bee Use valptr for medwall highest_valid 2015-06-13 22:42:18 +00:00
Kp c3ba75cd22 Use valptr for meddraw highest_valid 2015-06-13 22:42:18 +00:00
Kp 3d323dd194 Use valptr for lighting highest_valid 2015-06-13 22:42:17 +00:00
Kp adcd8d7fa7 Use valptr for ksegsize highest_valid 2015-06-13 22:42:17 +00:00
Kp fc46612114 Use valptr for kbuild highest_valid 2015-06-13 22:42:17 +00:00
Kp 41b71fd214 Use valptr for group highest_valid 2015-06-13 22:42:17 +00:00
Kp bbb0b225b4 Use valptr for gameseq highest_valid 2015-06-13 22:42:17 +00:00
Kp a8e1e504ef Use valptr for gameseg highest_valid 2015-06-13 22:42:17 +00:00
Kp 3c748c2418 Use valptr for gamesave highest_valid 2015-06-13 22:42:17 +00:00
Kp be34e5a959 Use valptr for gamemine highest_valid 2015-06-13 22:42:17 +00:00
Kp 1bbfe3e830 Use valptr for gamecntl highest_valid 2015-06-13 22:42:17 +00:00
Kp 8042d6c120 Use valptr for game highest_valid 2015-06-13 22:42:17 +00:00
Kp 9d5bc102ab Use valptr for fuelcen highest_valid 2015-06-13 22:42:17 +00:00
Kp 32f256311d Use valptr for eobject highest_valid 2015-06-13 22:42:16 +00:00
Kp b9d6c577be Use valptr for endlevel highest_valid 2015-06-13 22:42:16 +00:00
Kp 742971711f Use valptr for elight highest_valid 2015-06-13 22:42:16 +00:00
Kp c5bd78f4bc Use valptr for dumpmine highest_valid 2015-06-13 22:42:16 +00:00
Kp a53a348f09 Use valptr for cntrlcen highest_valid 2015-06-13 22:42:16 +00:00
Kp 4c5ce566ef Use valptr for automap highest_valid 2015-06-13 22:42:16 +00:00
Kp cda5cb160c Use valptr for aipath highest_valid 2015-06-13 22:42:16 +00:00
Kp 1f9650d402 Use valptr for ai highest_valid 2015-06-13 22:42:16 +00:00
Kp 9125ae32cd Make objnum unsigned 2015-06-13 22:42:15 +00:00