grangerhub / tremulous-launcher Goto Github PK
View Code? Open in Web Editor NEWTremulous client launcher and updater written in C++ using JUCE
License: GNU General Public License v2.0
Tremulous client launcher and updater written in C++ using JUCE
License: GNU General Public License v2.0
Allow each to be changed.
Launch trem using the new locations, if changed.
Show errors for not being able to create folders in the chosen location, or being unable to write other files.
Because I can't reopen the original.
See #2 .
The issue persists, increasing the timeout doesn't seem to have done anything. Perhaps its due to signal's.
This is already done.. will add snippet
First show copyright info for "Tremulous" and for the launcher/installer itself:
"Tremulous" copyright ©️ 2005-2015 Tim 'timbo' Angus with Darklegion Development, and the Tremulous development community.
Copyright ©️ 2016 GrangerHub
"Tremulous-Launcher" copyright ©️ 2016 Jeff Kent
Copyright ©️ 2016 GrangerHub
Game media for "Tremulous" released under Creative Commons Attribution-ShareAlike 3.0 (CC BY-SA 3.0 US) license.
Please see the file named COPYING for additional details and exemptions.
Next up, display the license and force the user to agree to proceed:
Show the GPL 2 plaintext of the license along with a scrollbar in UI. Display a grayed-out 'I have read and understand the terms and conditions of the license.' checkbox. Show a grayed-out "Next" button. Only after scrolling to the end of the text should the checkbox become available, and after they check it they can click "Next" to proceed with install.
Cleanup the #if defined(JUCE_<OS>)
from Main.cpp.
Maybe something like this to start
class PAL {
public:
PAL() {}
virtual bool elevate(const string args) = 0;
virtual const char* platform() = 0;
virtual const char* settingsPath() = 0;
virtual const char* defaultBasePath() = 0;
};
class DarwinPAL : public PAL {
public:
DarwinPAL()
{
settingsDirectory = appDataDirectory.getChildFile("Application Support").getChildFile("Tremulous");
defaultBasepath = File::getSpecialLocation(File::globalApplicationsDirectory).getChildFile("Tremulous");
}
bool elevate(const string args);
const char *settingsPath();
const char *defaultBasePath();
}
bool DarwinPAL::elevate(const string args)
{ ... }
const char* DarwinPAL::platform()
{ return "osx"; }
...
PLATFORM: OSX
Perhaps this is not strictly the issue as I am perceiving it, but running the launcher tells me "An update is available!"
So I click the Yep/Ok Option
Next, it is "running Tremulous", and just hangs.
I run tremulous from an local directory, and do not have an "/Applications/Tremulous.app", so perhaps it is hanging for this reason, or perhaps it is supposed to download tremulous first.
Maybe an issue for this nettle library, but perhaps the code is merely due to outdated files?
The following were identified by XCode.
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp.c:303:14: Passing 'const uint8_t *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp.c:319:13: Passing 'const uint8_t *const' (aka 'const unsigned char *const') to parameter of type 'const char *' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp.c:360:16: Passing 'const uint8_t *const' (aka 'const unsigned char *const') to parameter of type 'const char *' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp2rsa.c
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp2rsa.c:63:14: Initializing 'const uint8_t *const' (aka 'const unsigned char *const') with an expression of type 'char [2]' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp2rsa.c:89:9: Initializing 'const uint8_t *const' (aka 'const unsigned char *const') with an expression of type 'char [12]' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp2rsa.c:89:24: Initializing 'const uint8_t *const' (aka 'const unsigned char *const') with an expression of type 'char [11]' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp2rsa.c:91:9: Initializing 'const uint8_t *const' (aka 'const unsigned char *const') with an expression of type 'char [4]' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp2rsa.c:91:16: Initializing 'const uint8_t *const' (aka 'const unsigned char *const') with an expression of type 'char [10]' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/nettle/sexp2rsa.c:91:29: Initializing 'const uint8_t *const' (aka 'const unsigned char *const') with an expression of type 'char [15]' converts between pointers to integer types with different sign
/Users/viroemer/Develop/tremulous-launcher/Source/Updater.cpp
/Users/viroemer/Develop/tremulous-launcher/Source/Updater.cpp:26:60: Field 'overallPercent' will be initialized after field 'taskPercent'
After install, show (already-selected) checkbox options to:
Show a "Let's Go!" button if the last option is selected, if not, show a "Done" button
Already done, this is a JUCE option to draw the wm controls (minimize/max/quit)
Overview:
PLATFORM: OSX
See below for issue. Perhaps an issue with JUCE-OSX and not with the launcher itself?
JUCE v3.2.0
**********************************************************
Tremulous Launcher
Log started: 31 Aug 2015 6:03:10pm
arg0: -NSDocumentRevisionsDebugMode
arg1: YES
Aug 31 18:03:10 VIROEMER-M-705S Tremulous Launcher[12080] <Error>: ImageIO: CreateMetadataFromXMPBufferInternal Threw error #203 (Duplicate property or field node)
Checking for public key revocation
URL: http://trem.jkent.net/updater/revoked.php?fingerprints=fcacad14553e5474d4344a42eb7e2629047746d16ad8141e957a9584d8eb755b
Running Tremulous...
All the user to click "cancel" button to stop downloading packages and exit, and possibly to roll back changes?
Show a warning dialog asking if the user wants to "Cancel and go back." or "Proceed with installation".
During the download / install process, cycle thru some stylized images to give a glimpse of the game
If multiple versions of a package are available, let the user select all the ones they desire.
If 2 or more packages would conflict, allow the user to select the appropriate one for their system.
Also show packages which have been revoked and will be removed (if any).
If connection is blocked by firewall (Little Snitch*), the application hangs indefinitely and no splash screen is shown.
*Little Snitch is an OSX firewall like software
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.