Kp
57780e0450
Move window_is_visible,window_set_visible to be window methods
...
Shrink w_visible to uint8_t. Move it to pack better.
2021-11-01 03:37:18 +00:00
Kp
8eafbe6197
Shrink window::w_modal to uint8_t
2021-11-01 03:37:18 +00:00
Kp
3cca690728
Assign weakly-typed symbolic names to ogl_ubitmapm_cs special cases
2021-11-01 03:37:18 +00:00
Kp
7bb55dff22
Remove dead computations in ogl_ubitmapm_cs
2021-11-01 03:37:18 +00:00
Kp
961aae074a
Remove unused ogl_ubitmapm_cs argument scale
...
Every caller passes `F1_0`. Remove the argument, and propagate its
results through the function.
2021-11-01 03:37:18 +00:00
Kp
50d2b14aed
Move WinBoxOverlay+deccpt into a common structure
...
cockpit_decode_alpha::deccpt has static scope and is retained to support
the data in WinBoxOverlay. Change WinBoxOverlay into a structure that
stores deccpt (and rename it to the more descriptive
`decoded_full_cockpit_image`) to keep the pieces together.
2021-11-01 03:37:18 +00:00
Kp
1a08ecc8c6
Remove window subfunction types
...
These were type safety mechanisms, which are obsolete now that all
window handlers are implemented through virtual function dispatch.
2021-10-13 02:37:51 +00:00
AlumiuN
7a90b1461d
Fix rendering of "classic reboot" crosshair
2021-10-12 15:20:27 +13:00
C.W. Betts
b42ab2aa2f
Update fireball.cpp
...
Add include optional.
Fixes build failure on macOS.
2021-09-22 15:11:42 -06:00
Kp
49dee72766
Preserve type of vm_vec_mag return value
...
Defer converting to `fix` until necessary.
2021-09-19 10:53:48 +00:00
Kp
87f7f8dcd6
Simplify player enumeration in do_powerup
2021-09-19 10:53:48 +00:00
Kp
04d1d577c1
Simplify powerup velocity setup
...
Avoid computing a random velocity on objects which are then forced to
zero velocity.
2021-09-19 10:53:48 +00:00
Kp
192988b004
Use enum class for weapon_info::persistent
2021-09-19 10:53:48 +00:00
Kp
21c530a3e2
Use enumerated_array for difficulty-level-specific arrays
2021-09-19 10:53:48 +00:00
Kp
7fc8c736b3
Pass Powerup_info to multi_prep_level_objects, filter_objects_from_level
2021-09-19 10:53:48 +00:00
Kp
c01a51fd8b
Remove PlayMovie special case for .MVE
...
Only one caller needed this special case. Remove the special case, and
adjust that caller to include the `.MVE` as a static suffix on its
inputs.
2021-09-19 10:53:48 +00:00
Kp
a0be3a8344
Factor out do_briefing_screens calls in ShowLevelIntro
...
The special cases do not need to be quite so special.
2021-09-19 10:53:48 +00:00
Kp
83fe347a03
Pass canvas to briefing functions
2021-09-19 10:53:48 +00:00
Kp
6a2b31cc6e
Use padding of msgstream to store the required null byte
...
This avoids needing to make temporary local variables to place a null
terminator.
2021-09-19 10:53:48 +00:00
Kp
e973dc0c4c
Move small briefing members earlier in the structure
2021-09-19 10:53:48 +00:00
Kp
4e75f8a933
Pass canvas to scores_view_menu
2021-09-19 10:53:48 +00:00
Kp
ba8e51f187
Take scores_menu border from parent canvas instead of screen
...
Currently, the parent canvas is the screen, so this is a no-op for now,
but may be useful later when the caller passes in an arbitrary canvas.
2021-09-19 10:53:48 +00:00
Kp
211a1b071a
Adjust scores_menu dimensions to include its background
2021-09-19 10:53:48 +00:00
Kp
39d5c9a0c1
Cache high score position values
...
Avoid recomputing the same scaled values for every item.
2021-09-19 10:53:48 +00:00
Kp
855697bf5d
Make font scaling constructors explicit
2021-09-19 10:53:48 +00:00
Kp
2cff18c114
Prepare scores_menu strings at construction time
...
Switch from formatting the strings each time they are drawn to format
them once and save them in scores_menu. Change the drawing logic to
draw from those saved strings. Change the reset logic to reinitialize
those strings instead of recreating the entire menu.
2021-09-19 10:53:48 +00:00
Kp
6b01c49b9e
Lift out scores_draw_item computation of y coordinate
2021-09-19 10:53:48 +00:00
Kp
87f47c9f0e
Use std::replace to convert to monospace '1'
2021-09-19 10:53:48 +00:00
Kp
b05905ab4d
Delegate score comma handling to std::locale
2021-09-19 10:53:48 +00:00
Kp
04cfd817c3
Cache scores variables
2021-09-19 10:53:48 +00:00
Kp
e618851449
Pass canvas to savegame_chooser_newmenu
2021-09-19 10:53:48 +00:00
Kp
70169c4921
Compute briefing window dimensions from caller's canvas
2021-09-19 10:53:48 +00:00
Kp
4d11ad18a6
Compute movie_pause_window dimensions from parent window
2021-09-19 10:53:48 +00:00
Kp
b9b7ca06b4
Compute movie window position from containing canvas
...
This generates the same result for now. If a canvas other than the
screen were used, this will do the right thing, while the prior version
would not.
2021-09-19 10:53:48 +00:00
Kp
284a55ad3a
Add 0.25 second sleep to movie pause dialog
...
Otherwise, pausing the movie puts the game into a hard CPU spin until
the pause is ended.
2021-09-19 10:53:48 +00:00
Kp
dfc51fd822
Remove newmenu updates of grd_curcanv
...
They are no longer needed.
2021-09-19 10:53:48 +00:00
Kp
5491630142
Pass canvas to ogl_texture_stats
2021-09-19 10:53:48 +00:00
Kp
aba5fce3a9
Use enum class for gr fade_level
2021-09-19 10:53:48 +00:00
Kp
5caa4755b1
Shrink gr_blend to uint8_t
...
Larger values are not needed.
2021-09-19 10:53:48 +00:00
Kp
0216cdc68d
Derive title screen dimensions from canvas
2021-09-19 10:53:48 +00:00
Kp
07c52f14f9
Save parent canvas in listbox_layout
2021-09-12 16:20:52 +00:00
Kp
bef23a3894
Use newmenu's parent canvas in newmenu_draw
...
Avoid resetting to screen canvas.
2021-09-12 16:20:52 +00:00
Kp
8d67bcddb0
Record parent canvas in newmenu
...
Use it to avoid resetting to the screen canvas when preparing the
layout.
2021-09-12 16:20:52 +00:00
Kp
f9fa374ab4
Zero-initialize d_loaded_subtitle_state::Subtitles in debug builds
...
This provides uniform values, which will encourage the debugger to
collapse unused entries in its output.
2021-09-12 16:20:52 +00:00
Kp
bb29e6fca8
Propagate canvas through more layers
2021-09-12 16:20:52 +00:00
Kp
8623ce3c6a
Pass canvas to ogl_draw_vertex_reticle
2021-09-12 16:20:52 +00:00
Kp
1ddac148a9
Use local canvas for 3d op_flatpoly
2021-09-12 16:20:52 +00:00
Kp
3c37552e5b
Use enum class bm_mode for grs_bitmap::type
2021-09-12 16:20:52 +00:00
Kp
2bbfc78ab9
Draw guidebot menu on escort_menu canvas
...
Previously, the guidebot menu was given the full screen dimensions and
drew on only part of them, allowing the rest of the screen to be visible
due to not repainting it. Change to make the escort_menu window the
size that the user sees.
2021-09-12 16:20:52 +00:00
Kp
e7aa9855e0
Compute menu border widths from screen canvas instead of screen
...
In practice, this should be the same result. However, this allows the
flexibility to use a canvas other than the screen.
2021-09-12 16:20:52 +00:00