* 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 <[email protected]>: 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