Commit Graph

4533 Commits

Author SHA1 Message Date
concubidated ccb780fd13 Merge branch '5_1-new' of https://github.com/concubidated/stepmania into 5_1-new 2017-12-30 18:28:01 -08:00
concubidated c7dcdf95c7 Uodate user data directory to 5.1 for Linux
This has already been fixed for OSX and Windows
2017-12-30 18:16:03 -08:00
Tyler Brekke 737ab1bbf9 Merge pull request #1563 from kyzentun/music_wheel_handle_message_crash
Fix extra stage MusicWheelItem crash
2017-11-21 22:43:22 -08:00
Tyler Brekke fe404b2950 Merge pull request #1499 from kyzentun/course_entry_fix
Check entry id in GetCourseEntry.  Add GetNumCourseEntries.
2017-11-21 00:05:33 -08:00
Kyzentun Keeslala 87dfd25cfc Fix crash that only shows up on extra stage from MusicWheelItem handling message when not loaded. 2017-10-18 08:36:20 -06:00
Flameshadowxeroshin e92c8f80a3 support for distance field fonts 2017-10-02 17:00:11 -05:00
Flameshadowxeroshin c1088c1abc Distance field EffectMode (#1546)
* Distance field EffectMode (supports MSDF and the regular sort)
2017-10-02 05:54:05 -07:00
Alexander Griffin c0981c42ec Changing BannerCache into ImageCache to support more imagetypes (#1532) 2017-09-19 14:49:42 -07:00
MrThatKid cf2b25fdcc Implemented SetActualDancePoints & SetPossibleDancePoints (#1527)
* 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
2017-08-30 11:57:23 -07:00
Dan Guzek c3c085dc9e backport fullscreen fix for macOS (#1524)
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.
2017-08-14 14:06:01 -07:00
MrThatKid 4c5319c888 Fix Hold Y Rotation
Otherwise, holds rotate oppositely to the arrows when modifiers like Twirl and ConfusionY are used.
2017-08-02 13:28:36 -07:00
MrThatKid 921a617a64 Added nITG's Tangent Modifiers (#1495)
* Implemented nITG's TanDrunk modifiers.

RageMath functions added:
RageFastTan
RageFastCsc
Modifers added:
GlitchyTan
TanDrunk
TanDrunkSpeed
TanDrunkOffset
TanDrunkPeriod
TanDrunkZ
TanDrunkZSpeed
TanDrunkZOffset
TanDrunkZPeriod

* Implemented nITG's TanTipsy and TanTornado mods

Also, the Drunk code and Tipsy update code was deduplicated.
Modifiers Added:
TanTipsy
TanTipsySpeed
TanTipsyOffset
TanTornado
TanTornadoPeriod
TanTornadoOffset
TanTornadoZ
TanTornadoZPeriod
TanTornadoZOffset

* Implemented nITG's remaining tan mods.

Modifiers added:
TanExpand
TanExpandPeriod
TanBumpy
TanBumpyPeriod
TanBumpyOffset
TanBumpyX
TanBumpyXPeriod
TanBumpyXOffset
TanDigital
TanDigitalPeriod
TanDigitalSteps
TanDigitalOffset
TanDigitalZ
TanDigitalZPeriod
TanDigitalZSteps
TanDigitalZOffset

* Updated luadocs to reference new modifiers

* Rename GlitchyTan to Cosecant (#4)

* Rename GlitchyTan to Cosecant

* Update luadocs to reflect change
2017-07-14 22:32:58 -07:00
Kyzentun 05a58a69bd Allow spaces in noteskin names. (#1493) 2017-07-13 17:59:38 -07:00
Kyzentun Keeslala 3b5a1e88e0 Check entry id in GetCourseEntry. Add GetNumCourseEntries. 2017-07-09 17:16:47 -06:00
Flameshadowxeroshin 4c9f06c693 fix crash with ShowCursor+SharedSelection 2017-06-29 11:52:25 -05:00
Drew Barbarello 557be7cf1b 5 1 new backport x11 fs rework (#1485)
* 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
2017-06-18 08:55:16 -07:00
Colby Klein 7ef14c340d I believe in you, travis ci 2017-06-16 12:30:54 -07:00
Colby Klein f537e55d88 attempt to fix build 2017-06-16 12:14:21 -07:00
MrThatKid a3eab2e7ab Added nITG's various column specific & other misc modifiers (#1468)
* Added stealth control, ZBuffer & DizzyHolds mod

Modifiers added:
StealthPastReceptors
DizzyHolds
StealthType
ZBuffer

* Removed theme metrics that are now mods.

Removed metrics:
DrawHiddenNotesAfterReceptor
DizzyHoldHeads

* Implemented nITG's Shrink modifiers

Modifiers Added:
ShrinkLinear
ShrinkMult

* Implemented nITG's Attenuate mods.

Modifiers added:
AttenuateX
AttenuateY
AttenuateZ

* Implemented nITG's pulse modifiers

Modifiers added:
PulseInner
PulseOuter
PulsePeriod
PulseOffset

* Implemented nITG's DrawSize and Bounce modifiers.

Modifiers Added:
Bounce
BouncePeriod
BounceOffset
BounceZ
BounceZPeriod
BounceZOffset
DrawSize
DrawSizeBack

* Added nITG's column specific Dark & Stealth mods

Modifiers added:
Stealth<1-n>
Dark<1-n>

* Finish adding nITG's column specific mods

Modifiers added:
ConfusionXOffset<1-n>
ConfusionYOffset<1-n>
ConfusionzOffset<1-n>
Reverse<1-n>
Tiny<1-n>
Bumpy<1-n>

* Documented new modififers

* Changelog housekeeping

Fixed a typo and added this branch's PR into the changelog.

* Last bit of clean up. (#3)

* Fixed up one line of the changelog

* Add MrThatKid to credits.
2017-06-09 21:10:17 -07:00
Tyler Brekke 9b5746f505 PercentageDisplay: Fix ShowDancePointsNotPercentage() (#1474)
Remove legacy setting DancePointsForOni

Fixes: #1473
2017-06-07 06:20:48 -07:00
Kyzentun d27fae7ed5 Entry in the debug menu that reloads preferences. There may be some preferences that are only checked at startup that are unaffected by the reload. (#1471) 2017-06-06 09:36:24 -07:00
Kyzentun 2aee27a276 Backport custom song support. Prefs are CustomSongsEnable, CustomSongsMaxCount, CustomSongsLoadTimeout, CustomSongsMaxSeconds, CustomSongsMaxMegabytes. Metrics are NumProfileSongGroupColors and the colors with it. Profile custom load function is passed PlayerNumber now. Stepmania must run as root to save USB profile scores. (#1470) 2017-06-06 05:30:06 -07:00
Colby Klein 1c920a4197 Backport FTOC optimization from 5.1 2017-05-30 03:04:26 -07:00
Drew Barbarello e5e5b94242 Add missing breaks to case statement, fix #1445 (#1460)
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.
2017-05-26 15:31:32 -07:00
Chris Pable 55281cebd2 keep xp on life support a bit longer, check for vista+ stuff (#1456) 2017-05-25 00:34:33 -07:00
Colby Klein c5f51d1e5a Call DwmFlush on VSync (might help with stuttering). Note: Requires Windows Vista or later. 2017-05-24 03:37:25 -07:00
Colby Klein 826b902312 STOP ARGUING ABOUT THIS 2017-05-24 03:12:36 -07:00
Colby Klein 41b602c90f EzSockets: Don't leak WinAPI everywhere this gets included. Fixes #1455 2017-05-24 01:23:22 -07:00
Austen 631523ace3 XInput support for the DirectInput driver (#1443)
* 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
2017-05-23 14:57:55 -07:00
MrThatKid c04db55f64 Fix up RageTriangle's fmod usage. (#1447)
This fixes the second argument of fmod to be a float, due to the original form not compiling under XCode.
2017-05-13 14:04:32 -07:00
sillybear e92f19c63d [ScreenEdit] Fixed Player NoteField bug when SCREEN_HEIGHT != 480 (#1357) 2017-05-13 11:49:55 -07:00
MrThatKid e15e0e68be Add nITG's various path shape & other modifiers - V2 (#1435)
* 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.
2017-05-13 11:34:34 -07:00
sillybear 31e99dc457 Call SetMessage during CurrentSteps / Difficulty Changed (#1361)
This fixes a bug where player difficulty meter and/or color inside MusicWheelItem don't update when switching between difficulties.
2017-05-06 18:14:45 -07:00
Kyzentun dd9fa68fef Sprite:Load lua function can set additional texture hints by having a second argument. Also, rec_count_children slipped in Utilities somehow. (#1426) 2017-04-04 17:24:14 -07:00
Colby Klein b4e02821e8 Revert "Improve handling of errors in lua functions and speed up calls. (#1427)"
This reverts commit f10e3ae36a.

(it was a joke PR, do not fear)
2017-04-04 17:21:55 -07:00
Kyzentun f10e3ae36a Improve handling of errors in lua functions and speed up calls. (#1427) 2017-04-04 11:36:23 -07:00
MrThatKid 86dbab0100 Added nITG's various sub-modifiers (#1419)
* Added nITG's Bumpy sub-mods and ...

reorganized PlayerOptions::FromOneModString's Confusion checks
This is to help avoid the nesting level of 128 under Windows

* Added nITG's Tipsy sub-mods

Modifiers added:
TipsySpeed
TipsyOffset

* Add nITG's Drunk sub-mods

Modifiers added:
DrunkSpeed
DrunkOffset
DrunkPeriod

* Added nITG's Wave & Expand sub-mods

Modifiers added:
WavePeriod
ExpandPeriod

* Added nITG's Tornado sub-mods

Modifiers Added:
TornadoPeriod
TornadoOffset

* Added nITG's Beat sub-mods

Modifiers added:
BeatOffset
BeatPeriod
BeatMult

* Documented the new sub-mods
2017-03-14 03:27:18 -07:00
MrThatKid 1c9227db22 Add nITG's new Move modifiers (#1411)
* 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.
2017-02-25 15:48:03 -08:00
Tyler Brekke 8f332653e1 Persistent Coins (#1405)
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.
2017-02-17 08:21:38 -08:00
Matt McCutchen 4b3507f195 Instantiate MESSAGEMAN first. (#1399)
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.)
2017-02-10 06:40:43 -08:00
Nickito12 d96bcae8de NetRoom/SelectBase/Music lua objects. Scrolling with lua funcs and binded to ctrl+pg up/down. Show prev msgs, binded to pg up/down. Music wheel move, selectmusic screen's select current song, chatbox visibility, input en/disabling and UserList visibility lua functions. (#1394) 2017-02-10 04:58:23 -08:00
Nickito12 6225e114ad Online protocol improvements (#1393)
* 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
2017-02-10 04:57:59 -08:00
MrThatKid 854410599f Fix oitg_zoom_mode (#1383) 2017-02-08 10:23:58 -08:00
MrThatKid 388d4ac8ea Add nITG's new Confusion modifiers (#1395)
* Implemented nITG's Confusion modifiers.

Modifiers added:
ConfusionOffset
ConfusionX
ConfusionXOffset
ConfusionY
ConfusionYOffset

* Documented new Confusion modifiers.

* Make ConfusionX mods apply to hold heads
2017-02-08 05:44:33 -08:00
Jason Felds 8b555bfb30 Allow WITH_FFMPEG to work when disabled for Mac. 2016-12-01 17:12:52 -05:00
Dan Guzek a7d4919d83 Merge pull request #1302 from dguzek/macOS-10-12
fix compilation on macOS 10.12
2016-12-01 16:29:13 -05:00
MrThatKid 02d863397a Don't use static temp state for actor effects
because actors are nested
2016-11-29 18:00:39 -08:00
Colby Klein 5fcc473648 update version info. why are there so many of these 2016-11-24 19:06:41 -08:00
Colby Klein f5100aee0d Fix NOTESKIN:GetMetric() 2016-11-24 18:57:25 -08:00
Kyzentun Keeslala 7ca46bb93a Added PlayerOptions:FromString. 2016-09-16 18:02:08 -06:00