Commit Graph

46 Commits (1613542c5d5f28a64538b349e46123348bddd94e)

Author SHA1 Message Date
Joseph C Wang 05cb7196b5 make it compile with fmt v8 2021-06-27 20:52:35 +03:00
Hleb Valoshka fb4bede3d1 Allow building without NLS 2020-02-15 00:20:13 +03:00
Hleb Valoshka 4a38917e08 Split parser.* into hash.*, value.* and parser.* 2020-02-07 23:15:43 +03:00
Li Linfeng 9c371c891c define macros for print levels and avoid direct use of fmt::printf 2019-08-31 13:32:44 +08:00
Hleb Valoshka b6b543438d Port to filesystem API 2019-08-16 18:11:24 +03:00
Hleb Valoshka 4d5f2d9c64 Convert raw pointers to std::unique_ptr in ModelGeometry 2019-08-16 09:49:01 +03:00
Hleb Valoshka 1fda8e35f0 Fix warnings found by PVS
- 1 copy-paste error
  - 1 nullptr dereference
  - fixed self-assignment in Mesh::VertexDescription::operator=
  - a few missing delete
  - all other are checks for nullptr after new
2018-10-28 22:00:27 +03:00
Hleb Valoshka 363abc40f3 Use libfmt instead of C-style & iostream workflow
TODO: check StarDatabase::getStarName
2018-10-17 22:19:03 +03:00
Hleb Valoshka b3efd50661 Make cmod::Model destructor virtual (Closes: #8)
+tiny warning fixes
2018-10-13 23:05:32 +03:00
Hleb Valoshka 73638c116d Remove basictypes.h and use standard c++11 types 2018-09-22 23:42:03 +03:00
Hleb Valoshka b082d5f47f Automatically convert to c++11 using clan-tidy
+ manual cleanups
2018-09-22 23:42:02 +03:00
Hleb Valoshka 882e4ecf28 fix whitespaces and indents
trailing spaces are removed
tabs are replaced with 4 spaces

# Conflicts:
#	src/celengine/cmdparser.cpp
#	src/celengine/command.cpp
#	src/celestia/celestiacore.cpp
#	src/celestia/celestiacore.h
#	src/celestia/qt/qtappwin.cpp
#	src/celestia/qt/qtglwidget.cpp
#	src/celestia/win32/winmain.cpp
2018-09-22 23:41:57 +03:00
Chris Laurel ad6bd44172 Removed obsolete files vertexlist.h and vertexlist.cpp. Removed them from Qt4,
automake, and MSVC project files.
2010-02-12 20:20:06 +00:00
Chris Laurel c0b425c143 Fixed MeshManager to handle missing or corrupt model files gracefully. Solves crash with Selden's Hale add-on. 2010-02-06 02:27:36 +00:00
Chris Laurel 31a31d4e2f - Moved cmod code into a separate module celmodel.
- Updated cmodtools to use celmodel.
- Improved 3ds file loader to support multiple materials per mesh.
2010-02-05 20:05:18 +00:00
Chris Laurel c26ea667f2 Eigenized old sphere mesh code (used only for handling .cms mesh files now.) 2009-07-23 23:19:26 +00:00
Chris Laurel c4aa846945 Eigenized 3ds and cmod mesh code. 2009-07-23 02:58:10 +00:00
Chris Laurel b0903fae0b - Made Celestia more permissive when loading 3ds files. Some conversion tools create 3ds files with more texture coordinates that there are vertices. Such files are valid but Celestia was rejecting them. Applied the same change to the Celestia 3ds loader and the 3dstocmod tool.
- Fixed a for variable scoping error in cmodfix.cpp. The code had assumed old style for scope.
2009-02-10 01:45:05 +00:00
Chris Laurel 7c4330ac3f - Fixed scaling bug for cms meshes--they were always being treated as
unnormalized.
- Removed some leftover UNNORMALIZED_MESH #ifdefs that are no longer needed.
2008-10-23 05:10:46 +00:00
Chris Laurel 58a634722c Implemented NormalizeMesh property for solar system bodies. This property makes it easier to build assemblies from several bodies with mesh geometry. 2008-09-22 21:03:43 +00:00
Chris Laurel 9915c4cb39 Committing experimental code for particle systems; disabled until after 1.6.0. 2008-08-29 21:29:59 +00:00
Chris Laurel 41efec9e08 - Added abstract class Geometry; this will permit geometry other than
static models to be used for objects.
- Replace body, star, and DSO instances of Model with Geometry
- Renamed ModelManager to GeometryManager
- Fixed a GeometryManager bug that was triggered by multiple uses of a mesh
  file with different MeshCenters.
2008-07-23 21:54:53 +00:00
Christophe Teyssier ea2b8a899f Added translations of some console messages. 2007-09-30 20:28:11 +00:00
Chris Laurel 8404db405a Set model opacity flag at load time. This is used to do more intelligent depth sorting of translucent models. 2007-03-04 23:41:30 +00:00
Chris Laurel 7b1ad5f8d8 Improved load time mesh conditioning:
- Remove duplicate materials
- Sort submeshes by material to cut down graphics state change overhead
- Slightly improve the reliabliity of opacity sorting
- Print mesh vertex, primitive, and material statistics to log
2006-12-03 09:07:23 +00:00
Toti 2a36ada0ae Removed unused parameters 2006-09-16 14:32:08 +00:00
Chris Laurel 8283e04e95 Fixed the broken calculation of specular exponent when converting materials from 3DS files. 2006-07-10 07:03:16 +00:00
Christophe Teyssier 2318e423a3 Adding support for i18n with gettext. 2005-07-19 21:31:04 +00:00
Chris Laurel 61d076046c - Fixed typo in glcontext.cpp that caused compile errors
- Fixed pow calls for building with free MS C++ compiler
2004-10-26 09:12:00 +00:00
Chris Laurel cac5ae1020 Roughly sort the submeshes of model by opacity after loading. This fixes some of the problems with translucent triangles completely blocking geometry behind them. 2004-07-12 03:06:47 +00:00
Chris Laurel 8dad02c746 More fixes and improvements for meshes:
- Implemented more general textures (diffuse, specular, emissive, and normal maps supported)
- Fixed texture loading for binary CMOD files
- Corrected a nasty memory allocation error
2004-07-08 11:12:10 +00:00
Chris Laurel f6e194afb3 Open all cmod files as binary streams. This is harmless for ASCII and prevents corruption of binary cmods in Windows. Yet another hour wasted chasing a bug related to Windows' braindamaged newline convention. 2004-07-08 07:10:40 +00:00
Chris Laurel e539502cfb Changed base of material indices in models from one to zero for consistency with everything else. 2004-02-18 08:17:23 +00:00
Chris Laurel 286d0cc517 Fix .cms file loading. The cms meshes are now just converted to the standard Celestia model class upon loading. 2004-02-18 05:58:56 +00:00
Chris Laurel df98cc39cd Improved mesh support:
- Use more efficient and flexible internal representation
- Added code to convert 3DS meshes to new structure
- Support new Celestia mesh format (ASCII-only right now)
2004-02-17 09:58:52 +00:00
Chris Laurel 4be844c692 Log mesh loading failures. 2003-09-21 00:11:37 +00:00
Chris Laurel c4322cbdb2 Changed error message printing to use log console. 2003-09-02 16:30:13 +00:00
Chris Laurel 6611643616 Added a MeshCenter field to compensate when the a mesh's bounding box center doesn't match its origin. 2003-07-23 18:05:13 +00:00
Chris Laurel 7f0df46561 Support local resource directories for deep sky objects and 3DS meshes. 2003-03-24 08:55:54 +00:00
Chris Laurel 987db54f3c Allow local models directories for add-ons. 2003-03-23 21:35:12 +00:00
Chris Laurel b869c68ae1 Allow local resource directories for add-ons. 2003-03-23 20:24:03 +00:00
Chris Laurel b7fbd3b34b Added debug level parameter to DPRINTFs 2002-02-06 21:00:33 +00:00
Deon Ramsey 86a76a1165 Unix Gtk Celestial Browser 2002-01-14 19:17:06 +00:00
Deon Ramsey 56058eaae5 Put #includes back the way they were, and fix compile problems under win 2002-01-03 21:01:11 +00:00
Deon Ramsey 2218b95a72 Autoconf distribute extension & bugfixes 2001-12-18 23:00:26 +00:00
Chris Laurel 38e79736c5 Reorganized source tree into multiple directories. 2001-11-28 01:50:04 +00:00