taisei/src
Andrei Alexeyev b3ce65d5ac
Improve high-DPI handling (#213)
SDL_WINDOW_ALLOW_HIGHDPI is now used. On platforms where SDL supports
this flag, the window size units are interpreted as abstract scaled
points rather than raw pixels, and may not match the underlying
framebuffer resolution if the display scaling factor is not 1. The
scaling factor and the effective framebuffer resolution are now
displayed in the options menu to reflect this fact.

In addition, the hidden "fullscreen_desktop_mode" setting has been
removed and the behavior is now always as if the value was "1" (the
default). Exclusive fullscreen with modesetting is not very useful,
and does not work well on some platforms (X11 in particular). That code
is not worth maintaining together with the frankly ridiculous complexity
of dancing around with the DPI scaling shenanigans of various operating
systems.

On platforms that do not support SDL_WINDOW_ALLOW_HIGHDPI, the window
size is assumed to correspond to raw pixels, and an effort is made to
disable the operating system's DPI upscaling mechanism, when possible.

This commit also fixes the Windows manifest, broken by
dc57f78d89 thanks to microshaft's amazing
documentation.

Closes #211
2020-04-16 19:25:54 +03:00
..
audio basic way to stop a specific sound instance 2020-03-04 22:26:55 +02:00
dialog Various laser changes 2020-03-04 22:26:53 +02:00
eventloop basic "bookmark" system for skipping to specific stage portions 2020-03-04 22:26:40 +02:00
menu Improve high-DPI handling (#213) 2020-04-16 19:25:54 +03:00
pch make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
plrmodes Coroutinize YoumuA (#212) 2020-04-14 01:54:42 +03:00
projectile_prototypes Add Reimu Hakurei as a playable character (#106) 2018-08-11 22:13:48 +03:00
renderer Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
resource Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
rwops Don't redefine standard complex macro; use a new cmplx typedef 2019-11-22 05:38:48 +02:00
stages Fix various warnings 2020-03-19 05:04:11 +02:00
util Make cnormalize return 0 instead of nan 2020-04-13 14:27:56 +03:00
vfs Fix vfs_dir_list_sorted reporting bogus error when dir is empty 2020-04-09 20:35:58 +03:00
aniplayer.c make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
aniplayer.h Make animation_get_frame never return transient sprites 2020-03-04 22:26:47 +02:00
arch_switch.c make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
arch_switch.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
assert.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
boss.c stage1: implement boss appearing mid-dialogue 2020-03-04 22:26:51 +02:00
boss.h Add CANCEL_TASK_AFTER and macros for boss attacks 2020-03-04 22:25:44 +02:00
cli.c windows: detect intel's shitty driver and fall back to ANGLE 2019-09-21 16:46:22 +03:00
cli.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
color.c Don't redefine standard complex macro; use a new cmplx typedef 2019-11-22 05:38:48 +02:00
color.h add attr_returns_allocated for functions that allocate new objects 2019-08-04 01:29:41 +03:00
common_tasks.c use custom ents for Reimu; cleanup Marisa; etc. 2020-04-06 04:34:55 +03:00
common_tasks.h use custom ents for Reimu; cleanup Marisa; etc. 2020-04-06 04:34:55 +03:00
config.c Update email 2020-04-02 18:40:55 +02:00
config.h Improve high-DPI handling (#213) 2020-04-16 19:25:54 +03:00
coroutine.c Add TASK_HOST_CUSTOM_ENT and TASK_HOST_EVENTS APIs (#208) 2020-04-06 04:34:13 +03:00
coroutine.h CANCEL_TASK macro 2020-04-06 04:34:55 +03:00
credits.c Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
credits.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
dialog.c Fix various warnings 2020-03-19 05:04:11 +02:00
dialog.h New dialogue system powered by coroutines 2020-03-04 22:26:50 +02:00
difficulty.c wip stage 1 progress 2020-03-04 21:52:53 +02:00
difficulty.h wip stage 1 progress 2020-03-04 21:52:53 +02:00
drawlayers.inc.h WIP proj draw rule revamp; YoumuB revamp; misc changes; giant mess 2020-03-04 22:26:45 +02:00
dynarray.c Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
dynarray.h Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
ending.c Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
ending.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
enemy.c Coroutinize ReimuA (#199) 2020-03-13 22:54:07 +02:00
enemy.h Coroutinize ReimuA (#199) 2020-03-13 22:54:07 +02:00
entity.c Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
entity.h Coroutinize MarisaA (#206) 2020-04-01 23:08:40 +03:00
events.c Make video struct private 2019-09-11 18:42:13 +03:00
events.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
framerate.c Don't redefine standard complex macro; use a new cmplx typedef 2019-11-22 05:38:48 +02:00
framerate.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
gamepad.c random cleanup 2019-11-08 20:53:43 +02:00
gamepad.h Don't redefine standard complex macro; use a new cmplx typedef 2019-11-22 05:38:48 +02:00
global.c New RNG API, with crude semi-automatic misuse detection 2020-03-04 22:26:42 +02:00
global.h basic "bookmark" system for skipping to specific stage portions 2020-03-04 22:26:40 +02:00
hashtable.c Implement Robin Hood hashing (#200) 2020-03-17 10:09:49 +02:00
hashtable.h Implement Robin Hood hashing (#200) 2020-03-17 10:09:49 +02:00
hashtable.inc.h Fix various warnings 2020-03-19 05:04:11 +02:00
hashtable_incproxy.inc.h Text rendering rewrite and optimizations; some refactoring (#129) 2018-06-30 00:36:51 +03:00
hashtable_predefs.inc.h Implement Robin Hood hashing (#200) 2020-03-17 10:09:49 +02:00
hirestime.c make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
hirestime.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
item.c replace remaining Fade usage in non-stage code 2020-03-04 22:26:46 +02:00
item.h experimental event system for coroutine-based stages 2020-03-04 21:50:50 +02:00
laser.c Various laser changes 2020-03-04 22:26:53 +02:00
laser.h Various laser changes 2020-03-04 22:26:53 +02:00
list.c Add alist_merge_tail to efficiently merge two lists 2020-03-31 22:16:10 +03:00
list.h Add alist_merge_tail to efficiently merge two lists 2020-03-31 22:16:10 +03:00
log.c make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
log.h log: add LOG_FATAL_IF_DEBUG pseudo-level 2020-03-15 06:57:04 +02:00
main.c Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
meson.build update for building with latest emscripten 2020-04-10 06:09:36 +03:00
move.c fixup some post-rebase chaos 2020-03-04 22:26:45 +02:00
move.h add move_asymptotic_halflife 2020-03-04 22:26:52 +02:00
objectpool.c use INLINE for some more functions 2019-08-03 23:42:58 +03:00
objectpool.h add attr_returns_allocated for functions that allocate new objects 2019-08-04 01:29:41 +03:00
objectpool_fake.c make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
player.c use custom ents for Reimu; cleanup Marisa; etc. 2020-04-06 04:34:55 +03:00
player.h use custom ents for Reimu; cleanup Marisa; etc. 2020-04-06 04:34:55 +03:00
plrmodes.c Dialogue updates with dynamic facial expressions and defeated character portraits (#175) 2019-08-22 22:43:34 +03:00
plrmodes.h New dialogue system powered by coroutines 2020-03-04 22:26:50 +02:00
progress.c fix clang warnings 2020-04-05 07:41:34 +03:00
progress.h Don't redefine standard complex macro; use a new cmplx typedef 2019-11-22 05:38:48 +02:00
projectile.c add PFLAG_INDESTRUCTIBLE and PFLAG_NOAUTOREMOVE 2020-04-08 08:39:45 +03:00
projectile.h add PFLAG_INDESTRUCTIBLE and PFLAG_NOAUTOREMOVE 2020-04-08 08:39:45 +03:00
projectile_prototypes.c Upgrade several files to new RNG API 2020-03-04 22:26:44 +02:00
random.c fix non-developer build with assertions 2020-03-08 14:17:26 +02:00
random.h Fix various warnings 2020-03-19 05:04:11 +02:00
refs.c make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
refs.h Initial coroutine/task system implementation 2020-03-04 21:50:22 +02:00
replay.c Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
replay.h Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
stage.c Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
stage.h Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
stagedraw.c stagedraw: add postprocessing events 2020-04-13 14:27:57 +03:00
stagedraw.h stagedraw: add postprocessing events 2020-04-13 14:27:57 +03:00
stageobjects.c make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
stageobjects.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
stagetext.c Fix various warnings 2020-03-19 05:04:11 +02:00
stagetext.h Don't redefine standard complex macro; use a new cmplx typedef 2019-11-22 05:38:48 +02:00
stageutils.c clear up some ancient 3D confusion 2020-02-22 08:56:41 +02:00
stageutils.h clear up some ancient 3D confusion 2020-02-22 08:56:41 +02:00
taisei.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
taisei.manifest Improve high-DPI handling (#213) 2020-04-16 19:25:54 +03:00
taisei.rc.in windows: detect intel's shitty driver and fall back to ANGLE 2019-09-21 16:46:22 +03:00
taskmanager.c emscripten compatibility fixes 2019-12-18 15:33:36 +02:00
taskmanager.h add attr_returns_allocated for functions that allocate new objects 2019-08-04 01:29:41 +03:00
transition.c make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
transition.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
util.h Add generic type-safe facility for dynamic arrays (#207) 2020-04-05 05:51:00 +03:00
version.c Don't redefine standard complex macro; use a new cmplx typedef 2019-11-22 05:38:48 +02:00
version.h make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
version_auto.c.in make upkeep script preserve existing copyrights 2019-08-03 20:44:22 +03:00
video.c Improve high-DPI handling (#213) 2020-04-16 19:25:54 +03:00
video.h Improve high-DPI handling (#213) 2020-04-16 19:25:54 +03:00
video_postprocess.c New system to manage auto-resized framebuffers 2019-08-25 02:52:39 +03:00
video_postprocess.h Support full-screen custom postprocessing 2019-08-09 21:42:04 +03:00