New bugfix release 1.6.2-beta1

The place to discuss creating, porting and modifying Celestia's source code.
Avatar
gironde M
Posts: 405
Joined: 16.12.2016
Age: 67
With us: 2 years 10 months
Location: Montigny-Les-Metz, Grand Est, Lorraine, Moselle, France

Post #21by gironde » 07.10.2019, 17:15

I use Celestia EPV3 (derived from 1.6.1) mounted with lua v 5.1 (lua5.1.dll).

When I use celestia 1.6.2 64bits, mounted with lua v5.2 (lua.dll), the start of celestia stops on an error due to an instruction lua which does not exist in lua 5.2
What is new 5.2 compared to 5.1? Is it really important ?

:eek:

Topic author
onetwothree
Developer
Posts: 309
Joined: 22.09.2018
With us: 1 year

Post #22by onetwothree » 07.10.2019, 17:22

onetwothree wrote:The problem is that Celestia internally uses UTF-8 while on Windows other encodings may be used. So some translated strings should be converted from utf-8 to local encodings.

Actually it seems that we have an incorrect libintl.dll, built without iconv support.

gironde wrote:here is the modified fr.po and fr.mo files :

Thank you, I'll add them to the next release.

Added after 3 minutes 40 seconds:
gironde wrote:What is new 5.2 compared to 5.1? Is it really important ?

Actually we use lua 5.3 in this build, basically because previous versions are not supported any more. From user's point of view, 5.3 handles numbers in more strict way and it has reserved word "goto". I will try to rebuild the next beta with LuaJIT which implements Lua 5.1.

Avatar
gironde M
Posts: 405
Joined: 16.12.2016
Age: 67
With us: 2 years 10 months
Location: Montigny-Les-Metz, Grand Est, Lorraine, Moselle, France

Post #23by gironde » 07.10.2019, 19:06

onetwothree wrote:
Actually we use lua 5.3 in this build, basically because previous versions are not supported any more. From user's point of view, 5.3 handles numbers in more strict way and it has reserved word "goto". I will try to rebuild the next beta with LuaJIT which implements Lua 5.1.

I found that lua5.2 deleted the table.getn (tbl) statement and replaced it with #tbl (tbl is the name of the table)
In LUT5, the function table.getn() is used about twenty times.
- see in pCXBox.lua, lua_universal_tools.lua, addsBox.lua, panel3.Box.lua, renderBox.lua, solarSystemBox.lua, VidibaBox.lua, CXBox.lua

'#' is supposed to work also with lua5.1

despite the changes, the startup of celestia 1.6.2 64 bits stops during loading before loading LUT5.

:sad:

Topic author
onetwothree
Developer
Posts: 309
Joined: 22.09.2018
With us: 1 year

Post #24by onetwothree » 07.10.2019, 19:41

I will restore 5.1. But anyway I suggest start updating your scripts for 5.2 & 5.3 compatibility.

Avatar
gironde M
Posts: 405
Joined: 16.12.2016
Age: 67
With us: 2 years 10 months
Location: Montigny-Les-Metz, Grand Est, Lorraine, Moselle, France

Post #25by gironde » 07.10.2019, 21:13

onetwothree wrote:
I will restore 5.1. But anyway I suggest start updating your scripts for 5.2 & 5.3 compatibility.

That's what I did on my side.
But even without LUT5 or lua-applications, the 64-bit celestia boot stops loading without an error message. Maybe it's due to too many addons. Yet under 1.6.1 or EPV3 (32 bit) everything works.
I think I will try installing celestia 1.6.2 beta 1 32 bit to check.

Avatar
SevenSpheres
Posts: 23
Joined: 08.10.2019
With us: 8 days 11 hours
Location: 23 06 29.283 -05 02 28.59

Post #26by SevenSpheres » 08.10.2019, 03:08

I get the same error as gironde when using Lua plugins, but for me Celestia does start (without Lua plugins).

I use Lua Edu Tools, not Lua Universal Tools. Can someone update both of these to Lua 5.2/5.3?

Avatar
gironde M
Posts: 405
Joined: 16.12.2016
Age: 67
With us: 2 years 10 months
Location: Montigny-Les-Metz, Grand Est, Lorraine, Moselle, France

Post #27by gironde » 08.10.2019, 06:22

onetwothree wrote:
Windows builds are available at Bintray and Github. The same installation file for both 64 and 32 bit versions.

Known issues
* "Disable display scaling on high DPI setting" must be set in windows with high DPI desktops
* Lua 5.2 made "goto" a reserved word, scripts with "observer:goto()" will be aborted
* No NAIF kernels support (SPICE)

on a 64-bit pc, celestia-1.6.2-beta1.exe only performs a 64-bit installation, never 32-bit.
lua 5.2 and lua 5.3 make all lua scripts obsolete using the table.getn () and observer.goto statements

This requires a lot of modifications in the scripts. Since their creation, these scripts have been modified by users and there is no longer a single version of these scripts.
I think that the installation and the desire to use 1.6.2 64 bits with lua 5.2 / 5.3 does not deserve the extra work and the taking of head on LET and LUT.
This same problem may occur with 1.7.0

Another thing, to work on LUT5, I use the editor / debugger DECODA. It works fine for a freeware but does not know how to support 64-bit executables.

If the update of Celestia 1.6.1 forces me to give up LET and LUT, I think I will stay on 1.6.1

I think you have to stay on LUA 5.1 and have different installation programs for 32 and 64 bit versions

:sad: :think:

Added after 41 minutes 20 seconds:
SevenSpheres wrote:
I get the same error as gironde when using Lua plugins, but for me Celestia does start (without Lua plugins).
I use Lua Edu Tools, not Lua Universal Tools. Can someone update both of these to Lua 5.2/5.3?

It's hard to do that instead of each of the LET and LUT users because if the lua modules were created by someone, they've been modified and remodeled a long time ago. There is no longer an official version used by everyone.

With your text editor, you must look in each lua file for the relevant instructions.(Notepad++ is cool for this)

for table.getn (your_table) which should be replaced by #your_table:
see in the files lua:
pCXBox.lua (lua_applications / cockpit / utils)
lua_universal_tools.lua (lua_universal_tools)
addsBox.lua (lua_universal_tools / tools)
panel3.Box.lua (lua_universal_tools / tools)
renderBox.lua (lua_universal_tools / tools)
solarSystemBox.lua (lua_universal_tools / tools)
VidibaBox.lua (lua_universal_tools / tools)
CXBox.lua (lua_universal_tools / utils)

The 'goto' statement in lua 5.2 is a transfer from the program flow to a label. The syntax is: goto label where label is a label in the program. The statement we are talking about: observe: goto () is an internal statement to celestia that can be used in a lua script; the syntax is not the same.
I do not think he has any problem at this level.
If so, obs: goto () was found 4192 times in the LET and LUT scripts. If we could no longer use them, it would be a disaster because in celestia it is an essential function.

For my part, I will fix table.getn () because '#' is compatible since lua 5.1 and I will remove celestia 1.6.2 64 bit which poses more problem than it solves.
Sorry for those who worked on it. :sad:

Avatar
eldee
Posts: 3
Joined: 23.01.2019
With us: 8 months 24 days

Post #28by eldee » 08.10.2019, 07:20

I made a PR for the bad translation of "Sol" in all languages : https://github.com/CelestiaProject/Celestia/pull/434

Topic author
onetwothree
Developer
Posts: 309
Joined: 22.09.2018
With us: 1 year

Post #29by onetwothree » 08.10.2019, 09:23

Markerz marged it, but it still needs some care cause some translations marked as fuzzy so they will be changed back on the next update.

Avatar
SevenSpheres
Posts: 23
Joined: 08.10.2019
With us: 8 days 11 hours
Location: 23 06 29.283 -05 02 28.59

Post #30by SevenSpheres » 08.10.2019, 21:58

gironde wrote:for table.getn (your_table) which should be replaced by #your_table:

I changed all these and am now seeing this:

luabug.png

Any idea what is causing this? Edit: It works fine in 1.6.1 by the way

(Edited to show image)
PC specs: HP desktop, Windows 10 Home 64-bit, Intel Core i7-7700 (3.60 GHz), 16 GB RAM, 1 TB HDD + 128 GB SSD, Intel HD Graphics 630
My Addons: viewtopic.php?f=23&t=19978 (the forum won't let me add a link here)

Avatar
selden
Developer
Posts: 10069
Joined: 04.09.2002
With us: 17 years 1 month
Location: NY, USA

Post #31by selden » 08.10.2019, 23:45

Where and how do you prefer bug reports to be made? Here or on Github?
I'll be testing it under Windows 7 and maybe Windows 10.

Some initial comments:

1. Please add to your to-do list to update README.txt for 1.6.2.

2. Suggestion: Please consider changing the version numbers. The version currently called 1.6.2 probably should be v1.7. The version currently called 1.7 should be 2.0.

Calling this version 1.6.2 seems inappropriate to me since it has significant incompatibilities with v1.6.1. In particular, updating to a newer version of Lua seems to have broken many, perhaps most, of my Addons, both for scripted orbits and some simple celx scripts.
Selden

Avatar
Art Blos M
Moderator
Posts: 627
Joined: 31.08.2017
Age: 27
With us: 2 years 1 month
Location: Volgodonsk, Rostov Oblast, Russia

Post #32by Art Blos » 09.10.2019, 06:27

selden wrote:I'll be testing it under Windows 7 and maybe Windows 10.
selden wrote:Calling this version 1.6.2 seems inappropriate to me since it has significant incompatibilities with v1.6.1. In particular, updating to a newer version of Lua seems to have broken many, perhaps most, of my Addons, both for scripted orbits and some simple celx scripts.
I will add that installation version 1.6.2 on Windows XP is impossible. Yes, this OS is outdated, but according to some reports, the number of users is still comparable with all Linux distributions taken together. New versions of Celestia should not be deprived of it support, if only because a huge number of add-ons were created precisely in XP. I support the concept of “introducing new without deleting old”.
Founder and head of the project "Celestia Origin"

Avatar
Anthony_B_Russo10
Posts: 242
Joined: 03.07.2018
Age: 16
With us: 1 year 3 months
Location: Tallahassee, Florida, US

Post #33by Anthony_B_Russo10 » 09.10.2019, 08:29

But I can see the drop of Windows 2000 support since it's been nearly 10 years since 2000 end of life.
Anthony B. Russo, I like Pluto. Mod of the Celestia subreddit: https://www.reddit.com/r/Celestiasoftware/
My PCs. Dell Latitude D820 D400 D410 D420, Acer Aspire, Dell Optiplex 745 x2 755 GX-620 960, Sony Vaio PCG-F420, Packard Bell Legend 100, and an IBM clone

Avatar
gironde M
Posts: 405
Joined: 16.12.2016
Age: 67
With us: 2 years 10 months
Location: Montigny-Les-Metz, Grand Est, Lorraine, Moselle, France

Post #34by gironde » 09.10.2019, 09:04

It should be known what was the Lua version originally implemented in celestia 1.6.1.
The new debug versions for celestia 1.6.1 should only implement the same Lua version or at least Lua versions fully compatible with the original one.
I mainly use Celestia Extended Pack V3 published a few years ago by the site Celestia Russia (executable file called 1.7.0 5229) but also Celestia 1.6.1 from 2011 from the same site. These 2 versions of celestia works perfectly with Lua 5.1.dll

Since from Lua 5.1, it is recommended to use # instead of table: getn (), I made the change in spite that it is not a requirement with Lua 5.1, and everything works correctly.
However, if you use Lua 5.2 or 5.3, the modification in the .lua, .cel, .celx scripts is mandatory.
Is the Lua version change profitable?

Topic author
onetwothree
Developer
Posts: 309
Joined: 22.09.2018
With us: 1 year

Post #35by onetwothree » 09.10.2019, 09:38

I have already said several times that with the next beta version we'll return back to lua51. Please stop.

Even 1.7 will ship with lua51 by default but its support will be deprecated. And only 1.8 will completely switch to 5.3 (or 5.4, what will be actual release that time).

Avatar
gironde M
Posts: 405
Joined: 16.12.2016
Age: 67
With us: 2 years 10 months
Location: Montigny-Les-Metz, Grand Est, Lorraine, Moselle, France

Post #36by gironde » 09.10.2019, 22:00

You must not be angry. We are just worried about the future of all existing scripts.
:hi:

Janus
Posts: 417
Joined: 13.08.2016
With us: 3 years 2 months

Post #37by Janus » 10.10.2019, 15:38

I may be in the minority, but I prefer getn to # for use in scripts.
The latter is non intuitive to me, it is jarring when looking through scripts for something.

I am going to make a me specific patch to lua 5.3 to bring that back for my own use.
If there is interest I can post it when I get it done, which given my schedule is not tomorrow.
My personal fork compiles will of course have this.


Janus.


Return to “Development”

Who is online

Users browsing this forum: Lxixboss And 22 guests