Giter Club home page Giter Club logo

catapult's Introduction

Catapult

Catapult is a cross-platform launcher and content manager for Cataclysm: Dark Days Ahead and Cataclysm: Bright Nights. It is in part inspired by earlier versions of Rémy Roy's launcher.

Download latest release | See all releases

Catapult UI

Features

  • Automatic game download and installation (stable or experimental releases).
  • Ability to install multiple versions of the game and switch between them.
  • Updating the game while preserving user data (saved games, settings, mods, etc).
  • Mod management: Kenan Modpack download and complete or selective installation.
  • Automatic download and installation of soundpacks.
  • Customization of game fonts.
  • Saved game backups.
  • Multilingual interface.
  • Fully portable and can be carried on a removable drive.
  • Good support for HiDPI displays: UI is automatically scaled with screen DPI, with ability to adjust the scale manually.

Installation

None required. The launcher is a single, self-contained executable. Just download it to a separate folder and run.

Linux

  • You need write permission in the folder that contains the Catapult executable.
  • The catapult executable should have execution permission enabled.
  • The game needs the following dependencies, Some distros come with these preinstalled, but others don't.: sdl2, sdl2_image, sdl2_ttf, sdl2_mixer, freetype2
    • On Debian based distros (Ubuntu, Mint, etc.): sudo apt install libsdl2-image libsdl2-ttf libsdl2-mixer libfreetype6
    • On Arch based distros sudo pacman -S sdl2 sdl2_image sdl2_ttf sdl2_mixer

Packaging

System requirements

  • 64-bit operating system.
  • Windows 7+ or Linux.
  • OpenGL 2.1 support.

Contributing

Checkout CONTRIBUTING.md.

catapult's People

Contributors

ali-anomma avatar ariamoradi avatar benway7000 avatar bobini1 avatar campbecf avatar colassal avatar dyxxzgc avatar elinvynia avatar inglonias avatar juanielias avatar ksdev-pl avatar mikegogulski avatar needfi avatar nheve avatar olanti-p avatar olaroll avatar pedestrian4 avatar qrrk avatar raylemon avatar toxiclay avatar ushuayac avatar xuvatilavv 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

catapult's Issues

Launcher does not properly fit my screen. I see no option to resize.

My screen resolution is 1360X768. The launcher extends from the top of the screen to past the bottom of the screen. As I said I see no option to change the size. The launcher is still usable for me but it looks bad and I miss information when installing/updating. The process could throw an error at me and I would never know because the information would be off screen.

Running Windows 10.

And I found the UI scaling button. I thought that was for the in game UI. Closing issue.

[Suggestion] "Continue last game" button

Both BN and DDA support --world <name> command line option, which causes the game to skip main menu and start loading the specified world.

It has some limitations at the moment:

  • Shows an error if selected world has no characters
  • Only loads the first character in the world (first according to alphabetical order of their corresponding .sav files).

But if the world has only 1 character, starting the game with --world <name> where <name> is world name from config/lastworld.json essentially causes it to load last played world+character.

This could be leveraged by the launcher as "Continue last game" button which would save the user a couple keypresses by bringing them straight into the game.

If necessary, the problem of character selection should be easy to solve on BN/DDA side by introducing separate command line option to load exact character from the world (or even a separate command line option to continue last game, if last world and character exist).

Find a way to extract ZIP on Windows without Powershell

As it turns out, the Windows 7 version of Powershell is old and does not have the Expand-Archive command yet. This is a good reason to look for alternative ways, since nothing else stops Catapult from supporting Windows 7. Options:

  • Implement extraction from scratch in GDScript.
  • Find a suitably licensed command line utility for unzipping that could be bundled with Catapult.

[Bug] The launcher does not manage to launch the game on Ubuntu

# Summary of the issue
After installing the launcher using the catapult-linux-x64-21.09f file, i installed the game with the big bold button, then tried to launch, but nothing happened.

I tried to use an earlier stable, as well as one experimental, but nothing happens when i press the button.I do not get an error either. I did try to turn on debug mode to see if that would change anything, but no.

# Some info :
I am running Ubuntu 20.04.2 LTS 2 on a modern laptop.

image

[Suggestion] Revert to previous build

Occasionally a new build may break or a save game won't load. Being able to revert to the previous build at the click of a button would be very convenient.

Bug/troubleshooting. can't download any versions of the game!

[00:47:39.115] Downloading cbn-windows-tiles-x64-msvc-untranslated-2022-03-16-0041.zip…
[00:47:39.474] [debug] HTTPRequest info:
Result: 9
Response code: 200
Headers: [Connection: keep-alive, Content-Length: 54350930, Content-Type: application/octet-stream, Content-MD5: j0DiEB0kuCAlgUyxRhvcUA==, Last-Modified: Wed, 16 Mar 2022 01:02:00 GMT, ETag: "0x8DA06E89359DAB8", Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0, x-ms-request-id: 7b0af108-c01e-0059-1ff9-38a5e6000000, x-ms-version: 2020-04-08, x-ms-creation-time: Wed, 16 Mar 2022 01:02:00 GMT, x-ms-lease-status: unlocked, x-ms-lease-state: available, x-ms-blob-type: BlockBlob, Content-Disposition: attachment; filename=cbn-windows-tiles-x64-msvc-untranslated-2022-03-16-0041.zip, x-ms-server-encrypted: true, Fastly-Restarts: 1, Accept-Ranges: bytes, Age: 136, Date: Wed, 16 Mar 2022 05:47:38 GMT, Via: 1.1 varnish, X-Served-By: cache-chi-kigq8000143-CHI, X-Cache: HIT, X-Cache-Hits: 0, X-Timer: S1647409659.594983,VS0,VE38]
[00:47:39.474] [error ] Failed to download cbn-windows-tiles-x64-msvc-untranslated-2022-03-16-0041.zip.

This is the error I get, using debug to see what it might be, whenever I try to download, and I'm not a big good at code mumbo jumbo so any help getting this working would be great!

Can't run game

Hi, I just installed this launcher. I haven't played in a while.

I wanted to start a new run, so I tried to create a new character, but whenever I try it I get this error and doesn't allow me to do anything.

DEBUG : Invalid mod_type x

FUNCTION : string_to_modtype
FILE : D:\a\Cataclysm-DDA\Cataclysm-DDA\src\character_modifier.cpp
LINE : 65
VERSION : 40392e5

Idk if I'm messed up with some files

Add optional non-portable mode

Add the ability for Catapult to work as a regular (non-portable) app, i.e. use normal system directories for configuration, downloads and game data. Also see #1 and #29.

This mode may be activated automatically in certain conditions (e.g. executable directory being read-only) or by user's choice (e.g. by a keyword in executable name).

[Suggestion] Separate user data and game data

Both BN and DDA support --userdir <path> command line option, which allows to specify base path for user directories (by default same as current path on Windows and Linux).

It can be used to separate user data from installation data, so during update the launcher wouldn't need to touch user directories at all.

[Question] Does the launcher support adding custom fonts into the game?

I was under the impression it was possible to add custom fonts into the game, and may have assumed Catapult would be able to semi-streamline that, yet putting font files into the folders doesn't really seem to be showing up any new fonts on the launcher? I've tried putting it in both the upperlevel font folders and the lowerlevel with no luck. Perhaps I'm not understanding how custom fonts work in this?

Yes, I've run the game before, as I've heard that generates something related to fonts. I've run the game many times.
I've run CDDA a lot but have been recently been using Bright Nights.

[Suggestion] Add Rogue Font as an option for CDDA

Really nice, small, 10x10 square font. back when tilesets always had some missing tiles, i used too use this over the default font because it would mean the world wasnt distorted with rectangular fonts. now i still use it for a nice compact interface, so having it added as a font option would be really cool.

heres the .ttf file:
rogue.zip

and the fonts.json file that makes it show up properly ingame:
fonts.zip

Linux: compiling confusion

Hi,
This is either an enhancement or needed clarification, but as of right now catapult downloads the files for CBN but is unable to run them, and does not provide any error or notice if the game fails to run.
So, I sit here, confused on why I got the raw files and why I can't figure out how to compile on linux.
It's... a bit confusing... it says it's self-contained, but it shows that it recognises my installation but since it seems completely uncompiled, I'm a bit lost...
i'm forced to reinstall windows soon so whatever
This isn't urgent at all, not to mention I'll be out cold for a few hours soon-
but hope you can see to this!

[Bug] It's possible to switch fork during various operations

UI elements are generally disabled during long operations, but drop-down list for game selection is not.

This allows user to switch game during some long running operations:

  • Soundpack download/install (doesn't seem to be causing problems)
  • Batch mod installation/removal (causes installation/removal failures)

Additionally, after switching to another fork it's possible to initiate its installation/update, though that seems to instantly fail.

Version: 21.09f

Updating included tilesets

It looks like the tilesets included with the game aren't updated by the launcher, I had to delete the GFX folder to get newer tiles added in Ultica.

Add CO.AG music pack

Before switching to Catapult I used to use the current iteration of the CO.AG music at https://github.com/Fris0uman/CDDA-Music-Packs with @'s soundpack. The opening track CO.AG_Cataclysm.ogg is basically iconic for me now and I miss it.

Since it isn't a soundpack (it'd have to overwrite the music folder of an installed soundpack) I'm not sure if it's a good candidate for Catapult but I thought I'd ask anyway.

Thanks for all your hard work on this project!

Tileset migration caused JSON errors

This isn't a bug, really. More an oversight that I thought you might want to be aware of. The fact that tilesets are migrated is ultimately what caused a minor JSON error in my game install. I want to suggest that tileset migration be turned off by default, but I don't know how good an idea that is. Regardless, I am bringing this issue to your attention for your thoughts on the matter.

Launcher won't open if i set my monitor to 100hz and more.

Apparently my screen messes with the automatic dpi detection. I don't get the window if i set my screen in the system settings to 120hz or 165hz. I have a 34 inch screen and a resolution of 3440 by 1440, system is Kubuntu 21.10. If i set my system to 100hz, open the launcher and set it back to 165hz, everything works fine, launcher works and everything.
Also if i activate custom UI scaling in the settings, my computer crashes and i have to reboot (not even emergency console works)

Allow installing multiple versions of the game

Now that user data is stored separately from the game, nothing prevents a system in which multiple game installs exist inside bn/ or dda/, and the user chooses which of them to launch.

Error due to Kenan-modpack renaming for DDA and BN

Getting this error:

[13:39:45.960] [error] Could not remove source directory D:/Games/CDDA-Game/Catapult-loader/catapult/dda/tmp/CDDA-Kenan-Modpack-master/Kenan-Modpack. Error code: 1. [13:39:45.966] [error] Failed to remove directory D:/Games/CDDA-Game/Catapult-loader/catapult/dda/tmp/CDDA-Kenan-Modpack-master. Error code: 1.

The repos got renamed to "CDDA-Structured-Kenan-Modpack" and " BrightNights-Structured-Kenan-Modpack".

libSDL2_mixer-2.0.so.0 missing on arch

I downloaded the executable 21.09b, and installed CBN. I installed a audio pack and Kenan's modpack.

Clicking on the "Play" button doesn't do anything, and running ./bn/current/cataclysm-tiles outputs:

./cataclysm-tiles: error while loading shared libraries: libSDL2_mixer-2.0.so.0: cannot open shared object file: No such file or directory

Sounds like a library or other dependency is missing. Do you know what that could be ?

[Suggestion] Save game backups

A new tab with the ability to automatically and manually backup save games and restore them would save a lot of time trying to do this manually.

BN won't launch on Linux

I'm on Manjaro and when trying to play the latest experimental the game just doesn't open. The play button does nothing, and the game never launches no matter how many times I try to launch it. I can install the game, but it never launches at all.

Edit: The game won't even start when I try to manually run the game from the files.

Any chance of a Tileset Support?

Will be great if you could allow Undead People Tileset for example to be updated when new version comes out.

Thank you very much for the launcher.

Packages should be downloaded to e.g.`~/.cache` on Linux instead `/usr/bin`

Looks that when I open project in Godot Editor via /usr/bin/godot, then when I trying to download installer I always got error message

ERROR: [14:16:48.587] [error] Failed to download cdda-linux-tiles-x64-2021-09-11-0808.tar.gz.
   at: call (modules/gdscript/gdscript_functions.cpp:774)

This is probably caused by permissions problem.
I think that files downloaded files should go to .cache or similar folder

22.03c - Save game directory incorrect

In the new release 22.03c, the intervention instructions suggest moving save games from current/save to userdata/save however when launching the game it doesn't recognise the save. Additionally after launching, it creates a range of subfolders such as userdataconfig, userdatafont, userdatagfx etc. when moving the save game files from userdata/save to userdatasave/ the game recognises the files.

image

[Suggestion] View commit summary of available builds.

Upon launching the application or refreshing the list of available builds the summary of all the commits for these builds could be downloaded. There could also be a button you press to open a window displaying the commit summary for the currently selected build.

Simplified Chinese Translation

Glad to see Catapult supporting new languages since 22.02b.
I've done Simplified Chinese translation by myself, by editing font_info.csv, text.csv and tips.csv.
Forgive me, I've never had any experience contributing to a Github project.

My questions are:

  1. Are these 3 files the all I need to edit?
  2. Should I start a pull request?
  3. Could someone help me check if I did everything right?

Sincerely thanks.
font_info.csv
text.csv
tips.csv

Auto-updating for installed mods

Add the ability to reinstall all non-stock mods from local repository in one click. This can also be combined with re-downloading the modpack.

Need to see if the workaround for duplicate/obsolete mods will be a problem when implementing this.

Launcher not fetching todays builds

There were builds released today (March 5th 2022) but the launcher shows the build released on February 26th 2022 as the most recent. It's possible I'm just earlier than I am normally and it needs time to catch up to the release but I thought I should bring it up in case something bugged.

[Bug] Poor Launcher scaling

## About this report

Essentially this :
image

In Ubuntu 20.04.2 LTS, the launcher scaling was pretty terrible without turning on Custom UI scaling in the default. And even then, it did not allow itself to be pinned into the corners or rescalled.

image

Only grabbing it with the windows + left click hold managed to drag it fully into view.
I do not know much about making this sort of software, but i believe it could use to have custom UI scaling by default.

Again new dir names for kenan

This time no error, just an empty list.

New dir for dda:

"CDDA-Structured-Kenan-Modpack-master/Kenan-Structured-Modpack/High-Maintenance-Huge-Mods"

New dir for bn:

"BrightNights-Structured-Kenan-Modpack-master/Kenan-BrightNights-Structured-Modpack/High-Maintenance-Huge-Mods"

"BrightNights-Structured-Kenan-Modpack-master/Kenan-BrightNights-Structured-Modpack/Medium-Maintenance-Small-Mods"

Edit: Turns out, that Kenan reduces his work for the modpack. Almost exclusively for BN only, with some exceptions.
For more info, see here: https://github.com/Kenan2000/CDDA-Structured-Kenan-Modpack/issues/245

[Build question] Export template settings

This isn't really a bug report; more a question on your export settings for Godot.

While doing the work for the changelog I noticed that there were some graphical oddities. Most notably, whenever the Stable/Experimental radio buttons were disabled, they would also get much bigger than they otherwise would be. This behavior persisted even after I exported the project to run on another computer. My export also did not include the unzip util that yours did.
I suspect these issues are down to my own inexperience with the engine and editor.

It might be a good idea to share your Godot export templates in the repo to assist other contributors. This is obviously not a terribly urgent request by any means.

Changelog is timing out

Below is the response I got from GitHub support regarding the changelog:

Hi Inglonias,

Thanks for reaching out!

I took a look and noticed the query you are running is hitting a timeout error. The API has a timeout on processing requests and if that timeout is hit, the request is terminated and you get back an error. Currently, the timeout is 10 seconds.

This normally happens when your query involves too much data.

Is there anything that can be done about this, either on the client end or the server end?

I'm afraid there is nothing that can be done about that timeout on our end. I'd recommend using the Search API for your query:

https://docs.github.com/en/rest/reference/search#search-issues-and-pull-requests

Below is a sample query using GraphQL API:

{ search(type: ISSUE, query: "repo:cleverraven/cataclysm-dda sort:updated state:closed is:pr", first: 100) { nodes { ... on PullRequest { lastEditedAt updatedAt id number url createdAt state } } }

You can try the query above using our GraphQL Explorer

Hope this helps!

UndeadPeople Tileset Support — Modded Tiles Issue

I stumbled across this discussion and I second this. But there's a bigger problem with UDP and Catapult.

The new structure that The Catapult uses since March 2022 claims you need to put mod files into /userdata/ yet when I do that the modded tiles support for UNDEADPEOPLE tileset is absent.

There's a folder in the tileset archive that needs to be inside /data/mods/ but it doesn't work neither when I put it into /userdata/data/mods/ or /userdata/mods/ folder.

Only when I put /data/mods/ files from UDP into the /current/data/mods/ folder I can see tiles for Magyclism and other mods.

The problem is, each time Catapult updates the game it purges UDP modded tileset files from /current/data/mods/*/ folder.

Proposed solution:

  1. include UDP into base Catapult (ideal!)
    or
  2. support tilesets for modded content through /userdata/mods/
    UDP_magyclism1

Launcher theme customization

and by that I mean just being able to change UI colors from the launcher, nothing fancy. I think this would be neat though I don't imagine much using it aside from me. thanks in advance!

[Suggestion] Check for updates when opening the launcher.

Before fetching releases for Cataclysm DDA, the launcher could check the Catapult Github page for any new updates and automatically update after asking the user. There could also be a switch in Settings to enable/disable this feature.

Connecting controller with launcher open results in opening endless copies of CDDA.

With the launcher running in the background I connect a wired controller. The controller does not have any macros and the launcher is not the active window. It will open as many copies of CDDA as possible. Last test launched 323 copies of CDDA in approximately 15 minutes.

Controller used is a Nintendo Switch Pro via USB.

System information:
Processor Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz 4.20 GHz
Installed RAM 32.0 GB
System type 64-bit operating system, x64-based processor

OS information:
Edition Windows 10 Pro
Version 21H2
Installed on ‎6/‎20/‎2020
OS build 19044.1586
Experience Windows Feature Experience Pack 120.2212.4170.0

Please let me know what other information you need if you aren't able to replicate/identify this issue.

[Bug] Launcher not work

Here is log;

[14:32:25.651] Finished downloading cdda-windows-tiles-x64-msvc-2021-11-03-0951.zip.
[14:32:25.654] Extracting cdda-windows-tiles-x64-msvc-2021-11-03-0951.zip...
[14:32:25.751] [error] Archive extraction command exited with an error (exit code: 1)

Problem migrating fonts and sound

No matter what I try, it seems it doesn't want to copy over my fonts and sounds. Now I'm unsure if I'm doing something wrong or something's borked.
I have ticked all the things to migrate in settings, but after update to latest experimental those two folders have only the basic files, although the log states the files are copied over.

If you need more infos, let me know.

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.