Giter Club home page Giter Club logo

dsda-launcher's People

Contributors

fraansg avatar pedro-beirao avatar vuldora 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dsda-launcher's Issues

[Feature] Launch histroy

Add a new tab or view where you can see the launch history and launch with the same options you have used previously.

I find myself having to launch the same set of wads and switching back and forth can be annoying, I know you can save and load states but I feel like a history view would simplify the process, and it will help in case you forget to save a state.

Here's a mock-up I made:
mockup

From the technical side of things it would be use the pre-existing state feature, whenever you launch the game it would automatically save a .state file in a history folder/file and the history view would be a data list of those saved .state files.

If you want, you can assigns the issue to me and I will try to implement it

Network features not avaliable error

The launcher doesn't detect the libraries libssl and libcrypto. Both libraries are extracted in the same folder as the executable, but it doesn't work.

My computer is running Windows 11 latest version. I think everything else is not necessary.

It seems the program either is looking for the wrong directory or there's any permissions problem.

Steps to reporduce: Press one of any "check updates" button.

Doesn't compile in Manjaro

I tried installing the launcher in my Manjaro system, but it doesn't compile. I followed the macOS installation guide.
I tried copying the dsda binary and wad inside the dsda-launcher folder and creating a symlink to them, but the same error kept apearing.

$ cd dsda-launcher/
$ rm dsda-doom.wad 
$ ln -s /usr/local/share/games/doom/dsda-doom.wad .
$ ln -s /usr/bin/dsda-doom .
$ mkdir build && cd build
$ qmake ..
$ make
/usr/bin/uic ../console.ui -o ui_console.h
/usr/bin/uic ../mainwindow.ui -o ui_mainwindow.h
/usr/bin/uic ../settings.ui -o ui_settings.h
g++ -c -pipe -O2 -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DAPP_NAME=dsda-launcher -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -I../../dsda-launcher -I. -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtConcurrent -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o console.o ../console.cpp
g++ -c -pipe -O2 -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DAPP_NAME=dsda-launcher -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -I../../dsda-launcher -I. -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtConcurrent -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o main.o ../main.cpp
g++ -c -pipe -O2 -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DAPP_NAME=dsda-launcher -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -I../../dsda-launcher -I. -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtConcurrent -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o mainwindow.o ../mainwindow.cpp
../mainwindow.cpp: In function ‘QString lowerCase(std::string)’:
../mainwindow.cpp:187:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  187 |     for(int i=0;i<word.length();i++)
      |                 ~^~~~~~~~~~~~~~
../mainwindow.cpp: In member function ‘void MainWindow::dropFile(QString)’:
../mainwindow.cpp:849:59: error: ‘class QStringList’ has no member named ‘remove’; did you mean ‘removeAt’?
  849 |                                                     files.remove(i);
      |                                                           ^~~~~~
      |                                                           removeAt
../mainwindow.cpp:875:51: error: ‘class QStringList’ has no member named ‘remove’; did you mean ‘removeAt’?
  875 |                                             files.remove(i);
      |                                                   ^~~~~~
      |                                                   removeAt
../mainwindow.cpp:819:34: warning: unused variable ‘isRecursive’ [-Wunused-variable]
  819 |                             bool isRecursive = settings.value("pwadrecursive").toBool();
      |                                  ^~~~~~~~~~~
../mainwindow.cpp: In member function ‘void MainWindow::foo()’:
../mainwindow.cpp:1141:32: warning: ‘static bool QProcess::startDetached(const QString&)’ is deprecated: Use QProcess::startDetached(const QString &program, const QStringList &arguments) instead [-Wdeprecated-declarations]
 1141 |         QProcess::startDetached(("explorer \""+QCoreApplication::applicationDirPath().toStdString() + "\"").c_str());
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt/QtCore/QProcess:1,
                 from ../mainwindow.h:6,
                 from ../mainwindow.cpp:8:
/usr/include/qt/QtCore/qprocess.h:280:17: note: declared here
  280 |     static bool startDetached(const QString &command);
      |                 ^~~~~~~~~~~~~
../mainwindow.cpp: In member function ‘void MainWindow::finished(int, QProcess::ExitStatus)’:
../mainwindow.cpp:1179:31: warning: unused parameter ‘exitCode’ [-Wunused-parameter]
 1179 | void MainWindow::finished(int exitCode, QProcess::ExitStatus exitStatus)
      |                           ~~~~^~~~~~~~
../mainwindow.cpp:1179:62: warning: unused parameter ‘exitStatus’ [-Wunused-parameter]
 1179 | void MainWindow::finished(int exitCode, QProcess::ExitStatus exitStatus)
      |                                         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../mainwindow.cpp: In member function ‘void MainWindow::on_LaunchGameButton_clicked(bool, bool, std::string)’:
../mainwindow.cpp:1290:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned in ’} [-Wsign-compare]
 1290 |                 for(int i=0; i<fileToAdd.length();i++)
      |                              ~^~~~~~~~~~~~~~~~~~~
../mainwindow.cpp:1455:31: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
 1455 |             for( size_t i=0; i<p.length(); i++){
      |                              ~^~~~~~~~~~~
../mainwindow.cpp:1456:21: error: ambiguous overload for ‘operator[]’ (operand types are ‘QString’ and ‘size_t’ {aka ‘long unsigned int’})
 1456 |                 if(p[i]=='/' || p[i]=='\\')
      |                     ^
In file included from /usr/include/qt/QtCore/qobject.h:47,
                 from /usr/include/qt/QtWidgets/qwidget.h:45,
                 from /usr/include/qt/QtWidgets/qmainwindow.h:44,
                 from /usr/include/qt/QtWidgets/QMainWindow:1,
                 from ../mainwindow.h:4,
                 from ../mainwindow.cpp:8:
/usr/include/qt/QtCore/qstring.h:1073:20: note: candidate: ‘const QChar QString::operator[](int) const’
 1073 | inline const QChar QString::operator[](int i) const
      |                    ^~~~~~~
/usr/include/qt/QtCore/qstring.h:1338:17: note: candidate: ‘QCharRef QString::operator[](int)’
 1338 | inline QCharRef QString::operator[](int i)
      |                 ^~~~~~~
/usr/include/qt/QtCore/qstring.h:1075:20: note: candidate: ‘const QChar QString::operator[](uint) const’
 1075 | inline const QChar QString::operator[](uint i) const
      |                    ^~~~~~~
/usr/include/qt/QtCore/qstring.h:1340:17: note: candidate: ‘QCharRef QString::operator[](uint)’
 1340 | inline QCharRef QString::operator[](uint i)
      |                 ^~~~~~~
../mainwindow.cpp:1456:34: error: ambiguous overload for ‘operator[]’ (operand types are ‘QString’ and ‘size_t’ {aka ‘long unsigned int’})
 1456 |                 if(p[i]=='/' || p[i]=='\\')
      |                                  ^
In file included from /usr/include/qt/QtCore/qobject.h:47,
                 from /usr/include/qt/QtWidgets/qwidget.h:45,
                 from /usr/include/qt/QtWidgets/qmainwindow.h:44,
                 from /usr/include/qt/QtWidgets/QMainWindow:1,
                 from ../mainwindow.h:4,
                 from ../mainwindow.cpp:8:
/usr/include/qt/QtCore/qstring.h:1073:20: note: candidate: ‘const QChar QString::operator[](int) const’
 1073 | inline const QChar QString::operator[](int i) const
      |                    ^~~~~~~
/usr/include/qt/QtCore/qstring.h:1338:17: note: candidate: ‘QCharRef QString::operator[](int)’
 1338 | inline QCharRef QString::operator[](int i)
      |                 ^~~~~~~
/usr/include/qt/QtCore/qstring.h:1075:20: note: candidate: ‘const QChar QString::operator[](uint) const’
 1075 | inline const QChar QString::operator[](uint i) const
      |                    ^~~~~~~
/usr/include/qt/QtCore/qstring.h:1340:17: note: candidate: ‘QCharRef QString::operator[](uint)’
 1340 | inline QCharRef QString::operator[](uint i)
      |                 ^~~~~~~
../mainwindow.cpp: In member function ‘void MainWindow::on_iwadSelect_currentIndexChanged(int)’:
../mainwindow.cpp:1699:56: warning: unused parameter ‘index’ [-Wunused-parameter]
 1699 | void MainWindow::on_iwadSelect_currentIndexChanged(int index)
      |                                                    ~~~~^~~~~
../mainwindow.cpp: In member function ‘void MainWindow::on_comboBox_currentIndexChanged(int)’:
../mainwindow.cpp:1932:54: warning: unused parameter ‘index’ [-Wunused-parameter]
 1932 | void MainWindow::on_comboBox_currentIndexChanged(int index) // This is the category box (UV speed, UV max, etc)
      |                                                  ~~~~^~~~~
../mainwindow.cpp: In member function ‘void MainWindow::on_wadLName_textChanged(const QString&)’:
../mainwindow.cpp:2277:57: warning: unused parameter ‘arg1’ [-Wunused-parameter]
 2277 | void MainWindow::on_wadLName_textChanged(const QString &arg1)
      |                                          ~~~~~~~~~~~~~~~^~~~
../mainwindow.cpp: In member function ‘void MainWindow::on_wadLName_2_textChanged(const QString&)’:
../mainwindow.cpp:2283:59: warning: unused parameter ‘arg1’ [-Wunused-parameter]
 2283 | void MainWindow::on_wadLName_2_textChanged(const QString &arg1)
      |                                            ~~~~~~~~~~~~~~~^~~~
make: *** [Makefile:751: mainwindow.o] Error 1

qmake version:

$ qmake --version
QMake version 3.1
Using Qt version 5.15.3 in /usr/lib

Doesn't work

So I tried and on my Air M1 and it just doesn't do anything when I click "Launch".
I tried to launch dsda-manually from console and this is what I got:

% ./dsda-doom        
dyld[52058]: Library not loaded: /usr/local/opt/libpng/lib/libpng16.16.dylib
  Referenced from: /Applications/dsda-launcher.app/Contents/Resources/lib/libSDL2_image-2.0.0.dylib
  Reason: tried: '/usr/local/opt/libpng/lib/libpng16.16.dylib' (no such file), '/usr/local/lib/libpng16.16.dylib' (no such file), '/usr/lib/libpng16.16.dylib' (no such file)Library not loaded: /usr/local/opt/libmodplug/lib/libmodplug.1.dylib
  Referenced from: /Applications/dsda-launcher.app/Contents/Resources/lib/libSDL2_mixer-2.0.0.dylib
  Reason: tried: '/usr/local/opt/libmodplug/lib/libmodplug.1.dylib' (no such file), '/usr/local/lib/libmodplug.1.dylib' (no such file), '/usr/lib/libmodplug.1.dylib' (no such file)Library not loaded: /usr/local/opt/glib/lib/libgthread-2.0.0.dylib
  Referenced from: /Applications/dsda-launcher.app/Contents/Resources/lib/libfluidsynth.3.dylib
  Reason: tried: '/usr/local/opt/glib/lib/libgthread-2.0.0.dylib' (no such file), '/usr/local/lib/libgthread-2.0.0.dylib' (no such file), '/usr/lib/libgthread-2.0.0.dylib' (no such file)Library not loaded: /usr/local/Cellar/libvorbis/1.3.7/lib/libvorbis.0.dylib
  Referenced from: /Applications/dsda-launcher.app/Contents/Resources/lib/libvorbisfile.3.dylib
  Reason: tried: '/usr/local/Cellar/libvorbis/1.3.7/lib/libvorbis.0.dylib' (no such file), '/usr/local/lib/libvorbis.0.dylib' (no such file), '/usr/lib/libvorbis.0.dylib' (no such file)
zsh: abort      ./dsda-doom

I checked my files and found I have all this stuff installed using brew:

% ls /opt/homebrew/lib/libpng*
/opt/homebrew/lib/libpng.a		/opt/homebrew/lib/libpng16.16.dylib	/opt/homebrew/lib/libpng16.dylib
/opt/homebrew/lib/libpng.dylib		/opt/homebrew/lib/libpng16.a

So I tried this:

% export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH"

And finally:

% ./dsda-doom                                                    
dyld[52100]: Library not loaded: /usr/local/opt/libpng/lib/libpng16.16.dylib
  Referenced from: /Applications/dsda-launcher.app/Contents/Resources/lib/libSDL2_image-2.0.0.dylib
  Reason: tried: '/opt/homebrew/lib/libpng16.16.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/libpng16.16.dylib' (no such file), '/usr/local/opt/libpng/lib/libpng16.16.dylib' (no such file), '/usr/local/lib/libpng16.16.dylib' (no such file), '/usr/lib/libpng16.16.dylib' (no such file)Library not loaded: /usr/local/opt/libmodplug/lib/libmodplug.1.dylib
  Referenced from: /Applications/dsda-launcher.app/Contents/Resources/lib/libSDL2_mixer-2.0.0.dylib
  Reason: tried: '/opt/homebrew/lib/libmodplug.1.dylib' (no such file), '/libmodplug.1.dylib' (no such file), '/usr/local/opt/libmodplug/lib/libmodplug.1.dylib' (no such file), '/usr/local/lib/libmodplug.1.dylib' (no such file), '/usr/lib/libmodplug.1.dylib' (no such file)Library not loaded: /usr/local/opt/glib/lib/libgthread-2.0.0.dylib
  Referenced from: /Applications/dsda-launcher.app/Contents/Resources/lib/libfluidsynth.3.dylib
  Reason: tried: '/opt/homebrew/lib/libgthread-2.0.0.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/libgthread-2.0.0.dylib' (no such file), '/usr/local/opt/glib/lib/libgthread-2.0.0.dylib' (no such file), '/usr/local/lib/libgthread-2.0.0.dylib' (no such file), '/usr/lib/libgthread-2.0.0.dylib' (no such file)Library not loaded: /usr/local/Cellar/libvorbis/1.3.7/lib/libvorbis.0.dylib
  Referenced from: /Applications/dsda-launcher.app/Contents/Resources/lib/libvorbisfile.3.dylib
  Reason: tried: '/opt/homebrew/lib/libvorbis.0.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/libvorbis.0.dylib' (no such file), '/usr/local/Cellar/libvorbis/1.3.7/lib/libvorbis.0.dylib' (no such file), '/usr/local/lib/libvorbis.0.dylib' (no such file), '/usr/lib/libvorbis.0.dylib' (no such file)
zsh: abort      ./dsda-doom

I'll highlight this:

Reason: tried: '/opt/homebrew/lib/libpng16.16.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

It seems included build is amd64, but M1's are arm64. There is probably a way to make this work using Rosetta, but I'm not sure how. I probably just have to build dsda-doom for arm64 myself. Would be nice to have arm64 bundled as well or have a different release for arm64 Macs.

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.