|  | 4 vuotta sitten | |
|---|---|---|
| ansi | 4 vuotta sitten | |
| .gitignore | 4 vuotta sitten | |
| CMakeLists.txt | 4 vuotta sitten | |
| DOOR.SYS | 4 vuotta sitten | |
| LICENSE | 4 vuotta sitten | |
| NOTES.md | 4 vuotta sitten | |
| README.md | 4 vuotta sitten | |
| ansi-to-src.py | 4 vuotta sitten | |
| backup.sh | 4 vuotta sitten | |
| build_images.sh | 4 vuotta sitten | |
| db.cpp | 4 vuotta sitten | |
| db.h | 4 vuotta sitten | |
| deck.cpp | 4 vuotta sitten | |
| deck.h | 4 vuotta sitten | |
| door_2023.sh | 4 vuotta sitten | |
| doxy.config | 4 vuotta sitten | |
| grind.sh | 4 vuotta sitten | |
| main.ans | 4 vuotta sitten | |
| main.cpp | 4 vuotta sitten | |
| make_docs.sh | 4 vuotta sitten | |
| play.cpp | 4 vuotta sitten | |
| play.h | 4 vuotta sitten | |
| rlinetd.conf | 4 vuotta sitten | |
| scores.cpp | 4 vuotta sitten | |
| scores.h | 4 vuotta sitten | |
| space.h | 4 vuotta sitten | |
| starfield.cpp | 4 vuotta sitten | |
| starfield.h | 4 vuotta sitten | |
| try_inet.sh | 4 vuotta sitten | |
| utils.cpp | 4 vuotta sitten | |
| utils.h | 4 vuotta sitten | |
| version.h | 4 vuotta sitten | 
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
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.
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.