Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="target/generated-sources/annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="m2e-apt" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="m2e-apt" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
9 changes: 9 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.166.1/containers/java/.devcontainer/base.Dockerfile

# [Choice] Java version: 11, 15
ARG VARIANT="11"
FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT}

# Install Maven
ARG MAVEN_VERSION=""
RUN su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""
19 changes: 19 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.166.1/containers/java
{
"name": "Slipstream-Mod-Manager",
"build": {
"dockerfile": "Dockerfile",
},
"settings": {
"java.home": "/docker-java-home"
},
"extensions": [
"vscjava.vscode-java-pack",
"vscjava.vscode-java-dependency",
"redhat.vscode-xml",
"davidanson.vscode-markdownlint",
"redhat.vscode-yaml"
],
"remoteUser": "vscode"
}
73 changes: 60 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,22 +1,69 @@
target/
# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig

# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode,java,maven
# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,java,maven

### Java ###
# Compiled class file
*.class
*.tmp
*.bak
~$*

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar

# Windows image file caches
Thumbs.db
### Maven Patch ###
# Eclipse m2e generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath

# Windows folder config file
Desktop.ini
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace

# Local History for Visual Studio Code
.history/

# Mac junk
.DS_Store
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide

# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,java,maven

# IdeaJ
*.idea
*.iml
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
34 changes: 34 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ftl-mod-manager</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
<filteredResources>
<filter>
<id>1635330454157</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
4 changes: 4 additions & 0 deletions .settings/org.eclipse.core.resources.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding/<project>=UTF-8
2 changes: 2 additions & 0 deletions .settings/org.eclipse.jdt.apt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=false
9 changes: 9 additions & 0 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.6
4 changes: 4 additions & 0 deletions .settings/org.eclipse.m2e.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
84 changes: 66 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,74 @@
Slipstream Mod Manager
======================
# Slipstream Mod Manager

Slipstream is a mod manager for the game FasterThanLight ([FTL](https://subsetgames.com/)), making it easy to install multiple mods at the same time and, later, revert to vanilla gameplay.
Slipstream is a mod manager for the game FasterThanLight
([FTL](https://subsetgames.com/ftl.html)), making it easy to install multiple
mods at the same time and, later, revert to vanilla gameplay.

It is the successor to Grognak's Mod Manager ([GMM](https://subsetgames.com/forum/viewtopic.php?p=9994)).
It is the successor to Grognak's Mod Manager
([GMM](https://subsetgames.com/forum/viewtopic.php?p=9994)).

<a href="https://raw.github.com/Vhati/Slipstream-Mod-Manager/master/img/screenshot01.png"><img src="https://raw.github.com/Vhati/Slipstream-Mod-Manager/master/img/screenshot01.png" width="145px" height="auto" /></a>
![Screenshot of the mod manager in use](img/screenshot01.png)

To download compiled binaries, [click here](https://sourceforge.net/projects/slipstreammodmanager/).
## Requirements

Comments can be made in a forum thread [here](https://subsetgames.com/forum/viewtopic.php?f=12&t=17102).
- Java (1.6 or higher).
- <http://www.java.com/en/download/>
- FTL (1.01-1.6.3, Windows/OSX/Linux, Steam/GOG/Standalone).
- <https://subsetgames.com/ftl.html>
- WinXP SP1 can't run Java 1.7.
- (1.7 was built with VisualStudio 2010, causing a DecodePointer error.)
- To get 1.6, you may have to google "jdk-6u45-windows-i586.exe".

I can accept PayPal donations [here](https://vhati.github.io/donate.html).
That would be fantastic.
## Directory structure

- `assets/`
- Screenshots.
- `skel_common/`
- Files to include in distribution archives.
- `skel_win/` and `skel_unix/`
- System-specific files to include in distribution archives.
- `skel_exe/`
- Materials to create modman.exe (not part of Maven).
- [Get Launch4j](http://launch4j.sourceforge.net/index.html)
- Drag "launch4j_*.xml" onto "launch4jc.exe".
- "modman.exe" will appear alongside the xml.
- Drag modman.exe into "skel_win/".
- Run "mvn clean package".
- The manifest files will be embedded to
[prevent VirtualStore redirection](http://www.codeproject.com/Articles/17968/Making-Your-Application-UAC-Aware).
- `auto_update.json`
- Info about the latest release, downloaded periodically by clients.

Requirements
------------
* Java (1.6 or higher).
* http://www.java.com/en/download/
* FTL (1.01-1.6.3, Windows/OSX/Linux, Steam/GOG/Standalone).
* https://subsetgames.com/
* WinXP SP1 can't run Java 1.7.
* (1.7 was built with VisualStudio 2010, causing a DecodePointer error.)
* To get 1.6, you may have to google "jdk-6u45-windows-i586.exe".
## Building

The build process for this project is automated by
[Maven](http://maven.apache.org/) ([guide](http://docs.codehaus.org/display/MAVENUSER/Getting+Started+with+Maven)).

1. Open the repository in the provided Visual Studio Code devcontainer.
2. Run `mvn package` from the repository root to compile the source and
generate a zip file containing the compiled assets for each platform in the
`target` directory.

## Dependencies

This project depends on the following libraries.

- [Apache HttpComponents](https://hc.apache.org/) (For JavaDocs, click
HttpCore or HttpClient, then again under "Project reports".)
- [Jackson JSON Processor 2.x](http://jackson.codehaus.org/Home) (For
JavaDocs, look right.)
- [PNGJ](https://code.google.com/p/pngj/) (For JavaDocs, scroll down.)
- [JDOM 2.x](http://www.jdom.org/) (For JavaDocs, look left.)
- [SLF4J](https://www.slf4j.org/) (For JavaDocs, look left.)
- [Logback](https://logback.qos.ch/) (For JavaDocs, look left.)
- [picocli 2.x](http://picocli.info/) (For JavaDocs, look left and scroll
down to "API Javadoc".)

## Downloads, comments and donations

[Download compiled binaries](https://sourceforge.net/projects/slipstreammodmanager/).

Comments can be made in [this forum thread](https://subsetgames.com/forum/viewtopic.php?f=12&t=17102).

I can accept [PayPal donations](https://vhati.github.io/donate.html). That
would be fantastic.
5 changes: 3 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<maven>2.2.1</maven>
</prerequisites>
<properties>
<jdk.version>1.6</jdk.version>
<jdk.version>11</jdk.version>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down Expand Up @@ -76,10 +76,11 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<version>3.8.0</version>
<configuration>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<compilerArgument>-Xlint:deprecation</compilerArgument>
<release>6</release>
</configuration>
</plugin>
<plugin>
Expand Down
Loading