Commit Graph
276 Commits
Author SHA1 Message Date
sukibabyandteejusb 3a51f00147 (Win32 refresh) Update DirectXHelpers.cpp
The DirectInput / DirectSound version defs need to be exposed to other parts of the engine, so they are moved to the header instead of the cpp file.

The includes can be consolidated after that.

I'm also replacing the usage of a raw array of char *'s with an RString and using c_str() to get its value - a small change, but raw arrays are unreliable.
2025-01-20 09:46:15 -08:00
sukibabyandteejusb f783588adb (Win32 refresh) CommandLine
Directly use CommandLineToArgvW, replacing legacy code. Support Unicode natively by natively using std::string and wchar.  shellapi.h is brought in for CommandLineToArgvW
2025-01-20 09:45:43 -08:00
sukibabyandteejusb 54232bed78 (Win32 refresh) DialogUtil
Fixes a 20 year old font leak issue which can be avoided by storing the font handle in a unique_ptr.
2025-01-20 09:44:24 -08:00
sukibabyandteejusb 641fac232a (Win32 refresh) GotoURL
Mitigate some security concerns, update API calls (RegOpenKeyExW & ShellExecuteEx), support unicode natively, const correctness, etc. - not doing anything new, just updating what's here to be more modern.
2025-01-15 22:51:48 -08:00
glitchbearandteejusb b46f929178 Fixed display settings and refresh rate selection for exclusive fullscreen mode. Now applies the selected settings to the preferred display instead of the primary display. 2024-11-28 11:14:08 -08:00
glitchbearandteejusb 29ae636255 Testing refresh rate being selected based on fetching the preferred display rather than primary. 2024-11-28 11:14:08 -08:00
glitchbearandteejusb a3a22040a2 Clean up strings and fix behavior when switching to windowed mode 2024-11-28 11:14:08 -08:00
glitchbearandteejusb 2dcd4eb2ee Add option to select output display in Windows 2024-11-28 11:14:08 -08:00
sukibabyandteejusb a6a60e2e56 Remove std prefix from int types
std::int* -> int*
2024-10-08 20:52:52 -07:00
sukibabyandteejusb 659cd549a2 Remove std prefix from uint types
std::uint*  ->  uint*
2024-10-05 19:25:41 -07:00
sukibabyandteejusb e0b254968d std::size_t -> size_t
Removing std prefix from all size_t.
2024-10-01 01:46:26 -07:00
sukibabyandteejusb abf89ec2b1 Replace SAFE_DELETE / SAFE_DELETE_ARRAY macros
SAFE_DELETE -> RageUtil::SafeDelete
SAFE_DELETE_ARRAY -> RageUtil::SafeDeleteArray

Update JsonUtil.h to include RageUtil.h - MSVC doesn't need it included for some reason, but GCC and XCode does.
2024-09-30 15:13:32 -07:00
sukibabyandteejusb f5cb958f78 Delete src/archutils/Win32/ThreadPriorityHelper
unused
2024-09-27 12:47:44 -07:00
sukibabyandteejusb 17a5823f45 Cease distributing Windows SDK files
1) Remove Win SDK headers directory (src/archutils/Win32/ddk)

2) Update files including Win SDK headers to instead use the version installed by Visual Studio Installer

3) Update INSTALL.md

Note: this commit does not enforce using a specific version of the Windows SDK, but does everything needed to use the locally installed Windows SDK instead of files distributed with the source code to enforce using a particular version.
2024-09-20 15:45:53 -07:00
sukibabyandteejusb 0351ba6693 Use SetWindowPos to prevent interruptions on fullscreen 2024-09-17 00:00:34 -07:00
sukibabyandteejusb 45a7c967dd Add sdk license to w32 ddk directory 2024-09-05 08:51:36 -07:00
sukibabyandteejusb e2ae82deb2 windows sdk 5.0 -> 10.0 2024-08-05 16:35:05 -07:00
sukibabyandteejusb 0447d9ae58 Consistency in Windows ifdefs/windows.h includes
Changing all defined(_WINDOWS) to defined(_WIN32)

Defining WIN32_LEAN_AND_MEAN in all files except those in Archutils/Win32
2024-06-24 15:48:05 -07:00
sukibabyandteejusb 5e3bc389c3 Fix uninitialized variable in Crash.cpp 2024-06-23 21:39:40 -07:00
phantom10111andteejusb 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
sukibabyandteejusb 5b0070f403 Win32 thread priority isolation layer
other changes merged in this commit:
Update RageSoundReader_ThreadedBuffer.h
Update GameLoop.cpp
Update CMakeData-os.cmake
2024-06-11 06:32:27 -07:00
hayoreoandteejusb 481532ab77 Don't necessarily hide the mouse cursor when full screened.
Since the ShowMouseCursor preference exists we don't want to force hiding the mouse cursor when full screened. Instead let the user/theme decide with ShowMouseCursor.
2024-06-11 05:49:41 -07:00
sukibabyandteejusb 626e127589 Replace src/archutils/Win32/ddk/hidpi.h
From SDK 10.0.16299
2024-05-28 10:19:50 -07:00
sukibabyandteejusb b730a5a750 Remove AltiVec code
The content of src/archutils/Darwin/VectorHelper.cpp is very old, these are AltiVec and SSE2 instructions. This is only actually used in RageSoundMixBuffer.cpp. This level of micro-optimization is not needed since platforms this old are not supported by ITGm.
2024-05-28 09:34:59 -07:00
phantom10111andteejusb 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
phantom10111andteejusb 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
phantom10111andteejusb 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
phantom10111andteejusb 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
glitchbearandteejusb ad5f3e0653 Windows support for fullscreen borderless window mode 2024-03-02 23:47:12 -08:00
Martin Natano 56edcee48c Use compiler intrinsics for byte swapping 2023-04-21 22:13:41 +02:00
Martin Natano bacecae1f7 Decouple <vector> 2023-04-21 22:13:41 +02:00
Martin Natano aa87f85eef Decouple <cstdint> 2023-04-21 22:13:41 +02:00
Martin Natano 78fb2e9fc3 Decouple <cstddef> 2023-04-20 11:21:29 +02:00
Martin Natano 093675cdc3 Use attributes where possible 2023-04-20 11:21:29 +02:00
Martin Natano b68ca517e6 Clean up math functions
- Remove checking for standard functions from the build system
- Prefix all invocations with std::
- Replace suffixed functions with unprefixed versions
- Include <cmath> in all files that use it and remove the global include

e.g. floorf(x) -> std::floor(x)
2023-04-19 19:31:40 +02:00
Gareth Francisandteejusb f39ed52dbf Remove calls to dwmFlush - Were never called before and cause frame drops with opengl renderer 2023-03-29 13:01:01 -07:00
Brian Phlipotandteejusb 4a6b1a743c Enable more compiler warnings and treat them as errors. 2023-02-02 11:54:17 -08:00
Michael SundqvistandMartin Natano 0cba3579de Remove global "using namespace std;" declarations, use "std::" prefixes on all std elements
Fix whitespace changes
2022-07-31 22:14:38 +02:00
Martin Natano 1010798e26 Update logo 2022-06-29 21:15:43 +02:00
Martin Natano 61f12e8165 Prevent out-of-bounds array access
Fixes https://github.com/itgmania/itgmania/issues/27
2022-06-27 20:10:52 +02:00
Martin Natano c40985122e Remove workarounds for ancient MSVC versions 2022-06-07 22:49:05 +02:00
Martin Natano 838de6fb81 Remove support for mingw
MSVC works fine and the bundled mingw libraries are outdated.
2022-06-07 22:49:05 +02:00
teejusbandMartin Natano 8612d34283 Prevent hanging when going into "Graphics Options"
Remove calls to ChangeDisplaySettingsEx(CDS_TEST). This prevents an an alarming system hang on NVIDIA GPUs with DisplayPort displays when using "Graphics Options" in the system menu, and doesn't seem to have any downsides as far as I can tell.

Taken from: https://github.com/ClubFantastic/stepmania/commit/46061f818d020138eff80ba5785e0ea88cd68dfd
2022-06-06 11:23:49 +02:00
Martin Natano 3eb239ad3b Replace deprecated macOS APIs with modern equivalents 2022-06-05 12:04:37 +02:00
Martin Natano 327278436d Remove support for building with system libraries 2022-05-31 18:21:35 +02:00
Martin Natano 15b77ee278 Update documentation 2022-05-28 11:21:13 +02:00
Martin Natano ee65b7b0c4 Replace logo and clean up packaging 2022-05-21 10:05:44 +02:00
Martin Natanoandteejusb 02008eb469 Rename to ITGmania
- executable name:
  - linux: itgmania
  - windows: ITGmania.exe
  - macOS: ITGmania.app
- config path:
  - linux: ~/.itgmania
  - windows; %AppData%\ITGmania
  - macOS: ~/Library/Application Support/ITGmania
2022-04-02 20:14:57 -07:00
Colby Klein 261daef933 fix build and no audio out on macOS 11, closes issue #2080 2021-01-08 07:58:35 -08:00
Colby Klein 6c48eb3d5c Fix compile on raspberry pi 4/A72
Game runs pretty close to fine, needed to use system libpng and haven't
attempted to use ffmpeg, however.

I'm seeing in the 50fps range in gameplay with no performance tweaks
but having set -mtune=cortex-a72. There's a lot of perf opportunities,
so consistent 60 is certainly within reason without too much pain.
2020-06-23 16:58:00 -07:00