Commit Graph

228 Commits

Author SHA1 Message Date
Devin J. Pohly 10ddd549f3 Make sure we always release Lua lock
I have a sneaking suspicion that this also magically fixes memory cards
on Linux.
2016-05-24 16:25:23 -04:00
Kyzentun Keeslala eb3121faf9 Pass timing data to TransformNoteData so that fake notes inside warps can be removed properly. 2016-03-02 08:23:26 -07:00
Kyzentun Keeslala 4e0fa012c1 Added SetLife and ChangeLife lua functions to Player. Updated changelog. 2015-12-16 15:08:36 -07:00
Flameshadowxeroshin d329c80ad3 remove guitar cruft
There was a bunch of code for handling guitar-specific input such as hammer-ons/pull-offs and strumming. Given that guitar was removed, and as far as I understand, will not be added back into SM5, it makes sense to remove code that had no other use.
2015-12-05 11:12:17 -06:00
Kyzentun Keeslala 0bb382f689 Hide mines that have been avoided so that TNS_AvoidMine isn't spammed every frame. 2015-09-02 21:34:32 -06:00
Jason Felds 23d9271307 More accurate timing based on chart data.
Thanks to Skypers for the assist.
2015-07-19 22:09:34 -04:00
Jason Felds 960af12c23 Partial revert of b61e878.
Pump holds do have a little bit of leeway when it comes to letting go and putting your foot back on as proven by [WinDEU's demonstration of Dignity S20](https://www.youtube.com/watch?v=P2Fw9KPyHIg&feature=youtu.be&t=30).

The value used was determined by two video sources: the one mentioned above and a private one sent to me involving a different song/chart combination. 200ms is a rough estimate for what works. There may be other allowed values.
2015-07-19 16:08:50 -04:00
Kyzentun 2656123464 RageTextureManager now keeps a map of textures by pointer for quicker lookup when deleting.
RageTextureManager now keeps a map of textures that need updating, which is none of them because I couldn't find a class that inherits from RageTexture that doesn't have an empty Update function.
ArrowEffects now requires setting the current PlayerOptions before calling any functions.  This might make moving to per-column mods easier, and reduces the direct usage of PlayerState.
Tipsy calculations for each column are done in ArrowEffects::Update instead of GetYPos and GetYOffset.
DrawHold changed to only call DrawHoldBody once.  DrawHoldBody now does the normal and glow passes together instead of needing to be called twice.
DrawHoldPart changed to take most of its args in a struct.
Giant copy paste mess that NoteField was using to draw timing segment text replaced with a couple functions and a macro.
Selection glow for notefield is only calculated if a section is selected.
Added RageVector3 functions to CubicSplineN for NoteDisplay to use.
Actor effect period is cached now.  Sprites and Models cache their animation length now.
ReceptorArrowRow no longer calls ArrowEffects::Update in gameplay.
2015-04-24 15:55:54 -06:00
Kyzentun b4893e4a10 Structural changes to ScreenGameplay, Player, and NoteField to put the NoteField Board underneath everything except the song background. This includes underneath the combo/judgment when those are under the field. Screen filter in default theme moved to be part of the NoteField board so that it's always in the right place. 2015-04-03 14:19:28 -06:00
Kyzentun 2b7ebb3729 Added lookup table system to TimingData so that GetBeatAndBPS and GetElapsedTime don't have to walk through the entire list of timing segments several times every frame during gameplay. 2015-03-14 23:17:35 -06:00
Kyzentun b293a8c073 Added debug key for toggling action sounds off. Touches every place that RageSound::Play is called, hope I didn't miss one. 2015-02-28 06:25:02 -07:00
Kyzentun 7687d5c8a1 Merge branch 'master' of https://github.com/Flameshadowxeroshin/stepmania 2015-01-28 09:52:53 -07:00
Flameshadowxeroshin 06ee30d8b9 Kyzentun's milestone code 2015-01-23 21:30:06 -06:00
Flameshadowxeroshin f8d8a3379f improved checkpoint performance, one other change 2015-01-23 15:58:41 -06:00
Flameshadowxeroshin f230729a6f unsigned int combo and score, Player::IncrementComboOrMissCombo 2015-01-23 10:25:06 -06:00
Kyzentun b6e9d188c3 Added special case to JoinPlayer's style changing logic, see comment in code. Fixed mistake in hold logic that made holds never drop. 2015-01-22 12:37:48 -07:00
Kyzentun f4a718a824 SetCompatibleStylesForPlayers and ForceSharedSidesMatch added to GameState for SSM to use to fix style mismatch problems.
StyleInputToGameInput changed to take a vector to return values in to handle multiple inputs mapped to a single column.  Associated adjustments to everything that uses it.
Player no longer drops holds in columns that have multiple inputs mapped to them if the wrong one is held.
Running out of stage tokens changed from assert to error.
2015-01-17 21:15:15 -07:00
Kyzentun 3fb36af157 Separate styles for players. Notefields positioned between margins. Edit mode works for kickbox. 2014-12-09 22:27:00 -07:00
sillybear e3bb49f9d8 Update Player.cpp 2014-12-10 00:09:46 +08:00
sillybear 09274b655b Add 2014-12-09 23:52:22 +08:00
Kyzentun 4f95bf08ad Function chaining for actors and singletons. 2014-12-01 22:31:30 -07:00
Kyzentun 4e5a2ade73 Added mod for MinTNSToHideNote so it can be set per-player. 2014-11-22 14:55:44 -07:00
Kyzentun 040c0de509 Added MinTNSToHideNotes preference. 2014-11-19 15:59:21 -07:00
sigatrev ec23dcb503 fix major typo
oops...
2014-09-06 15:40:46 -05:00
sigatrev e60ac1395d expose tap notes for judgment message
allow themes access to as much information as possible on judgments
2014-09-05 22:30:33 -05:00
Kyzentun 7e73892e6e Moved LifeType, DrainType, and BatteryLives from Song Options to Player Options. Added ScreenGameplay:FailFadeRemovePlayer lua function. 2014-08-06 23:26:05 -06:00
Kyzentun 18b2d73bb1 Fixed invalid note type trace to use correct escape sequence. 2014-07-31 11:25:05 -06:00
sigatrev e81af8c131 Enums for TapNoteType, TapNoteSubType, and TapNoteSource
I intend to make additional useful information available on judgments,
such as TapNoteType and TapNoteSubType( for hold judgments ).

I am submitting this part as a separate pull request because it is more
generally applicable to anything TapNote related.
2014-07-25 18:45:02 -05:00
kyzentun 708784889a Merge pull request #163 from kyzentun/tweenable_mmods
Tweening for mmods.
2014-06-16 22:51:27 -06:00
sigatrev a436e04310 fix judgment message param Tracks for holds 2014-06-01 19:22:24 -05:00
Kyzentun 2b9982f505 Added Mmod compensation to ArrowEffects::GetYOffset. 2014-05-08 03:07:02 -06:00
sigatrev 11ee34c1c8 oops
not sure how this didn't get included in that commit
2014-05-06 18:01:19 -05:00
sigatrev d608953da7 added "Tracks" param to judgment message
which contains a list of all tracks included in the judgment
2014-05-06 17:56:51 -05:00
Colby Klein 612a3d1f73 Merge pull request #156 from sigatrev/Player/Notefield
Stop player from updating NoteField twice
2014-05-05 19:51:22 -07:00
sigatrev bfbbd27485 Stop player from updating NoteField twice
Player was updating notefield in ActorFrame::Update and again in
m_pNoteField->Update. This should handle it better.
2014-05-05 18:18:05 -05:00
Colby Klein 2f593bad3d Merge pull request #151 from kyzentun/player_options_fix
SongOptions Lua interface with the same design as the PlayerOptions interface.
2014-05-03 20:54:58 -07:00
Kyzentun 0dfb131291 Created SongOptions Lua interface with a similar design to the PlayerOptions interface. Moved enums that were inside SongOptions out and made them Lua accessible. Removed sAutosyncType and associated things from AdjustSync.cpp because it was unused. Added DefaultNilArgs and FArgGTEZero to LuaBinding as helpers. Moved INTERFACE defines from PlayerOptions.cpp to OptionsBinding.h. 2014-05-03 19:27:32 -06:00
sigatrev 0c62e5fb9e Allow NoteField Board to be an AutoActor
NoteField board was already an AutoActor, but code was requiring it to
be a derivative of Sprite. Allow any ActorClass to be used.

NoteField could already be accessed from below, using GetParent() on the
NoteField Board. For ease of allowing the board to be used for player
specific purposes, make notefield an actual child of Player, so the
Board can be accessed per player from the top down.
2014-05-02 17:01:38 -05:00
Colby Klein 31713ac253 Merge pull request #136 from sigatrev/Autoplay-Roll-Combo
fix for AutoPlay increase combo with "RollBodyIncreasesCombo"
2014-04-24 05:06:35 -07:00
Colby Klein ee87494252 Merge pull request #137 from sigatrev/TickHolds
Attempted fix of Tick Holds
2014-04-24 05:06:20 -07:00
sigatrev c4f7aab9a1 Attempted fix of Tick Holds
NoteDataUtil::GetTotalHoldTicks() was not counting the last tick of
holds which ended on the last row of the song. Extended the range to
include the last row.

NoteDataUtil::GetTotalHoldTicks() was counting number of rows held, when
it should only count 1 regardless of number( at least to mimic pump )

Player::CrossedRows() was assuming a constant tick rate over the crossed
rows, leading to potentially inaccurate tick counts.

Pump holds were counting "HoldNote_Held" due to capitalization in the
metrics. Fixed metrics and made "IsGame" function case insensitive.
2014-04-23 21:45:37 -05:00
sigatrev 5e517e1de1 fix for AutoPlay increase combo with "RollBodyIncreasesCombo"
per issue #125
2014-04-23 16:10:15 -05:00
sigatrev a3b38117b5 make early judgments broadcast when judgment is triggered
judgments triggered early were not broadcasting the judgment message
until their row crossed
2014-04-20 14:27:43 -05:00
Colby Klein 6298a0b950 Merge pull request #94 from sigatrev/MissedHold
HNS_Missed
2014-03-16 13:20:12 -07:00
sigatrev 343511f4c3 HNS_Missed
Added an HNS type to handle holds which are never initialized due to
missed taps. This fixes a long standing issue with
iCurPossibleDancePoints and allows themes to decide how to handled this
case.
2014-03-16 11:36:40 -05:00
AJ Kelly 95343dc27b Merge pull request #71 from sigatrev/MineTracks
added iTrack to mine judgment message
2014-03-07 14:11:54 -06:00
sigatrev f6d44ae85b hold judgment positions with mini
they weren't scaled to handle the zoom.
2014-03-03 20:46:47 -06:00
sigatrev 43f9fd70ca added iTrack to mine judgment message
more information is better.
2014-03-03 20:37:13 -06:00
Devin J. Pohly da5eb84730 Player: broadcast StepPN message (compat)
For backwards compatibility, broadcast the old StepP1/2 message in
addition to the new Step message.  New themes, charts, etc. should of
course use the new message with parameters.
2014-02-20 10:59:49 -05:00
Ben "root" Anderson 82a7184822 Fix ImmediateHoldLetGo 2013-12-20 20:18:42 -06:00