New 64 bit 1.7 version suggestions and bugs

The place to discuss creating, porting and modifying Celestia's source code.
Avatar
Chuft-Captain
Posts: 1760
Joined: 18.12.2005
With us: 11 years 11 months

Post #61by Chuft-Captain » 14.11.2017, 12:13

Thanks Alexell,

Good to know that. Will that BETA be 32bit/64bit or both?

Cheers
CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
Alexell M
Site Admin
Posts: 257
Joined: 07.10.2010
Age: 23
With us: 7 years 2 months
Location: Moscow, Russia
Contact:

Post #62by Alexell » 14.11.2017, 12:22

Chuft-Captain, Celestia 1.7.0 beta will be available for the Windows platform (x86/x64) and probably for the Linux.
Admin of celestiaproject.net.
PC: Lenovo IdeaPad Z570. Intel Core i5-2450M CPU @ 2.50GHz, 8 ГБ ОЗУ, NVIDIA GeForce GT 540M, Windows 10 Enterprise x64.
Phone: iPhone 7 Plus 128 Gb. iOS 11.
Image

Avatar
Chuft-Captain
Posts: 1760
Joined: 18.12.2005
With us: 11 years 11 months

Post #63by Chuft-Captain » 14.11.2017, 12:52

Great! Look forward to seeing it.
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
selden
Posts: 10133
Joined: 04.09.2002
With us: 15 years 3 months
Location: NY, USA

Post #64by selden » 28.11.2017, 00:05

celestia-1.7.0-x64-25.11.17 (using dlls provided by Janus) does not show which databases are being loaded. It provides only a percentage value. This is not appropriate.

It is very important that the full paths of Celestia's database files and associated errors be shown in all three of the "obvious" places while they are being loaded:

1. in the initial popup window
2. in the terminal window when Celestia is started from the command line
3. in the log shown when one types a tilde

so that bugs in those files can be located and fixed.
Selden

Avatar
Chuft-Captain
Posts: 1760
Joined: 18.12.2005
With us: 11 years 11 months

Post #65by Chuft-Captain » 28.11.2017, 07:38

Absolutely agree with Selden.
I for one will not be using this executable if loading information is obfuscated.
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
selden
Posts: 10133
Joined: 04.09.2002
With us: 15 years 3 months
Location: NY, USA

Post #66by selden » 28.11.2017, 10:52

celestia-1.7.0-x64-25.11.17 (using dlls provided by Janus) ignores command line options.

It should complain about unrecognized options and should recognize those options known to Celestia v1.6

For example, when using a Windows 7 terminal window, typing the command
celestia-1.7.0-x64-25.11.17.exe -help
generates no terminal output. It should list all of the available command-line options, if only because "-help" is not recognized.
Selden

Janus
Posts: 117
Joined: 13.08.2016
With us: 1 year 4 months

Post #67by Janus » 28.11.2017, 11:30

@selden

The following is from /src/celestia/qt/qtmain.cpp
This is the complete command line parsing routine for the QT version of Celestia.
The one for straight VS is basically the same.
I checked my archives, and while several versions have use '--help', none have a complete printout of options that I could find.


Code: Select all

bool ParseCommandLine()
{
    QStringList args = QCoreApplication::arguments();

    int i = 1;

    while (i < args.size())
    {
        bool isLastArg = (i == args.size() - 1);
#if 0
        if (strcmp(argv[i], "--verbose") == 0)
        {
            SetDebugVerbosity(1);
        }
        else
#endif
        if (args.at(i) == "--fullscreen")
        {
            startFullscreen = true;
        }
        else if (args.at(i) == "--once")
        {
            runOnce = true;
        }
        else if (args.at(i) == "--dir")
        {
            if (isLastArg)
            {
                CommandLineError("Directory expected after --dir");
                return false;
            }
            i++;
            startDirectory = args.at(i);
        }
        else if (args.at(i) == "--conf")
        {
            if (isLastArg)
            {
                CommandLineError("Configuration file name expected after --conf");
                return false;
            }
            i++;
            configFileName = args.at(i);
            useAlternateConfigFile = true;
        }
        else if (args.at(i) == "--extrasdir")
        {
            if (isLastArg)
            {
                CommandLineError("Directory expected after --extrasdir");
                return false;
            }
            i++;
            extrasDirectories.push_back(args.at(i));
        }
        else if (args.at(i) == "-u" || args.at(i) == "--url")
        {
            if (isLastArg)
            {
                CommandLineError("URL expected after --url");
                return false;
            }
            i++;
            startURL = args.at(i);
        }
        else if (args.at(i) == "-s" || args.at(i) == "--nosplash")
        {
            skipSplashScreen = true;
        }
        else
        {
            QString  buf ="Invalid command line option " + args.at(i);
            CommandLineError(buf.toUtf8().data());
            return false;
        }

        i++;
    }

    return true;
}




Janus.

Avatar
Chuft-Captain
Posts: 1760
Joined: 18.12.2005
With us: 11 years 11 months

Post #68by Chuft-Captain » 28.11.2017, 12:24

Janus,

I suspect the second part of Selden's post:
Selden wrote:It should list all of the available command-line options, if only because "-help" is not recognized.
is a suggestion, rather than a bug report.

I may be wrong, but AFAIK Celestia (certainly 1.6.x versions) in this circumstance, has never done anything more than present a popup box with something like:
Celestia wrote:"Invalid command line option --help"
... however it is a very good suggestion by Selden, as it's analogous to standard DOS functionality of presenting options when "/?" is appended to a command, but would require some new code to be written to replace popups with the terminal output Selden suggests.

CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Janus
Posts: 117
Joined: 13.08.2016
With us: 1 year 4 months

Post #69by Janus » 28.11.2017, 17:03

I had not realized Celestia did not do that.
Since it did everything else so well, I assumed it did that as well.

Shouldn't be to hard to add.
Maybe even take a page from a program I ran into in house at a customer.
They had a utility that in addition to listing out command line options, would create a temp dir text file and launch it in the default txt editor as a guide.
Really useful, especially since it had a LOT! of options.

How about that idea here, and maybe add stuff like being able to automatically run a script, record a session, or go to a named thing.


Janus.

Avatar
Alexell M
Site Admin
Posts: 257
Joined: 07.10.2010
Age: 23
With us: 7 years 2 months
Location: Moscow, Russia
Contact:

Post #70by Alexell » 28.11.2017, 17:40

selden, The process of loading in percent on a splash screen is a temporary fictitious decision. In the original QT code - there was no splash screen.

Added after 4 minutes 8 seconds:
Other errors written in this topic in the future will be corrected.
I remind you that the developers of Celestia did only an experimental version using the QT framework.
There is still a lot of work to get everything working.
Admin of celestiaproject.net.
PC: Lenovo IdeaPad Z570. Intel Core i5-2450M CPU @ 2.50GHz, 8 ГБ ОЗУ, NVIDIA GeForce GT 540M, Windows 10 Enterprise x64.
Phone: iPhone 7 Plus 128 Gb. iOS 11.
Image

Topic author
john71
Posts: 289
Joined: 10.08.2016
With us: 1 year 4 months

Post #71by john71 » 28.11.2017, 18:15

Thanks Alexell, the new version is VERY GOOD and very different! But in a good way!

May I suggest that you leave the previous 64 bit version (dev7) on your download site as Celestia 1.6.2?

Avatar
Alexell M
Site Admin
Posts: 257
Joined: 07.10.2010
Age: 23
With us: 7 years 2 months
Location: Moscow, Russia
Contact:

Post #72by Alexell » 04.12.2017, 14:17

john71, Version 1.6.2 will not. There will be a 1.7.0 version right away
But maybe in December we will not see it, because we do not have time to fix some problems.
Admin of celestiaproject.net.
PC: Lenovo IdeaPad Z570. Intel Core i5-2450M CPU @ 2.50GHz, 8 ГБ ОЗУ, NVIDIA GeForce GT 540M, Windows 10 Enterprise x64.
Phone: iPhone 7 Plus 128 Gb. iOS 11.
Image

Topic author
john71
Posts: 289
Joined: 10.08.2016
With us: 1 year 4 months

Post #73by john71 » 04.12.2017, 20:33

OK. By the way, how can I search for a star in the new (11.25) version?

Avatar
John Van Vliet
Posts: 2670
Joined: 28.08.2002
With us: 15 years 3 months

Post #74by John Van Vliet » 05.12.2017, 01:35

years ago i was working on removing gcc warnings with building in MinGW

i think what is the issue is ALL of us have been building addons and NOT refactoring the code base

and NOT removing Compiler warnings and now the QT5 warnings

except for Dr. Schrempp

Janus
Posts: 117
Joined: 13.08.2016
With us: 1 year 4 months

Post #75by Janus » 05.12.2017, 02:22

@John Van Vliet

The main code base does compile with Mingw with very few tweaks, which I have already done in mine.
However, there are not yet mingw libs for the support libraries, thus no linking.
I have some done, but not all.

As for QT5, both Alexell's code base and my own private branch compile with QT5 just fine.
He uses VS2017, I use VS2013.
He uses QT5.9.2, I use QT 5.4/5.6/5.8/5.9, though I am not a fan of QT.
Both compile in x86 & x64 versions.
He is integrating QT into the main program itself in his branch, I am not.

The issue of warnings with 64 bit has to do with size_t conversion issues.
In many places in Celestia INT is used, which has some issues in the 32 vs 64 bit code wars.
There is a LOT! of work needed to get away from types that define their size, and to convert to ones that do not.
Such as switching from returning int/uint to size_t, and variable types within routines as well.

In my own branch I am working with Mingw530_x86 from QT creator, and an x64 version of it I located as well.

I have posted the sources of the support libs on my site with sln/vcxproj files set for VS2013 in the IDE.
I am building bat files for mingw to create libs from them as well.

As I have said, I am not a real C/C++ programmer.
So it is slow going for me, as I am doing this around my regular work.

I have also managed to create a completely statically linked version of Celstiaa in x86 & x64 both, that does not require or even use VS redists.
This is not feasible with QT however, it will always require the dozen or so support DLLs.


Janus.


Return to “Development”

Who is online

Users browsing this forum: 1 guest