* Implemented Dance Point setting
Methods added:
SetPossibleDancePoints
SetActualDancePoints
* Update luadocs to reflect changes
* Fix possible divide by zero
* Merge DP setting functions into one. (#5)
* Merge DP setting functions into one.
Also, ensure that scores of >100% aren't possible
Function usage: SetDancePointLimits(actual, possible)
Clamps to 100% if actual/possible >100%
* Update the luadocs again
This backports the recent fullscreen fix for macOS on the master branch to the 5_1-new branch. Credit goes to GitHub user aeubanks for the original fix.
* Use XRandR 1.2 to set fullscreen resolution for single output
Squash of roothorick's PR #497
(also includes Kyzentun's CMake changes from PR #716)
* Cherry-pick json c++1x stuff (b9e3d7174e)
* Cherry-pick c++11 support from 5bba5c0038 and 9f8b045309
* rework Linux (X11) fullscreen, improve display-related Graphics Options
Implement option to select between monitors for exclusive fullscreen mode
on X11 (using XRandR 1.2), or use a fullscreen borderless window.
Reimplement resolution/refresh rate/display mode-related option rows
using Lua, update choices dynamically so only known-good groupings of
resolution/refresh rate/aspect ratio can be selected.
Minimally update Windows/MacOS LowLevelWindow implementations to support
changes made for Linux side. Fullscreen Borderless Window/multi monitor
support from X11 not implemented for those in this commit.
* allow forcibly disabling xinerama use on Linux
When libXinerama is available, SM tries to use it to find the proper
monitor indexes to use to set _NET_WM_FULLSCREEN_MONITORS (on borderless
fullscreen). xfwm4 seems to assume that monitors are numbered in increasing
order from left to right (rather than using the Xinerama-assigned numbers),
so _NET_WM_FULLSCREEN_MONITORS misbehaves on Xfce.
This commit bypasses use of libXinerama, and instead forces SM to induce fullscreen
on the desired monitor in the backup, hacky way: remove all window hints, move window
to desired monitor, then add _NET_WM_STATE_FULLSCREEN hint. This works on
mutter and Xfce.
* Remove multiple warnings on redundant define.
This used to be hard-coded due to pthread related items, but now it's dynamically determined.
* fix _fallback menu behavior for unrecognized aspect ratios
* Fix error recreating existing FS texture
* Bump deployment target to 10.7 to use libc++ on XCode 8
* Add explicit casts to please clang
* Update changelog
On default theme on fresh checkout on fresh install of Arch, I
encountered a segfault when entering the ScreenSelectMusic screen. The
fault was trying to dereference a NULL pWID->m_pAction in the
WheelItemDataType_Sort case, which we fell through to because of the
missing break statements.
* XInput support for the DirectInput driver
The XBox360 controller driver for windows has a flaw where the DirectInput backwards-compatible driver registers dance pad arrows as a hat and will not allow opposite arrows to be pressed at the same time. This is not a problem in the XInput interface since the arrows are registered as a DPad and each arrow is a button.
This patch adds XInput support for the DirectInput driver. On initialization XInput controllers will be detected and registered first, followed by enumerating DirectInput devices. During DirectInput enumeration any XInput-capable controllers will be bypassed so that they aren't registered twice.
* Fix joystick input for xinput driver
Needed to compensate for deadzones, magnitude of the inputs, and that the Y axis was reversed.
* Remove unnecesarry using statement for vectors
* Implemented nITG's Square modifiers
Modifiers added:
Square
SquareOffset
SquarePeriod
SquareZ
SquareZOffset
SquareZPeriod
* Implemented nITG's BumpyX Modifiers
Also fixes up some tiny bits pertaining to the square modifiers.
Modifiers Added:
BumpyX
BumpyXPeriod
BumpyXOffset
* Implemented nITG's TornadoZ Modifiers
Modifiers Added:
TornadoZ
TornadoZPeriod
TornadoZOffset
Another commit is needed to update fallback's metrics
* Update fallback's metrics to accommodate TornadoX
* Implemented nITG's Parabola Modifiers
Modifiers Added:
ParabolaX
ParabolaY
ParabolaZ
* Implemented nITG's Sawtooth Modifiers
Modifiers Added:
Sawtooth
SawtoothPeriod
SawtoothZ
SawtoothZPeriod
* Implemented nITG's Zigzag Modifiers
Modifiers Added:
Zigzag
ZigzagPeriod
ZigzagOffset
ZigzagZ
ZigzagZPeriod
ZigzagZOffset
* Implemented nITG's ModTimer modifiers
Modifiers Added:
ModTimer (Lua method name is ModTimerSetting (takes enums. Ex: 'ModTimerType_Song'). Can be activated with mod strings 'modtimer(song/beat/game/default)' )
ModTimerOffset
ModTimerMult
* Remove Log use from ArrowEffects::GetTime()
* Accidentally removed a CPY(m_BatteryLives)
* Implemented nITG's DrunkZ modifiers
Modifiers added:
drunkz
drunkzspeed
drunkzoffset
drunkzperiod
Another commit is needed to update fallback's metrics
* Update fallback's metrics to accommodate DrunkZ
* Implemented nITG's BeatY & BeatZ Modifers
Modifiers Added:
beaty
beatyoffset
beatyperiod
beatymult
beatz
beatzoffset
beatzperiod
beatzmult
Another commit is needed to update fallback's metrics
* Updated fallback's metrics to accommodate ...
the new Beat modifiers.
* Implemented nITG's Digital Modifiers
Modifers Added:
digital
digitalsteps
digitalperiod
digitaloffset
digitalz
digitalzsteps
digitalzperiod
digitalzoffset
* Removed duplicate zbuffer check.
* Updated Luadocs with the new modifiers
* Removed accidental duplicate Mini from Luadocs
* Split up long modifier lines.
Hopefully, this makes it a bit easier to read.
* Remove accidental commit to root of repo.
* Split up long modifier lines
Hopefully, this makes it easier to read.
* Redid Square functions to not use FastSin
This implementation is based off of 5.2's square_wave function from ModValue.
* Redid zigzag functions to not use FastSin
This implementation is based off of 5.2's triangle_wave function from ModValue.
* Moved square & zigzag calculation to RageMath.
New RageMath functions:
RageSquare
RageTriangle
* Made Square & Digital have the same period...
as Zigzag and Sawtooth.
* Deduplicate tornado calculations.
* Fixed typo in UpdateTornado, and moved UpdateTornado logic to ArrowEffects::Init because it doesn't depend on anything that changes every frame. Tornado metrics are also loaded in ArrowEffects::Init.
* Deduplicated Beat mod update logic.
The logic is now placed into a function called UpdateBeat.
The m_fBeatFactor members are now a 1D array, similar to m_MaxTornado and m_MinTornado.
* Implemented NITG's MoveX/Y/Z modifiers
Added modifiers:
MoveX1-n: Moves a column in the x direction, 100% = move left one arrow size.
MoveY1-n: Moves a column in the y direction
MoveZ1-n: Moves a column in the z direction.
On Coin Insert, a file Save/Coin.ini is created if it does not exist, which stores the number of coins currrently in m_iCoins. Whenever m_iCoins is update, the Coin.ini is updated.
On boot, Coin.ini is read and m_iCoins is set to that value. If coins in coin.ini file is greater then MAX_NUM_CREDITS then reset the value to 0.
This fixes a well-formed warning, but does it break anything?
It's not clear off hand. Having this up for discussion.
(Matt McCutchen <matt@mattmccutchen.net>: Cherry picked from commit
a565a27da8c5278846c06585cb6e218ff8f0f1b7 with a conflict resolution.
This commit fixes a crash on startup in MessageManager::Broadcast when I
build StepMania with -DCMAKE_BUILD_TYPE=Release and g++ 6.3.1 on Fedora
25. Apparently g++ is optimizing out the "this != NULL" on the grounds
that calling a method on a null pointer has undefined behavior, so the
"m_Logging" is a null dereference.)
* Chartkey generation
* Simfile filehash generation
* Read filehash on NSCRSG. Add FLU packets and friendlist vectors. Add
getserverversion method. Send chartkey, filehash and rate on start request.
* Use filehash to find the selected song if it is not empty.
* Friendlist update broadcast.
* Send note row size if it's bigger than 1
* Used for chartkey generation
* Define the ReportScore function with numNotes when WITHOUT_NETWORKING is defined