Skip to content

Catizard/lampghost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LampGhost: The ghost system for BMS lamp tracker

Caution

Do not directly copy LampGhost to your oraja/LR2 directory, this might ruin your own save file. Copy them altogether to antother directory is recommanded.

Caution

This project is still in heavy development. Any change to database related code would destroy your current database. You have to delete .lampghost directory at your home directory to give a fresh start.

Main Goals

  • Diff yours and other players' lamp status at some point in the past
  • Support lr2 score import
  • Full docs support

LampGhost aims at diff with previous status, which means you can "revert" other players' play record after some point (e.g only using the record before the rival reaches ★4)

This project so called "lampghost" is because it's like the "ghost record" in car racing game.

Quick start

Build this project

$ go build

Initialize

Before you doing anything, you need to call init command to setup LampGhost's database.

$ ./lampghost init

Note

LampGhost's data is stored in home directory by default, which is $HOME/.lampghost on linux/osx and %USERPROFILE%\.lampghost\ on windows.

Warning

Calling ./lampghost init the second time won't delete any data file expect lampghost.db. In other words, init command doesn't really init everything, all data files expect lampghost.db still locate at your home directory. I haven't make a decision on init behaviour, so in the current situation, if you do believe there is a mistake, you can delete the .lampghost directory direclty at your home directory.

Import difficulty table

$ ./lampghost table add --alias insane "http://zris.work/bmstable/insane/insane_header.json"
$ ./lampghost table add --alias insane2 "http://zris.work/bmstable/insane2/insane_header.json"

Note

By calling a command with no argument provide or with --help would print help message for a command.

Warning

Just like setting up your oraja steps, you have to import "NEW GENERATION INSANE" table to get courses data. The insane table doesn't contain it!

Copy database file

Take me(Catizard) and my rival(Red) as an example. Make a new directory and put scorelog.db and songdata.db file into it.
After this step done, your directory may look like:

.
├── Catizard
│   ├── scorelog.db
│   └── songdata.db
├── Red
│   ├── red_scorelog.db
│   └── songdata.db
└── lampghost

Note

This is not a strictly form you must to keep, you can put them all in one directory. It's only a recommand way as an example.

Import rivals

Register Catizard and Red into LampGhost

$ ./lampghost rival add "Catizard" --scorelog ./Catizard/scorelog.db --songdata ./Catizard/songdata.db
$ ./lampghost rival add "Red" --scorelog ./Red/red_scorelog.db --songdata ./Red/songdata.db

If you are LR2 user:

$ ./lampghost rival add "Catizard" --user ./Catizard/Catizard.db

Note

You can configure a rival with oraja database file and LR2 database file both exists.

Build tags(Optional)

Tags are similar to milestone. This step is to generate some tags by lampghost (e.g first clear of ★5 course)

$ ./lampghost rival build tags --rival "Red"

Start race

$ ./lampghost ghost Catizard Red --tags

Hint: use H/J/K/L or arrow keys to move, enter to select, esc to back

Note

If you haven't generate any tags, remove '--tag' flag.

Further

  • I'm new to go language, need some help for managing packages (especially service part)
  • Better frustation (need advice & help)
  • Add configuration file support
  • Support "shrink" mode: only one songdata.db file is used across everywhere, only scorelog.db need be loaded. One songdata.db file would be around 60MB~150MB which is too large for collecting
  • Form of LampGhost is not good: you need ask your friend to give you the scorelog.db and songdata.db file. Website is a better choice. like cinnamon.
  • Draw charts of your (or others) progression
  • Remove CGO dependency
  • Full tui support?

About

The ghost system for BMS lamp tracker

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages