Page 1 of 1

x64 conversion glitches.

Posted: 17.10.2016, 07:10
by Janus
First note.
I am working in windows XP & 7 Pro both x64, with VS 2010:2012:2013 environments.
I originally converted the VS2008 to VS2010, and QT4 to QT5, while still compiling in all of them.
Once I have x64 working, I will start converting the QT5 PRO file for x64 as well.
Once that is done, I will copy over to VS2012, then VS2013.

I also test what I can in ReactOS, though that remains buggy.
I lack the know-how to work with linux at this time, I will be using Celestia to learn.
I neither use nor own a mac, and I am ignoring them, mac's and I just don't get along.

I have been making an x86 to x86/x64 conversion and run into a couple of weird things.
According to MS notes my x64 changes should compile with VS2008 just fine, though I do not currently have an install to test with.
I figured out the changes in the code, though it took some time, and lots of typing.
Original lines are commented out at this time for comparison, but normal x86 compilation and execution seems unaffected.
I have managed to locate most of the x64 lib files, for the windows version at least.

After getting most of it done, I ran into something weird.
In Lua5.1 x64 lib, it lacks the '_HUGE' definition, or that is how it reads to me.

Does anyone with real knowledge of VS know what that means.
My knowledge of C/C++ is also limited.

Anyone know how to fix it?


Janus.

Posted: 12.11.2016, 22:08
by Janus
Finally managed to get LUA done in 64-bit, had to create my own LUA project, then copy over the lib files.
Looking at updating the LUA library with a newer one.

I will be doing the same with the rest of the required libraries as I have time.

Managed to get Celestia to compile in 64-bit, but it crashes immediately.
Will continue playing with it.
Eventually I will figure out what I did wrong.


Janus.

Posted: 13.11.2016, 06:45
by john71
It is very nice to see that Celestia development is going forward. I'm very grateful! Nice work! By the way, is there a way to coordinate the development tasks? Who can help you in the development team?

Posted: 13.11.2016, 18:22
by Janus
I use Celestia in part of what I do, so I am definitely keeping working on development.
I believe a system of coordinating the forked code bases is being worked out.

My own tweaks are very different than others because I have added some functionality that is specific to my needs.
This will make merging my code differences with theirs tricky.
Especially so since I am not accustomed to coordinating with teams, or using shared repositories.

I added to and altered the format of the stars DB.
My fork now lets you lookup stars based on RA/Dec, Distance from us, from each other, etc.
I am also working on a convergence calculator.

In addition, my 64-bit conversion work is part of making a presentation system, in part, a Kinect overlay to give Celestia gesture controls.
One of my eventual goals is to port Celestia into an app on the XBox & PS platforms.
Then have gesture controls for use in the living room or class room to explore the stars.
Might also be good for physiotherapy where movements need to be repeated a lot to relearn.
Perhaps it could provide some non boring feedback to the practice.
It is also my hope to add eye tracking so that VR can be merged with it.
This will allow even paraplegics to explore our solar system & universe at their leisure.

I have made solar system tours with Celestia, and am updating one with current textures of pluto, etc.
I do this between other jobs etc, so progress is slow and erratic.

I am simply glad others are still using it as well.


Janus.

Posted: 13.11.2016, 18:30
by john71
It is a fantastic and unique software even after all those years.

For me it is the only software to create realistic star systems and planets.

The only problem is the limited nature of the 32 bit version. So it is very good to hear from someone like you!

Posted: 06.12.2016, 19:42
by ChristTrekker
Is there any particular reason that 32- and 64-bit versions can't coexist? It's probably just a compiler switch. I've seen any number of programs do this for the past 10+ years now.

Posted: 06.12.2016, 21:42
by John Van Vliet
this is Microsoft windows here so ?????
the whole stack needs to be 64 bit

this is easy on linux but windows has this "corn cob" in the rear thing going on about "backwards compatibility"
win 7 64 still has win95 16 bit code compatibility even though it can not run it

with 10 ? i do not know

i have zero issues using gcc 4.8 64 bit on my 64 bit OS
all the dependencies are already 64 bit

Posted: 07.12.2016, 05:12
by Janus
If only win whatever were so nice.

Nominally I use XP, but am in the process of transitioning to 7, reluctantly.
I am only doing so now because I am largely able to work around the UI degradation it suffered at the hands of the !eta!ds who programmed it.
Not all of the problems, but enough I can fake it mostly, though I still fall back quite often.
The way they scattered related things is horrid.
And the whole UAC thing is every bit as annoying the root thing in Linux.
I am not in the mood to ask permission to perform an action on my own computer.
I think if I built it, I own it.

Going from XP-64 to 7-64 is a pain.
Like many, I refuse to see eight and later as windows, I use computers not tablets, and android does a better job anyway.
I won't vent my opinion of those versions here, and I wouldn't on a board dedicated to cuss words.

I like that Linux has a clean 64-bit setup, that is very nice indeed.
Sadly, it lacks things I need, or I would make that transition happily.
I just can't get along with the way it forces you into using user profiles.
I think and use things in terms of storage devices, not filesystems. C:\ is easier for me than /dev/sda, and /home/??? is not usable for me.
I happen to like the whole drive letter thing, it works easily and intuitively for me.
If it works for others, then I hope they enjoy working the way they prefer.

I am also testing in ReactOS when I can.
So far it is spotty.
Though things are rapidly improving.

The biggest problem in windows is the WOW64/32 stuff, which I agree is a mess.
The other big problem is managing to compile stuff in 64-bit.
The directions for make/nmake and makefiles are arcane.
Until I hit 64-bit, I was able to just use existing code as a basis for making what I needed.
I am sure there is logic in how the make/compile/link chain works, but so far it has evaded me.
I know part of that is me, but it just as confusing as VS itself, which I find hideous, though its UI is at least documented, though poorly.

Currently I am trying to add Celestia's required libraries as subprojects in VS/QT that compile as needed.
Since I am doing this in my spare time, I expect progress to be slow.
Still, I am looking forward to getting it done.

I am also looking forward to seeing how code integration here happens.
Not sure if anyone will care about my additions.
If they don't, then I will keep my own version of Celestia for my own use, and get in anyone's way here.

Janus.

Posted: 07.12.2016, 06:07
by John Van Vliet
I am not in the mood to ask permission to perform an action on my own computer.
I think if I built it, I own it.

that is the FIRST security measure
using a normal NON root user for 99.9999% of the things and becoming root only for the very few things that need it

unless i am setting up a system i normally only need to type in the root password if i am installing software or editing a SYSTEM file
this works out to a few times a week i need to gain root / administration access
and to install updates , on MY terms and when I want them

even when i was using XP and visual studio i was finding i liked gcc and autotools a LOT better and was using tit more and more in "mingw/msys"

by the time i had moved full time to linux . i was using gcc and had uninstalled visual studio


as for integration ???
your guess is as good as mine
i have a github page , and only a few edits to it

now the svn celestia code is only using 32 bit mem registers and needs to be expanded for 64 bit
but builds as a 64 bit program just fine ( not including the 32 bit restrictions and limitations )

Posted: 07.12.2016, 10:03
by Alexell
Janus, I have already written to you that after I make small changes in the repository of code that I've been planning, we're going to work on partial or complete merger your code with ours on GitHub.

Posted: 07.12.2016, 17:43
by Janus
Yes, but after reviewing my code changes and starting a list.
I realized how many changes I have made.
The list is larger than I had believed.

I am working on making a source copy with my mid development stuff trimmed out.
That way a clean comparison can be made.

C/C++ is not my preferred language(s) at all.
I find the codebase intimidating, and a lot of it confusing.

Not sure how much of my tweaks can be used by anyone else.


Janus.