Commit Graph
22 Commits
Author SHA1 Message Date
phantom10111 3266fda819 GameState: Expose GetPlayerFailType() to Lua
FailType for a given Player can be overriden with respect to preferences, but
Lua has no way to check it. Expose a function to allow doing that, in order to
not accidentally submit invalid scores to GrooveStats.
2025-01-20 10:03:52 -08:00
phantom10111 daad1a2333 Windows: Mark executable as DPI aware
When any scaling other than 100% is set for a display, Windows will
automatically scale any DPI unaware applications. This leads to ITGmania being
unusable in fullscreen mode, as parts of the screen are cut off. Add a DPI
aware indication to the manifest to prevent this from happening. Note that
ITGmania won't actually adjust its rendering to the new DPI, it will just
prevent the automatic scaling.
2024-06-17 22:45:48 -07:00
phantom10111 b365dcd65d PulseAudio: Hold mainloop lock during GetPosition() call
Mainloop lock needs to be held to access PulseAudio object from outside the
event loop thread, in particular in GetPosition() calls. Otherwise we might hit
a race condition and have the call fail. There's also a possibility that the
call might randomly fail if it's called before first timing data is received
for the stream, so handle that case as well.

Also fix the stream write callback to call Mix() with correct parameters, as
well as do the work in a loop in case pa_stream_begin_write() returns smaller
memory buffer than was requested.
2024-05-11 10:26:50 -07:00
phantom10111 bbf556450d X11: Don't call any X11 functions on fatal error
If X11 functions are called after a fatal error then it just triggers the fatal
error handler again eventually leading to stack overflow.
2024-05-11 09:46:26 -07:00
phantom10111 481161574e PulseAudio: Report actual audio playback position
PulseAudio driver used to report position of last frame written to audio stream
instead of actual playback position. This kind of worked, since on average the
write position doesn't diverge too much from actual elaped time, but it can
result in note stuttering and in general isn't very accurate. Change the
implementation to use actual playback position from PulseAudio stream.

Remove some compatibity code with old PulseAudio, since version 0.9.10 was
released in 2008.

Also, as an optimization to avoid unnecessary memory copying, use
pa_stream_begin_write() to mix audio directly into PulseAudio memory.
2024-04-12 22:40:41 -07:00
phantom10111 cacaded0cd Windows: Set console output codepage to UTF-8 2024-04-12 22:40:09 -07:00
phantom10111 3df79a3f11 Windows: Remove old mapconv and verinc project files
mapconv is being built by CMake so no need to keep its project files in the
repo. verinc isn't used anymore so it can be removed completely.
2024-04-12 22:40:09 -07:00
phantom10111 58a45d91f4 Windows: Compile with /utf-8 flag
Add /utf-8 flag to compilation on MSVC. This flag makes sure that source files
and static strings included in the application are UTF-8 strings.
2024-04-12 22:40:09 -07:00
phantom10111 9a55cb99c1 Windows: Add manifest with UTF-8 code page specification
On Windows 10 versions starting with 1903, this manifest will allow Win32 -A
family of functions to accept UTF-8 strings as arguments.
2024-04-12 22:40:09 -07:00
phantom10111 7dd50cf995 Windows: Generate version number in resource file
Windows executable had an old version number hardcoded in the resource file.
Automatically generate a file with correct version set.
2024-04-12 22:40:09 -07:00
phantom10111 48e797bf35 Move generated directory to build directory
StepMania generates some files during build but it's a bit unusual to generate
them in source directory instead of build directory. Move them to build
directory and remove src/generated from .gitignore.
2024-04-12 22:40:09 -07:00
phantom10111 208494b735 Fix coloring of BitmapText with overlapping attributes
When AddAttribute() is called multiple times with overlapping ranges, old
attributes need to be removed and/or fixed. Otherwise the old colors might
show up when the text is rendered.
2024-04-09 00:34:47 -07:00
phantom10111 17c4e7a2ff Reset input redirection on screen change
It's possible for LUA to redirect input and not bring it back when screen is
ending (and there are existing bugs like this in Simply Love). Considering that
each screen is a separate entity, it seems like this shouldn't be possible and
each screen should handle redirection separately. Split redirection state per
each screen in the stack and clear it once screen is ending.
2024-04-04 11:16:51 -05:00
phantom10111 c0c0d58219 Fix coloring of multiline BitmapText
BitmapText internally stores characters with newlines removed, since they don't
need to be rendered. Due to this, BitmapText::AddAttributes() needs to
recalculate attribute positions and lengths in order to apply them in the
correct place. Unfortuantely the code would calculate the position incorrectly
and completely ignore length. Fix it so that everything is correct even in
multiline text.
2024-03-12 16:15:48 -07:00
phantom 39c7613802 Apparently URLs contain exploits these days.
Thanks djpohly for fixing.
2013-06-30 00:12:31 +02:00
phantom 6c59100c31 Implemented ArchHooks_Unix::GoToURL 2013-06-29 18:47:16 +02:00
phantom eb301edc44 Enable LTO switch for configure script and automake 1.14 fix 2013-06-29 18:37:57 +02:00
phantom 53acf0f3a3 Put GamePrefs and UserPrefs into Save. 2013-02-04 15:51:04 +01:00
phantom ec69c7769b More Windows loading. 2013-01-02 17:46:21 +01:00
phantom 716d62de10 Fix Gtk icon. 2013-01-02 10:59:38 +01:00
phantom d7cdc02db3 Fix windows? 2013-01-01 18:14:14 +01:00
phantom 5fa1e3d2a0 Splash should show up properly now. 2013-01-01 17:40:29 +01:00