aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 271ea4718941b3ec2d412714cb1711e7b274177d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# NPE Hero v2.0
One-year anniversary update!

Goals:
- [x] New integrated level editor
- [X] Custom keybindings
- [X] Accept mp3 song files
- [ ] UI improvements
- [ ] Code cleanup
- [X] Installer / Linux package

Todo - needs design:
- Improve errorList and error handling
- tweak game end screen
- Improve aesthetic of songplayer
- overhaul noteseditor2
- improve songplayer and noteseditor2 resizing

Todo - bugs:
-
- fix reliance on local font
- Properly center background image
- fix or remove noteseditor1

# Building
### Run the app
Run the Driver class from your IDE (known to work with Intellij)

OR

Execute the maven goal javafx:run
- windows: `mvnw.cmd javafx:run`
- linux: `./mvnw javafx:run`

### Create an installer for your OS
Prerequisites:

Ensure that all the following packages are installed and the correct version

- java >= 22
- jmod >= 22
- jlink >= 22
- jpackage >= 22

note: check the version of these with `<package> --version`

You will also need OS specific jpackage prereqs to create the executable

- RPM, DEB on Linux: On Red Hat Linux, we need the rpm-build package; on Ubuntu Linux, we need the fakeroot package
- PKG, DMG on macOS: Xcode command line tools are required when the –mac-sign option is used to request that the package be signed, and when the –icon option is used to customize the DMG image
- EXE, MSI on Windows: On Windows, we need the third party tool WiX 3.0 or later

[source](https://www.baeldung.com/java14-jpackage#packaging-prerequisite)


Execute the maven package phase
- windows: `mvnw.cmd package`
- linux: `./mvnw package`

The installer executables should output to `target/dist`

# Development Links

[Figma link](https://www.figma.com/file/dpeMlWStSWrVHfLd0Uohws/Untitled?node-id=0%3A1&t=PVQi61Ig3AWtWNMm-1)

[JavaFX docs (with search)](https://openjfx.io/javadoc/15)

javafx guides (really helpful website):
[edencoding.com](https://edencoding.com/javafx-layouts/)