Coder Social home page Coder Social logo

freakzero / ssgl-doom-launcher Goto Github PK

View Code? Open in Web Editor NEW
115.0 8.0 17.0 253.49 MB

Super Shotgun Launcher - Modern Doom Frontend/Mod Launcher for every Desktop Operating System

JavaScript 98.38% HTML 0.29% CSS 0.99% Shell 0.34%
zandronum gzdoom linux osx windows gaming doom electron-app

ssgl-doom-launcher's Introduction

Current Status of Release:

Developer Preview - There can be alot of Changes which is breaking the Experience (Crashes, Invalid Configs which have to be deleted, etc), be sure of that before Downloading.

Features

  • Main Goals

    • Builds available for Windows, MacOS and Linux (AppImage)
    • Easy and Fast Setup
    • Designed towards a "Fast in - Fast Out" User Experience
    • Modern and Customizeable UI
    • Organize your WADs as you want on your Harddrive via Folders
  • Customization

    • Different Colorthemes
    • Set your own Wallpaper
    • Multi Language Support (NL, DE, EN)
  • Sourceports

    • Loadorder of Mods
    • DEH and BEX Support (only have to care about load order)
    • Sourceport agnostic, just configure the Sourceport as you want
    • SOON: Predefined Recipies for Sourceports based on the Filename
  • Filter/Search abilities for Mods and Packages

    • Fuzzyfilter by Modname or Directory location
    • Find your Mods easily your own directories on your Harddrive
    • Sort Mods and Packages by Newest, Oldest, Active, ASC or DESC
  • Package (Mod List) System

    • Oblige Build and Play direct in SSGL, every Modlist/Package can has its own generated Map
    • Config/Savegame Management by Package/Modlist (if the flags are set in the Sourceport)
    • Instant Play Feature which also loads the last Savegame of the Package
    • "Userparameters" for Advanced usage (--fastmonsters -warp etc.)
    • SOON: Import/Export Feature

Customization Examples

Wallpapers which are shown here dont ship with SSGL

Hell

UAC

BFG

Slayer

Pinkie

Want to see SSGL in your Mother Tongue ?

See the LATEST English Locale File - And feel free how you send it to me, make an Issue, PR or join our Discord and PM it to me directly. Its your Choice.

Big Thanks to

Fineprint

DOOM is a registered Trademark of id Software LLC, a Zenimax Media company in the US and/or other Countries, and is used without permission. All other Trademarks are the property of their respective holders. SSGL is in no way affiliated with nor endorsed by id Software.

All Icons and Graphics included in this Project are created by me (Thomas Petrovic) and Licensed under CC BY-NC 4.0

Code Licensed under MIT License
Copyright (c) 2015 Thomas Petrovic

ssgl-doom-launcher's People

Contributors

freakzero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ssgl-doom-launcher's Issues

Possibility to add folders as regular pk3/wad mods

Hi there! It would be nice if you'll add a possibility to attach folders in WAD folder as mods. In fact there are plenty of mods that come in form of folder with some files, not a packaged pk3/wad file. Also, it can be suitable for mod developers

Screenshots aren't downloading in 1.1.0 Linux64

I'm using the 1.1.0 linux64 releases. When SSGL tries to download a screenshot, I get the following error:

[23221:0928/214543:ERROR:nw_shell.cc(335)] TypeError: undefined is not a function
    at Object.service.lookupWadArchive (file:///tmp/.org.chromium.Chromium.fsfymt/app.js:2:7903)
    at file:///tmp/.org.chromium.Chromium.fsfymt/app.js:2:1484
[23221:0928/214543:INFO:CONSOLE(2)] "Uncaught TypeError: undefined is not a function", source: file:///tmp/.org.chromium.Chromium.fsfymt/app.js (2)

If I set up a ./nw dev environment on the master branch and run that, screenshots work fine.

Cleanup Tasks before Alpha

MUST

  • PropTypes
  • Cleanup Sourceports view
  • declare all colors, animations, borders, shadows in the styles.js colorfile
  • Design a proper "fetcher" component for IPC datatransfer - right now with the error and data Properties its just a pain in the butt.
  • Wire up the "reindex route" and rename "init"
  • Wire up Sourceports Backend (is neDB really needed ?)
  • Translate Sourceports in EN and DE
  • Active State for Sourceport Listitem
  • Load/Disabled State for Submit Buttons
  • Fix Settings "data.data" issue

NICE TO HAVE - CAN WAIT

  • Validation for Forms
  • Animations for Sourceports
  • Components index file
  • Portalize and Cleanup iWad Drawer View, should also renamed "Drawer" its not a Modal

File browsing console error (when Settings is opened)

Be forewarned, this console log doesn't divulge much, but it occurs only on one Linux machine of mine when opening the Settings menu (both machines are running the same build):

Error: [$compile:nonassign] Expression 'undefined' used with directive 'dirChoose' is non-assignable!
http://errors.angularjs.org/1.4.9/$compile/nonassign?p0=undefined&p1=dirChoose
    at REGEX_STRING_REGEXP (angular.js:68)
    at $get.parentSet (angular.js:9092)
    at parentValueWatch (angular.js:9105)
    at Object.regularInterceptedExpression (angular.js:14646)
    at Scope.$get.Scope.$digest (angular.js:16087)
    at Scope.$get.Scope.$apply (angular.js:16359)
    at done (angular.js:10791)
    at completeRequest (angular.js:10989)
    at XMLHttpRequest.requestLoaded (angular.js:10930)angular.js:12722 (anonymous function)angular.js:9490 $getangular.js:16113 $get.Scope.$digestangular.js:16359 $get.Scope.$applyangular.js:10791 doneangular.js:10989 completeRequestangular.js:10930 requestLoaded


Error: [$compile:nonassign] Expression 'undefined' used with directive 'fileChoose' is non-assignable!
http://errors.angularjs.org/1.4.9/$compile/nonassign?p0=undefined&p1=fileChoose
    at REGEX_STRING_REGEXP (angular.js:68)
    at $get.parentSet (angular.js:9092)
    at parentValueWatch (angular.js:9105)
    at Object.regularInterceptedExpression (angular.js:14646)
    at Scope.$get.Scope.$digest (angular.js:16087)
    at Scope.$get.Scope.$apply (angular.js:16359)
    at done (angular.js:10791)
    at completeRequest (angular.js:10989)
    at XMLHttpRequest.requestLoaded (angular.js:10930)angular.js:12722 (anonymous function)angular.js:9490 $getangular.js:16113 $get.Scope.$digestangular.js:16359 $get.Scope.$applyangular.js:10791 doneangular.js:10989 completeRequestangular.js:10930 requestLoaded

Delete/ignore this if it's a rare gremlin.

Feature request: support closing SSGL when game exits

May I please request that SSGL supports closing the application when the game exits? I'd imagine it would show as a checkbox in settings.

My use case is this. I play DOOM with a Steam Controller. That means that I launch SSGL from Steam. I launch gzdoom from SSGL. Steam detects DOOM running and sets up the overlay, which makes my Steam Controller work. What I've found pretty consistently is that if I close DOOM and relaunch it from SSGL, my Steam Controller gets confused. I'd also prefer to be back at Steam after closing DOOM, rather than being back at SSGL and having Steam know that it's still running.

Thanks.

gnome crashes

it happens when the program presents which game one would like to play with a selected wad. gnome is restarted automatically and comes back without desktop effects, and then the program works normally. in my configuration, only zandronum was set as a source-port. tested on debian jessie (stable) AMD64.

launcher panics when trying to start gzdoom

whenever i try to launch gzdoom with this launcher i get this issue:
2018-07-07-165918_1000x650_scrot

paniclog.txt:
No Engine to start given

TypeError: Cannot read property 'filter' of undefined

config.json:
{
"active": {
"doom64ex": false,
"doomretro": false,
"doomrpg": false,
"doomrpgrl": false,
"doomrpgrlmonsters": false,
"gzdoom": true,
"oblige": false,
"prboomp": false,
"zandronum": false,
"zdoom": false
},
"dontShowUpdate": "0.0.0",
"engines": {
"doom64ex": "",
"doomretro": "",
"doomrpg": "",
"doomrpgrl": "",
"gzdoom": "/usr/bin/gzdoom",
"prboomp": "",
"zandronum": "",
"zdoom": ""
},
"freshinstall": false,
"initList": "false",
"iwadpath": "/home/nojus/games/DOOM(original)/iwad/",
"misc": {
"doom64exsound": "",
"doomrpg": {
"brightmaps": "",
"extras": "",
"rlarsenalpath": "",
"rlarsenalwad": "",
"rlhudwad": "",
"rlmonsterspath": "",
"rlmonsterswad": "",
"vanilla": ""
},
"preselectedengine": "gzdoom"
},
"modlistpath": "/home/nojus/games/DOOM(original)/mods/",
"oblige": {
"binary": "",
"configs": "",
"mappath": ""
},
"online": {
"client": ""
},
"savepaths": {
"doom64ex": "",
"doomretro": "",
"doomrpg": "",
"gzdoom": "/home/nojus/games/DOOM(original)/saves/",
"prboomp": "",
"zandronum": "",
"zdoom": ""
},
"screenshotpath": "",
"wadpath": "/home/nojus/games/DOOM(original)/wad/"
}

$which gzdoom
returns /usr/bin/gzdoom

i have configured gzdoom to look for wads and iwads in the afromentioned folders, and gzdoom works when launching via commandline

I am running Arch Linux x86_64.

PS: I'm suspecting that this issue is just me being unable to configure the app properly, a quick start guide would be appreciated.

AUR Build errors

Hey, just wanted to let you know there's an AUR build error in yaourt. Here's the full terminal output:

[ian@quark ~]$ yaourt ssgl
1 core/libgssglue 0.4-2
    Exports a gssapi interface which calls other random gssapi libraries
2 aur/ssgl-doom-launcher-git v1.1.1.r1.gfb54314-4 (0) (0.00)
    Doom Frontend with Oblige mapbuild integration for zdoom, gzDoom, 
    Zandronum, Doom64EX and DoomRPG written in AngularMaterial on NWJS for 
    Windows, Linux and OSX.
==> Enter n° of packages to be installed (e.g., 1 2 3 or 1-3)
==> ---------------------------------------------------------
==> 2


==> Downloading ssgl-doom-launcher-git PKGBUILD from AUR...
x .SRCINFO
x .gitignore
x PKGBUILD
x ssgl-launch
ssgl-doom-launcher-git v1.1.1.r1.gfb54314-4  (2016-11-04 12:41)
( Unsupported package: Potentially dangerous ! )
==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==> n

==> ssgl-doom-launcher-git dependencies:
 - bower (already installed) [makedepend]
 - git (already installed) [makedepend]
 - nodejs-grunt-cli (already installed) [makedepend]


==> Continue building ssgl-doom-launcher-git ? [Y/n]
==> ------------------------------------------------
==> y

==> Building and installing package
==> Making package: ssgl-doom-launcher-git v1.1.1.r1.gfb54314-4 (Sun Apr  1 16:33:07 EDT 2018)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning ssgl-doom-launcher-git git repo...
Cloning into bare repository '/tmp/yaourt-tmp-ian/aur-ssgl-doom-launcher-git/ssgl-doom-launcher-git'...
remote: Counting objects: 4404, done.
remote: Total 4404 (delta 0), reused 0 (delta 0), pack-reused 4404
Receiving objects: 100% (4404/4404), 47.08 MiB | 4.31 MiB/s, done.
Resolving deltas: 100% (2629/2629), done.
  -> Found ssgl-launch
==> Validating source files with sha256sums...
    ssgl-doom-launcher-git ... Skipped
    ssgl-launch ... Passed
==> Extracting sources...
  -> Creating working copy of ssgl-doom-launcher git repo...
Cloning into 'ssgl-doom-launcher-git'...
done.
==> Starting pkgver()...
==> Starting build()...
bower invalid-meta  for:/tmp/yaourt-tmp-ian/aur-ssgl-doom-launcher-git/src/ssgl-doom-launcher-git/bower.json
bower invalid-meta  The "name" is recommended to be lowercase, can contain digits, dots, dashes
bower invalid-meta  The "description" is too long, the limit is 140 characters
bower cached        https://github.com/chieffancypants/angular-hotkeys.git#1.7.0
bower validate      1.7.0 against https://github.com/chieffancypants/angular-hotkeys.git#^1.7.0
bower cached        git://github.com/FreaKzero/jQuery-slimScroll.git#1.4.0
bower validate      1.4.0 against git://github.com/FreaKzero/jQuery-slimScroll.git#*
bower cached        https://github.com/angular/bower-angular-animate.git#1.4.6
bower validate      1.4.6 against https://github.com/angular/bower-angular-animate.git#1.4.6
bower cached        https://github.com/angular/bower-angular-aria.git#1.4.6
bower validate      1.4.6 against https://github.com/angular/bower-angular-aria.git#1.4.6
bower cached        https://github.com/angular-ui/angular-ui-router-bower.git#0.2.15
bower validate      0.2.15 against https://github.com/angular-ui/angular-ui-router-bower.git#0.2.15
bower cached        https://github.com/Templarian/MaterialDesign-Webfont.git#1.2.65
bower validate      1.2.65 against https://github.com/Templarian/MaterialDesign-Webfont.git#1.2.65
bower cached        https://github.com/angular/bower-material.git#0.11.4
bower validate      0.11.4 against https://github.com/angular/bower-material.git#0.11.4
bower cached        https://github.com/jquery/jquery-dist.git#2.1.4
bower validate      2.1.4 against https://github.com/jquery/jquery-dist.git#2.1.4
bower cached        https://github.com/angular/bower-angular.git#1.4.6
bower validate      1.4.6 against https://github.com/angular/bower-angular.git#1.4.6
bower cached        https://github.com/jashkenas/underscore.git#1.8.3
bower validate      1.8.3 against https://github.com/jashkenas/underscore.git#1.8.3
bower preinstall    npm install
bower ENOENT        spawn npm ENOENT

Stack trace:
Error: spawn npm ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:201:19)
    at onErrorNT (internal/child_process.js:379:16)
    at process._tickCallback (internal/process/next_tick.js:114:19)

Console trace:
Error
    at StandardRenderer.error (/usr/lib/node_modules/bower/lib/renderers/StandardRenderer.js:81:37)
    at Logger.<anonymous> (/usr/lib/node_modules/bower/lib/bin/bower.js:110:26)
    at Logger.emit (events.js:180:13)
    at Logger.emit (/usr/lib/node_modules/bower/lib/node_modules/bower-logger/lib/Logger.js:29:39)
    at /usr/lib/node_modules/bower/lib/commands/index.js:48:20
    at _rejected (/usr/lib/node_modules/bower/lib/node_modules/q/q.js:844:24)
    at /usr/lib/node_modules/bower/lib/node_modules/q/q.js:870:30
    at Promise.when (/usr/lib/node_modules/bower/lib/node_modules/q/q.js:1122:31)
    at Promise.promise.promiseDispatch (/usr/lib/node_modules/bower/lib/node_modules/q/q.js:788:41)
    at /usr/lib/node_modules/bower/lib/node_modules/q/q.js:604:44
System info:
Bower version: 1.8.2
Node version: 9.9.0
OS: Linux 4.14.30-1-MANJARO x64
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build ssgl-doom-launcher-git.
==> Restart building ssgl-doom-launcher-git ? [y/N]
==> -----------------------------------------------
==> n

Did you make any typos in the PKGBUILD file?

Feature request: larger font sizes

May I please request the option of using larger fonts? I'm using SSGL on an HTPC and a TV. SSGL's font size is a bit small on that setup.

Feature request: Add "Add To Steam" as an alternative to "Launch"

I know this is a big ask, but I'm going to worship you and SSGL forever if you implement this.

It would be great if SSGL could, as an alternative to launching DOOM, add shortcut to Steam that launches DOOM with the same command-line that it would have if you'd just launched DOOM from SSGL. And if it could update that shortcut's grid image with the WAD thumbnail images that SSGL already knows about, that would be better.

I did to a small amount of research on how to approach this.

The Steam shortcuts are stored in shortcuts.vdf, which is in a consistent place. Reference:

https://www.reddit.com/r/Steam/comments/37jbj6/is_it_possible_to_add_a_nonsteam_game_to_steam/crndypo/

The format of that file is documented here:

https://developer.valvesoftware.com/wiki/KeyValues

And here's one project that adds shortcuts to that file:

https://github.com/scottrice/pysteam/blob/master/pysteam/_shortcut_generator.py

I also see that, not surprisingly, there are projects on npm to manipulate that file.

Design WAD View

First Step: Design the oldschool SSGL 2 column layout

  • 2 Column Layout

  • first Column shows available Wads

  • second Column shows selected wads and can be sorted for load order

  • third column replaces the drawer selection of the old app

  • first column should be filterable by name and kind of extension (PK3, ZIP, WAD etc)

  • user should be able to save selected extensions (second column)

Item Design

Column 1:
State for idle items
State for Hovered Items
State for "selected" items

Column 2:
User should be able to Drag&Drop as also sort by arrows in the Item
User should be able to deselect the item also in Column 2

broadcast lan games

currently, to setup lan games with zdoom or gzdoom, it is required that one knows the other users ip plus basic configuration like game mode (team, dm, coop, maybe there are others). this would greatly ease game setup.

this is a feature request rather than a bug.

Building for Linux

Is it possible to build this on Linux? Also, which parts of mono it requires?

Support for Eternity Engine

Investigate CLI Parameters:
-deh supported
-savedir not supported (called -save)
-file supported
-loadgame supported
-iwad supported

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.