|
@@ -0,0 +1,121 @@
|
|
|
+
|
|
|
+# Space-Ace
|
|
|
+
|
|
|
+## Build Requirements
|
|
|
+
|
|
|
+- cmake
|
|
|
+- git
|
|
|
+- g++
|
|
|
+- libsqlite3-dev
|
|
|
+
|
|
|
+## Building under linux
|
|
|
+
|
|
|
+The `git ... --depth 1` is a sparse checkout. It only pulls the latest source, it doesn't pull down the full git history.
|
|
|
+
|
|
|
+```
|
|
|
+git clone github:stevet11/space-ace.git --depth 1
|
|
|
+cd space-ace
|
|
|
+git clone https://github.com/stevet11/door.git door++ --depth 1
|
|
|
+git clone https://github.com/SRombauts/SQLiteCpp.git --depth 1
|
|
|
+git clone https://github.com/jbeder/yaml-cpp.git --depth 1
|
|
|
+mkdir build
|
|
|
+cd build
|
|
|
+cmake ..
|
|
|
+make
|
|
|
+```
|
|
|
+
|
|
|
+## Calling from a BBS
|
|
|
+
|
|
|
+### Enigma 1/2
|
|
|
+
|
|
|
+In the config/menus/*-doors.hjson file add these entries:
|
|
|
+
|
|
|
+```
|
|
|
+ {
|
|
|
+ value: { command: "S" }
|
|
|
+ action: [
|
|
|
+ {
|
|
|
+ acs: EC0
|
|
|
+ action: @menu:doorAce
|
|
|
+ }
|
|
|
+ {
|
|
|
+ /* acs: EC1 */
|
|
|
+ action: @menu:doorAceU8
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+```
|
|
|
+
|
|
|
+```
|
|
|
+ doorAce: {
|
|
|
+ desc: Space Ace
|
|
|
+ module: abracadabra
|
|
|
+ config: {
|
|
|
+ name: Space Ace
|
|
|
+ dropFileType: DOOR
|
|
|
+ cmd: /home/enigma/bbs/doors/spaceace.sh
|
|
|
+ args: [
|
|
|
+ "{dropFilePath}"
|
|
|
+ ]
|
|
|
+ nodeMax: 0
|
|
|
+ tooManyArt: DOORMANY
|
|
|
+ io: stdio
|
|
|
+ }
|
|
|
+ }
|
|
|
+```
|
|
|
+
|
|
|
+```
|
|
|
+ doorAceU8: {
|
|
|
+ desc: Space Ace
|
|
|
+ module: abracadabra
|
|
|
+ config: {
|
|
|
+ name: Space Construct
|
|
|
+ dropFileType: DOOR
|
|
|
+ cmd: /home/enigma/bbs/doors/spaceace.sh
|
|
|
+ args: [
|
|
|
+ "{dropFilePath}"
|
|
|
+ ]
|
|
|
+ nodeMax: 0
|
|
|
+ tooManyArt: DOORMANY
|
|
|
+ io: stdio
|
|
|
+ encoding: utf8
|
|
|
+ }
|
|
|
+ }
|
|
|
+```
|
|
|
+
|
|
|
+spaceace.sh
|
|
|
+
|
|
|
+```
|
|
|
+#!/bin/bash
|
|
|
+trap "" SIGINT
|
|
|
+
|
|
|
+cd /home/enigma/bbs/doors/spaceace/
|
|
|
+./space-ace -d $1
|
|
|
+```
|
|
|
+
|
|
|
+While space-ace can detect CP437/unicode, under Enigma it can't.
|
|
|
+
|
|
|
+### Talisman
|
|
|
+
|
|
|
+In menus/doors.toml add an entry:
|
|
|
+
|
|
|
+```
|
|
|
+[[menuitem]]
|
|
|
+command = "RUNDOOR"
|
|
|
+hotkey = "S"
|
|
|
+data = "doors/spaceace.sh"
|
|
|
+```
|
|
|
+
|
|
|
+In the doors directory, create spaceace.sh:
|
|
|
+
|
|
|
+```
|
|
|
+#!/bin/bash
|
|
|
+trap "" SIGINT
|
|
|
+
|
|
|
+cd doors/spaceace
|
|
|
+./space-ace -d ../../temp/$1/door.sys
|
|
|
+```
|
|
|
+
|
|
|
+And space-ace would be in doors/spaceace directory.
|
|
|
+
|
|
|
+Look for space-ace.yaml, space-ace.log, and space-data.db to be created on first run.
|