Giter Club home page Giter Club logo

sentakki's Introduction

sentakki


.NET Core CodeFactor Crowdin Discord Shield

ko-fi

sentakki is a recreation of maimaiDX for use within osu, taking advantage of the longevity and the osu ecosystem for features such as multiplayer, beatmap listing, and leaderboards.

Status

All the essential note types have been implemented. Features like editor is being developed on the side, since lazer doesn't support third party ruleset editors yet. PP/diff calc haven't been given considered yet, and it is currently open to ideas.

Demo videos

These charts have been ported from maimaiDX, but conversions of osu!std charts are also supported.

KnightRider.mp4
Bassline.yateru.mp4
InternetOverdose.mp4
SwiftSwing.mp4

Trying the ruleset

Prebuilt binaries are provided for users who doesn't want to create a development environment. Releases are guaranteed to work with the latest version of lazer at the time of release.

Releases
Installation Guide
Sentakki wiki

Debugging and Developing

Some prerequisites are required before attempting to debug or develop:

  • A desktop platform with the .NET 8 SDK or higher installed.
  • An IDE with support for C#, providing auto completion and syntax highlighting. I recommend using Visual Studio 2019 or Visual Studio Code.
  • Other requirements are shared with osu!lazer and osu!framework

Downloading the source code

Clone the repository:

git clone https://github.com/lumpbloom7/sentakki
cd sentakki

To update the source code to the latest commit, run the following command inside the osu directory:

git pull

Building

Using the Build command from your IDE should generate a DLL file within the output directory. If you're debugging or developing, it is a bit more convenient to run the VisualTests project instead since that'll remove the need to copy the dll to your lazer directory.

You can also build sentakki from the command-line with a single command:

dotnet build osu.Game.Rulesets.Sentakki

Contributing

There are a few ways one can look to contribute to sentakki.

Code contributions

If you are interested in implementing new features or improving current features, you can fork the repository and develop the feature/improvement on a topic branch of your fork before PR'ing the changes to this repository.

Localization contributions

Want to see Sentakki display text in your language? You can help localize Sentakki via the project's crowdin page.

Feedback / bug reports

Notice a problem during gameplay? Feel free to leave an issue/suggestion over at GitHub issues.

Licence

Sentakki is licensed under the MIT licence. Please see the licence file for more information. tl;dr you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source.

Do take note that project dependencies may not share the same license.

sentakki's People

Contributors

agatemosu avatar blueglassblock avatar coppertine avatar dependabot-preview[bot] avatar dependabot[bot] avatar flutterish avatar loreos7 avatar lumpbloom7 avatar programmingpleb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sentakki's Issues

Various issues during gameplay

In the game, the touch screen no longer seems to be above the specified decision area. When an object is tapped, it is not possible to identify and accurately determine whether or not the object was hit. The slider's sliding judgement is very strange and you can't get it right every time! I hope it can be improved.

Editor is not accessible in osu!

Fresh install of osu!laser 2021.608.0 and sentakki 2021.608.0 on Windows 10 21H1
Relevant section of log file included below.

2021-06-08 23:28:06 [verbose]: Screen changed → Editor
2021-06-08 23:28:06 [error]: An unhandled error has occurred.
2021-06-08 23:28:06 [error]: System.ArgumentException: Only beatmaps in the osu, taiko, catch, or mania rulesets can be encoded to the legacy beatmap format. (Parameter 'beatmap')
2021-06-08 23:28:06 [error]: at osu.Game.Beatmaps.Formats.LegacyBeatmapEncoder..ctor(IBeatmap beatmap, ISkin skin)
2021-06-08 23:28:06 [error]: at osu.Game.Screens.Edit.EditorChangeHandler.UpdateState()
2021-06-08 23:28:06 [error]: at osu.Game.Screens.Edit.TransactionalCommitComponent.SaveState()
2021-06-08 23:28:06 [error]: at osu.Game.Screens.Edit.EditorChangeHandler..ctor(EditorBeatmap editorBeatmap)
2021-06-08 23:28:06 [error]: at osu.Game.Screens.Edit.Editor.load(OsuColour colours, OsuConfigManager config)
2021-06-08 23:28:06 [error]: --- End of stack trace from previous location ---
2021-06-08 23:28:06 [error]: at osu.Framework.Allocation.BackgroundDependencyLoaderAttribute.<>c__DisplayClass6_0.<CreateActivator>b__4(Object target, IReadOnlyDependencyContainer dc)
2021-06-08 23:28:06 [error]: at osu.Framework.Allocation.DependencyActivator.activate(Object obj, IReadOnlyDependencyContainer dependencies)
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Drawable.load(IFrameBasedClock clock, IReadOnlyDependencyContainer dependencies)
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Drawable.Load(IFrameBasedClock clock, IReadOnlyDependencyContainer dependencies, Boolean isDirectAsyncContext)
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Drawable.LoadFromAsync(IFrameBasedClock clock, IReadOnlyDependencyContainer dependencies, Boolean isDirectAsyncContext)
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.loadComponents[TLoadable](List`1 components, IReadOnlyDependencyContainer dependencies, Boolean isDirectAsyncContext, CancellationToken cancellation)
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.<>c__DisplayClass17_0`1.<LoadComponentsAsync>b__1()
2021-06-08 23:28:06 [error]: at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
2021-06-08 23:28:06 [error]: --- End of stack trace from previous location ---
2021-06-08 23:28:06 [error]: at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
2021-06-08 23:28:06 [error]: --- End of stack trace from previous location ---
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.<>c__DisplayClass17_2`1.<LoadComponentsAsync>b__4()
2021-06-08 23:28:06 [error]: at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
2021-06-08 23:28:06 [error]: at osu.Framework.Threading.Scheduler.Update()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Drawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2021-06-08 23:28:06 [error]: at osu.Framework.Platform.GameHost.UpdateFrame()
2021-06-08 23:28:06 [error]: at osu.Framework.Threading.GameThread.ProcessFrame()
2021-06-08 23:28:06 [verbose]: Unhandled exception has been allowed with 0 more allowable exceptions .

Slide things from the arcade maimai

Maybe try to add the slider things across the screen from the real maimai? I feel like that would improve the game, even if it is only on mobile.

EDIT: Maybe add a setting to toggle it.

Speed related mods also change note animation times

Potential solutions I can think of:

1. Adjusting the note duration based on the current playback speed
2. Adjusting note animation to use the approach rate of beatmaps, which avoids the problem of needing to manually set animation speed, but removes a adjustable option that was present in Maimai
3. Ignore the problem and consider it a feature.

BREAK colouring

Single notes/slides have cyan color.
Twins have yellow color.
But all BREAKs, both single and twins are orange. This reduces the readability, especially for slides.

I don't think that adding one more colour would work. Maybe, change the appearance of "approach lines" somehow for twins to make them more visible?

An option to adjust the playfield's offset/alignment

With my intention for sentakki to be a viable option for DIY maimai machines, it is important that there are options to ease the use of sentakki on those machines.

Currently the playfield is hard locked to the center of the screen, either forcing DIY-ers to accommodate that in fullscreen, or to resort to using windowed mode.

Having an option to finetune the playfield position would allow for greater accessibility and leniency for DIY machines.

iOS and iPadOS file support?

ภาพ
i found osu! document in itunes but ios don't know .dll file. pull file .dll and boom! crash

sentakki ruleset will support ios when?

note entry animation change name

hi, this is my first time writing an issue here so please be gentle on me

i think the note entry animation duration name in the settings should be changed to note speed (or something simirar)

Share sentakki gameplay events with other programs

This is primarily to enable DIY maimai machines to be able to have their own button lighting effects, but may also be beneficial for other purposes such as RGB rave parties or whatnot. (Mr. Keane's machine being a notable example of a machine with led lighting)

Sentakki could broadcast certain events, such as touch events, note judgements and so on using a standard format. Listeners can then process them and perform actions with the information given. (maybe to turn on a certain light somewhere)

I need to look up on how IPC should work, since I have never done something like that before. (maybe pipes? idk)

Allow wielding.

I want to allow wielding in sentakki because in physical Maimai, there's seperate buttons that allow you to wield (in touch too.). It's so annoying that in spinning thrill note (like on The disapperance of hatsune miku MAS.) you can't wield. and you have to touch rapidly (no one do that in Maimai, I think).

2021-04-12.11-00-05_Trim.mp4

Crash when scrolling through timeline as you hold down the spinner object's end in the timeline

title explains it

replication:
create normal map
place down the spinner thing (idk what its called)
hold the end like you're changing the length
scroll using mouse
(not)profit

Runtime log
2023-03-25 04:29:44 [error]: An unhandled error has occurred. 2023-03-25 04:29:44 [error]: System.InvalidOperationException: Nullable object must have a value. 2023-03-25 04:29:44 [error]: at System.Nullable`1.get_Value() 2023-03-25 04:29:44 [error]: at osu.Game.Rulesets.Sentakki.Objects.Drawables.DrawableTouchHold.Update() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Drawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Game.Rulesets.UI.FrameStabilityContainer.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Platform.GameHost.UpdateFrame() 2023-03-25 04:29:44 [error]: at osu.Framework.Threading.GameThread.processFrame() 2023-03-25 04:29:44 [verbose]: Unhandled exception has been allowed with 0 more allowable exceptions . 2023-03-25 04:29:44 [error]: An unhandled error has occurred. 2023-03-25 04:29:44 [error]: System.InvalidOperationException: Nullable object must have a value. 2023-03-25 04:29:44 [error]: at System.Nullable`1.get_Value() 2023-03-25 04:29:44 [error]: at osu.Game.Rulesets.Sentakki.Objects.Drawables.DrawableTouchHold.Update() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Drawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Game.Rulesets.UI.FrameStabilityContainer.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Platform.GameHost.UpdateFrame() 2023-03-25 04:29:44 [error]: at osu.Framework.Threading.GameThread.processFrame() 2023-03-25 04:29:44 [verbose]: Unhandled exception has been denied . 2023-03-25 04:29:44 [error]: An unhandled error has occurred. 2023-03-25 04:29:44 [error]: System.InvalidOperationException: Nullable object must have a value. 2023-03-25 04:29:44 [error]: at System.Nullable`1.get_Value() 2023-03-25 04:29:44 [error]: at osu.Game.Rulesets.Sentakki.Objects.Drawables.DrawableTouchHold.Update() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Drawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Game.Rulesets.UI.FrameStabilityContainer.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree() 2023-03-25 04:29:44 [error]: at osu.Framework.Platform.GameHost.UpdateFrame() 2023-03-25 04:29:44 [error]: at osu.Framework.Threading.GameThread.processFrame() 2023-03-25 04:29:44 [verbose]: Unhandled exception has been denied . 2023-03-25 04:29:45 [verbose]: Host execution state changed to Stopping 2023-03-25 04:29:54 [verbose]: Host execution state changed to Stopped

Crash when using experimental touch notes

While playing the sentakki gamemode with the experimental mod and touch notes enabled, anytime that the star-like object appears it begins to grow before osu!lazer quickly freezes and then crashes.

This first happened on an unreleased map that I was testing, but I was able to replicate is with other maps, for example this map from the internet beatmap pack Vol. 1 (https://osu.ppy.sh/beatmapsets/332436#osu/755258) Crashes at around 13% on the "Baraatje123's Juicer" difficulty.

I've uploaded the runtime.log, which appears to be the only important one for this. It specifies "System.NullReferenceException: Object reference not set to an instance of an object." as the error. I am running the latest version of osu!lazer, 2020.1204.0.0, and the latest version of the sentakki ruleset.

Hard Rock doesn't change HitWindows anymore

I made hitwindows constant by setting the min, max and avg to be the same. This in turn rendered the difficulty adjustment redundant as this ruleset doesn't utilize any of the other difficulty values as well.

Sliders play tail hitsounds on overly early release

title is a bad explanation, sorry. Releasing a slider overly early plays the tail hitsound, even though it should technically count as a miss and so not play a hitsound. It leaves the end hitsound misplaced and confusing.

Invalid note type during convert?

Hello, I would like to ask about several matters that bugs me being driven away from the actual "sentaku".

1-tile away slides

I know this is a convert, what I want to ask is "Isn't a very short slide notes are rather impossible in general?". iirc the original one had around 2~8 ticks.

Break Slide and Break Hold

Is this specific for sentakki itself?

Slide "animation" delay

As what I know that post-tap and the slide animation starts 1 beat interval, I'll assume the interval difference in here is not by bpm?

Also the plan of Slide note will be always attached to Star-skinned Tap as one entity or you could allow the possibility of being UTAGE memes?

I think thats the thing I would like to ask, thanks!

Hidden and FadeIn mods don't work at all

A rather dumb oversight on my end.

In #86 I changed all of the animations from manual lerping in Update() to using drawable transforms in UpdateInitialTransforms(), but neglected to re-implement the Hidden and FadeIn mod behaviors.

On the bright side, this gives me the opportunity to rethink how Hidden and FadeIn would work :)

Error while opening ruleset in mobile

Hello, I've downloaded sentakki, and I've tried it on my pc (linux), and it worked flawlessly, but when I put it on my phone (Realme 8i), it gave me an error
Screenshot_2022-09-25-22-25-57-78_25a1a32208bbcdc1d450b7aa854bb161

Feature Request/ About Spinner

i thought it would be really. really good for Spinner in this ruleset
When spinner approaches Spin Text Appears above and you need to Spin it It will spin The Circle things entirely
im really bad at describing things im sorry :c

Playing sentakki causes unhandled error in osu

Hi. When I try to play sentakki on a map before playing, the message shows as following:

image

When I look on the log, I notice one of the line missing its dependency.

2023-05-17 23:04:06 [error]: System.MissingFieldException: Field not found: 'osu.Game.Rulesets.Objects.HitObject.SampleControlPoint'.

Is there anything wrong with sentakki or what? Lazer build is currently at 2023.513.0-lazer.

Abusing rewind or note speed slider will break Proxied DHO's

When a proxied drawable is reset many times, either via rewinding or AnimationDuration changes, the proxy will break in an unusual way, causing obvious visual artifacts.

The first sign of it breaking is the proxied drawable having messed up depths, even though the comparison function should compare using the DHO's start time.

The second sign of breakage is the DotPiece of Hold and Tap notes breaking as well, even though they have no transforms that could cause it, and their parent drawable is still showing as normal.

These visual errors never fix itself throughout the rest of gameplay.

Demo video
image

Removing the proxying completely avoids the issue, but then creates the problem where one lane is visibly above another.

Twin slides may overlap

I don't think that this is actually beatable.
2022 08 12-22:49:37
2022 08 12-22:59:42

A check for slides so they won't pass the same points on playfield is necessary.

There are cases when sliders intersects that moving stars pass near-the-same point on screen at the same time. This is beatable because you don't have to follow the stars precisely, but still confusing.
2022 08 12-23:01:35

Also, it's offtopic in this issue, but i want to ask you add more slides paths. Especially complicated ones, like on 2nd screenshot. It will make the ruleset much more interesting to play.

Sliders use incorrect hitsounds

happens to everyone

the heads of sliders are copying the hitsounds used by the tails of the sliders, rather than using their own hitsounds.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.