Kp
1060c8fabb
Move player::net_kills_total to player_info
2016-11-12 18:10:07 +00:00
Kp
411b623aa7
Move player::net_killed_total to player_info
2016-11-12 18:10:07 +00:00
Kp
248dd5c309
Move player::hostages_rescued_total to player_info
2016-10-15 00:53:19 +00:00
Kp
f21abc94cb
Move player::hostages_on_board to player_info
2016-10-15 00:53:19 +00:00
Kp
e721fc56da
Move player::last_score to player_info
2016-10-15 00:53:19 +00:00
Kp
ecb91955ae
Move player::score to player_info
2016-10-15 00:53:19 +00:00
Kp
00ccd3f6f6
Move Delayed_secondary into Secondary_weapon
2016-10-02 00:34:43 +00:00
Kp
335f24ac31
Move Primary_weapon to player_info
2016-08-28 22:41:49 +00:00
Kp
b7a5f65d5b
Move Secondary_weapon to player_info
2016-08-28 22:41:48 +00:00
Kp
e7b881e5e6
Move Secondary_last_was_super into player_info
2016-08-28 22:41:48 +00:00
Kp
adf5e57b47
Move Primary_last_was_super into player_info
2016-08-28 22:41:47 +00:00
Kp
8248438ffa
Move Omega_charge to player_info
2016-08-28 22:41:47 +00:00
Kp
c772385f81
Fix check_header_includes=1 Linux build
2016-08-06 19:55:24 +00:00
Kp
ea65c74ba9
Move last_player_bump into player_info.Last_bumped_local_player
2016-07-25 03:48:08 +00:00
Kp
8a46462846
Move lavafall_hiss_playing into player_info
2016-07-24 04:04:25 +00:00
Kp
f2ecb6401a
Simplify do_powerup_frame tests
2016-07-16 16:52:04 +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
1551443eff
Fix -Wshadow warnings in macro check_warn_object_type
2016-05-21 17:24:51 +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
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
97219697a7
Make check_warn_object_type work without gcc ({}) extension
2016-03-05 17:26:24 +00: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
Kp
8e86a3586d
Use #ifdef dsx to guard dsx namespace
2016-01-09 16:38:15 +00:00
Kp
0be0475309
Move valptridx array highest to base class
2016-01-09 16:38:14 +00:00
Kp
f48eddeece
Block direct changes to Highest_object_index
...
Route updates through helper functions.
2016-01-09 16:38:12 +00:00
Kp
5d4bcddd4f
Move common object fields to dcx::object_base
2015-12-22 04:18:50 +00:00
Kp
26e948d5f1
Uninline namespace dsx
2015-12-13 18:00:49 +00:00
Kp
dc8c0323d8
Uninline namespace dcx
2015-12-13 18:00:49 +00:00
Kp
e549f3451e
Use inline namespace dsx for object.h
2015-12-05 22:57:25 +00:00
Kp
b683b4cc68
Scope weapon type
2015-12-03 03:26:49 +00:00
Kp
31d538ebe2
Use helper for robot weapon type
2015-12-03 03:26:48 +00:00
Kp
0c75aecc45
Check most uses of object id
2015-11-27 03:56:13 +00:00
Kp
266a2aecdb
Extend check_warn_object_type to report always-wrong cases
2015-11-27 03:56:12 +00:00
Kp
bdbc129d14
Optimize out some object type warnings
2015-11-26 02:56:56 +00:00
Kp
9f26e2211e
Warn on invalid object ID access
2015-11-26 02:56:56 +00:00
Kp
44753209d6
Move homing_object_dist to object.ctype.player_info
2015-11-14 18:17:22 +00:00
Kp
52051c427b
Move invulnerable_time to object.ctype.player_info
2015-11-14 18:17:21 +00:00
Kp
9eb8aba4c9
Move cloak_time to object.ctype.player_info
2015-11-14 18:17:21 +00:00
Kp
6b353cb9ac
Move player powerup_flags to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
8a81e25ab0
Move player laser_level to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
b788d0b563
Move player primary_weapon_flags to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
8d6949efa6
Move player killer_objnum to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
6037372cdf
Move player vulcan_ammo to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
e227ef1b32
Move player secondary_ammo to object.ctype.player_info
2015-11-07 21:55:58 +00:00
Kp
6fd6436f14
Move player energy to object.ctype.player_info
2015-11-07 21:55:58 +00:00
Kp
2196008178
Move fwdobject.h -> fwd-object.h for consistency
2015-10-10 03:44:14 +00:00
Kp
b48efd0c56
Initialize the largest subobjects in object unions
2015-09-22 02:28:38 +00:00
Kp
1cdd4ac2ce
Pass object & to [gs]et_*_id
2015-09-15 02:48: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
745de17c41
Use T::index_type for highest_valid
2015-07-13 01:09:36 +00:00
Kp
06b453d617
Enable D1 weapon drops
2015-07-02 02:37:55 +00:00
Kp
3b54c50230
Use std::bitset for laser hitobj mask
2015-06-06 18:03:45 +00:00
zico
b04282e791
Using one global yet independent timeer for homing missiles similar to d_tick instead of having one in each missile object. Also decreased HOMING_TURNING_TIME to 25 FPS base
2015-05-30 18:29:41 +02:00
zico
7ba3d1317b
Isolated all of the homing code into time-depending condition determined by track_turn_time and added track_turn_tick to make target re-discovery dependent on the individual missile tracking instead of global d_tick_count
2015-05-28 15:22:40 +02:00
Kp
9dc22b1ee6
Expand DXX_CXX11_EXPLICIT_DELETE
...
Various functions use the non-macro form, so support for =delete is
already mandatory. Remove the remnants of support for compilers which
lack =delete and replace it with a hard stop when the compiler rejects
declaring explicitly deleted functions.
2015-05-01 02:18:33 +00:00
Kp
b32298df5a
Rewrite powerup cap code to centralize logic
2015-04-19 04:18:53 +00:00
Kp
adbefd39c4
Minimize unnecessary fields passed to check_effect_blowup
2015-04-19 04:18:52 +00:00
Kp
51ab9ff9d6
Simplify DXX guard on object.h
2015-04-19 04:18:52 +00:00
Kp
efc5b071de
Remove object_rw::pad, pad2
...
The presence of these fields breaks network compatibility between
aligned and unaligned users. Removing these fields breaks the ability
to use aligned savegames. Per discussion in
<fdaa09d7f9
>,
this is acceptable to clean up the code.
Reported-by: derhass <http://www.dxx-rebirth.com/frm/index.php/topic,1986.msg21232.html >
Approved-by: zico <fdaa09d7f9 (commitcomment-10575014)
>
2015-04-04 23:20:12 +00:00
Kp
90fbebf8fd
Convert most global arrays to array<>
2015-04-02 02:36:52 +00:00
Kp
b32d1c76c9
Move powerup size reset into set_powerup_id
2015-03-28 17:18:02 +00:00
Kp
91d31b1952
Wrap object signature in subtype
2015-03-22 18:49:21 +00:00
Kp
d1f45f85b2
Wrap submodel angles
2015-02-14 22:48:28 +00:00
Kp
bb60f64001
Undefine object instances at construction
2015-01-28 03:42:52 +00:00
Kp
9ffd958d3d
Create window_rendered_data locally
2014-12-18 04:12:38 +00:00
Kp
88101f8f57
Move object declarations to fwdobject.h
2014-11-23 04:36:58 +00:00
Kp
7e3c7a413a
Pass obj_create_copy vector by const &
2014-11-01 03:06:04 +00:00
Kp
95c3dc81e6
Pass drop_marker_object arg by &
2014-10-30 03:19:32 +00:00
Kp
53aa70cecb
Use vsegptridx_t
2014-10-28 03:08:51 +00:00
Kp
2a5265493e
Pass obj_create position vms_vector by &
2014-10-26 21:35:16 +00:00
Kp
f08224e4ee
Move [gs]_*_id object helpers down
2014-10-25 16:11:23 +00:00
Kp
b95759aecc
Propagate use of objptridx
2014-08-23 23:53:56 +00:00
Kp
66cb80c343
Propagate use of objptridx
2014-08-17 20:31:18 +00:00
Kp
915b78b5e1
Add vvalptridx_t for always-valid valptridx values
2014-08-13 03:19:12 +00:00
Kp
125d9257be
Use special type names for segment/object numbers
2014-08-13 02:57:12 +00:00
Kp
553f17a3be
Initialize MarkerObject properly
2014-08-05 03:10:04 +00:00
Kp
d667772b21
Move valptridx operator- into DEFINE_VALPTRIDX_SUBTYPE
2014-08-02 00:46:56 +00:00
Kp
bd1c6d8c5d
Reduce header includes of physfsx.h
2014-07-22 23:48:23 +00:00
Kp
082bb43ede
Fold valptridx_t features into template
2014-07-13 03:43:32 +00:00
Kp
c1aebe6771
Remove unused OBJ_FLARE
2014-07-12 16:38:33 +00:00
Kp
fa24a40033
Move Highest_object_index into Objects[]
2014-07-06 03:34:43 +00:00
Kp
08546489c3
Require integral index to Objects[]
2014-07-06 03:34:43 +00:00
Kp
da1bd2fd08
Precompute collision tables
2014-06-24 03:40:31 +00:00
Kp
f6631ce742
Unpack various structures
...
Prohibit conversion to void* to avoid accidental use with memcpy
2014-06-21 23:56:27 +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
da8e5459d6
Return objptridx_t from obj_create_copy
2014-01-12 19:32:10 +00:00
Kp
599af3e1ba
Return objptridx_t from obj_allocate
2014-01-12 19:14:16 +00:00
Kp
377626541d
Pass objptridx_t to render_object
2014-01-11 23:06:33 +00:00
Kp
70b8a2bb6d
Disallow using operator-(objptridx_t,Objects)
...
Implicit conversions made this work, but it just does extra work for no gain.
2014-01-11 22:50:07 +00:00
Kp
8cbd85a77d
Unpack laser_info to fix build on old compilers
2014-01-11 21:51:29 +00:00
Kp
fca105e95d
Pass objptridx_t to create_small_fireball_on_object
2014-01-11 17:25:26 +00:00
Kp
a0ac77569b
Pass objptridx_t to obj_delete
2014-01-11 17:22:11 +00:00
Kp
0b820e1e7b
Pass objptridx_t to object_move_one
2014-01-11 17:19:22 +00:00
Kp
f1a6757693
Use objptridx_t for obj_create
2014-01-10 03:20:11 +00:00
Kp
9a5d0f6f09
Use symbolic values for segment/object first/none
2014-01-06 04:17:55 +00:00
Kp
8218af34b5
Add special type to let obj_*link take either pointer or index
2014-01-03 04:04:04 +00:00
Kp
094dfbf3d4
Reduce header inclusions
2013-12-31 03:22:03 +00:00
Kp
d7d052857a
Use bitmask for hitobj_list
...
Reduces sizeof(laser_info) from 392 to 80.
2013-12-31 03:22:03 +00:00
Kp
cf7a3edee3
Move object::rtype up to improve packing
2013-12-29 04:54:22 +00:00
Kp
745633eabe
Use vector to allow rendering unlimited robots
2013-12-29 04:54:08 +00:00
Kp
dd583e9c2b
Add packed *_rw versions of object subfields
2013-12-29 00:32:58 +00:00
Kp
073f00974a
Eliminate uses of the typedef struct X { ... } X; pattern
...
C++ does not require this pattern.
import re, fileinput
to = re.compile(r'^typedef struct ([a-z_A-Z]+)\s*{')
tc = re.compile(r'^}(.*?)\s*([a-z_A-Z]+);$')
osn = None
for line in fileinput.input(inplace=True):
m = to.match(line)
if m:
osn = m.group(1)
print 'struct %s\n{' % osn
continue
if osn:
m = tc.match(line)
if m:
csn = m.group(2)
if osn == csn:
print '}%s;' % m.group(1)
osn = None
continue
else:
osn = None
print line,
2013-12-28 22:48:07 +00:00
Kp
67ad7811bd
Remove unused physics_info::brakes
2013-12-28 22:47:46 +00:00
Kp
8c63ad4d09
Use dedicated type for Objects[] array
2013-12-25 23:49:04 +00:00
Kp
1e8036bd24
Split compiler.h for PCH compatibility
2013-12-21 05:12:38 +00:00
Kp
8c74708ad4
Improve layout of D2 powerup_info
2013-12-18 04:51:46 +00:00
Kp
9776827a33
Make Objects[] a C++ array
2013-12-18 04:51:46 +00:00
Kp
2ce15e5703
Remove unused extern object variables
2013-12-15 01:59:05 +00:00
zico
2e407fa5a8
Removed short packets and added segment number to quaternion structure
2013-12-09 14:00:23 +01:00
Kp
c3dd634cce
Remove unused flag OF_HARMLESS
2013-12-07 18:41:35 +00:00
Kp
9de54cfa74
Switch to C++ linkage
...
import fileinput
guard = 0
cxxguard = '#ifdef __cplusplus\n'
for line in fileinput.input(inplace=True):
if line == cxxguard:
guard = 1
continue
if guard:
if line == 'extern "C" {\n':
guard = 2
continue
if line == '}\n':
guard = 0
continue
if guard == 2:
assert(line == '#endif\n')
guard = 0
print cxxguard,
continue
print line,
2013-12-06 03:35:32 +00:00
Kp
541961a2f7
Make Object_type_names const
2013-11-28 00:27:43 +00:00
Kp
5b0c4b10ac
Use accessor for most get/set object->id accesses
2013-10-20 22:49:09 +00:00
Kp
852a4c7f4d
Use enum weapon_type_t in more places
2013-10-19 17:06:16 +00:00
Kp
584fc93f34
Move similar/main/automap.c -> similar/main/automap.cpp
2013-10-05 21:35:58 +00:00
Kp
b4107e6526
Remove duplicate declarations
2013-10-03 03:11:52 +00:00
Kp
c58c4e4d06
Move declarations to headers
2013-10-03 03:11:52 +00:00
Kp
e23035e61f
Move Last_afterburner_time into laser_info
2013-08-31 17:17:35 +00:00
Kp
16039a3f99
Remove unused extern global hitobj_list
2013-08-27 02:44:09 +00:00
zico
bbaa3c21f3
HAMERS! Wait 33ms between each turn of a homing missile projectile, only scale turns if FPS are below 30
2013-08-08 00:29:56 +02:00
Kp
a1ba420031
Mark various parameters and variables as const
2013-07-20 23:12:24 +00:00
Kp
8a153d1f63
Allow common headers with private dependencies to be used in common
2013-03-24 20:32:01 +00:00
Kp
ea2cd17e70
Move */main/object.h -> common/main/object.h
2013-03-03 01:03:33 +00:00