Commit Graph

3980 Commits (ab6bdd75fc823a2bf23e6e31d95c52fe21d5f765)

Author SHA1 Message Date
Andrew Tribick c5d100f698 [qt] Fix info panel for retrograde and subsynchronous rotators 2021-10-24 14:51:57 +02:00
Levin Li dff29425fe Fix crash displaying localized DSOs 2021-10-23 17:35:18 +08:00
Hleb Valoshka 28f674565e Add and use Overlay::printf instead of Overlay::operator<< 2021-10-23 12:15:01 +03:00
Hleb Valoshka ede49e97c1 [cmake] Build own fs implementation only if needed 2021-10-23 12:15:01 +03:00
Hleb Valoshka 811ed4ff3c Fix a few error messages 2021-10-23 12:15:01 +03:00
Hleb Valoshka ccd01c460f Fix fs::path printing using fmt 2021-10-23 12:15:01 +03:00
Hleb Valoshka 42790d9013 Replace deprecated fmt::fprintf calls 2021-10-19 19:35:23 +03:00
Levin Li 1613542c5d Fix duplicate in Body as well 2021-10-19 17:42:49 +08:00
Levin Li cb0fe13ecd Remove duplciates in star/dso name index 2021-10-19 17:42:49 +08:00
Andrew Tribick 11c0361324 Fixes for the Windows build
- Move the compatibility classes into the cel17 namespace
- Skip generating resource translations if Perl not present
- Use fmt/ostream.h instead of fmt/printf.h for string_view
2021-10-18 09:58:33 +03:00
Andrew Tribick e987a7035d Skip UTF-8 BOM if present 2021-10-18 09:58:19 +03:00
Andrew Tribick df94a78658 Rewrite tokenizer and remove custom float parsing 2021-10-18 09:58:19 +03:00
Hleb Valoshka aacdbaec95 Fix incorrectly updated condition 2021-10-14 17:33:19 +03:00
Levin Li d0ed0d79de Display AVIF support status in QT 2021-10-14 10:35:26 +08:00
Levin Li bf5689574d Make AVIF optional 2021-10-14 10:35:26 +08:00
Levin Li 7a91ba9311 Update build script 2021-10-14 10:35:26 +08:00
Levin Li a45425c374 Support AVIF texture 2021-10-14 10:35:26 +08:00
Levin Li b04ffab738 Add support in .cfg 2021-09-28 14:03:24 +08:00
Levin Li f0db65c8f6 Add support for imperial units 2021-09-28 14:03:24 +08:00
Hleb Valoshka 8cd7bd1036 Allow to use Lunar-Lambert and specular together 2021-09-21 16:27:09 +03:00
Hleb Valoshka a2a67c59e8 Fix a bug in fs::recursive_directory_iterator()
The 4th element of directory_iterator() controls if it should advance to
the first non special directory entry (not . nor ..).

If m_iter advances itself and m_iter->path() is a directory then the next
call to recursive_directory_iterator.increment() will not step down into
this directory.
2021-09-06 20:53:36 +03:00
Hleb Valoshka 6f666280fd [celx] fix paths in loadtexture() and runscript() 2021-09-06 20:53:36 +03:00
Hleb Valoshka 8e5a89a5a7 [win] build DLLs with UI translation 2021-08-30 11:10:47 +03:00
Hleb Valoshka b067799a3c Use old way to capture video in windows environment 2021-08-23 11:04:03 +03:00
Hleb Valoshka f731579681 Revert "Refactor movie capture to use FFMPEG only" 2021-08-23 11:04:03 +03:00
Hleb Valoshka 7b52f23c97 Open log file with relative name in the current dir not in the data dir 2021-08-09 08:58:52 +03:00
Andrew Tribick f5f8d895db Match line length in row inversion with Image constructor 2021-07-31 16:35:25 +03:00
Hleb Valoshka 8153d2b5b4 [celx] Use default GLSL program in gl.Begin 2021-07-29 10:36:37 +03:00
Hleb Valoshka 1f286c67d2 [qt] Remove menu and toolbars in fullscreen mode
Based on GottfriedSp code
2021-07-27 08:19:32 +03:00
Hleb Valoshka b3d37663f3 Fix errors and warnings with VC++2019 2021-07-13 10:03:38 +03:00
Hleb Valoshka d6ceb8176c [cmake] don't compile qttxf 2021-07-13 10:03:38 +03:00
Hleb Valoshka 53b2012b82 [fs] add current_path() function 2021-07-13 10:03:38 +03:00
Levin Li 32baed9bcd Do not rely on clamp to border on ring textures 2021-06-28 22:21:13 +08:00
Joseph C Wang 05cb7196b5 make it compile with fmt v8 2021-06-27 20:52:35 +03:00
Hleb Valoshka e78a178a16 [win32] Fix "codecs" combobox
The 3rd parameter is a position not a special id associated with the entry
2021-06-24 17:59:04 +03:00
Hleb Valoshka 4cc79c1349 Add support for ffmpeg 4.4 2021-06-24 17:59:04 +03:00
Hleb Valoshka d394192999 Allow binary orbits without text source
Closes: #1088
2021-06-24 09:41:15 +03:00
Hleb Valoshka 03388d6d1d Add support for more JPL compatible ephemerides
Original patch was posted to https://celestia.space/forum/viewtopic.php?f=4&t=17282

====================================
Here comes the original description:
====================================
Before this update, the celestia code supports only JPL Big Endian
ephemerides DE406/DE405/DE200.

The big endian ephemeris DE406 comes in chunk of 300 years. If you
want to concatenate several pieces, using the software provided by JPL
(which does not handle endianess), you need a big endian platform. The
little endian DE406 comes in one piece of 6000 years, so you don't
even need to concatenate this one.

This commit adds the following:
- support for both endianess with autodetection of endianess
- support for all JPL DE ephemeris (from DE200) with autodetection of
record size.
- support for JPL DE compatible ephemeris such as the INPOP ephemeris
from Paris observatory (only the ephemeris files in the legacy JPL DE
compatible format and with timescale TDB, not the INPOP native format,
or the TCB files). http://www.imcce.fr/inpop/download10e.php

The method to autodetect ephemeris type, record size and endianess is
based on the CALCEPH software.
It would probably be better if possible to wrap around the CALCEPH
library (so that it would also support INPOP native format) but this
would be more work.

In addition to the ephemeris number and the start and end date, the
record size and endianess are also printed to the log (which you get
by pressing the tilde key).
If the ephemeris is an INPOP ephemeris, then the ephemeris number is
not printed to the log: it just says "INPOP".

It has been tested with:
- DE406 big endian
- DE406 little endian
- DE405 big endian
- DE423 little endian
- INPOP10A little endian
on Linux/x86_64.

However, no accurate regression testing has been performed. It has
only been tested visually that the planets orbits do not look wrong
and that the log is reporting the correct endianess, record size and
ephemeris name.
2021-06-16 15:38:51 +03:00
Hleb Valoshka d4c8cc8149 Star classes T5-Y should not have glow around them 2021-06-16 15:38:44 +03:00
Hleb Valoshka e1cec55218 Fix movie capture in GL ES environment 2021-06-16 14:15:32 +03:00
Hleb Valoshka bece12f6e4 Refactor Image class and image capture
* use GL_MESA_pack_invert to flip captured buffer
 * move enum PixelFormat to own file
 * use PixelFormat instead of GL formats in Image
 * provide captureImage() in CelestiaCore
 * use CelestiaCore methods to capture images in Qt UI
2021-06-16 14:15:32 +03:00
Levin Li c7018259a6 Remove alpha channel for DXT1 textures 2021-06-15 09:36:14 +08:00
Levin Li 5d1bcc2256 Remove make_unique compat 2021-06-13 15:50:22 +08:00
Levin Li fbc165c9d6 Drop C++11 and defaults to build with C++14 2021-06-13 15:50:22 +08:00
Hleb Valoshka 5cba3df157 Position label in front of star drawn as mesh
Closes: #1041
2021-06-09 14:15:05 +03:00
Hleb Valoshka 098a383c78 Fix formatting in shader code 2021-06-07 23:10:04 +03:00
Hleb Valoshka 1c6219ed7a Don't calculate light half vector in vertex shader
1) It's already calculated in CelestiaGLProgram::initParameters()
2) This decreases number of varying floats by 3 per light, so for the case
listed in #593 we save 9 floats, so 8 are available.
2021-06-07 23:10:04 +03:00
Hleb Valoshka 51f8af2479 [win32] Add "select primary body" menu entry to win UI 2021-06-07 10:43:16 +03:00
Hleb Valoshka 45635522dc [win32] Add minor moons and dwarf planets into an object's context menu (Closes: #459) 2021-06-07 10:43:16 +03:00
Hleb Valoshka 0efba5944b [win32] Fix compilation without FFMPEG 2021-06-07 10:43:16 +03:00