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