remyroy / cdda-game-launcher Goto Github PK
View Code? Open in Web Editor NEWA Cataclysm: Dark Days Ahead launcher with additional features
License: MIT License
A Cataclysm: Dark Days Ahead launcher with additional features
License: MIT License
<class 'TypeError'>
File "cddagl\ui.py", line 822, in showEvent
File "cddagl\ui.py", line 1145, in game_directory_changed
File "cddagl\ui.py", line 1061, in update_mods
File "cddagl\ui.py", line 7007, in game_dir_changed
File "cddagl\ui.py", line 6933, in add_mod
Apologies if this isn't a bug and is instead me doing something wrong, but whenever I update the experimental using the launcher, it deletes a mini-mod that I made that blacklists all shocker zombies. It's not that big of a deal, I have a copy of it elsewhere that I can just copy-paste back into the folder, but it would be nice to not have to do that every time I update.
Hello again! ^_^
Is it planned to add CLI options for the Launcher?
For example if i want curses graphics to be checked on launch i do something like this:
C:\Users\mrdev>"C:\games\Cataclysm DDA\game\cdda-launcher.exe" -graphics curses
Hello!
Is it possible to detect the directory where Launcher is being launched?
For example.
While Patching it produces this error.
Description: [Enter what you did and what happened]
Version: 0.6.5
Type: <class 'AttributeError'>
Value: 'ProgressCopyTree' object has no attribute 'source_file'
Traceback:
File "C:\Users\Remy\Projects\CDDA-Game-Launcher\cddagl\ui.py", line 2571, in step
File "C:\Users\Remy\Projects\CDDA-Game-Launcher\cddagl\ui.py", line 2677, in stop
<class 'FileNotFoundError'>
File "cddagl\ui.py", line 558, in showEvent
File "cddagl\ui.py", line 733, in game_directory_changed
File "cddagl\ui.py", line 680, in update_mods
File "cddagl\ui.py", line 4892, in game_dir_changed
File "cddagl\ui.py", line 4766, in config_info
When installing a new soundpack and the application is closed, we need to perform some clean up like canceling the download and removing the downloaded file.
About every 4th or 5th time I update, the update fails with a message. Sometimes its Windows Error 5 can't access save directory, or failed to delete save, or failed to do something to previous version directory. I wish I had a better and more deterministic understanding of the problem
All my mods moved to the new version, but I had to copy over my user-default-mods.json myself. Aside from that, it worked flawlessly. Really nice work remyroy :)
Hey, I thought I followed the step by step fairly well but it seems I must have made a mistake somewhere. I try the step where you test the launcher and what I get is this.
C:\Users\SomeGuy\Documents\Games\Cataclysm DDA\CDDA-Game-Launcher-master>python cd
dagl\launcher.py
Traceback (most recent call last):
File "cddagl\launcher.py", line 29, in
from cddagl.ui import start_ui, ui_exception
File "C:\Users\SomeGuy\Documents\Games\Cataclysm DDA\CDDA-Game-Launcher-master\c
ddagl\ui.py", line 43, in
from pywintypes import error as PyWinError
File "C:\Python34\lib\site-packages\win32\lib\pywintypes.py", line 124, in
import_pywin32_system_module("pywintypes", globals())
File "C:\Python34\lib\site-packages\win32\lib\pywintypes.py", line 64, in im
port_pywin32_system_module
import _win32sysloader
ImportError: DLL load failed: The specified module could not be found.
I'm sure that this tells me what I'm doing wrong fairly obviously, but I was hoping for some help since I'm totally ignorant of what this means.
Description: Began updating, after the files appeared to have finished downloading, a few seconds pass, and the program crashes. This was the first time I had used the launcher since 0.3. Assuming you see this, keep up the good work bro. I'm running Windows 7 64.
Version: 0.6.5
Type: <class 'OSError'>
Value: [WinError 145] The directory is not empty: 'C:\Users\ADMIN\Desktop\CDDA\previous_version\lang\mo\it_IT'
Traceback:
File "C:\Users\Remy\Projects\CDDA-Game-Launcher\cddagl\ui.py", line 1435, in download_http_finished
File "C:\Users\Remy\Projects\CDDA-Game-Launcher\cddagl\ui.py", line 1451, in backup_current_game
File "c:\python34\lib\shutil.py", line 482, in rmtree
File "c:\python34\lib\shutil.py", line 372, in _rmtree_unsafe
File "c:\python34\lib\shutil.py", line 372, in _rmtree_unsafe
File "c:\python34\lib\shutil.py", line 372, in _rmtree_unsafe
File "c:\python34\lib\shutil.py", line 381, in _rmtree_unsafe
File "c:\python34\lib\shutil.py", line 379, in _rmtree_unsafe
It seems to happen more often when the saves are large.
Since custom soundpacks can be quite large, the launcher should use the same approach as it did for the saves directory which is to use the progressive copy mechanism that shows a progress bar, with copy speed, total copy size and copied size.
This way, the UI will not hang and become unresponsive plus it will display the actual copy status.
Detect when the game process saves the worlds and character and perform a backup afterwards automatically.
Yesterday I noticed that when I try to run the updater I get an error message that the tablet driver failed to load. It's weird because I don't have a tablet installed. Updated to the newest version and it still happens. I'm running win 7
I just learned the hard way why that'd be a good idea
There seems to be a problem there.
It would be nice to log problems and information so they can be debugged later on.
Hello again :)
In russian installer (http://cataclysmdda.ru/client_windows/CataclysmDDA_Rus.exe) we have a default font with russian symbols. It is called TerminusRus (https://www.dropbox.com/s/ppas939eqhqn2yp/TerminusRus.zip?dl=1).
Default settings made by installer:
A. game_folder/config/fontlist.txt added rows:
TerminusRus
data/font/TerminusRus.ttf
0
B. game_folder/config/fonts.json
{
"fontblending" : false,
"fontwidth" : 9,
"fontheight" : 15,
"fontsize" : 14,
"typeface" : "TerminusRus",
"map_fontwidth" : 9,
"map_fontheight" : 15,
"map_fontsize" : 14,
"map_typeface" : "TerminusRus",
"overmap_fontwidth" : 9,
"overmap_fontheight" : 15,
"overmap_fontsize" : 14,
"overmap_typeface" : "TerminusRus"
}
C. Font is placed in game_folder/data/font/
That's all is being done during first installation of the game. Is it possible to be done with this launcher too?
This seems to be caused by having an explorer window open to previous_version/data/mods while updating. I don't have the exact crash message on hand, if it happens again I'll post it here.
You can probably ignore this one, but I'm going to type it up anyways in case it ends up being relevant later. As I have mentioned on the forum I am actually running Cata on a filthy mac and so port it over with wineskin. Using this same method I ran Your Cata launcher within the wineskin launcher, successfully a few times more or less. Then I had an error pop up like this saying to report it on GitHub, so long story short here:
Edit:
Looks like the problem came from the cataclysm launcher not being able to store info inside the wineskin launchers files, and then moving wineskin inside the previous versions file XD
<class 'FileNotFoundError'>
File "cddagl\ui.py", line 646, in launch_game
File "subprocess.py", line 537, in call
File "subprocess.py", line 859, in __init__
File "subprocess.py", line 1114, in _execute_child
The modinfo.json
file can contain a top level dict/object or a list/array of dict/object with one of them having a type="MOD_INFO" containing the ident value. The current code can only read the ident value if the top level element is a dict/object.
Fixing this will enabling having custom mod using a list/array as their top level element in modinfo.json
copied during the update process.
Downloaded the new launcher version manually (Autoupdate failed) and ran it. On startup I see the launcher briefly, then it crashes and I'm notified of the unhandled exception.
OS is Windows 10 Professional x64
I tried to run the launcher from D:\Dropbox\CDDA\ and C:\DDA\ - same result.
<class 'ValueError'>
File "cddagl\ui.py", line 890, in timeout
File "site-packages\arrow\arrow.py", line 602, in humanize
File "site-packages\arrow\locales.py", line 21, in get_locale
Perhaps a button that you can click to get a much larger list of builds to choose from? For bug checking perhpas?
<class 'OSError'>
File "cddagl\ui.py", line 1701, in timeout
File "shutil.py", line 482, in rmtree
File "shutil.py", line 381, in _rmtree_unsafe
File "cddagl\ui.py", line 100, in remove_readonly
Since soundpacks can be quite large as well, we should add an option to prevent copying or moving them in the update process just like for the save directory.
Hello!
Are you going to make this launcher be multilingual?
I can help you with russian translation.
Prevent relaunching or updating the game if it's already launched.
It would be nice to have the launcher remember his window position and on which monitor it last was so it can stay where it was placed last when launched again.
This would enable having the launcher in the same directory as the game.
They should be kept around after an update. This will need to be fixed.
I often break things when I'm making changes. It's handy to have a copy of the zip file to refer to for reference or to replace a file. This option would save me a step and a bit of bandwidth as well.
Also, and possibly related, where does the launcher save it's data? It remembers which directory I've pointed it at between sessions. I keep my game on a usb drive because I'm often moving between computers, will the launcher lose the directory when I start it on a different computer?
This is probably quite unecessary, but perhaps add a tab in the launcher where you can set key bindings and change the ingame options? For those who reinstall often, or for those who change settings often. Most likely more work than it's worth, but I'll put it here as a suggestion.
By the way, are you okay with me putting suggestions here like this, or should I post them somewhere else?
Keep up the great work!
Changing the text by adding (64 bits)
and (32 bits)
to the radio buttons should do the trick for this.
Auto-update failed (something about not being able to access?), so I downloaded 0.9 manually.
Can't start, get an error about "launcher returned -1".
0.8.5. works fine.
After updating game to latest version, custom fonts will disappear from "\data\font"
Steps to reproduce:
Version of launcher - 0.4
Use better menu structure.
Help
|
---Check for update
|
---[Seperator]
|
---About CDDA Game Launcher
NTSF junction points could be used to speed the update process by sharing the custom elements of the previous version (save directory, templates directory, custom mod directories, etc) instead of copying them.
They could cause some issues, but they should be worth having a look.
I will explore them in details for this use.
Also add guide to use it directly with Python.
Realized I downloaded an outdated version by forgetting to press refresh. Perhaps make it auto-refresh every 30 or 60 minutes, or add an option for it? Or should the launcher keep to itself as much as possible? Thoughts?
This is entirely user generated content, I believe it does nifty things like letting you encounter the zombie version of a previous character.
When your save directory becomes large, the update process can take a while to complete when it tries to copy your save folder from your previous version to the new one on slow hard drives. The UI will become unresponsive because of this.
There is no workaround for this. Waiting for the launcher to become responsive again is the best way to solve this. Forcing the application to close will potentially make the save folder corrupted. The save folder of your previous version should still be fine.
Possible solutions are to include an option not to move or copy the save folder, use NTFS junctions to share the save folder between the previous version and the new one or add a better progress bar to see the progress of copying those files instead of making the UI unresponsive.
As the title says - make it possible to choose whether or not the launcher should close when launching the game. I often restart my game (totally not save-scumming, cough cough) and it'd be very helpful!
It would be nice to have the launcher autoupdate itself.
<class 'AttributeError'>
File "cddagl\ui.py", line 3264, in repository_clicked
If the game process is already launched, prevent updating and other various operations that could compromise the game. Display the "Show current game" button just like when we launch the game. Wait for the process completion to restore the normal state of the launcher.
[TITLE] - and perhaps even add a "Your game is up to date!"? :)
Off-Topic: Great work on the launcher, it's golden
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.