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.
- 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.
$ go build
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.
$ ./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!
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.
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.
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"
$ ./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.
- 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?