1
0
Fork 0
Commit graph

210 commits

Author SHA1 Message Date
Julian Smith
7d414886e0 Added support for compressed continuous recordings.
src/Aircraft/replay.*:
    If /sim/replay/record-continuous-compression is true, we compress each
    frame's data as a separate raw zlib stream.

    Requires latest simgear's simgear/io/iostreams/zlibstream.cxx for
    decompression with ZLibCompressionFormat::ZLIB_RAW. Haven't figured out how
    to extend simgear's code to provide a compressing ostream so for now we
    have our own local compression code.

    We open popup and set sim/replay/replay-error=true if we fail to read
    compressed data.

scripts/python/recordreplay.py:
    Added test of compressed continuous recordings.

docs-mini/README-recordings.md:
    Added information about compressed format.
2021-07-31 10:29:11 +01:00
Julian Smith
7a70b57bab docs-mini/README-recordings.md: minor updates. 2021-03-07 16:22:43 +00:00
Julian Smith
31ec727872 Added record/replay of extra properties, with specific support for window size/position and view settings.
Recording of extra properties is only supported in Continuous recordings.

Modified Continuous recording format to allow future forwards
compatibility. See docs-mini/README-recordings.md for details. This breaks
compatibility with previously-generated Continuous recordings, but this only
affects next.

To reduce overhead we record all extra property values in the first frame and
then later frames contain only extra property changes. When replaying, if the
user jumps backwards we replay all extra property changes since the start of
the recording. Similarly if the user jumps forwards, we replay any intervening
extra property changes.

Recording extra properties:
    This is enabled by:
        /sim/replay/record-extra-properties

    The extra properties that are recorded are identified by the property
    paths in the values of /sim/replay/record-extra-properties-paths/path[]
    properties. We record the entire tree for each specified path.

Recording of main window position size:
    We have specific support for record and replay of main window position/size.

    This is enabled by:
        /sim/replay/record-main-window

Recording of main window view:
    We have specific support for recording the view type and direction/zoom
    settings.

    This is enabled by:
        /sim/replay/record-main-view

    We record the /sim/current-view/ property tree, excluding some subtrees
    that continuously vary but are not required for replaying of the view.

When replaying, we allow separate control of what extra property changes are
replayed, with:

    /sim/replay/replay-extra-property-changes
    /sim/replay/replay-extra-property-removal
    /sim/replay/replay-main-window-position
    /sim/replay/replay-main-window-size
    /sim/replay/replay-main-view

We work around some problems caused by the use of tied properties when
replaying changes to view-number.

Window position issue:

    When replaying window position and size changes, things get a little tricky
    because osgViewer::GraphicsWindow::setWindowRectangle() takes a position
    for the entire window, but osgGA::GUIEventAdapter::RESIZE events contain
    the position of the interior of the window; for example the y values will
    differ by the height of the window's titlebar. This can cause windows to
    move progressively further down each time they are positioned or resized.

    There doesn't seem to be a way of finding the size of a window's
    furniture directly. So instead this commit adds a new method
    osgGA::GUIEventAdapter::setWindowRectangleInteriorWithCorrection() which
    wraps osgViewer::GraphicsWindow::setWindowRectangle(). We listen for the
    following osgGA::GUIEventAdapter::RESIZE event and calculate corrections
    for x and y position that are used for subsequent calls.

docs-mini/README-recordings.md:
    Updated to document new Continuous format.

scripts/python/recordreplay.py:
    New script to test various aspects of record/replay.

Other:

    We now create convenience softlink to most recent continuous recording, using
    SGPath::makeLink(). Note that SGPath::makeLink() currently does nothing on
    Windows.

    Changed format of Continuous recordings to contain a single property tree
    in header. This is much simpler than having separate Config and Meta trees.
2021-02-13 11:38:52 +00:00
James Turner
63ddc0f6ba Fix MarkDown syntax 2020-12-26 22:17:33 +00:00
Julian Smith
0c89bacc25 docs-mini/README-recordings.md: some information about recording/replay. 2020-12-23 11:40:41 +00:00
James Turner
6e79485b65 Start adding MarkDown docs for various internals 2020-11-24 09:08:50 +00:00
James Turner
c2e4e46546 Remove docs from the dawn of time.
All of these are subsumed by CMake these days, hurrah.
2020-11-24 09:08:50 +00:00
Edward d'Auvergne
34a6cb3c74 SGSubsystem classes: Registration of all subsystems. 2019-07-01 14:51:32 +02:00
Edward d'Auvergne
fb5c36fc82 SGSubsystem classes: Renaming of the subsystem ID variables and functions. 2019-07-01 14:27:30 +02:00
Edward d'Auvergne
a9e0ec843b Documentation: Generalised the subsystem example. 2019-07-01 14:27:30 +02:00
Edward d'Auvergne
7a6e63ddb9 SGSubsystem classes: Subsystem and subsystem group API declaration standardisation.
This is a cleanup commit.
2019-07-01 14:27:30 +02:00
Edward d'Auvergne
60a2444766 SGSubsystem classes: Whitespace standardisation of the declarations.
This is a clean up commit prior to the subsystem API standardisation to simplify
the diffs.  It includes all SGSubsystem and SGSubsystemGroup derived classes.
2019-07-01 14:27:28 +02:00
James Turner
52f2f5ff78 Bugfix: remove the (totally broken) skyblend option 2013-12-19 14:53:39 +00:00
Rebecca Palmer
3f82c5b114 completely rewrite README.Linux, as the old version was uselessly outdated
( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574173 was one of
several problems)
2013-12-15 21:20:02 +00:00
James Turner
c06ab52c55 KIll off ALUT now it's gone from SimGear 2012-08-22 00:10:00 +01:00
Thomas Geymayer
580891f181 Rename tf elements for easier handling. 2012-07-13 11:11:29 +01:00
ThorstenB
b93bed7527 Drop automake README. 2012-06-30 20:16:53 +02:00
Thomas Geymayer
023021a879 Expose character-aspect-ratio and do some clean up
- Fix stupid memory corruption bug
 - Fix bounding box calculations
 - Fix docs
 - Fix text size
 - Expose setting background color
 - Expose trigger for updating elements
 - Untie nodes if deleting according element
 - Allow deleting canvas, text and group elements
 - Allow creating groups as children of groups
2012-05-31 22:04:19 +02:00
Thomas Geymayer
d82fd7cc5f Basic 2D canvas implementation.
Support text and transformations for the moment, more
features to follow in due course.
2012-05-18 07:05:37 +01:00
Ruben De Smet
e8dcb44ce7 Not using CVS anymore, removed dead link 2012-05-15 17:54:48 +01:00
Thomas Geymayer
dd3afd4c4e Use simgear functions for clip and wrap around. 2012-02-19 14:53:04 +01:00
Thomas Geymayer
ccf15ac97e Remove unneeded function and add bool relative changes 2012-02-19 14:53:04 +01:00
Thomas Geymayer
3f133c014f Document protocol extensions 2012-02-19 14:53:04 +01:00
Mathias Froehlich
2bc5604797 Document fixed-near-far. 2011-10-23 16:45:00 +02:00
Mathias Froehlich
fea00cc9f8 Add seamless view muliscreen configuration.
Add a new way to configure multi screen systems.
The new version allows easier configuration of displays
that need to fit at the edges as well as configurations
where the screens match at reference points.
This kind of screen configuration will again zoom.
2011-10-23 16:40:13 +02:00
Frederic Bouvier
7140a55319 Update README.MSVC after splitting 3rd party archives 2011-08-03 23:03:52 +02:00
Frederic Bouvier
979ad55c61 Update 3rdparty files for win32/x64 to OSG 3.0.0 2011-07-03 08:54:05 +02:00
Frederic Bouvier
58a2e092a1 Update 3rdparty files for win32/x64 to OSG 3.0.0-rc5 2011-06-25 14:30:54 +02:00
Frederic Bouvier
4d148f0b7a Update 3rdparty files for win32/x64 2011-06-18 23:34:57 +02:00
Frederic Bouvier
353cba6fcb Update Windows 3rd party link/version 2011-01-17 23:39:44 +01:00
Frederic Bouvier
3add62608c Update Windows 3rd party link/version 2011-01-16 19:38:22 +01:00
Tim Moore
d38fcc9979 panoramic spherical distortion
This supports the panoramic distortion option, as found in osgViewer, in
the camera file syntax of flightgear.
2010-11-28 23:29:20 +01:00
Frederic Bouvier
f33882d299 Update README.MSVC for 64-bit build 2010-11-17 20:07:00 +01:00
Frederic Bouvier
e782471c15 Fix a typo 2010-11-09 22:13:26 +01:00
Frederic Bouvier
8a089f6d6f Update VS2008 projects : use Boost 1.44.0 available in last 3rd Party archive 2010-11-06 17:05:15 +01:00
James Turner
86be8fcb51 Remove docs relating to v1 XML HUD. 2010-11-05 23:11:43 +00:00
Frederic Bouvier
25b333c07d Document changes to effect files syntax: adding mipmap-control 2010-10-25 23:16:37 +02:00
Frederic Bouvier
209b5d2f23 Update MSVC build procedure 2010-08-29 18:26:44 +02:00
Frederic Bouvier
06f14d0c80 Add some words on the command line build of Visual Studio Express 2010-05-09 08:57:27 +02:00
Frederic Bouvier
44e470ef6c Fix a typo 2010-05-08 20:49:48 +02:00
Frederic Bouvier
bf672ccc3f Update building procedure for MSVC 2008 Express and Gitorious 2010-05-08 20:46:14 +02:00
Torsten Dreyer
f7ec8d82d3 Test first commit with a simple change. 2010-05-08 10:39:29 +02:00
Tim Moore
dee0b6459e Merge branch 'fredb/msvc-cleanup' into next 2010-05-05 16:56:52 +02:00
fredb
84d2f842eb Cleanup MSVC projects, and update readme file 2010-05-05 16:56:39 +02:00
fredb
e169de829d Cleanup MSVC projects, and update readme file 2010-05-05 16:56:26 +02:00
Tim Moore
5f16cadfa5 Merge branch 'fred/effects-doc' into next 2010-04-12 10:03:08 +02:00
fredb
30e8b6b4fb Synchronize doc 2010-04-12 10:03:00 +02:00
Tim Moore
be13f1f3ac Merge branch 'fred/effects-doc' into next 2010-03-30 12:22:52 +02:00
fredb
5522dca8ee Synchronize doc 2010-03-30 12:22:37 +02:00
Tim Moore
3e0489bd91 Merge branch 'torsten/auto' 2010-02-10 00:41:44 +01:00