Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DTXManiaNX Crashes when changing PlaySpeed #159

Closed
basharkey opened this issue Mar 17, 2023 · 0 comments
Closed

DTXManiaNX Crashes when changing PlaySpeed #159

basharkey opened this issue Mar 17, 2023 · 0 comments
Labels

Comments

@basharkey
Copy link

basharkey commented Mar 17, 2023

Description

I have found a really weird issue where DTXManiaNX crashes when increasing or reducing PlaySpeed. The issue only occurs when:

1. PlaySpeed is any value other than 1.000
2. The SD binding under [DrumsKeyAssing] in Config.ini contains the Midi key M038 (it also seems crash if its M039)
3. And you successfully complete a stage (it won't crash if you get Stage Failed)

I was completely wrong, the game appears to crash when completing a song on modified PlaySpeed only if you haven't completed a simfile at 1.000 PlaySpeed first.

Crash details

System.NullReferenceException: Object reference not set to an instance of an object.
   at DTXMania.CActResultParameterPanel.OnUpdateAndDraw()
   at DTXMania.CStageResult.OnUpdateAndDraw()
   at DTXMania.CDTXMania.Draw(GameTime gameTime)
   at SampleFramework.Game.DrawFrame()
   at SampleFramework.Game.Tick()
   at SampleFramework.Game.Application_Idle(Object sender, EventArgs e)
   at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at SampleFramework.Game.Run()
   at DTXMania.Program.Main()

dtx-error-sd-m038

Work Around

I was able to work around this by changing the Midi note my drum module outputs for its snare to 59. Then I replaced M038 with M059 and it no longer crashes.

First complete a simfile without failing at 1.000 PlaySpeed, then you can play any further songs at whatever PlaySpeed you prefer and the game won't crash.

@limyz limyz added the bug label Sep 22, 2023
fisyher referenced this issue Feb 18, 2024
…to empty string to ensure empty progress bar is drawn correctly when score is not saved due to modified playspeed
@fisyher fisyher closed this as completed Mar 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants