]> git.mxchange.org Git - flightgear.git/log
flightgear.git
8 years agoCheck for the proper header file
Erik Hofman [Thu, 4 Aug 2016 16:42:45 +0000 (18:42 +0200)]
Check for the proper header file

8 years agoAdd support for AeonWave
Erik Hofman [Wed, 6 Jul 2016 11:27:28 +0000 (13:27 +0200)]
Add support for AeonWave

8 years agoAdd support for AeonWave
Erik Hofman [Wed, 6 Jul 2016 11:27:14 +0000 (13:27 +0200)]
Add support for AeonWave

8 years agoLauncher: fix ‘midnight’ time of day option.
James Turner [Sun, 31 Jul 2016 22:24:51 +0000 (23:24 +0100)]
Launcher: fix ‘midnight’ time of day option.

TimeManager uses ‘midnight’ so we need to do the same.

8 years agoAdjustments to mouse picking API
James Turner [Sun, 31 Jul 2016 21:30:58 +0000 (22:30 +0100)]
Adjustments to mouse picking API

8 years agoPort more HUD code to use line-segment list.
James Turner [Sun, 31 Jul 2016 21:12:26 +0000 (22:12 +0100)]
Port more HUD code to use line-segment list.

8 years agoSet /sim/rendering/initialized to true at the appropriate moment and use it instead...
Erik Hofman [Thu, 21 Jul 2016 11:55:31 +0000 (13:55 +0200)]
Set /sim/rendering/initialized to true at the appropriate moment and use it instead of /sim/initialized for the messagebox

8 years agoMake sure FlightGear is initialized before using the PUI dialog box, dump the the...
Erik Hofman [Thu, 21 Jul 2016 11:42:09 +0000 (13:42 +0200)]
Make sure FlightGear is initialized before using the PUI dialog box, dump the the console otherwsise

8 years agoMove the PUI dialog code to James' new messagebox code and use that one instead for...
Erik Hofman [Thu, 21 Jul 2016 06:56:05 +0000 (08:56 +0200)]
Move the PUI dialog code to James' new messagebox code and use that one instead for SG_LOG_POPUP to get a native popup window if available and fall back to a PUI one if not

8 years agoShow a popup dialog for every SG_POPUP message in the queue
Erik Hofman [Wed, 20 Jul 2016 13:03:15 +0000 (15:03 +0200)]
Show a popup dialog for every SG_POPUP message in the queue

8 years agoAdjust runway startup position with MP enabled
James Turner [Sun, 17 Jul 2016 20:11:14 +0000 (21:11 +0100)]
Adjust runway startup position with MP enabled

Relocate the start-up position to a plausible hold-short position
when MP is active and a runway start is requested. This does not (yet)
use ground-net data to identify a real hold-short position.

8 years agoBrendan Black:
Erik Hofman [Sun, 17 Jul 2016 09:30:07 +0000 (11:30 +0200)]
Brendan Black:
when active does not touch the way the YASim jet calculates fuel flow, but separates out the afterburning component of thrust, calculates the TSFC of that component and uses the same method of fuel flow calculation for the afterburning component then adds it to the existing fuel flow

When inactive (atsfc doesn't exist or is zero) it just behaves exactly as before

I finally got around to testing this small patch thoroughly, and I'm satisfied that it doesn't affect anything else & works across many different versions (i've been testing it with current as it has changed over the last 7 months)

8 years agoFix persistence of on-ground location.
James Turner [Sat, 16 Jul 2016 17:23:48 +0000 (18:23 +0100)]
Fix persistence of on-ground location.

8 years agoImprove rendering of longer parking names.
James Turner [Sat, 16 Jul 2016 16:49:12 +0000 (17:49 +0100)]
Improve rendering of longer parking names.

8 years agoEnforce a minimum pixel width for runway clicking
James Turner [Sat, 16 Jul 2016 16:48:55 +0000 (17:48 +0100)]
Enforce a minimum pixel width for runway clicking

- ensures runways can be clicked when zoomed out.

8 years agoFix selection of parking positions by clicking.
James Turner [Sat, 16 Jul 2016 15:57:19 +0000 (16:57 +0100)]
Fix selection of parking positions by clicking.

8 years agoLauncher: show selected parking in yellow.
James Turner [Sat, 16 Jul 2016 11:07:18 +0000 (12:07 +0100)]
Launcher: show selected parking in yellow.

8 years agoFix starting up at a parking location.
James Turner [Sat, 16 Jul 2016 10:45:30 +0000 (11:45 +0100)]
Fix starting up at a parking location.

Move parking-pos selection to finalizePosition, so that dynamics and
ATC controllers are available and work correctly.

8 years agoFix for launcher always enabling MP
James Turner [Fri, 15 Jul 2016 21:48:37 +0000 (22:48 +0100)]
Fix for launcher always enabling MP

8 years agoFurther SGPath API usage improvements.
James Turner [Fri, 15 Jul 2016 15:35:17 +0000 (16:35 +0100)]
Further SGPath API usage improvements.

8 years agoFlightGear path API tweaks
James Turner [Fri, 15 Jul 2016 09:15:55 +0000 (10:15 +0100)]
FlightGear path API tweaks

8 years agoCustom MP server support.
James Turner [Fri, 8 Jul 2016 08:36:42 +0000 (09:36 +0100)]
Custom MP server support.

8 years agoJSBSim sync.
Bertrand Coconnier [Sun, 10 Jul 2016 12:45:09 +0000 (14:45 +0200)]
JSBSim sync.
* Fixed the initial conditions settings (geodetic altitude is now correctly computed).
* FGLGear reports the time at which it detected a violent ground hit (aka crash)
* Doc update of the kinematic component
* TurboProp code cleanup with the removal of lots of obsolete/no-op members.

8 years agoUse CMAKE_INSTALL_BINDIR
Jeremy Bicha [Sat, 9 Jul 2016 21:14:28 +0000 (17:14 -0400)]
Use CMAKE_INSTALL_BINDIR

Allow /bin install directory to be overriden. Debian for example uses this
to install FlightGear to /usr/games/ instead of /usr/bin/

https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html

8 years agoInitial MP support in the launcher.
James Turner [Fri, 8 Jul 2016 08:36:42 +0000 (09:36 +0100)]
Initial MP support in the launcher.

8 years agoFix fgValidatePath on Windows
James Turner [Mon, 4 Jul 2016 21:22:32 +0000 (22:22 +0100)]
Fix fgValidatePath on Windows

8 years agoBuild fixes for yasim tests / SGPath changes.
James Turner [Mon, 4 Jul 2016 09:17:41 +0000 (10:17 +0100)]
Build fixes for yasim tests / SGPath changes.

8 years agoUpdate for changed SGPath::realpath signature
James Turner [Mon, 4 Jul 2016 08:06:42 +0000 (09:06 +0100)]
Update for changed SGPath::realpath signature

8 years agofgValidatePath uses SGPath
James Turner [Sun, 3 Jul 2016 22:59:40 +0000 (23:59 +0100)]
fgValidatePath uses SGPath

8 years agoMore std::ifstream -> sg_ifstream
James Turner [Sun, 3 Jul 2016 22:48:44 +0000 (23:48 +0100)]
More std::ifstream -> sg_ifstream

8 years agoUpdate for path-aware easyXML API
James Turner [Sun, 3 Jul 2016 22:43:39 +0000 (23:43 +0100)]
Update for path-aware easyXML API

8 years agoAdded the dependency to Shlwapi for the Windows build (needed by SimGear).
Bertrand Coconnier [Sun, 3 Jul 2016 13:38:14 +0000 (15:38 +0200)]
Added the dependency to Shlwapi for the Windows build (needed by SimGear).

8 years agoFurther SGPath encoding fixes.
James Turner [Fri, 1 Jul 2016 09:54:29 +0000 (04:54 -0500)]
Further SGPath encoding fixes.

8 years agoFix an assert on Windows
James Turner [Wed, 29 Jun 2016 15:25:42 +0000 (16:25 +0100)]
Fix an assert on Windows

8 years agoFurther Windows SGpath fixes
James Turner [Tue, 28 Jun 2016 15:52:42 +0000 (16:52 +0100)]
Further Windows SGpath fixes

8 years agoUse future-proof SGPath APIs.
James Turner [Thu, 23 Jun 2016 13:26:34 +0000 (14:26 +0100)]
Use future-proof SGPath APIs.

Remove uses of .str(), .c_str() and some other methods of SGPath.
Pass SGPath directly where possible, or explicitly convert to the
appropriate 8-bit encoding.

8 years agoRemove a debug message
Erik Hofman [Mon, 27 Jun 2016 11:21:26 +0000 (13:21 +0200)]
Remove a debug message

8 years agoUse the SimGear sample format types
Erik Hofman [Mon, 27 Jun 2016 11:21:13 +0000 (13:21 +0200)]
Use the SimGear sample format types

8 years agoconvert another path to std::string before using it to prevent a compiler error
Bertrand Coconnier [Sat, 25 Jun 2016 19:26:50 +0000 (21:26 +0200)]
convert another path to std::string before using it to prevent a compiler error

8 years agoconvert the path to std::string before using it to prevent a compiler error
Erik Hofman [Sat, 25 Jun 2016 13:00:35 +0000 (15:00 +0200)]
convert the path to std::string before using it to prevent a compiler error

8 years agoConvert PKGLIBDIR to SGPath before returing it to prevent a compiler error
Erik Hofman [Fri, 24 Jun 2016 10:54:01 +0000 (12:54 +0200)]
Convert PKGLIBDIR to SGPath before returing it to prevent a compiler error

8 years agoUse Paths instead of strings.
James Turner [Tue, 21 Jun 2016 11:29:04 +0000 (12:29 +0100)]
Use Paths instead of strings.

8 years agoWork with new SGPath API.
James Turner [Tue, 21 Jun 2016 11:28:35 +0000 (12:28 +0100)]
Work with new SGPath API.

8 years agoFor stable versions, download data tarball directly
James Turner [Fri, 17 Jun 2016 21:48:24 +0000 (22:48 +0100)]
For stable versions, download data tarball directly

Part of https://sourceforge.net/p/flightgear/codetickets/1865/

8 years agoAvoid overlap of ratings / progress bar
James Turner [Fri, 17 Jun 2016 21:42:33 +0000 (22:42 +0100)]
Avoid overlap of ratings / progress bar

Part of issues mentioned in:

https://sourceforge.net/p/flightgear/codetickets/1865/

8 years agoAircraft-states feature.
James Turner [Fri, 17 Jun 2016 16:53:35 +0000 (17:53 +0100)]
Aircraft-states feature.

8 years agoRemove FGAdmin
James Turner [Wed, 15 Jun 2016 21:31:47 +0000 (22:31 +0100)]
Remove FGAdmin

8 years agoAllow scenery installation from the launcher.
James Turner [Wed, 15 Jun 2016 21:28:27 +0000 (22:28 +0100)]
Allow scenery installation from the launcher.

Replaces FGadmin functionality.

8 years agoCode cleanup after fixing the sound position and orientation
Erik Hofman [Tue, 14 Jun 2016 12:11:12 +0000 (14:11 +0200)]
Code cleanup after fixing the sound position and orientation

8 years agoDo not use properties but get the position and orientation information straight from...
Erik Hofman [Mon, 13 Jun 2016 11:50:40 +0000 (13:50 +0200)]
Do not use properties but get the position and orientation information straight from the view manager

8 years agoSync'ed with JSBSim: avoid the lag in <kinematic> while trimming. This allows the...
Bertrand Coconnier [Sun, 12 Jun 2016 15:04:35 +0000 (17:04 +0200)]
Sync'ed with JSBSim: avoid the lag in <kinematic> while trimming. This allows the trim on ground for the P51 to succeed.

8 years agoSync'ed with JSBSim:
Bertrand Coconnier [Sun, 12 Jun 2016 09:36:45 +0000 (11:36 +0200)]
Sync'ed with JSBSim:
* Fixed the trim on ground algorithm. Now JSBSim aircrafts should no longer be 'dropped' on the runway at start.
* Removed a correction on the propeller induced velocity that was giving erratic results when the aircraft aero velocity is very small.
* Various source comments updates.

8 years agoRevert "Special case this define"
James Turner [Thu, 9 Jun 2016 19:34:43 +0000 (20:34 +0100)]
Revert "Special case this define"

This reverts commit 58731a01e24f3adb603749f7bf5b69356a5cb7e2.

8 years agoSpecial case this define
James Turner [Thu, 9 Jun 2016 15:20:25 +0000 (16:20 +0100)]
Special case this define

8 years agoVS2015 tweaks
James Turner [Thu, 9 Jun 2016 15:19:34 +0000 (16:19 +0100)]
VS2015 tweaks

8 years agoExplicitly shut down logging
James Turner [Thu, 9 Jun 2016 10:04:24 +0000 (11:04 +0100)]
Explicitly shut down logging

- needed to call FreeConsole on Windows.

8 years agoFix dependency on ‘version’ file
James Turner [Thu, 9 Jun 2016 10:04:09 +0000 (11:04 +0100)]
Fix dependency on ‘version’ file

8 years agoLauncher: fix a crash on searching locations
James Turner [Wed, 8 Jun 2016 14:45:00 +0000 (15:45 +0100)]
Launcher: fix a crash on searching locations

When hitting return multiple times, could hit a null-pointer
crash here.

8 years agoImproved feedback from scenery download.
James Turner [Wed, 8 Jun 2016 14:28:27 +0000 (15:28 +0100)]
Improved feedback from scenery download.

8 years agoTweaks for VS 15 / boost detection
James Turner [Thu, 9 Jun 2016 09:33:30 +0000 (10:33 +0100)]
Tweaks for VS 15 / boost detection

8 years agoHide add-ons tab when running launcher in-app
James Turner [Wed, 8 Jun 2016 11:00:35 +0000 (12:00 +0100)]
Hide add-ons tab when running launcher in-app

8 years agoFix the root cause for terrasync.py timeouts
Torsten Dreyer [Mon, 6 Jun 2016 10:17:12 +0000 (12:17 +0200)]
Fix the root cause for terrasync.py timeouts

Thanks to Andre Coetzee for spotting.

Also, don't hardcode port 80, intead use the port given in the url

8 years agoVS2015 compatability fixes.
James Turner [Wed, 1 Jun 2016 21:58:03 +0000 (22:58 +0100)]
VS2015 compatability fixes.

8 years agoVS2015 fixes
James Turner [Wed, 1 Jun 2016 21:57:11 +0000 (22:57 +0100)]
VS2015 fixes

Explicitly specialize these templates.

8 years agoRevert some debugging code which krept in
Erik Hofman [Sat, 28 May 2016 08:05:09 +0000 (10:05 +0200)]
Revert some debugging code which krept in

8 years agoFix the header name change from sample_openal.hxx to sample.hxx
Erik Hofman [Sat, 28 May 2016 07:57:03 +0000 (09:57 +0200)]
Fix the header name change from sample_openal.hxx to sample.hxx

8 years agoTentative to fix JSBSim bug SF #115 : don't compute cl-squared when qbar is too low...
Bertrand Coconnier [Fri, 27 May 2016 11:50:35 +0000 (13:50 +0200)]
Tentative to fix JSBSim bug SF #115 : don't compute cl-squared when qbar is too low otherwise its value will go through the roof and so will the induced drag.

8 years agoFallback URL when official catalog is not found.
James Turner [Wed, 25 May 2016 20:48:06 +0000 (21:48 +0100)]
Fallback URL when official catalog is not found.

Tolerate the case where a URL matching the exact FG version is
not found; lookup a generic URL, in the hope it supports our
version (additional changes will make this more likely)

8 years agoFirst attempt to handle the nasty socket timeout
Torsten Dreyer [Wed, 25 May 2016 14:19:36 +0000 (16:19 +0200)]
First attempt to handle the nasty socket timeout

Retry once if a http get fails

8 years agoPrevent rf2 from becoming inf
Erik Hofman [Wed, 25 May 2016 08:30:34 +0000 (10:30 +0200)]
Prevent rf2 from becoming inf

8 years agoBug fix for JSBSim SF bug #115: P51D crashes when advance ratio goes through zero
Bertrand Coconnier [Mon, 23 May 2016 18:02:36 +0000 (20:02 +0200)]
Bug fix for JSBSim SF bug #115: P51D crashes when advance ratio goes through zero

8 years agoFix file permissions
Erik Hofman [Mon, 23 May 2016 09:39:40 +0000 (11:39 +0200)]
Fix file permissions

8 years agoCode cleanups, code updates and fix at least on (possible) devide-by-zero
Erik Hofman [Mon, 23 May 2016 09:38:05 +0000 (11:38 +0200)]
Code cleanups, code updates and fix at least on (possible) devide-by-zero

8 years agoReal fix for Mac deployment issues.
James Turner [Sat, 21 May 2016 13:00:29 +0000 (14:00 +0100)]
Real fix for Mac deployment issues.

8 years agoTesting if this change broke Mac deployment.
James Turner [Sat, 21 May 2016 09:36:43 +0000 (10:36 +0100)]
Testing if this change broke Mac deployment.

Hopefully it didn’t but the time-frame is correct and it’s just
about the only code that happens before QApplication is created.

8 years agoAdd missing include in src/Navaids/NavDataCache.cxx
Florent Rougon [Wed, 18 May 2016 08:13:18 +0000 (10:13 +0200)]
Add missing include in src/Navaids/NavDataCache.cxx

#include <sstream> is needed for NavDataCachePrivate::init()
which uses std::ostringstream.

8 years agoAdd user-agent request header
Torsten Dreyer [Wed, 18 May 2016 13:14:59 +0000 (15:14 +0200)]
Add user-agent request header

8 years agoMuch better terrasync.py
Torsten Dreyer [Wed, 18 May 2016 10:51:29 +0000 (12:51 +0200)]
Much better terrasync.py

- tortellini instead of spaghetti code (use oop)
- reuse connection

8 years agoExpose the type (loc/vor) for the navradio
Torsten Dreyer [Wed, 18 May 2016 06:28:27 +0000 (08:28 +0200)]
Expose the type (loc/vor) for the navradio

8 years agonew version: 2016.3.0
Automatic Release Builder [Tue, 17 May 2016 08:03:50 +0000 (10:03 +0200)]
new version: 2016.3.0

8 years agonew version: 2016.2.1
Automatic Release Builder [Tue, 17 May 2016 08:03:50 +0000 (10:03 +0200)]
new version: 2016.2.1

8 years agoFix MSVC10 compilation errors by using streams.
Richard Harrison [Thu, 12 May 2016 10:05:28 +0000 (12:05 +0200)]
Fix MSVC10 compilation errors by using streams.

8 years agoMultiplayer packet boundary warnings
Richard Harrison [Thu, 12 May 2016 06:15:52 +0000 (08:15 +0200)]
Multiplayer packet boundary warnings

* Add warning if multiplayer packet boundary reached
* Add warning if string too big for remaining space in packet

ref: https://sourceforge.net/p/flightgear/mailman/message/35059961/

8 years agoterrasync.py: cleanup and add some more power
Torsten Dreyer [Wed, 11 May 2016 20:59:59 +0000 (22:59 +0200)]
terrasync.py: cleanup and add some more power

- add option --quick
  check sha1sum of .dirindex files and skip directory if hash matches
- add option --remove-orphan
  remove orphan files (files exist locally but not on server)
- be less verbose
- write .dirindex files locally

8 years agoMove terrasync.py to /scripts/python
Torsten Dreyer [Wed, 11 May 2016 12:59:36 +0000 (14:59 +0200)]
Move terrasync.py to /scripts/python

8 years agoterrasync.py: improving the stub
Torsten Dreyer [Wed, 11 May 2016 12:57:38 +0000 (14:57 +0200)]
terrasync.py: improving the stub

- use DNS NAPTR records to find terrasync server
- if static root/.dirindex if not provided by server
- allow command-line args for --url and --target

8 years agoCurl is required for SimGear now.
James Turner [Sat, 7 May 2016 09:23:02 +0000 (10:23 +0100)]
Curl is required for SimGear now.

8 years agoinitial commit for a python based terrasync client
Torsten Dreyer [Wed, 4 May 2016 21:08:22 +0000 (23:08 +0200)]
initial commit for a python based terrasync client

8 years agoShift of management of the precipitation OSG scene graph to the scenery manager.
Edward d'Auvergne [Tue, 3 May 2016 07:56:06 +0000 (09:56 +0200)]
Shift of management of the precipitation OSG scene graph to the scenery manager.

The precipitation branch of the OSG scene graph is now centrally managed by the
scenery manager rather the precipitation manager itself.  The scene graph
initialisation from the constructor has also been shifted into the new
FGPrecipitationMgr::sceneGraphSetup() function.

8 years agoPrevention of the creation of multiple OSG scene graph roots.
Edward d'Auvergne [Tue, 3 May 2016 13:14:53 +0000 (15:14 +0200)]
Prevention of the creation of multiple OSG scene graph roots.

As the scenery manager's init() function is called twice on start up, two OSG
scene graph roots would be created.  A number of scene graph branches would be
initalised on the first root, but then be lost as the second is created.  This
fixes the precipitation branch, for example.

8 years agoFixed chmod
Roland Haeder [Sat, 30 Apr 2016 16:18:43 +0000 (18:18 +0200)]
Fixed chmod

Signed-off-by: Roland Haeder <roland@mxchange.org>
8 years agoSet min-macos-version for CMake 3.2.1
James Turner [Tue, 17 Mar 2015 16:56:52 +0000 (16:56 +0000)]
Set min-macos-version for CMake 3.2.1

8 years agoFixed CHMOD
Roland Haeder [Sun, 19 Jan 2014 19:43:40 +0000 (20:43 +0100)]
Fixed CHMOD

Signed-off-by: Roland Haeder <roland@mxchange.org>
8 years agomerged
Roland Haeder [Sat, 3 May 2014 18:16:37 +0000 (20:16 +0200)]
merged

Signed-off-by: Roland Haeder <roland@mxchange.org>
8 years agoapt.dat parser: indentation fixes; add a comment
Florent Rougon [Sun, 24 Apr 2016 18:10:10 +0000 (20:10 +0200)]
apt.dat parser: indentation fixes; add a comment

- The first place where indentation is fixed was really misleading, at
  least.

- The added comment "'line' may end with an \r character [...]" just
  clarifies something that has been there for ages, to avoid people
  falling into the trap.

8 years agoapt.dat parser: various little improvements
Florent Rougon [Sun, 24 Apr 2016 17:45:37 +0000 (19:45 +0200)]
apt.dat parser: various little improvements

- don't duplicate the line buffer (array of char as well as
  std::string), it is not useful here;
- don't corrupt (truncate) input lines longer than 2048 bytes: there is
  no such limitation in the apt.dat v1000 format spec;
- fix comments handling: the apt.dat v1000 format spec states they must
  start with *two* '#' characters.

8 years agoapt.dat parser: better input stream handling
Florent Rougon [Sun, 24 Apr 2016 17:33:41 +0000 (19:33 +0200)]
apt.dat parser: better input stream handling

- use ( in.getline(...) ) as the main loop condition instead of
  ( ! in.eof() ). This should behave better (see
  <https://gehrcke.de/2011/06/reading-files-in-c-using-ifstream-dealing-correctly-with-badbit-failbit-eofbit-and-perror/>);
- check in.bad() after exiting from each reading loop; if the exit was
  caused by an error, log an appropriate message and throw an
  exception.

8 years agoapt.dat parser: separately handle the first two lines; fix line counting
Florent Rougon [Sun, 24 Apr 2016 16:57:36 +0000 (18:57 +0200)]
apt.dat parser: separately handle the first two lines; fix line counting

- The first two lines of apt.dat have their own special syntax -> handle
  them separately. Before this commit, the test "is the first character
  an 'I' or an 'A'?" was done for *every* line of apt.dat, while it is
  only relevant for the first one.

- Fix counting of the current line number (it was most of the time
  0-based so far, which could be seen in error messages, because the
  second line of apt.dat was absorbed without going through the common
  code path where lines are normally read at the top of the while loop).
  With this commit, line numbers in apt.dat are consistently counted
  starting from 1.

8 years agoapt.dat parser: remove useless code
Florent Rougon [Sun, 24 Apr 2016 16:05:15 +0000 (18:05 +0200)]
apt.dat parser: remove useless code

Remove useless code before parsing the "row code" (terminology from the
apt.dat v1000 spec). The row code is parsed with atoi(), which will
automatically stop at the first space found if it saw at least one
digit, thus there is no need to replace it with '\0', AFAICS.

One could replace the existing atoi() call with things that do better
checking, but my tests showed that would be a bit slower, so I let it
this way (tried with std::istringstream and strtol()).

8 years agoapt.dat parser: clearer log and exception messages
Florent Rougon [Sun, 24 Apr 2016 15:53:42 +0000 (17:53 +0200)]
apt.dat parser: clearer log and exception messages

- the 'apt_dat' variable introduced here will be used in further
  commits;
- use two spaces for indentation, as seen in most of the file.