Kp
b1e19ac667
Move Buddy_last_seen_player to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
bd1cce0cc3
Move Buddy_sorry_time to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
ee584f1f37
Move Last_buddy_polish_path_tick to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
9e3c5ec272
Move Last_buddy_key to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
b34e7bae24
Move Buddy_gave_hint_count to d_unique_buddy_state
...
Fix original bug that buddy was limited to 5 hints per program run, not
5 per boss as it probably should have been.
Due to savegame format limitations, this still is not right. Reloading
the game should restore Buddy_gave_hint_count to its value at save time,
but will not.
2019-03-03 00:31:08 +00:00
Kp
58d59da9d2
Move Escort_goal_object to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
926afe73d5
Move Looking_for_marker to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
ace3313dc3
Move Buddy_messages_suppressed to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
c3cead4319
Move Escort_goal_index to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
c02bee26d6
Move Buddy_allowed_to_talk to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
420464549b
Move Buddy_objnum to d_unique_buddy_state
2019-03-03 00:31:08 +00:00
Kp
1008ab397e
Move Objects to d_level_unique_object_state
2019-03-03 00:31:08 +00:00
Kp
a36eb1d52c
Only use update_laser_weapon_info for quad laser change
...
Regular laser level changes are already tracked and handled separately.
2019-03-03 00:31:08 +00:00
Kp
5d99ec361d
Simplify copy_defaults_to_robot
...
Write the shields once at the end.
2019-03-03 00:31:07 +00:00
Kp
fec16daca4
Generate unique starfield per level
2019-02-02 18:36:39 +00:00
Kp
7bcbaae230
Tighten protection against grs_bitmap bm_data confusion
...
Bitmaps based on grs_main_bitmap own their data. Bitmaps based on
grs_bitmap do not. Adjust prototypes to prevent initializing a
grs_main_bitmap with data it will not own.
2019-02-02 18:36:39 +00:00
Kp
ba442b99bd
Fix potential memory leak in grs_main_bitmap move-assignment
2019-02-02 18:36:39 +00:00
Kp
47a6f744d8
Factor out vms_quaternion_from_matrix division
2019-02-02 18:36:39 +00:00
Kp
ad6b857cf2
Move most laser_info fields to dcx
2019-02-02 18:36:39 +00:00
Kp
4e1bbc0759
Improve Windows exception strings
2019-02-02 18:36:39 +00:00
Kp
12403a78f7
Pass vcvertptr to sphere_intersects_wall
2019-02-02 18:36:39 +00:00
Kp
ffb5e8821c
Flatten use of sphere_intersects_wall
2019-02-02 18:36:39 +00:00
Kp
d7e85e0cff
Move Boss_gate_segs, Boss_teleport_segs to d_level_shared_boss_state
2019-02-02 18:36:39 +00:00
Kp
05244122bd
Tighten input for set_segment_depths
2019-02-02 18:36:39 +00:00
Kp
84fa2cde4a
Move Num_fuelcenters to d_level_unique_fuelcenter_state
2019-02-02 18:36:39 +00:00
Kp
943e0a8b5f
Move Station to d_level_unique_fuelcenter_state
2019-02-02 18:36:39 +00:00
Kp
919580eaa9
Move RobotCenters to d_level_shared_robotcenter_state
2019-02-02 18:36:39 +00:00
Kp
7558795edd
Fix sharepath confusion when building both targets
...
Processing sharepath in SConf is incorrect, because targets can share a
build directory (and therefore an SConf run), but not share a sharepath.
Move sharepath handling out of SConf. Move DXX_USE_SHAREPATH handling
from CGameArg to GameArg, since one game can be built with a sharepath
while the other is built without.
2019-01-20 05:36:56 +00:00
Kp
5d12f62d77
Omit p3_{u,v,l} from OpenGL builds
...
These are write-only for OpenGL. All reads are in SDL-only code.
Remove them to save 3 ints of space in every g3s_point.
2019-01-01 04:54:35 +00:00
Kp
a472f04035
Only test warn_func
when it can be nullptr
2019-01-01 04:54:35 +00:00
Kp
0080a8b7c7
Remove unused object_intersects_wall
2019-01-01 04:54:35 +00:00
Kp
a02ad8b164
Move Robot_joints to d_level_shared_robot_joint_state
2018-12-30 00:43:59 +00:00
Kp
1e549a02d4
Move Num_tmaps to d_level_unique_tmap_info_state
2018-12-30 00:43:59 +00:00
Kp
1f18db3c39
Move TmapInfo to d_level_unique_tmap_info_state
2018-12-30 00:43:59 +00:00
Kp
12c06e59aa
Move N_robot_types into LevelSharedRobotInfoState
2018-12-30 00:43:59 +00:00
Kp
e84a65edc6
Move Robot_info into LevelSharedRobotInfoState
2018-12-30 00:43:59 +00:00
Kp
03fe3a6696
Move Polygon_models into LevelSharedPolygonModelState
2018-12-30 00:43:59 +00:00
Kp
df0692bbea
Move morph_objects into LevelUniqueMorphObjectState
2018-12-30 00:43:58 +00:00
Kp
4c7555216a
Move Dynamic_light into LevelUniqueLightState
2018-12-30 00:43:58 +00:00
Kp
69c02efe1d
Simplify g3s_codes
2018-12-30 00:43:58 +00:00
Kp
6ee28c3fe0
Move Triggers to d_level_unique_trigger_state
2018-12-30 00:43:58 +00:00
Kp
bc78afc3a2
Remove write-only D1 trigger::link_num
2018-12-30 00:43:58 +00:00
Kp
4b125af449
Move ActiveDoors to d_level_unique_active_door_state
2018-12-30 00:43:58 +00:00
Kp
865bad8607
Move CloakingWalls to d_level_unique_cloaking_wall_state
2018-12-30 00:43:58 +00:00
Kp
9be3c8e2e8
Move Walls into d_level_unique_wall_state
2018-12-30 00:43:58 +00:00
Kp
b3cd7588ef
Move Delta_lights into d_level_shared_destructible_light_state
2018-12-30 00:43:58 +00:00
Kp
46644b4e91
Move Dl_indices into d_level_shared_destructible_light_state
2018-12-30 00:43:58 +00:00
Kp
b08dac2971
Simplify handling warning function
2018-12-30 00:43:58 +00:00
Kp
040de5b10e
Rename ObjectState to LevelUniqueObjectState for consistency
2018-12-30 00:43:57 +00:00
Kp
e7e4970ba5
Move Vertex_active out of global scope
2018-12-30 00:43:57 +00:00
Kp
1a5844e218
Move Vertices out of global scope
2018-12-30 00:43:57 +00:00
Kp
5873ccb71e
Pass vcvertptr as context
2018-12-30 00:43:57 +00:00
Kp
317c56d683
Expand Highest_vertex_index inline
...
This will make future conversions easier.
2018-12-30 00:43:57 +00:00
Kp
65225680c1
Move Num_vertices into d_level_shared_vertex_state
2018-12-30 00:43:57 +00:00
Kp
f87c503618
Move Viewer_eye to local scope
2018-12-30 00:43:57 +00:00
Kp
045afc2c56
Prefer const shared_segment &
over vcsegptr_t
2018-12-30 00:43:57 +00:00
Kp
2f537133e8
Use vcobjidx_t for fvi ignore_obj_list
...
Enforce that callers provide vcobjidx_t, instead of permitting any type
compatible with objnum_t.
2018-12-30 00:43:57 +00:00
Kp
aa9e6da297
Pass Dl_indices as context
2018-12-30 00:43:57 +00:00
Kp
25ecf31816
Pass context to bng_process_segment
2018-12-30 00:43:57 +00:00
Kp
7ffe09dd46
Pass context to wall_close_door_ref
2018-12-30 00:43:57 +00:00
Kp
a9a9d1f26a
Move WALL_IS_DOORWAY out of line
...
Writing it inline causes wall.h to depend on segment.h.
2018-12-30 00:43:57 +00:00
Kp
992f35feb8
Expand Num_walls to Walls.get_count()
...
This will simplify propagating use of Walls.
2018-12-13 02:31:39 +00:00
Kp
9745236c7e
Expand Num_triggers to Triggers.get_count()
...
This will simplify propagating use of Triggers.
2018-12-13 02:31:39 +00:00
Kp
8425e75e62
Factor out RAII_Windows_DynamicSharedObject::Load common logic
2018-12-13 02:31:39 +00:00
Kp
e8fdf2b669
Pass context to wall update functions
2018-12-13 02:31:38 +00:00
Kp
d550cfe680
Remove struct side
2018-12-13 02:31:38 +00:00
Kp
706a704c6d
Move unique_side to unique_segment
2018-12-13 02:31:38 +00:00
Kp
1d550ec0df
Fix check_header_includes=1 build
2018-12-13 02:31:38 +00:00
Kp
5a64ee5132
Add experimental support for larger cooperative games
...
- Raise the player limit to 8.
- Remove the logic that forces player counts up/down when switching
between cooperative and deathmatch game modes.
- Add heuristics to add start positions for the extra players, since
standard maps will not have the required number of starts.
2018-12-03 04:25:11 +00:00
Kp
35d91d389a
Raise player life count storage from uint8_t to uint16_t
...
Reported-by: Buff Skeleton <https://forum.dxx-rebirth.com/showthread.php?tid=1096 >
2018-12-01 01:58:37 +00:00
Kp
a0ed5cb283
Pass Vclip as context
2018-10-21 00:24:07 +00:00
Kp
991f72a775
Add fwd-vclip.h
2018-10-21 00:24:07 +00:00
Kp
931ea05f41
Merge branch experimental/adlmidi into master
...
Add experimental support for using ADL MIDI instead of SDL for music
playback. Support for ADL MIDI contributed by Github user jpcima. This
feature is minimally supported by the core Rebirth team, but is included
as a courtesy so that users need not patch in support separately.
Suggested-by: jpcima <https://github.com/dxx-rebirth/dxx-rebirth/pull/408 >
2018-10-18 02:19:15 +00:00
Kp
a76487405c
Make ADL MIDI runtime configurable
...
Add configuration file entries for number of chips, bank index, and
whether to use ADL MIDI. Currently, there is no GUI for this.
Interested users must enable it via direct configuration file editing.
A menu interface will come later.
2018-10-18 02:18:56 +00:00
Kp
1be414217c
Add build time flag to choose whether to enable ADL MIDI support
...
Since ADL MIDI is not packaged on some distributions, default the option
to off.
2018-10-15 00:51:53 +00:00
Kp
1b50c31f55
Rework ADL dynamic loader
...
- Use the Windows type `HMODULE` on Windows, and define a local alias to
it on non-Windows. This makes the code slightly clearer about the
nature of the value `handle`.
- Move the `dlopen` emulation into the anonymous namespace to encourage
inlining, since the wrappers are trivial name/signature compatibility
functions.
- Move the error reporting out of the template function, so that it is
not redundantly instantiated for each type used with the template.
2018-10-15 00:51:53 +00:00
Kp
d9034ea609
Remove explicit =nullptr
in ADL function pointers
...
Global data will default to nullptr, so the initialization is
unnecessary. Some compilers may store the pointer in `.data` when it is
initialized to any value.
2018-10-15 00:51:53 +00:00
Kp
915bf4e0ba
Remove unused adl_openBankFile
2018-10-15 00:51:53 +00:00
Kp
e1d1cbb0ed
Pass context to set_powerup_id
2018-10-08 03:58:48 +00:00
Kp
e9c9943470
Pass context to update_object_seg
2018-10-08 03:58:48 +00:00
Kp
9360a41816
Move Guided_missile into d_level_object_state
2018-10-08 03:58:48 +00:00
JP Cimalando
ccb91d7362
allow libADLMIDI to be loaded dynamically
2018-10-08 05:02:02 +02:00
JP Cimalando
00a57d5a28
fix how the adlmidi music is looped
2018-10-05 14:23:43 +02:00
JP Cimalando
ba8c8ac5a7
apply a few changes as suggested by @vLKp
2018-10-05 14:20:13 +02:00
JP Cimalando
cabe06e895
WIP ADLMIDI
2018-10-04 12:06:27 +02:00
Kp
3b168b38fd
Make Viewer
const object *
...
Viewing should not change anything.
2018-09-25 03:44:09 +00:00
Kp
91d6285751
Factor out shortening game/mission names
2018-09-22 04:31:21 +00:00
Kp
406be26de4
Pass d_level_shared_segment_state to validate_segment_all
2018-09-19 02:13:30 +00:00
Kp
f7ad4d9b1a
Pass segments to find_point_seg
2018-09-19 02:13:30 +00:00
Kp
c2944896de
Pass vertex factory to create_shortpos_native
2018-09-19 02:13:30 +00:00
Kp
9cedc53f52
Pass vertex factory to extract_orient_from_segment
2018-09-19 02:13:30 +00:00
Kp
1527785efd
Pass vertex factory to validate_segment_side
2018-09-19 02:13:29 +00:00
Kp
d71938e1a7
Pass vertex factory to create_walls_on_side
2018-09-19 02:13:29 +00:00
Kp
bd58d5f825
Pass vertex factory to extract_*_vector_from_segment
2018-09-19 02:13:29 +00:00
Kp
82a2fa525c
Pass Robot_info, valptridx factories to more methods
2018-09-19 02:13:29 +00:00
Kp
01512015a8
Move Num_segments to new d_level_shared_segment_state
2018-09-19 02:13:29 +00:00
Kp
c56223ced4
Eliminate more uses of valptridx::operator->
2018-09-19 02:13:29 +00:00
Kp
56d44459d4
Enable SHAREPATH for non-LinuxPlatformSettings
2018-09-14 02:20:55 +00:00
Kp
e6ea981ab4
Generalize marker object number init
2018-09-09 01:00:39 +00:00
Kp
c4cb930f8e
Pass ObjectState to obj_delete
2018-09-09 01:00:39 +00:00