Brandon W and teejusb
a3f3587c19
Fix style in MovieTexture_FFMpeg to match Google C++ style guide.
2024-08-25 12:52:34 -07:00
Brandon W and teejusb
88511c59cb
Use avcodec builtins for constructing and destroying AVFrame and
...
AVPacket, and switch FrameHolder to unique_ptr.
2024-08-20 21:09:25 -07:00
sukibaby and teejusb
5c847dbe45
Fix ArchHooks_Win32Static.cpp
...
1) move file scope variables into an anonymous namespace
2) properly bracket functions
3) fix GetMicrosecondsSinceStart calculation
2024-08-20 21:00:00 -07:00
sukibaby and teejusb
c1c78270c8
Update RageSoundReader.cpp
...
The warning inside the loop makes the log too messy and is too much of a performance hit on very low end hardware.
I'm changing it to remove the mid-loop logging and only return a logged warning on a failure.
2024-08-20 17:37:19 -07:00
Valentina16 and teejusb
52cf6170e4
Sprite DecodeMovie when required
2024-08-19 09:24:36 -07:00
sukibaby and teejusb
d452ed9f21
Static cast m_FrameBuffer.size to int
2024-08-19 09:19:44 -07:00
sukibaby and teejusb
6b67a0c476
Fix two mutexes
2024-08-19 09:19:44 -07:00
Rafał Florczak and teejusb
a0e4f6a4b0
Parallel github workflow builds
2024-08-12 13:31:18 -07:00
Michael Votaw and teejusb
7b1b287760
Replace forward declaration with include NoteData.h
2024-08-11 09:43:54 -07:00
Michael Votaw and teejusb
f96ee75ccc
Return the noteType for columnCues instead of isMine.
2024-08-11 09:43:54 -07:00
Michael Votaw and teejusb
5db1a56d48
Add ColumnCues calculations, exposed to themes via Lua function on Steps object
2024-08-11 09:43:54 -07:00
Brandon W and teejusb
d74ad50707
Remove singlethreaded, old ffmpeg decoding code.
2024-08-10 15:44:06 -07:00
sukibaby and teejusb
10125caa7f
Remove GLU dependency
...
gluGetString, gluBuild2DMipmaps, and gluErrorString are all functions from the GLU library, which is not part of OpenGL.
This lets the game run without libGLU1 (or whatever it's called on a given distro).
Update README.md
2024-08-10 11:53:09 -07:00
Brandon W and teejusb
eb8f76023e
Allow frames that didn't decode to skip.
2024-08-10 11:48:20 -07:00
sukibaby and teejusb
b938ac449f
Migrate to universal build for macOS
...
Instruct cmake to generate a universal release, instead of separate executables for ARM64 and x86_64.
2024-08-09 04:25:26 -07:00
sukibaby and teejusb
36892b4e56
Create RandomSeed.h (mt19937 RNG)
...
This exists to replace the use of RageTimer as a RNG seed, which results in fewer GetTimeSinceStart() calls and better entropy.
2024-08-07 10:05:13 -07:00
Brandon W and teejusb
d4ab7b12ed
Consume background thread movie decoding.
2024-08-07 10:04:18 -07:00
sukibaby and teejusb
7492793463
Initialize SongPosition variables
2024-08-07 02:00:40 -07:00
sukibaby and teejusb
6a2de50101
Remove RadianToDegree macro from ModelTypes
...
We can remove two macros from RageMath which are only used in a single place.
2024-08-07 00:58:18 -07:00
sukibaby and teejusb
5e00535522
Prevent divide by 0 in calc_mean
2024-08-07 00:56:16 -07:00
sukibaby and teejusb
3c64940974
Update WinMoveFileInternal
2024-08-07 00:52:34 -07:00
sukibaby and teejusb
a1c316cfc7
Initialize variables in ModelTypes
2024-08-07 00:52:04 -07:00
sukibaby and teejusb
b30bf85399
WaveOut: Reattempt to initialize on failure
...
If the device suddenly changes, like say an audio cable gets unplugged, this gives the game a chance to recover gracefully instead of just crashing.
2024-08-07 00:17:25 -07:00
sukibaby and teejusb
a0d1198cc1
MixIntoBuffer optimization
...
Reduced risk of error as well, improved readability as well as improved performance due to removing a repeated calculation.
2024-08-07 00:15:22 -07:00
sukibaby and teejusb
bb5a538026
Range based for loop in GetBPMs
2024-08-07 00:05:50 -07:00
sukibaby and teejusb
5a0bfed42d
Re-order Linux default audio driver list
2024-08-06 23:59:27 -07:00
sukibaby and teejusb
beecd2bd47
Clean up messy GameLoop function
2024-08-06 18:07:21 -07:00
sukibaby and teejusb
e34450fbe8
Prevent overlapping assist tick sounds
2024-08-06 17:34:23 -07:00
Brandon W and teejusb
10e4323e3e
Add DecodeNextFrame and DecodeMovie functions to populate the
...
FrameBuffer.
2024-08-06 17:18:12 -07:00
sukibaby and teejusb
5d2667add1
Fix two small RageFile bugs
...
1) RageFileDriverDirect was failing to assign m_sRoot
2) Improve check if m_sRoot is empty
3) Fix a semi-broken logging method in RageFileManager
2024-08-06 17:17:21 -07:00
sukibaby and teejusb
e60cf2aa0d
Use stdlib for trigonometric functions
...
Profiling showed this performed significantly faster than the RageFast_ implementations.
2024-08-06 16:18:39 -07:00
sukibaby and teejusb
64fa8e9971
MusicWheel::readyWheelItemsData remove ragetimer
2024-08-06 16:16:47 -07:00
sukibaby and teejusb
bfde995b60
Fix CacheFile
2024-08-06 16:03:40 -07:00
sukibaby and teejusb
d53d1b113b
Remove ERASE_SEG macro from TimingData.cpp
2024-08-06 15:37:24 -07:00
sukibaby and teejusb
091b762f79
Remove macro from public Luna<TimingData>
2024-08-06 15:33:34 -07:00
sukibaby and teejusb
dfa7589345
Revert "Prevent setting the position of a nullptr"
...
This reverts commit 47ff2cf095
2024-08-06 15:32:11 -07:00
sukibaby and teejusb
2fd1bff510
Threads_Win32 fixes
...
From top to bottom,
- Fix incorrect gcc implementation in `SetThreadName`
- Static Cast in `StartThread`
- Fix `MutexImpl_Win32::Lock()`
- Remove unnecessary pre-winXP methods in PortableSignalObjectAndWait()
- Static Cast in `EventImpl_Win32::Wait`
2024-08-06 15:31:24 -07:00
sukibaby and teejusb
e2ae82deb2
windows sdk 5.0 -> 10.0
2024-08-05 16:35:05 -07:00
sukibaby and teejusb
630617ff1e
Undefine macro in RageTimer.cpp
2024-08-05 14:52:59 -07:00
sukibaby and teejusb
81b98c6e34
Remove profiling defines from RageTimer.h
2024-08-05 14:52:14 -07:00
Brandon W and teejusb
20452b244a
Add FrameBuffer vector and decoding functions.
...
These functions are based on "DecodePacket" and "ReadPacket". This
PR does not consume the new buffer or decoding functions yet. It also
preps the class for adding a fast cancel to decoding, in the case that
the movie texture is destroyed while decoding is still happening.
2024-07-25 23:11:47 -07:00
Brandon W and teejusb
23f7ebd476
Add FrameHolder struct and logic around finding totalFrames of movies.
2024-07-25 11:42:16 -07:00
sukibaby and teejusb
75531a67a0
Update README.md
2024-07-25 11:35:47 -07:00
sukibaby and teejusb
fb5ffb0cc6
Update README.md
2024-07-25 11:35:47 -07:00
sukibaby and teejusb
7ac77f5b78
Make Pi constexpr in RageMath.h
...
This is the same value used in the vorbis code.
2024-07-22 10:38:15 -07:00
Rafał Florczak and teejusb
5369f16e16
Implement cross-platform FTOC using clamp and static_casts
...
The old implementation relied on the tricks that no longer seem to
optimize anything and break strict aliasing rule, which in turn is an
undefined behavior:
/var/storage/rf/proj/itgmania/src/RageTypes.h: In function ‘unsigned char FTOC(float)’:
/var/storage/rf/proj/itgmania/src/RageTypes.h:300:42: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
300 | int ret = reinterpret_cast<int&>(base);
| ^~~~
Compiler explorer summary: https://godbolt.org/z/5857747P3
It's also possible to eliminate this strict aliasing violation with a union,
while leaving all the tricky code (also included in the link above).
Online build of the test code that's suggested for FTOC: https://onlinegdb.com/O7N0Orl0r
ARM version of the code wasn't correct -- as in not passing the attached test.
It didn't perform accurately around the end of the input range.
2024-07-17 20:21:55 -07:00
sukibaby and teejusb
515090b7f7
Don't log FPS by default
2024-07-15 07:00:27 -07:00
sukibaby and teejusb
5bb4e04957
Allow building on BSD
2024-07-15 07:00:07 -07:00
Brandon W and teejusb
b2ada0ad61
Remove dshow movie rendering code.
...
It hasn't been built into the binary in years, not since before forking
itgmania.
https://github.com/itgmania/itgmania/blob/5d4f9dcb07493ed4c51d6be23e9b41978162305a/src/CMakeData-arch.cmake#L81-L91
https://github.com/stepmania/stepmania/blob/d55acb1ba26f1c5b5e3048d6d6c0bd116625216f/src/Makefile.am#L388
This helps to consolidate the movie rendering code into one main
rendering path.
2024-07-13 21:50:24 -07:00
sukibaby and teejusb
06bfbbf15d
Make BUF_SIZE constexpr
2024-07-10 22:09:23 -07:00