Commit Graph

5794 Commits

Author SHA1 Message Date
James Turner
0343ef7246 Fix windows build, missing <algorithm> 2021-04-02 16:45:03 +01:00
Fernando García Liñán
00a6f02a55 Sort lights when we can only render a limited number of them
This ensures that higher priority lights and lights that are closer to the viewer get rendered.
2021-04-01 03:14:12 +02:00
Fernando García Liñán
eb761fc7ee Add compile_commands.json to .gitignore 2021-04-01 01:40:22 +02:00
Erik Hofman
9cb98475b2 Fix MingW and MSVC builds: return a uniform type name across platforms. 2021-03-29 16:08:06 +02:00
Erik Hofman
e58ca605b6 Delete the readers and writers (which closes them automatically) to prevent memory leaks. 2021-03-29 11:41:12 +02:00
Stuart Buchanan
deb802f74a WS30: Improve random vegetation, reduce frame paus
- Generate vegetation based on underlying landclass material mapping
- Reduce frame pauses by removing terrain init from update visitor
- Fix a couple of small timing windows causing crashes.
2021-03-28 19:50:26 +01:00
Erik Hofman
17c79caea3 Add a convenience constructor which uses the types typename to call setup, eliminating the need to call setup separately. 2021-03-28 08:57:37 +02:00
Erik Hofman
8e97b5e414 Add a helper function which converts the template typename into a topic name. 2021-03-27 15:21:22 +01:00
Erik Hofman
5e837b50c4 Add a fubction which converts a template typename to a string 2021-03-27 15:19:23 +01:00
Erik Hofman
0530bc2cd7 Add a templated helper function for read and write to simplify the code 2021-03-27 13:56:21 +01:00
Erik Hofman
4b530e9376 Fix a mistake of effectively multiplying by DDS_NSECS_IN_SEC twice. 2021-03-27 13:16:24 +01:00
James Turner
0a7e6b9b84 Subsystems: add checks to avoid crash on early exit
Don’t crash if the user exits before subsystems are bound / init-ed
2021-03-23 17:06:05 +00:00
James Turner
676a2e3880 Fix for local particle update
See issue at:
https://sourceforge.net/p/flightgear/codetickets/2568/
2021-03-22 19:28:14 +00:00
James Turner
4c89e8a9d5 Packages: add ‘provides’ listing support
Support a list of provided files on a package, to make it easier to 
identify which package to install based on a required file path.
2021-03-21 16:00:33 +00:00
James Turner
4810eaab92 HTTP: permit cancels inside callbacks 2021-03-21 13:26:04 +00:00
James Turner
224b557573 Packages: support a type enum
Work towards other package types, conceptually. (Not actually
implemented yet)
2021-03-21 13:26:04 +00:00
Stuart Buchanan
a02353a280 WS30: Separate Water mesh and Effects
- Rip out various pieces of irrelevant code, simplifying VPBTechnique.
  Largely dealing with multiple textures per terrain tile, which we
  don't need.
- Use a lookup of the landclass of mesh vertices to identify sections of
  the mesh that are entirely in water, and split those out into a
  separate water mesh, using it's own Effect.
2021-03-20 22:01:12 +00:00
Erik Hofman
55e0d4760f Rename the SG_DDS class to SG_DDS_Topic and create a new SG_DDS class which can handle multiple SG_DDS_Topic classes with a single waitset. Add a unit test for DDS 2021-03-19 13:51:58 +01:00
James Turner
8e338389dd MMap: fix a missed change to use pimpl. 2021-03-16 20:33:44 +00:00
James Turner
522aed9b73 MMap : improved error reporting, Win32 compat
Use strutils::sterror to print errno; convert to pimpl idiom to
avoid pulling Windows.h into public view.
2021-03-16 15:49:58 +00:00
Erik Hofman
0c72b5e622 Of course Windows has it's own _read and _write function whcih conflict with our own. Rename to mmap_read and mmap_write. 2021-03-16 11:55:40 +01:00
Erik Hofman
c6a7dbd755 Do not allocate any memory but work directly on the mmapped buffer 2021-03-16 10:30:58 +01:00
Erik Hofman
84f7faea05 Set EOF when reaching the end of the mmap buffer 2021-03-16 10:30:27 +01:00
Erik Hofman
e8cbcebad8 Make life easier by implementing the system read and write function and call that from the classes read and write functions. Add a forward and rewind function. Add a test_untar derived mmap test utility. 2021-03-16 09:51:37 +01:00
James Turner
cf2fe76bb8 Log positions in courseDeg/distanceM failures
Trying to understand what causes FLIGHTGEAR-71G on Sentry; suspect it
might be passing in uninitalised values.
2021-03-15 15:45:19 +00:00
James Turner
798e690279 ReadWav: error reporting
Report errors from readWAV, and improve attribution for the
format error (include the file path). As a result, mark the individual
exceptions as dont-report, since we will report higher up.
2021-03-15 15:45:19 +00:00
Erik Hofman
931a696007 Add a setup function which takes the topic name from the descriptors typename 2021-03-15 15:16:28 +01:00
Erik Hofman
76cf1e01c6 Sigh, fix a stupid typo. 2021-03-15 15:16:00 +01:00
Erik Hofman
88beb40090 Make simple_mmap and simple_unmmap static private members of SGMMapFile. This should also fix the Windows build error on Jenkins. 2021-03-15 14:45:52 +01:00
Erik Hofman
c539f7ebb6 Add an advance function to step through the mmaped buffer 2021-03-15 13:29:39 +01:00
Erik Hofman
4ace6bda60 Use the new mmap functionality to access the timezone file, removing the need to keep the database in memory. 2021-03-15 11:08:22 +01:00
Erik Hofman
f00a825e2d Add a cross-platform file mmap class and use it to access the timezone file, removing the need to keep the database in memory. 2021-03-15 10:58:17 +01:00
Erik Hofman
508a511070 More gracefully bail out on a missing timzeone file 2021-03-13 13:09:59 +01:00
Erik Hofman
1ea11d987e Add a function to get the timezone description 2021-03-13 10:12:46 +01:00
James Turner
feaac37705 Make SGTimeZoneCOntainer using a pimpl
Keeps zonedetect data private to SimGear
2021-03-12 14:44:26 +00:00
James Turner
4a1809b566 TerraSync: allow an explicit osm2city server
Fixes an error case where a manual TerraSync server is specified; we
would attempt to use an empty string as the OSM2City server, with
hilarious consequences.

Sentry-Id: FLIGHTGEAR-NCZ
2021-03-12 12:47:51 +00:00
Erik Hofman
a9615869e3 If a reader is detected there is no need to test it further, just set a boolean. 2021-03-12 10:48:12 +01:00
Erik Hofman
878b742558 Display the time file that fails 2021-03-12 10:45:01 +01:00
Erik Hofman
9bbb615fbf Use sg_ifstream to load the timezone database into a buffer, and access the database from that buffer. This prevents opening and closing the files too often and allows for wide character paths on Windows. 2021-03-12 09:27:15 +01:00
Erik Hofman
c9e24dcb0b Use a vector database to get the timezone based on territorial boundaries 2021-03-11 15:59:52 +01:00
Stuart Buchanan
bbd84a944a WS30: Improved Road rendering
- Remove road vertices too close together (slicer artifacts)
- Generate linked polygons to remove most gaps.
2021-03-10 22:12:25 +00:00
Erik Hofman
b6c80f2e6a Postpone reader detection to the write call and skip writing if there is no reader yet. 2021-03-10 16:14:30 +01:00
Erik Hofman
c0205f7eb2 Use the find_dependency option to parse Simgear dependencies to FlightGear 2021-03-08 16:15:14 +01:00
Erik Hofman
023364e245 Fix reading from DDS: read data in the requested buffer and not in our own private buffer. 2021-03-08 13:45:18 +01:00
Stuart Buchanan
7b336d2018 WS30 Improve LineFeature Mesh
- Rely on the Slicer for path vertices
- Remove redundant vertices (<1m distance)
2021-03-07 22:26:25 +00:00
James Turner
c86b6fe96c Catalogs: check for local IO failures writing to disk
Sentry.io shows some examples where we failed to write valid data
to disk; check for that if possible.
2021-03-07 15:34:57 +00:00
James Turner
71358dca92 Error-reporting: show XML path when 3D load fails 2021-03-07 12:30:36 +00:00
James Turner
087547c6a0 Report out-of-memory in some loading places
BTG can throw bad-alloc in the wild; catch this case and report it.
2021-03-07 12:30:36 +00:00
James Turner
b7234be625 TerraSync: report errors during downloading
Report various out-of-memory and IO failure conditions; especially,
failure to write downloaded to disk, which was previously not 
recorded.
2021-03-07 12:30:36 +00:00
Stuart Buchanan
0b986beac6 WS30 - Line feature accuracy and width control
- Fix a bug causing roads to be displaced from their
true position (caused by incorrect assumption in ElevationSlicer).

- Add control of the minimum width of roads that are rendered at
each LoD level.  Control properties under /sim/rendering/static-lod

- Improve marking tiles for re-rendering.
2021-03-06 17:23:34 +00:00