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