Compare commits
5 Commits
beta-2
...
addd23b760
| Author | SHA1 | Date | |
|---|---|---|---|
| addd23b760 | |||
| 8cc7fca35c | |||
| 6078cb3bec | |||
| a7d261597e | |||
| 5d683bb893 |
19
.idea/artifacts/firestar.xml
generated
Normal file
19
.idea/artifacts/firestar.xml
generated
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<component name="ArtifactManager">
|
||||||
|
<artifact type="jpackage" name="firestar">
|
||||||
|
<output-path>$PROJECT_DIR$/out/artifacts/firestar</output-path>
|
||||||
|
<properties id="jpackage-properties">
|
||||||
|
<options>
|
||||||
|
<option name="version" value="natasha" />
|
||||||
|
<option name="copyright" value="(C) 2024 bonkmaykr" />
|
||||||
|
<option name="description" value="" />
|
||||||
|
<option name="vendor" value="Anti-Gravity Racing Federation" />
|
||||||
|
<option name="mainClass" value="Main" />
|
||||||
|
</options>
|
||||||
|
</properties>
|
||||||
|
<root id="root">
|
||||||
|
<element id="archive" name="firestar.jar">
|
||||||
|
<element id="module-output" name="firestar" />
|
||||||
|
</element>
|
||||||
|
</root>
|
||||||
|
</artifact>
|
||||||
|
</component>
|
||||||
@@ -2,17 +2,16 @@
|
|||||||
|
|
||||||
Firestar is a mod manager for WipEout 2048 which automatically handles sorting mods by priority and repacking game assets based on selected add-on packs. It runs on a desktop/laptop computer and aims to allow easy installation of mods for users who have only a surface level understanding of hacking the PSVita.
|
Firestar is a mod manager for WipEout 2048 which automatically handles sorting mods by priority and repacking game assets based on selected add-on packs. It runs on a desktop/laptop computer and aims to allow easy installation of mods for users who have only a surface level understanding of hacking the PSVita.
|
||||||
|
|
||||||
# about 85% complete
|
# about 95% complete
|
||||||
**What works:**
|
**What works:**
|
||||||
- Importing & deleting mods
|
- Basic stuff (installing mods, removing, reordering, persistent settings)
|
||||||
- Repacking (installing) mods
|
|
||||||
- config loading
|
|
||||||
- Cross-platform support
|
- Cross-platform support
|
||||||
|
|
||||||
**What doesn't work yet:**
|
**What doesn't work yet:**
|
||||||
- change load order, toggle
|
- toggle mods on/off
|
||||||
- settings screen
|
- settings screen
|
||||||
- misc. tools (pack creator, soundtrack mod generator...)
|
- misc. tools (pack creator, soundtrack mod generator...)
|
||||||
|
- initial setup screen can still be a bit arduous for vita newbies
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
@@ -87,9 +87,9 @@ public class MissPiggy implements ActionListener {
|
|||||||
toolsMenu = new JMenu("Tools");
|
toolsMenu = new JMenu("Tools");
|
||||||
helpMenu = new JMenu("Help");
|
helpMenu = new JMenu("Help");
|
||||||
|
|
||||||
fileMenu.add(new JMenuItem("Deploy All Mods"));
|
fileMenu.add(new JMenuItem("Deploy Mods"));
|
||||||
fileMenu.add(new JMenuItem("Import Mod..."));
|
fileMenu.add(new JMenuItem("Import Mod from File"));
|
||||||
fileMenu.add(new JMenuItem("Remove All"));
|
fileMenu.add(new JMenuItem("Delete All"));
|
||||||
fileMenu.add(new JSeparator());
|
fileMenu.add(new JSeparator());
|
||||||
fileMenu.add(new JMenuItem("Options"));
|
fileMenu.add(new JMenuItem("Options"));
|
||||||
fileMenu.add(new JMenuItem("Quit"));
|
fileMenu.add(new JMenuItem("Quit"));
|
||||||
@@ -119,6 +119,7 @@ public class MissPiggy implements ActionListener {
|
|||||||
fileMenu.getItem(5).addActionListener(this);
|
fileMenu.getItem(5).addActionListener(this);
|
||||||
toolsMenu.getItem(0).addActionListener(this);
|
toolsMenu.getItem(0).addActionListener(this);
|
||||||
toolsMenu.getItem(1).addActionListener(this);
|
toolsMenu.getItem(1).addActionListener(this);
|
||||||
|
toolsMenu.getItem(2).addActionListener(this);
|
||||||
helpMenu.getItem(0).addActionListener(this);
|
helpMenu.getItem(0).addActionListener(this);
|
||||||
|
|
||||||
deployButton.addActionListener(this);
|
deployButton.addActionListener(this);
|
||||||
@@ -258,12 +259,18 @@ public class MissPiggy implements ActionListener {
|
|||||||
if (actionEvent.getSource() == toggleButton) {throwUnimplemented();} else // todo
|
if (actionEvent.getSource() == toggleButton) {throwUnimplemented();} else // todo
|
||||||
if (actionEvent.getSource() == deleteButton1) {deleteSelected();} else
|
if (actionEvent.getSource() == deleteButton1) {deleteSelected();} else
|
||||||
|
|
||||||
|
if (actionEvent.getSource() == toolsMenu.getItem(0)) {throwUnimplemented();} else
|
||||||
|
if (actionEvent.getSource() == toolsMenu.getItem(1)) {throwUnimplemented();} else
|
||||||
|
if (actionEvent.getSource() == toolsMenu.getItem(2)) {throwUnimplemented();} else
|
||||||
|
|
||||||
if (actionEvent.getSource() == helpMenu.getItem(0)) {new Rowlf().displayAboutScreen();}
|
if (actionEvent.getSource() == helpMenu.getItem(0)) {new Rowlf().displayAboutScreen();}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Will likely split the below functions into separate classes to work with intellij GUI designer.
|
// Will likely split the below functions into separate classes to work with intellij GUI designer.
|
||||||
|
|
||||||
public void deployModGUI() {
|
public void deployModGUI() {
|
||||||
|
int result = JOptionPane.showConfirmDialog(frame, "A new PSARC will be generated. This can take several minutes.\nDuring this time, your computer may be very busy or slow.\n\nAre you sure you want to continue?", "Deploy Mods", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
|
||||||
|
if (result == JOptionPane.YES_OPTION) {
|
||||||
// prevent interruptions
|
// prevent interruptions
|
||||||
frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
frame.setEnabled(false);
|
frame.setEnabled(false);
|
||||||
@@ -271,6 +278,7 @@ public class MissPiggy implements ActionListener {
|
|||||||
// start
|
// start
|
||||||
new Gonzo().DeployMods(this);
|
new Gonzo().DeployMods(this);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void wrapUpDeployment() {
|
public void wrapUpDeployment() {
|
||||||
// restore functionality to main window
|
// restore functionality to main window
|
||||||
@@ -325,13 +333,14 @@ public class MissPiggy implements ActionListener {
|
|||||||
for (Main.Mod entry : Main.Mods) {
|
for (Main.Mod entry : Main.Mods) {
|
||||||
new File(System.getProperty("user.home") + "/.firestar/mods/" + entry.path).delete();
|
new File(System.getProperty("user.home") + "/.firestar/mods/" + entry.path).delete();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
new File(System.getProperty("user.home") + "/.firestar/mods/index").delete();
|
new File(System.getProperty("user.home") + "/.firestar/mods/index").delete();
|
||||||
Main.Mods.clear();
|
Main.Mods.clear();
|
||||||
|
|
||||||
InitializeModListStructure();
|
InitializeModListStructure();
|
||||||
InitializeModListInGUI();
|
InitializeModListInGUI();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void optionsGUI() {
|
public void optionsGUI() {
|
||||||
// todo settings page w/ reset switch
|
// todo settings page w/ reset switch
|
||||||
@@ -339,11 +348,15 @@ public class MissPiggy implements ActionListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void deleteSelected() {
|
public void deleteSelected() {
|
||||||
|
if (modList.getSelectedIndex() >= 0) {
|
||||||
File file = new File(System.getProperty("user.home") + "/.firestar/mods/" + Main.Mods.get(modList.getSelectedIndex()).path);
|
File file = new File(System.getProperty("user.home") + "/.firestar/mods/" + Main.Mods.get(modList.getSelectedIndex()).path);
|
||||||
file.delete();
|
file.delete();
|
||||||
System.out.println("Deleted " + Main.Mods.get(modList.getSelectedIndex()).friendlyName); //debug
|
System.out.println("Deleted " + Main.Mods.get(modList.getSelectedIndex()).friendlyName); //debug
|
||||||
Main.Mods.remove(modList.getSelectedIndex());
|
Main.Mods.remove(modList.getSelectedIndex());
|
||||||
regenerateModIndex(true);
|
regenerateModIndex(true);
|
||||||
|
} else {
|
||||||
|
JOptionPane.showMessageDialog(frame, "Please select a mod to delete first.", "Error", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void generatorGUI() {
|
public void generatorGUI() {
|
||||||
@@ -375,7 +388,7 @@ public class MissPiggy implements ActionListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void throwUnimplemented() {
|
public void throwUnimplemented() {
|
||||||
JOptionPane.showMessageDialog(frame, "Unimplemented.\nSee README at https://git.worlio.com/bonkmaykr/firestar", "Unimplemented", JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.showMessageDialog(frame, "This feature is unimplemented and will be coming soon.\nSee README at https://git.worlio.com/bonkmaykr/firestar", "Unimplemented", JOptionPane.INFORMATION_MESSAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void createSelectionEventListener() { // moved incase needs to be removed and re-added
|
public void createSelectionEventListener() { // moved incase needs to be removed and re-added
|
||||||
|
|||||||
Reference in New Issue
Block a user