Forums » Themes » [SM5][Theme] Consensual

For the judge counter, it was an accident. I was trying to save a bit of processing by only updating it when JudgmentMessageCommand occurred, but it turns out the player stats are updated after that command is broadcast. So I had to go back to updating it every frame.
You could use ScoreChangedMessageCommand, which is broadcast by ScoreKeeperNormal immediately after updating PlayerStageStats( although not for hold checkpoints, if you care about those ). ComboChanged message goes out on all non-mine judgments after stats are updated. Or you could use a queuecommand from the Judgment message.

Last edited: 23 August 2015 8:30am

Reply
For some reason my stepmania doesn't seem to give the current version properly (tried with the nightly build and the 5.0.9 official release) which makes consensual fallback to the default theme (accusing lower than 5.0.9 version), I had to force the version check script to be skipped so I could use the current consensual version.
You most likely have an outdated executable from not installing 5.0.9 cleanly. If you're running the -SSE2 exe, that's the problem. Non-SSE2 support was removed a couple releases ago, so the -SSE2 exe you see is old and shouldn't be there.
As you probably saw, I didn't bother to try to read the version string, and instead just check whether a function exists on ScreenVersionTest. I didn't get around to actually using get_music_file_length, but pre-5.0.9 has a bug in rendering an ActorMultiVertex that is shaped by a spline, which probably clips the letters in my logo animation.

After doing some changes for my needs, save_score.lua works like a charm so thanks for that. Now I wanted another similar script called right as the song starts (i.e. transitioning to the gameplay screen), I figured out how to get the information I need making this save_current.lua and how to add it somewhere based on how the save_score function is called on the evaluation screen overlay, however I have no idea where to put it to be called at the point I want it to, help with that would be appreciated. Also, I'm assuming all those information I'm querying would be already valid as I enter in the gameplay screen, if that's not the case I would need help with that as well.

Other than that the only significant change I noticed is the 'bounciness' on the menus that felt a bit too heavy to the point of being uncomfortable when scrolling through the song wheel.

Stick it in ScreenGameplay in.lua. That's the in transition for entering ScreenGameplay, and I don't edit it often so you won't get conflicts when updating. Your code should work fine.

For the bounciness, maybe I should add a config variable for the *4 in this: https://github.com/kyzentun/consensual/blob/master/Scripts/01%20misc.lua#L586
That's what makes everything bounce.
To create the bezier tweens, I had to make a special screen for editing bezier curves interactively and seeing them in action:

Last edited: 23 August 2015 9:45am

< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
Awesome, managed to set up everything I wanted. Thanks for your help Kyzentun.

The interactive screen for setting up the bezier curves is nice, my only experience with them is through a ray-tracer output. I'll keep updted when you add it to the theme, for now I'll edit the script manually.

And yeah, I was using the SSE executable, had no idea it was outdated as I was always re-installing over the same directory to avoid moving some local data.
Reply
The screen for editing bezier curves is a theme design tool, not something users should deal with. At most, I'd change that "4" that I pointed to to a customizable value, so that the tweens take less time.

To avoid moving local data when updating stepmania, you could use the appdata folder, but then you have to do some find and replace shenanigans in your Stats.xml to change all the scores to point to the new simfile path.
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
Found a bug trying to play bms game mode with consensual. During gameplay, when you press a key (either hitting a note or not) all the notes on the corresponding column inside a certain time window disappear graphically (it is still possible to hit the invisible note). Trivial test would be trying to play a chart with something like 16th jacks at 100bpm. Bug makes the mode unplayable.

Also related to bms mode, but with stepmania in itself (happens in any theme). I keep getting various warnings saying "Lua: sleep(-0.001000): time must not be negative" when I hit notes.

Aside from that I have some feature suggestions for Consensual. First is adding a "Timing config" menu similar to Life/Grading/Scoring config menus where you can customize the timing windows within the game (afaik you can only do that changing "TimingWindowSeconds*" in preferences.ini manually). The other is being able to save custom presets for each of Life, Grading, Scoring and the potential Timing config menus; something like the already present "Set ITG Grades" and "Set MadMatt Life". As it is, changing those with any regularity is pretty cumbersome and error prone.
Reply
I only have 1 bms (A "Bridal Festival" file from somewhere), so nothing has 100 bpm 16ths.

1. I played a song to test, and didn't see any notes disappearing. How wide is the window the notes disappear in?

2. This is almost certainly caused by the noteskin. Post a link to the noteskin.

3. I'll work on a timing config menu. I've actually had the timing preferences in an "Experimental" menu in the normal options menu for a long time, but in a section that requires options level 5. (which I reserve for things that might hose the game in ways that require knowledge to get out of)
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
I'm using the default noteskin for bms without touching anything. I don't have any other noteskin to test and it doesn't happen in other themes (tested default and ultralight). Here's a short video showing what happens:



Those are all 4ths at 200bpm, first run I press only the notes visible as they reach the receptors and the following 4th of the same column always disappear when I hit a note. The ending staircase is only to show it doesn't happen between different columns. Second run I simply don't press anything (the note I pressed was supposed to be out of a judge window to show the phenomenom without hitting an actual note but w.e). Changing this same test chart to 8ths the behavior is the same, only the first following note disappears.

And nice to hear about the timing preferences part.
Reply
Well that's weird. Post a link to that specific simfile so I can try testing with it. Also, what speed mod and timing windows are you using?
I also don't get the negative sleeping problem. I should probably change that error message in the engine to give a stack trace.

I finished the timing config menu and committed it.
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply