Commit Graph

4200 Commits

Author SHA1 Message Date
Kyzentun 236947b346 Changed GetFirstCompatibleStyle to not crash SM so it can be used to check whether joining is allowed. JoinPlayer and PlayersCanJoin now use GetFirstCompatibleStyle to check whether there will be a style to change to. Changed logic in PlayersCanJoin to return false at the first failed requirement. 2015-05-02 23:36:28 -06:00
Kyzentun a8f4278a54 Added SetCurrentOptions to NoteField::DrawPrimitives so the correct options are actually set during drawing when there are two players. Fixed stealth by disabling the glow color from the column actor, so glow effects on the column won't work. Added note explaining how long GetBrightness has been disabled. 2015-05-02 18:53:00 -06:00
Kyzentun 9829de8b56 Merge pull request #574 from kyzentun/stripes2
Attempts to improve performance
2015-04-30 17:19:30 -06:00
Joe 16a75bf94c Backwards and shuffle mods now ignore turntable in beat-single5/7 2015-04-30 12:51:23 +01:00
Joe be3c4db602 Beat mode gameplay changes, third attempt 2015-04-29 19:43:19 +01:00
Kyzentun 2d9ea44d12 Song::TidyUpData now clears graphics fields that point to files that don't exist. 2015-04-27 07:48:50 -06:00
Kyzentun 9758932be0 Changed RageBitmapTexture to pass a dialog id for the missing texture warning so it can be ignored. Updated changelog. 2015-04-26 09:23:12 -06:00
Kyzentun 8c802b1a28 Merge pull request #570 from psmay/EzSockets-with-timeouts
EzSockets timeouts
2015-04-26 08:52:55 -06:00
Kyzentun f3ab635d03 Made screenshot key tag with song title and screen name. 2015-04-25 21:18:42 -06:00
Kyzentun a2e1a709a0 Forgot to make VerifySelected pick the first when none are selected. 2015-04-25 19:40:42 -06:00
Kyzentun d295d89e56 Changed VerifySelected to emit useful errors insted of just the row name and number selected. 2015-04-25 19:37:45 -06:00
Kyzentun 8e187da210 Merge pull request #565 from kyzentun/toast_in_mouth
Multiple toasties per song.
2015-04-24 19:07:35 -06: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
Matt McCutchen cb7efb1570 getDevice: Do not read a dirent after calling closedir.
On my Fedora 20 system, closedir apparently frees the dirent, and
reading it afterwards returns garbage data.  This prevented my dance pad
from being detected.
2015-04-23 21:38:45 -04:00
Peter S. May 79ee8c1c81 Block+timeout CanRead/CanWrite/DataAvailable EzSockets methods.
A minor change to the code exposes the timeout parameter of `select()`, which was already in use for CanRead()/CanWrite(). The timeout parameter is used to block the current thread until data (for read) or space (for write) is available on the underlying socket.

A timeout of 0 suppresses any blocking (the original methods fix the timeout to 0).

The timeout value is supplied in milliseconds as an `unsigned int`; this is converted internally to the equivalent `timeval`.

An in-progress addition to my SextetStream input driver is implemented with non-blocking reads on a TCP socket. Without the block+timeout functionality, it must busy-wait for new input. Changing the reads to blocking works during a game but can cause the program to hang when exiting. The changes in this commit provide a solution to both issues without disrupting any existing code.
2015-04-23 12:50:28 -04:00
Kyzentun 88f295d295 Added diffuse and glow to column renderers to make diffuse and effects affect notes the way they would affect actors inside a frame. 2015-04-20 16:05:43 -06:00
Kyzentun 9790d613b5 Changed ScreenEdit::HandleAlterMenuChoice to not prompt for clearing when it is used by cut, which is used by all the transform choices. 2015-04-20 07:47:26 -06:00
Jason Felds 283de4f0c2 Restore Xcode debugging with newer builds. 2015-04-18 13:58:16 -04:00
Jason Felds 8ead89d484 Some OSes need tomcrypt defines in StepMania too. 2015-04-18 12:27:32 -04:00
Kyzentun 9314555e6d Added preference for showing multiple toasties in one song. Added IsWaiting to Transition. 2015-04-18 08:52:57 -06:00
Kyzentun 862eba8f7d Changed logic to allog ToastyTriggersAt to be a function that returns the next increment. Added ToastyMinTNS metric for controlling the TNS for a toasty. 2015-04-17 23:24:49 -06:00
Kyzentun c50b12b8c6 Changed toasty logic to trigger multiple times without requiring a W3. 2015-04-17 16:26:39 -06:00
Jason Felds 52d2c99048 Merge pull request #558 from wolfman2000/wolf-cmake-cpack-clean
Provide initial cpack support. Mainly for devs.
2015-04-16 18:34:04 -04:00
Jason Felds 1bb24245ce Only use -lva for StepMania, not ffmpeg. 2015-04-15 19:08:51 -04:00
Kyzentun fc6ce722ca Disabled late join on SSM if on extra stage to prevent crash in summary screen. 2015-04-14 12:25:40 -06:00
sigatrev b4f861a8d5 ancient NoteData::ClearRangeForTrack bug fix
When clearing a range, if the first note in any track in the range was a
hold note, it would place it a hold the end of the cleared range.
2015-04-13 18:51:02 -05:00
Kyzentun b04e7faec6 Fixed RevertFromDisk by making it turn off the InStepEditor flag while reloading the song. Removed redundant call of loaderSSC.TidyUpData from NotesLoader::LoadFromDir because loaderSSC.LoadFromDir calls it. 2015-04-13 10:33:09 -06:00
Kyzentun bac4356672 Changed TimingData to always return the entry before the closest one when using the lookup table to avoid various problems that occur only when the current time is exactly on the current entry in the lookup table. 2015-04-11 22:50:06 -06:00
Jason Felds 361df3a496 Provide initial cpack support. Mainly for devs.
There are two targets you may not be familiar with, `install` and `package`.
* For Linux, `install` now defaults to `/usr/local`, but you can set it back to `/opt` with `cmake -DCMAKE_INSTALL_PREFIX=/opt` if you wish.
* For Windows, `install` may not work, but this is not a target you would want usually.
* For Linux, `package` has not been tested yet. It will likely create an archive file of what is installed.
* For Windows, `package` will create an NSIS package that can be used to install StepMania. One minor change as a result is that the binary and companion dlls will be placed in `bin` instead of `Program` now, but it makes no difference code-wise.

Mac OS X users: for now, use the `dmg` target instead.

This commit does *not* deprecate the original nsi script yet. The Texture Font Generator program has not been addressed yet.
2015-04-11 23:47:42 -04:00
Kyzentun cf3c967a51 Allow songs with invalid characters such as # in the title to work by calling TidyUpData after loading. 2015-04-10 22:40:49 -06:00
Kyzentun 1c3db82537 Modified StepsID operators to consider 0 equal to all other hash values. See comment in source for details. Changed operator>>(RString&, int&) functions to be based off a template. 2015-04-10 09:10:51 -06:00
Kyzentun 60349d849e Modified NoteDataWithScoring::GetActualRadarValues to use the time between the first and last hittable notes instead of the first and last seconds of the song because the song could start or end with mines or other unhittable notes. 2015-04-08 20:15:18 -06:00
Kyzentun 8993cfe729 Added MuteActions preference checking to RageSound::PlayCopy. Modified ActorSound and GameSoundManager::PlayOnce to take is_action args. Fixed doc for playcommand to mention the param table. 2015-04-08 16:15:14 -06:00
Kyzentun 84b57e7ca4 Song::TidyUpData needs to happen after edits in the song folder are loaded so that their radar stuff will be calculated. Bumped cache version. 2015-04-07 12:47:51 -06:00
Kyzentun 8c33bf92fb Merge pull request #541 from kyzentun/board_under_everything
Board under everything
2015-04-06 23:35:04 -06:00
Kyzentun 3cb7b5d2a5 Typo fix in ScreenEdit help from SpookyMagician. 2015-04-06 23:00:51 -06:00
Kyzentun 9658252bc3 Merge pull request #543 from kyzentun/edit_timing_data
Shift timing data in Edit Mode
2015-04-06 22:50:56 -06:00
Kyzentun 88af6acdfd Merge pull request #552 from kyzentun/radar_note_count
RadarCategory_Notes, uncapping and fixes to radar calculation.
2015-04-06 22:49:42 -06:00
Kyzentun 1e668c660f Removed _t from typenames because of POSIX. Fixed bug that made a warp and stop on the same row skip the marker in TimingData. 2015-04-06 21:49:46 -06:00
Jason Felds 4374d18cb8 Merge pull request #544 from wolfman2000/wolf-cmake-dmg-generator
Allow generating dmg files thanks to cmake.
2015-04-06 22:58:53 -04:00
Kyzentun 5852067f47 Added RadarCategory_Notes. Rewrote NoteDataWithScoring stuff to only traverse the NoteData once, and match the radar code in NoteDataUtil. Fixed hand and lift counting in NoteDataUtil::CalculateRadarValues. Removed cap from RadarValues so that Stream, Voltage, Air, Freeze, and Chaos can be over 1.0. Fixed Stream and Voltage to not count hold heads twice. Changed SetRadarValues in NotesLoaderSSC to not require the stepfile version number. 2015-04-06 18:45:23 -06:00
Kyzentun d7e032b478 Added 1, 2, and 4 measure choices to shift menus in edit mode. 2015-04-04 22:38:18 -06:00
Colin Wallace 8ed944368c Fix OSX key translation crash (#504) 2015-04-05 02:55:54 +00:00
Jason Felds 01032b6049 Allow generating dmg files thanks to cmake.
A new target is introduced called `dmg`. This must be run explicitly.
Upon running it, it creates the dmg file.

The target respects if we are in a full release or not.

This will officially deprecate the ruby release script in the Xcode
folder upon a successful merge.
2015-04-04 15:23:28 -04:00
Kyzentun 9e5081476f Added timing menu options to Edit Mode that allow shifting and copying timing segments of a chosen type in the selected region or everywhere below the cursor. 2015-04-04 09:10:00 -06:00
Jason Felds 016a4053e1 More CMake improvements and education.
* `set_target_properties` can have multiple properties assigned in one go.
* Have version information be generated from CMake, not later plist preprocessing.
* Configure the plist file regardless of OS. This should be a safe command: following the example from the knut repository.

The old fashioned Info-StepMania.plist file can be considered deprecated
upon a full migration to CMake.
2015-04-03 23:24:46 -04: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 2f1a348565 Commify handles negative numbers now. 2015-04-02 18:02:38 -06:00
Kyzentun d789ef7c6b Exposed commify function to lua and made it handle decimal numbers. 2015-04-02 13:36:41 -06:00
Jason Felds b3addbedbc CMake adjusted to allow proper releasing.
Mac side is ready.
2015-03-31 21:17:20 -04:00