Coder Social home page Coder Social logo

wieku / danser-go Goto Github PK

View Code? Open in Web Editor NEW
724.0 19.0 96.0 23.62 MB

Dancing visualizer of osu! standard maps and custom osu! client written in Go. Also a generator for osu! videos.

License: Other

Go 98.50% GLSL 0.91% Shell 0.27% C 0.22% C++ 0.09%
golang go dance cursordance osu clone danser

danser-go's Introduction

danser-go

GitHub release CodeFactor Discord server

danser-go is a CLI visualisation tool for osu!standard maps.

As danser is in development phase, some things may break. If that happens please fill an issue with as much detail as possible.

WARNING: Because of MacOS' poor OpenGL support, danser-go won't run on that platform. Please use dual-booted Windows/Linux instead.

Examples

Running Danser

You can download the newest Windows/Linux 64-bit binaries from releases.

After unpacking it to your desired directory, you need to run it using launcher (using danser-launcher executable) or a command-line application/terminal:

Windows cmd:
danser <arguments>
Linux / Unix / git bash / Powershell:
./danser <arguments>

If you try to run danser (not danser-launcher) without any arguments there's a surprise waiting for you ;)

Run arguments

  • -artist="NOMA" or -a="NOMA"
  • -title="Brain Power" or -t="Brain Power"
  • -difficulty="Overdrive" or -d="Overdrive"
  • -creator="Skystar" or -c="Skystar"
  • -md5=hash - overrides all map selection arguments and attempts to find .osu file matching the specified MD5 hash
  • -id=433005 - overrides all map selection arguments and attempts to find .osu file with matching BeatmapID (not BeatmapSetID!)
  • -cursors=2 - number of cursors used in mirror collage
  • -tag=2 - number of cursors in TAG mode
  • -speed=1.5 - music speed. Value of 1.5 is equal to osu!'s DoubleTime mod.
  • -pitch=1.5 - music pitch. Value of 1.5 is equal to osu!'s Nightcore pitch. To recreate osu!'s Nightcore mod, use with speed 1.5
  • -settings=name - settings filename - for example settings/name.json instead of settings/default.json
  • -debug - shows additional info when running Danser, overrides Graphics.DrawFPS setting
  • -play - play through the map in osu!standard mode
  • -skip - skips map's intro like in osu!
  • -start=20.5 - start the map at a given time (in seconds)
  • -end=30.5 - end the map at the given time (in seconds)
  • -knockout - knockout mode
  • -knockout2="[\"replay1.osr\",\"replay2.osr\"]" - knockout mode, but instead of using danser's replays folder, sources replays from the given JSON array. Knockout.MaxPlayers and Knockout.ExcludeMods settings are ignored.
  • -record - Records danser's output to a video file. Needs an accessible FFmpeg installation.
  • -out=abcd - overrides -record flag, records to a given filename instead of auto-generating it. Extension of the file is set in settings. When the -ss flag is used, this sets the output filename as well.
  • -replay="path_to_replay.osr" or -r="path_to_replay.osr" - plays a given replay file. Be sure to replace \ with \\ or /. Overrides all map selection arguments
  • -mods=HDHR - displays the map with given mods. This argument is ignored when -replay is used. -mods=AT will trigger cursordance with replay UI.
  • -skin - overrides Skin.CurrentSkin in settings
  • -cs, -ar, -od, -hp - overrides maps' difficulty settings (values outside of osu!'s normal limits accepted)
  • -nodbcheck - skips updating the database with new, changed or deleted maps
  • -noupdatecheck - skips checking GitHub for a newer version of danser
  • -ss=20.5 - creates a screenshot at the given time in .png format
  • -quickstart - skips intro (-skip flag), sets LeadInTime and LeadInHold to 0.
  • -offset=20 - local audio offset in ms, applies to recordings unlike Audio.Offset. Inverted compared to stable.
  • -preciseprogress - prints record progress in 1% increments.

Since danser 0.4.0b artist, creator, difficulty names and titles don't have to exactly match the .osu file.

Examples which should give the same result:

<executable> -d="Overdrive" -tag=2 //Assuming that there is only ONE map with "Overdrive" as its difficulty name

<executable> -t="Brain Power" -d="Overdrive" -tag=2

<executable> -t "Brain Power" -d Overdrive -tag 2

<executable> -t="ain pow" -difficulty="rdrive" -tag=2

<executable> -md5=59f3708114c73b2334ad18f31ef49046 -tag=2

<executable> -id=933228 -tag=2

Settings and knockout usage are detailed in the wiki.

Building the project

You need to clone it or download as a .zip (and unpack it to desired directory)

Prerequisites

  • 64-bit go (1.19 at least)
  • gcc/g++ (Linux/Unix), WinLibs (Windows, TDM-GCC won't work, mingw-w64 is outdated)
  • OpenGL library (shipped with drivers, libgl1-mesa-dev when building on Linux servers)
  • xorg-dev, libgtk-3 and libgtk-3-dev (Linux)

Building and running the project

First, enter the cloned/downloaded repository.

When you're running it for the first time or if you made any changes type:

go build

This will automatically download and build needed dependencies.

Afterwards type:

./danser-go <arguments>

Running without arguments (as opposed in Running Danser) will give you the launcher, though you can't use drag&drop on the executable to preload a replay. If that ability is desired, build danser using dist scripts.

Credits and License

Software created by Sebastian Krajewski (@Wieku) and contributors

Unless stated otherwise, source files are distributed under GNU General Public License v3.0

Full credits and licenses of 3rd party assets can be found here.

danser-go's People

Contributors

aliceunderwater avatar arisudesu avatar jamiegyoung avatar khang06 avatar melonis45 avatar percydan54 avatar technojo4 avatar vladaad avatar wieku 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

danser-go's Issues

nice update

Thanks for your hard work. I've been waiting for this so much!

Option to Render to .mp4

Using ffmpeg to render stuff to a video file would probably work better than real-time, that way my pc won't suffer when turning on bloom.

runtime error: index out of range [41] with length 3

Describe the bug
Tried to load "859515 K A Z M A S A - Bon Appetit S (Oldskool HappyHardcore Remix) (Short Ver)", resulting in this error right before the first note has been hit by danser or a replay.
Loading another map works fine with danser and replays but not this one.
Every difficulty of the map results in the same error.
I tried to : reset DB like said in other issues, reset config, renaming audio file (because it has a ",").
Same problem with both Linux (Pop OS) and Windows 10
No success.

Logs
danser.log
danser.db.txt
(renamed danser.db to danser.db.txt since github doesn't recognize .db files)

Computer configuration:
Operating System: Pop! OS 20.04/ Windows 10 1809
CPU: Intel i5 6500
GPU: GTX1050Ti

Few questions about danser

Hello! I love your work! But I have a few questions about it.

  1. Whats about the replay functionallity (multiple replays together). Is this already in the program (In the code are some spots which are seeming to do this)
  2. Whats about the "kockout"-Mode (like on your YouTube channel).
  3. I think I have a small problem with the bot / the resolution (1920x1080) There are no borders, everything is hard zoomed in and the cursors are going out of the screen (unlike in your videos, where they are bouncing on the "walls")

I'm happy you are working on it again! I'll hope we can see even more features comming!

Edit: Here are some screenshots and the settings.json

a17d
0c32

{
	"Version": "v1",
	"General": {
		"OsuSongsDir": "REMOVED"
	},
	"Graphics": {
		"Width": 1920,
		"Height": 1080,
		"WindowWidth": 1280,
		"WindowHeight": 720,
		"Fullscreen": true,
		"VSync": false,
		"FPSCap": 1000,
		"MSAA": 16
	},
	"Audio": {
		"GeneralVolume": 0.5,
		"MusicVolume": 0.5,
		"SampleVolume": 0.5,
		"Offset": 0,
		"IgnoreBeatmapSamples": false,
		"IgnoreBeatmapSampleVolume": false
	},
	"Beat": {
		"BeatScale": 1.2
	},
	"Cursor": {
		"Colors": {
			"EnableRainbow": true,
			"RainbowSpeed": 8,
			"BaseColor": {
				"Hue": 0,
				"Saturation": 1,
				"Value": 1
			},
			"EnableCustomHueOffset": false,
			"HueOffset": 0,
			"FlashToTheBeat": false,
			"FlashAmplitude": 0
		},
		"EnableCustomTagColorOffset": true,
		"TagColorOffset": -36,
		"EnableTrailGlow": true,
		"EnableCustomTrailGlowOffset": true,
		"TrailGlowOffset": -36,
		"ScaleToCS": false,
		"CursorSize": 18,
		"ScaleToTheBeat": true,
		"ShowCursorsOnBreaks": true,
		"BounceOnEdges": false,
		"TrailEndScale": 0.4,
		"TrailDensity": 0.5,
		"TrailMaxLength": 2000,
		"TrailRemoveSpeed": 1,
		"GlowEndScale": 0.4,
		"InnerLengthMult": 0.9,
		"AdditiveBlending": true
	},
	"Objects": {
		"MandalaTexturesTrigger": 5,
		"MandalaTexturesAlpha": 0.3,
		"ForceSliderBallTexture": true,
		"DrawApproachCircles": true,
		"DrawComboNumbers": true,
		"DrawReverseArrows": true,
		"DrawSliderFollowCircle": true,
		"LoadSpinners": false,
		"Colors": {
			"EnableRainbow": true,
			"RainbowSpeed": 8,
			"BaseColor": {
				"Hue": 0,
				"Saturation": 1,
				"Value": 1
			},
			"EnableCustomHueOffset": false,
			"HueOffset": 0,
			"FlashToTheBeat": true,
			"FlashAmplitude": 100
		},
		"ObjectsSize": -1,
		"CSMult": 1.2,
		"ScaleToTheBeat": true,
		"SliderLOD": 30,
		"SliderPathLOD": 50,
		"SliderSnakeIn": true,
		"SliderSnakeInMult": 0,
		"SliderSnakeOut": true,
		"SliderMerge": true,
		"SliderDynamicLoad": true,
		"SliderDynamicUnload": true,
		"DrawFollowPoints": true,
		"WhiteFollowPoints": true,
		"FollowPointColorOffset": 0,
		"EnableCustomSliderBorderColor": false,
		"CustomSliderBorderColor": {
			"EnableRainbow": false,
			"RainbowSpeed": 8,
			"BaseColor": {
				"Hue": 0,
				"Saturation": 0,
				"Value": 1
			},
			"EnableCustomHueOffset": false,
			"HueOffset": 0,
			"FlashToTheBeat": true,
			"FlashAmplitude": 100
		},
		"EnableCustomSliderBorderGradientOffset": true,
		"SliderBorderGradientOffset": 18,
		"StackEnabled": true
	},
	"Playfield": {
		"ShowWarning": false,
		"LeadInTime": 5,
		"LeadInHold": 2,
		"FadeOutTime": 5,
		"BackgroundInDim": 0,
		"BackgroundDim": 0.95,
		"BackgroundDimBreaks": 0.95,
		"BlurEnable": true,
		"BackgroundInBlur": 0,
		"BackgroundBlur": 0.6,
		"BackgroundBlurBreaks": 0.6,
		"SpectrumInDim": 0,
		"SpectrumDim": 1,
		"SpectrumDimBreaks": 0,
		"StoryboardEnabled": true,
		"Scale": 1,
		"FlashToTheBeat": true,
		"UnblurToTheBeat": true,
		"UnblurFill": 0.8,
		"KiaiFactor": 1.1,
		"BaseRotation": 0,
		"RotationEnabled": false,
		"RotationSpeed": 2,
		"BloomEnabled": true,
		"BloomToTheBeat": true,
		"BloomBeatAddition": 0.3,
		"Bloom": {
			"Threshold": 0,
			"Blur": 0.6,
			"Power": 0.7
		}
	},
	"Dance": {
		"SliderDance": false,
		"TAGSliderDance": false,
		"SliderDance2B": true,
		"Bezier": {
			"Aggressiveness": 60,
			"SliderAggressiveness": 3
		},
		"Flower": {
			"UseNewStyle": true,
			"AngleOffset": 90,
			"DistanceMult": 0.666,
			"StreamTrigger": 130,
			"StreamAngleOffset": 90,
			"LongJump": -1,
			"LongJumpMult": 0.7,
			"LongJumpOnEqualPos": false
		},
		"HalfCircle": {
			"RadiusMultiplier": 1,
			"StreamTrigger": 130
		}
	}
}

"no go files in directory" (mac)

[user@computer] ~ % go get -u github.com/wieku/danser
package github.com/wieku/danser: no Go files in /Users/[user]/go/src/github.com/wieku/danser
[user@computer] ~ % cd ~/go/src/github.com/wieku/danser/
[user@computer] danser % go build
can't load package: package github.com/wieku/danser: no Go files in /Users/[user]/go/src/github.com/wieku/danser

Danser cannot find beatmap

Hello, I did download binary from releases
My osu directory is on other disk partition so i create link to
C:\Users\home 3\AppData\Local\'osu!'\Songs

Is this can't detect symbolic folder (since i just sym it to other)?
image

GUI song select

Osu-like GUI for selecting which beatmap to do (each of which would essentially run an auto-generated command-line for each of said beatmaps).

Add partial searches

I just recently downloaded this bot just for fun, I am not an avid osu player and I recently installed osu just to test it cause this bot is interesting. I followed the instructions correctly word for word and their parameters but I keep getting stuck in this error. It should have probably been up and running but it isn't.
image

I checked where was it located but I don't think I have made any mistakes.
image

I am confused by that error, I would very much like a GUI to simplify things rather than CLI cause it's tedious to open command prompt and type all the required parameters which is susceptible to typos.

Open and auto close

So, i am opening danser and i open it, then it closes automatically, is there something wrong?

panic: runtime error: index out of range

Stacktrace/log:

2018/08/19 21:15:10 Checking database...
2018/08/19 21:15:10 Imported 0 new beatmaps.
2018/08/19 21:15:10 Found 613 cached beatmaps. Loading...
2018/08/19 21:15:10 Loaded 613 total.
2018/08/19 21:15:11 GLFW initialized!
2018/08/19 21:15:11 BASS Initialized!
2018/08/19 21:15:11 Loading texture:  assets/textures/hitcircle.png
2018/08/19 21:15:11 Loading texture:  assets/textures/approachcircle.png
2018/08/19 21:15:11 Loading texture:  assets/textures/hitcircle-full.png
2018/08/19 21:15:11 Loading texture:  assets/textures/hitcircleoverlay.png
2018/08/19 21:15:11 Loading texture:  assets/textures/slidergradient.png
2018/08/19 21:15:11 Loading texture:  assets/textures/sliderscorepoint.png
2018/08/19 21:15:11 Loading texture:  assets/textures/sliderball.png
2018/08/19 21:15:11 Loading texture:  assets/textures/cursor.png
2018/08/19 21:15:11 Loading texture:  assets/textures/cursor-top.png
2018/08/19 21:15:11 Loading texture:  assets/textures/cursortrail.png
2018/08/19 21:15:11 Can't Defeat Airman
2018/08/19 21:15:11
2018/08/19 21:15:11 Loading texture:  E:\Program files (x86)\osu!\Songs\\Team Nekokan - Can't Defeat Airman\
2018/08/19 21:15:11 er2
2018/08/19 21:15:11 Loading texture:  assets/textures/logo-medium.png
2018/08/19 21:15:11 <nil>
2018/08/19 21:15:11 Team Nekokan - Can't Defeat Airman.mp3
2018/08/19 21:15:11 2147483694 2147483695
2018/08/19 21:15:12 FPS: 637.0935024559166
2018/08/19 21:15:13 FPS: 655.5552649843759
2018/08/19 21:15:14 FPS: 623.3912769522534
2018/08/19 21:15:15 FPS: 626.7669801447643
2018/08/19 21:15:16 FPS: 625.702891596945
2018/08/19 21:15:17 FPS: 627.6562724220981
2018/08/19 21:15:18 FPS: 620.7707224194874
2018/08/19 21:15:19 FPS: 620.6011405628584
2018/08/19 21:15:20 FPS: 607.4080172672456
panic: runtime error: index out of range

goroutine 12 [running]:
github.com/wieku/danser/audio.PlaySample(0x0, 0x4)
        C:/Users/Wieku/go/src/github.com/wieku/danser/audio/osuaudio.go:29 +0xda
github.com/wieku/danser/beatmap/objects.(*Circle).Update(0xc0421aeb60, 0xe1a, 0xc04242ff78)
        C:/Users/Wieku/go/src/github.com/wieku/danser/beatmap/objects/circle.go:59 +0x4c
github.com/wieku/danser/beatmap.(*BeatMap).Update(0xc0422721a0, 0xe1a)
        C:/Users/Wieku/go/src/github.com/wieku/danser/beatmap/beatmap.go:42 +0x184
github.com/wieku/danser/states.NewPlayer.func2(0xc042068570, 0xc0422ad380)
        C:/Users/Wieku/go/src/github.com/wieku/danser/states/player.go:224 +0xae
created by github.com/wieku/danser/states.NewPlayer
        C:/Users/Wieku/go/src/github.com/wieku/danser/states/player.go:217 +0x15bd

Its not working :(

C:\Users\user\go\src\github.com\Wieku\danser>go run main.go -title="Kira Kira Da
ys" -difficulty="Shiawase!!" -tag=2
2018/08/25 17:37:48 Checking database...
2018/08/25 17:37:48 Imported 0 new beatmaps.
2018/08/25 17:37:48 Found 108 cached beatmaps. Loading...
2018/08/25 17:37:48 Loaded 108 total.
panic: VersionUnavailable: WGL: OpenGL profile requested but WGL_ARB_create_cont
ext_profile is unavailable

goroutine 1 [running, locked to thread]:
main.run.func1()
C:/Users/user/go/src/github.com/Wieku/danser/main.go:103 +0xcb6
github.com/faiface/mainthread.Call.func1()
C:/Users/user/go/src/github.com/faiface/mainthread/mainthread.go:63 +0x3
6
github.com/faiface/mainthread.Run(0x79be70)
C:/Users/user/go/src/github.com/faiface/mainthread/mainthread.go:44 +0xc
4
main.main()
C:/Users/user/go/src/github.com/Wieku/danser/main.go:194 +0x34
exit status 2

C:\Users\user\go\src\github.com\Wieku\danser>

I can't open dancer.

When I try to open it the tab opens for a sec and then closes. can someone help me?

"panic: runtime error: index out of range" when loading maps

Updated from danser-0.1.2b to danser-0.1.3b and deleted db

danser-0.1.3b.exe -title="Soulless 4" -cursors="1"
2018/08/25 10:00:20 Checking database...
2018/08/25 10:00:20 Importing: LB - Dreams Of An Absolution (Oddbrother).osu
2018/08/25 10:00:20 Importing: Various Nightcore - Jump Training (rezoons) [AR9 Make A Move (Jump Final Boss)].osu
2018/08/25 10:00:20 Importing: Various Nightcore - Jump Training (rezoons) [AR9.5 Make A Move (Jump Final Boss)].osu
2018/08/25 10:00:20 Importing: Various Nightcore - Jump Training (rezoons) [Anima Libera (Jump Lvl 5)].osu
2018/08/25 10:00:20 Importing: Various Nightcore - Jump Training (rezoons) [Make A Move (Jump Final Boss)].osu
2018/08/25 10:00:20 Importing: Various Nightcore - Jump Training (rezoons) [Monster
(DotEXE Dubstep Remix) (Jump Lvl 2)].osu
2018/08/25 10:00:20 Importing: Various Nightcore - Jump Training (rezoons) [Moonlight Shadow (Jump Lvl 4)].osu
2018/08/25 10:00:20 Importing: Various Nightcore - Jump Training (rezoons) [My Life
Is A Party (Jump Lvl 3)].osu
2018/08/25 10:00:20 Importing: Various Nightcore - Jump Training (rezoons) [Time is
ticking (Jump Lvl 1)].osu
2018/08/25 10:00:20 Importing: Rostik - Liquid (Paul Rosenthal Remix) (Charles445) [Easy].osu
2018/08/25 10:00:20 Importing: Rostik - Liquid (Paul Rosenthal Remix) (Charles445) [Hard].osu
2018/08/25 10:00:20 Importing: Rostik - Liquid (Paul Rosenthal Remix) (Charles445) [Insane].osu
2018/08/25 10:00:20 Importing: Rostik - Liquid (Paul Rosenthal Remix) (Charles445) [Normal].osu
2018/08/25 10:00:20 Importing: cYsmix feat. Emmy - Tear Rain (jonathanlfj) [Hard].osu
2018/08/25 10:00:20 Importing: cYsmix feat. Emmy - Tear Rain (jonathanlfj) [Insane].osu
2018/08/25 10:00:20 Importing: cYsmix feat. Emmy - Tear Rain (jonathanlfj) [Normal].osu
panic: runtime error: index out of range

goroutine 1 [running, locked to thread]:
github.com/wieku/danser/beatmap.(*BeatMap).LoadTimingPoints(0xc04221ab60)
        C:/Users/Wieku/go/src/github.com/wieku/danser/beatmap/beatmap.go:76 +0x76f
github.com/wieku/danser/beatmap.ParseBeatMap(0xc042004118, 0x6c5730)
        C:/Users/Wieku/go/src/github.com/wieku/danser/beatmap/parser.go:194 +0x814
github.com/wieku/danser/database.LoadBeatmaps.func1(0xc042220f00, 0x76, 0x6e5b20, 0xc04203eae0, 0x0, 0x0, 0x0, 0x0)
        C:/Users/Wieku/go/src/github.com/wieku/danser/database/manager.go:73 +0x3bb
path/filepath.walk(0xc042220f00, 0x76, 0x6e5b20, 0xc04203eae0, 0xc04204f0e0, 0x0, 0x0)
        C:/Go/src/path/filepath/path.go:357 +0x409
path/filepath.walk(0xc0423d5950, 0x41, 0x6e5b20, 0xc04203e900, 0xc04204f0e0, 0x0, 0x0)
        C:/Go/src/path/filepath/path.go:381 +0x2c9
path/filepath.walk(0xc042072120, 0x22, 0x6e5b20, 0xc0420a0360, 0xc04204f0e0, 0x0, 0x20)
        C:/Go/src/path/filepath/path.go:381 +0x2c9
path/filepath.Walk(0xc042072120, 0x22, 0xc04204f0e0, 0x9188b8, 0x0)
        C:/Go/src/path/filepath/path.go:403 +0x10d
github.com/wieku/danser/database.LoadBeatmaps(0x0, 0x0, 0x0)
        C:/Users/Wieku/go/src/github.com/wieku/danser/database/manager.go:62 +0x22b
main.run.func1()
        C:/Users/Wieku/go/src/github.com/Wieku/danser/main.go:60 +0x35f
github.com/faiface/mainthread.Call.func1()
        C:/Users/Wieku/go/src/github.com/faiface/mainthread/mainthread.go:63 +0x39
github.com/faiface/mainthread.Run(0x6c5728)
        C:/Users/Wieku/go/src/github.com/faiface/mainthread/mainthread.go:44 +0xc5
main.main()
        C:/Users/Wieku/go/src/github.com/Wieku/danser/main.go:194 +0x34

done correctly, but instantly exits

I entered everything correctly, but when it actually starts, it goes fullscreen and then exits shortly after. Is there a fix to this or is there none since this is abandoned?

Bad database

After adding a beatmap with 0 timingPoints to the database; Empty field in timingPoints.
We assume that there are timingPoints as every osu map is required to have a minimum of 1 timingPoint to set the BPM, sliderSpeed, etc.
These entries will throw out of index error when loaded during the database search.
This is more common then expected as osu! leaves behind empty (0b) beatmap files if a beatmap difficulty gets abandoned in an update. This will cause database values to be default or empty, and for the timingPoints this is empty.

Panic: Runtime error: invalid memory address

everytime i try to run danser-go with autohotkey(run %Comspec% /k C:\Users\User\Desktop\ree\danser.exe -d="owo2") I get the following error

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x20 pc=0x51f205]

goroutine 1 [running, locked to thread]:
image.(*NRGBA).Bounds(0x0, 0x4, 0x4, 0xc004ae4020, 0x4)
C:/Go/src/image/image.go:283 +0x5
github.com/go-gl/glfw/v3.2/glfw.(*Window).SetIcon(0xc006d28000, 0xc000085a70, 0x4, 0x4)
C:/Users/Wieku/go/src/github.com/go-gl/glfw/v3.2/glfw/window.go:354 +0x111
main.run.func1()
C:/Users/Wieku/go/src/github.com/wieku/danser/main.go:146 +0xbd9
github.com/faiface/mainthread.Call.func1()
C:/Users/Wieku/go/src/github.com/faiface/mainthread/mainthread.go:63 +0x36
github.com/faiface/mainthread.Run(0x9fa988)
C:/Users/Wieku/go/src/github.com/faiface/mainthread/mainthread.go:44 +0xc4
main.main()
C:/Users/Wieku/go/src/github.com/wieku/danser/main.go:257 +0x4f

flag provided but not defined: -mover

The console said the string -mover is provided but not defined, even though I put the "linear" after the =
image

Logs
2020/12/04 13:33:11 Ran using: [danser-0.4.1b.exe -t=Verflucht -d=fanzhen's One More Extra -cursors=16 -tag=1 -speed=1 -pitch=1 -mover=linear -knockout]

Computer configuration:
Operating System: Windows 10
CPU: Intel i7 8750h
GPU: GTX1060 (if it's a graphics issue)
Sound Card: no idea (if it's a sound issue)

Not working :c

PS C:\Users\Justin\Desktop\Danser> .\danser-0.1.2b.exe -title="IMAGE -MATERIAL-"
2018/08/24 21:36:56 Checking database...
2018/08/24 21:36:58 Imported 0 new beatmaps.
2018/08/24 21:36:58 Found 6770 cached beatmaps. Loading...
panic: runtime error: index out of range

goroutine 1 [running, locked to thread]:
github.com/wieku/danser/beatmap.(*BeatMap).LoadTimingPoints(0xc0443ae000)
C:/Users/Wieku/go/src/github.com/wieku/danser/beatmap/beatmap.go:67 +0x5cd
github.com/wieku/danser/database.loadBeatmaps(0xc042a24000, 0x1a72, 0x1c00)
C:/Users/Wieku/go/src/github.com/wieku/danser/database/manager.go:170 +0x626
github.com/wieku/danser/database.LoadBeatmaps(0x0, 0x0, 0x0)
C:/Users/Wieku/go/src/github.com/wieku/danser/database/manager.go:103 +0x3fb
main.run.func1()
C:/Users/Wieku/go/src/github.com/Wieku/danser/main.go:59 +0x35f
github.com/faiface/mainthread.Call.func1()
C:/Users/Wieku/go/src/github.com/faiface/mainthread/mainthread.go:63 +0x39
github.com/faiface/mainthread.Run(0x6c2aa8)
C:/Users/Wieku/go/src/github.com/faiface/mainthread/mainthread.go:44 +0xc5
main.main()
C:/Users/Wieku/go/src/github.com/Wieku/danser/main.go:193 +0x34
PS C:\Users\Justin\Desktop\Danser>

not working

C:\Users\user\go\src\github.com\wieku\danser>go run main.go -title="Ange du Blan
c Pur" -difficulty="ABSOLUTION" -cursors=1
2018/08/26 21:43:10 Checking database...
2018/08/26 21:43:10 Imported 0 new beatmaps.
2018/08/26 21:43:10 Found 46 cached beatmaps. Loading...
2018/08/26 21:43:10 Loaded 46 total.
2018/08/26 21:43:10 GLFW initialized!
2018/08/26 21:43:11 BASS Initialized!
2018/08/26 21:43:11 Loading texture: assets/textures/hitcircle.png
2018/08/26 21:43:11 Loading texture: assets/textures/approachcircle.png
2018/08/26 21:43:11 Loading texture: assets/textures/hitcircle-full.png
2018/08/26 21:43:11 Loading texture: assets/textures/hitcircleoverlay.png
2018/08/26 21:43:11 Loading texture: assets/textures/slidergradient.png
2018/08/26 21:43:11 Loading texture: assets/textures/sliderscorepoint.png
2018/08/26 21:43:11 Loading texture: assets/textures/sliderball.png
2018/08/26 21:43:11 Loading texture: assets/textures/cursor.png
2018/08/26 21:43:11 Loading texture: assets/textures/cursor-top.png
2018/08/26 21:43:11 Loading texture: assets/textures/cursortrail.png
panic: Sprite: error compiling fragment shader: ERROR: 0:12: 'texture2D' : funct
ion is removed in Forward Compatible context
ERROR: 0:12: 'texture2D' : no matching overloaded function found (using implicit
conversion)
ERROR: 0:11: '=' : cannot convert from 'const highp float' to '4-component vect
or of highp float'

goroutine 1 [running, locked to thread]:
github.com/wieku/danser/render.setup()
C:/Users/user/go/src/github.com/wieku/danser/render/sprite.go:33 +0x427
github.com/wieku/danser/render.NewSpriteBatch(0x785000)
C:/Users/user/go/src/github.com/wieku/danser/render/sprite.go:60 +0x2a3
github.com/wieku/danser/states.NewPlayer(0xc000281ba0, 0x3f80000000000000)
C:/Users/user/go/src/github.com/wieku/danser/states/player.go:67 +0x60
main.run.func1()
C:/Users/user/go/src/github.com/wieku/danser/main.go:125 +0x7c2
github.com/faiface/mainthread.Call.func1()
C:/Users/user/go/src/github.com/faiface/mainthread/mainthread.go:63 +0x3
6
github.com/faiface/mainthread.Run(0x79be70)
C:/Users/user/go/src/github.com/faiface/mainthread/mainthread.go:44 +0xc
4
main.main()
C:/Users/user/go/src/github.com/wieku/danser/main.go:194 +0x34
exit status 2

C:\Users\user\go\src\github.com\wieku\danser>

Add List imported songs

I always find myself going back into osu in order to get the names of the songs and difficulties. A command like danser-***.exe -list would make it a whole lot easier to utilize this tool.

Cannot disable custom beatmap sounds

"Audio": { "GeneralVolume": 0.5, "MusicVolume": 0.5, "SampleVolume": 0.5, // when I set to 0 skin hitsounds are muted "Offset": 0, "IgnoreBeatmapSamples": true, "IgnoreBeatmapSampleVolume": true }

Crash while importing

panic: open C:\Users\jackg\AppData\Local\osu!\Songs\\13019 Daisuke Achiwa - BASARA\Daisuke Achiwa - BASARA (100pa-) [BASARA].osu: The system cannot find the path specified.

goroutine 1 [running, locked to thread]:
github.com/wieku/danser/beatmap.ParseBeatMap(0xc000336540, 0x0, 0x0)
        C:/Users/Wieku/go/src/github.com/wieku/danser/beatmap/parser.go:128 +0xea4
github.com/wieku/danser/beatmap.ParseBeatMapFile(0xc000006ab8, 0x9fac20)
        C:/Users/Wieku/go/src/github.com/wieku/danser/beatmap/parser.go:200 +0x154
github.com/wieku/danser/database.LoadBeatmaps.func1(0xc00083b900, 0x9b, 0xa53ee0, 0xc000edb650, 0x0, 0x0, 0x0, 0x0)
        C:/Users/Wieku/go/src/github.com/wieku/danser/database/manager.go:102 +0x35a
path/filepath.walk(0xc00083b900, 0x9b, 0xa53ee0, 0xc000edb650, 0xc000045580, 0x0, 0x0)
        C:/Go/src/path/filepath/path.go:358 +0x410
path/filepath.walk(0xc0009748c0, 0x6d, 0xa53ee0, 0xc000edb260, 0xc000045580, 0x0, 0x0)
        C:/Go/src/path/filepath/path.go:382 +0x2f2
path/filepath.walk(0xc000a759a0, 0x4f, 0xa53ee0, 0xc000edaa80, 0xc000045580, 0x0, 0x0)
        C:/Go/src/path/filepath/path.go:382 +0x2f2
path/filepath.walk(0xc0000702a0, 0x28, 0xa53ee0, 0xc0001b2cb0, 0xc000045580, 0x0, 0x20)
        C:/Go/src/path/filepath/path.go:382 +0x2f2
path/filepath.Walk(0xc0000702a0, 0x28, 0xc000045580, 0xd47980, 0x0)
        C:/Go/src/path/filepath/path.go:404 +0x10c
github.com/wieku/danser/database.LoadBeatmaps(0x0, 0x0, 0x8)
        C:/Users/Wieku/go/src/github.com/wieku/danser/database/manager.go:91 +0x211
main.run.func1()
        C:/Users/Wieku/go/src/github.com/wieku/danser/main.go:87 +0x5d2
github.com/faiface/mainthread.Call.func1()
        C:/Users/Wieku/go/src/github.com/faiface/mainthread/mainthread.go:63 +0x36
github.com/faiface/mainthread.Run(0x9fa988)
        C:/Users/Wieku/go/src/github.com/faiface/mainthread/mainthread.go:44 +0xc4
main.main()
        C:/Users/Wieku/go/src/github.com/wieku/danser/main.go:257 +0x4f```

Stops read dir in config

Hello! I found out that if I start beatmap from local dir (where .exe is contains) it works ok. But if I start from cmd (Win+R) and write full path the game starts search in standard folder
1
2

I also found out that Russian symbols aren't the reason.
My osu dir is D:\osu!

Knockout Mode Idea

It could be cool to have a knockout mode where the players get knocked out when they're 0hp (usually on multi replays). And maybe, another mode that works the same but the players come back when they're not longer dead.

Lighter sliders

Current sliders are quite heavy, triangle count is pixelLength*(PathLOD/100)*SliderLOD. The new slider algorithm will result in 5 times less triangles in the mesh.

X replays

I heard about this in the comment section of your videos, and I was wondering if that was public yet or im just looking in the wrong spot.

Visual miss bug

Describe the bug
A clear and concise description of what the bug is.

Auto, despite getting a 100% play, appeared to miss in a dancer replay with the DT mod applied.

Screenshots
If applicable, add screenshots to help explain your problem.
this zip should have all you need in terms of visual proof.
Logs
Put danser.log here.
danser.log

Computer configuration:
Operating System: Windows 10
CPU: Intel i7 8700K
GPU: GTX1080 (if it's a graphics issue)
Sound Card: FiiO E10K (if it's a sound issue)
ps my specs autofilled idk what they are

Not starting :c

github.com/go-gl/glfw/v3.1/glfw

In file included from ../../Projects/Proj1/src/github.com/go-gl/glfw/v3.1/glfw/context.go:4:0:
./glfw/include/GLFW/glfw3.h:153:21: fatal error: GL/gl.h: No such file or directory
compilation terminated.

github.com/go-gl/gl/v3.3-core/gl

../../Projects/Proj1/src/github.com/go-gl/gl/v3.3-core/gl/procaddr.go:52:21: fatal error: GL/glx.h: No such file or directory
compilation terminated

Doesn't handle apostrophies?

Most songs I've run into that have an apostrophe in either the title or difficulty are just impossible to get to run. It always comes back with a beat map not found even though I've copy and pasted the name directly into the tag. Weird bug, and because I have no idea how go works I have no idea how hard of a bug it is to fix.

beatmap search by id

I guess this is an enhancement but would it be possible to add a search filter by beatmap id, such as id=123456 instead of having to type out the name of the beatmap as well as the difficulty etc. I've never used github before so sorry if this is in the wrong section.

Relax replay

Replays in relax do not work as danser needs to see a keypress, I think it would be nice to have a check for relax and make it behave like relax.

Wont open

Yup. when I open it the command promt appears then just instantly closes. :////

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.