Commit graph

2686 commits

Author SHA1 Message Date
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