1
0
Fork 0
Commit graph

5549 commits

Author SHA1 Message Date
ehofman
48ac04456f Adding ambient support for ac3d aircraft models reveiled a mistake in the scne ambient calculation. Decreasing visibility now increases ambient color giving a nice dark color on bright days and a much more visible color on normal days. 2009-04-01 09:23:55 +02:00
torsten
b0dd43e022 added new features:
- conditions for InputValues
- multiple InputValues
some more code cleanup
2009-04-01 09:23:55 +02:00
mfranz
6a590ce9de gui/embedded nasal: don't rely on the nasal system being available 2009-04-01 09:23:54 +02:00
ehofman
1a1b11b96c Fixes:
* line 343: comparison between signed and unsigned integer expressions
* line 441: 'lon', 'lat', 'slr' and 'alt' might be used uninitialized
* line 565: enumeration value 'etUnknown' not handled in switch
2009-04-01 09:23:54 +02:00
mfranz
35ed31972a Csaba HALASZ: fix uninitialized _aspect_ratio member in Main/viewer.cxx 2009-04-01 09:23:54 +02:00
ehofman
81b9bb61e5 Sync. w. JSBSIm one more time to fix at least one bug 2009-04-01 09:23:54 +02:00
ehofman
27a7305736 Sync. w. JSBSim cvs 2009-04-01 09:23:54 +02:00
mfranz
3930967645 FGNasalModelData: use model XML path as module source 2009-04-01 09:23:54 +02:00
mfranz
5b32c9ab1c degrade MP chat messages from SG_ALERT fo SG_WARN
(they should not drown real error messages)
2009-04-01 09:23:54 +02:00
mfranz
16dd71a044 wxradar: display transponder-id by default, fall back to callsign 2009-04-01 09:23:54 +02:00
mfranz
de35bbe4ed assign a unique module name to ai/mp embedded nasal (again): __model%u 2009-04-01 09:23:54 +02:00
durk
c478cdd35f Allow the AI Traffic controller to set a transponder code. This code is
used in ATC chatter, and writted to the property, so it can -in principle-
be picked up by the radar.
2009-04-01 09:23:54 +02:00
mfranz
b07eec93f1 don't keep 'nasal-dir-initialized' node after removing 2009-04-01 09:23:54 +02:00
fredb
9ff286ea01 Support old compilers 2009-04-01 09:23:54 +02:00
torsten
abcc94d8ee - created a class for InputValues
- moved common code into the base class FGXMLAutoComponent
- adapted the documentation
2009-04-01 09:23:54 +02:00
mfranz
27389e0742 geodinfo: make vector origin altitude configurable 2009-04-01 09:23:54 +02:00
frohlich
5af98c0063 Remove unused switch node.
Modified Files:
	src/Model/acmodel.cxx src/Model/acmodel.hxx
2009-04-01 09:23:53 +02:00
mfranz
3cdd8fedf6 wxradar: read aircraft data from the property tree, rather than AIBase
This allows to display objects that are in /ai/models/, but not managed
by the AI manager, and it follows fgfs' design principle that subsystems
should communicate over the property tree (if possible). This is a tad
slower, but the radar is only updated once every second.
2009-03-18 08:00:09 +01:00
frohlich
5168166a9f Update with changes in simgear.
Modified Files:
 	src/Main/renderer.cxx src/Main/main.cxx
2009-03-18 08:00:09 +01:00
frohlich
183b871b48 Fix a problem with two concurent 'round to multiple of basic simulation
time' code paths. The problem may lead to skipped fdm updates at very high
frame rates. The most visible effect of that was that the aircraft
slips backwards wrt the forward moving carrier.
Remove unused stuff.

Modified Files:
	configure.ac projects/VC7.1/FlightGear.vcproj
	projects/VC8/FlightGearLib.vcproj src/Cockpit/cockpit.cxx
 	src/FDM/Makefile.am src/FDM/flight.cxx src/FDM/flight.hxx
 	src/FDM/SP/Balloon.cxx src/FDM/SP/BalloonSim.cpp
 	src/FDM/SP/BalloonSim.h src/Main/Makefile.am
 	src/Main/fg_init.cxx src/Main/main.cxx src/Time/Makefile.am
Removed Files:
 	src/Time/fg_timer.cxx src/Time/fg_timer.hxx
2009-03-18 08:00:09 +01:00
frohlich
aadf568c91 Remove unused stuff.
Modified Files:
 	src/Main/main.cxx src/Main/main.hxx
2009-03-18 08:00:09 +01:00
frohlich
22888ca8a5 Use simgear vector instead of plib vectors.
Modified Files:
	SP/Balloon.cxx SP/BalloonSim.cpp SP/BalloonSim.h
2009-03-18 08:00:09 +01:00
frohlich
a99ea1c7b5 Port over remaining Point3D usage to the more type and unit safe SG* classes.
Remove leftover headers from plib/sg.

Modified Files:
 	src/AIModel/AIBase.cxx
 	src/AIModel/AIFlightPlanCreateCruise.cxx
 	src/ATCDCL/AIEntity.cxx src/ATCDCL/AIEntity.hxx
 	src/ATCDCL/AIGAVFRTraffic.cxx src/ATCDCL/AIGAVFRTraffic.hxx
 	src/ATCDCL/AILocalTraffic.cxx src/ATCDCL/AILocalTraffic.hxx
 	src/ATCDCL/AIMgr.cxx src/ATCDCL/ATC.hxx
 	src/ATCDCL/ATCDialog.cxx src/ATCDCL/ATCProjection.cxx
 	src/ATCDCL/ATCProjection.hxx src/ATCDCL/ATCutils.cxx
 	src/ATCDCL/ATCutils.hxx src/ATCDCL/approach.cxx
 	src/ATCDCL/commlist.cxx src/ATCDCL/ground.cxx
	src/ATCDCL/ground.hxx src/ATCDCL/tower.cxx
 	src/ATCDCL/tower.hxx src/Airports/calc_loc.cxx
 	src/Airports/dynamics.cxx src/Airports/groundnetwork.cxx
 	src/Airports/parking.cxx src/Airports/runwayprefs.cxx
 	src/Airports/simple.cxx src/Cockpit/cockpit.cxx
 	src/Cockpit/hud.hxx src/Cockpit/hud_card.cxx
 	src/Cockpit/hud_rwy.cxx src/Environment/environment.cxx
 	src/FDM/UFO.cxx src/FDM/SP/MagicCarpet.cxx src/GUI/dialog.hxx
 	src/Instrumentation/HUD/HUD.hxx
 	src/Instrumentation/HUD/HUD_runway.cxx
 	src/Instrumentation/KLN89/kln89.cxx src/Main/fg_init.cxx
 	src/Main/viewer.cxx src/Main/viewmgr.cxx
 	src/Model/panelnode.cxx src/MultiPlayer/mpmessages.hxx
 	src/Scenery/tilemgr.cxx src/Traffic/SchedFlight.cxx
 	src/Traffic/TrafficMgr.cxx
2009-03-18 08:00:08 +01:00
frohlich
6ac5dd61e9 Remove unused variables.
Modified Files:
	src/ATCDCL/AIEntity.cxx src/ATCDCL/AIEntity.hxx
	src/ATCDCL/AIGAVFRTraffic.hxx src/ATCDCL/AILocalTraffic.cxx
2009-03-18 08:00:08 +01:00
frohlich
4a9484ac25 Remove unsed code.
Modified Files:
	ATCProjection.cxx ATCProjection.hxx
2009-03-18 08:00:08 +01:00
frohlich
c254bb9c38 Make use of the fast bv intersection tests even for the croaser altitude
queries. This also fixes some issues with the carrier and the croaser
altitude values that is used when no hit is found.
Include some ifdefed out debugging code, that might be interresting.

Modified Files:
	groundcache.hxx groundcache.cxx
2009-03-18 08:00:08 +01:00
mfranz
51b46283df Roy V. OVESEN: add support for heading bug 2009-03-18 08:00:08 +01:00
frohlich
8f660b97ad Make a simulation reset on the carrier work again.
Modified Files:
	src/FDM/flight.cxx src/FDM/groundcache.cxx
	src/FDM/groundcache.hxx
2009-03-18 08:00:08 +01:00
mfranz
845323eadd remove redundant checks (and one indentation level) 2009-03-18 08:00:08 +01:00
frohlich
db2d4a7a68 Fix some sim time issues with the locations of the ground cache and the
queries in there.

Modified Files:
 	flight.cxx flight.hxx groundcache.cxx
	groundcache.hxx JSBSim/JSBSim.cxx YASim/YASim.cxx
	YASim/YASim.hxx
2009-03-18 08:00:08 +01:00
frohlich
da8b3f9ce5 The simtime alread contains the increment. So do not add that twice.
Modified Files:
	src/AIModel/AIShip.cxx
2009-03-18 08:00:08 +01:00
mfranz
b00e1c10e0 Merge branch 'master' of ../.fg.osg 2009-03-18 08:00:08 +01:00
frohlich
2d1d8120f6 Set the reference time the transform is meant for.
Modified Files:
	src/AIModel/AICarrier.cxx src/AIModel/AIShip.cxx
2009-03-18 08:00:08 +01:00
frohlich
7cb7ba9f90 Fix cmpiler warning.
Modified Files:
	Rotorpart.cpp Rotorpart.hpp
2009-03-18 08:00:08 +01:00
frohlich
f9f9350b96 Adapt to SGTimeStamp changes.
Modified Files:
	configure.ac src/Cockpit/panel.cxx src/FDM/Makefile.am
	src/FDM/flight.hxx src/FDM/ExternalNet/ExternalNet.hxx
	src/Instrumentation/marker_beacon.cxx src/Main/Makefile.am
	src/Main/fg_init.cxx src/Main/main.cxx
	src/MultiPlayer/multiplaymgr.cxx src/Time/fg_timer.cxx
	utils/GPSsmooth/MIDG_main.cxx utils/GPSsmooth/UGear_main.cxx
	utils/GPSsmooth/gps_main.cxx
2009-03-18 08:00:08 +01:00
fredb
648247b71e Win32 fix 2009-03-18 08:00:07 +01:00
frohlich
7e73a87882 Improove FGTileMgr::scenery_available for small ranges.
Use SGGeod in FGTileMgr, FGScenery apis.

Modified Files:
	src/AIModel/AIBallistic.cxx src/Main/main.cxx
	src/Scenery/scenery.cxx src/Scenery/scenery.hxx
	src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
	src/Scripting/NasalSys.cxx
2009-03-18 08:00:07 +01:00
frohlich
16211c9440 More robust behaviour when the tilemanager reports 'no scenery'.
Insert log if this happens.

Modified Files:
	flight.cxx groundcache.cxx
2009-03-18 08:00:07 +01:00
mfranz
0e72224559 add <label-offset> param for adjusting number labels in scales 2009-03-18 08:00:07 +01:00
mfranz
92510697f3 restore consistent coding-style; remove obsolete code; fix typo 2009-03-18 08:00:07 +01:00
mfranz
d3b2b9f1e3 allow to change/reload HUD by setting path in /sim/path/path[1] 2009-03-18 08:00:07 +01:00
frohlich
f07e8a7e94 Avoid casts if there is a method for the apropriate job.
Modified Files:
	src/Main/main.cxx
2009-03-11 23:14:34 +01:00
torsten
43880b201c Make hardcoded error values configurable.
This patch introduces the optional elements
<config>
   <spin-thresh>0.8</spin-thresh>
   <max-roll-error-deg>40</max-roll-error-deg>
   <max-pitch-error-deg>12</max-pitch-error-deg>
</config>
under the corresponding /instrumentation/attitude-indicator element.
The values are initialized to the shown default values if omitted.
These are the values of the former hardcoded constants.
2009-03-11 23:14:34 +01:00
durk
9cc92035b1 A set of additions related to allow the use of SID and STAR procedures.
The current code still has some rough edges, in particular memory still
needs to be deallocated where possible, and the actual use of the code
needs more testing. This code has been running without noticable problems,
so I think it's ready for some wider exposure. Detailed changes include:
- Finetuning of the SID/STAR data concept.
- Preloading of all SIDs, from one xml file.
- ATC determines which SID should be used and echoes this over the com1 or
  com2 radio.
2009-03-11 23:14:34 +01:00
frohlich
19331f2813 Fix problem introduced with yesterdays viewer change.
Modified Files:
	src/Main/viewer.cxx
2009-03-11 23:14:34 +01:00
frohlich
e51c8bdce9 Silence valgrind error.
Modified Files:
	src/Main/viewer.cxx
2009-03-11 23:14:34 +01:00
mfranz
b57f623520 don't call change-only listeners at first trigger event 2009-03-11 23:14:34 +01:00
frohlich
b125315e50 Avoid SGLocation usage.
Again, the previous commit did not complete for some reason.

Modified Files:
        configure.ac src/AIModel/AIBase.cxx
        src/ATCDCL/AILocalTraffic.cxx src/FDM/Makefile.am
        src/FDM/flight.hxx src/FDM/LaRCsim/LaRCsim.cxx
        src/Main/Makefile.am src/Main/fg_init.cxx src/Main/main.cxx
        src/Main/viewer.cxx src/Main/viewer.hxx
        src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
2009-03-11 23:14:34 +01:00
frohlich
82b54e7a25 Avoid SGLocation usage.
Modified Files:
	configure.ac src/AIModel/AIBase.cxx
	src/ATCDCL/AILocalTraffic.cxx src/FDM/Makefile.am
	src/FDM/flight.hxx src/FDM/LaRCsim/LaRCsim.cxx
	src/Main/Makefile.am src/Main/fg_init.cxx src/Main/main.cxx
	src/Main/viewer.cxx src/Main/viewer.hxx
	src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
2009-03-11 23:14:34 +01:00
frohlich
30b05ee7a3 ompute some vectors from the current view when they are used.
Simplifies the update hell in the viewer a bit.

Modified Files:
	src/Main/renderer.cxx src/Main/viewer.cxx src/Main/viewer.hxx
	src/Time/tmp.cxx
2009-03-11 23:14:34 +01:00
frohlich
85be5659a7 Remove SGLocation based api.
Modified Files:
	src/Scenery/tilemgr.cxx src/Scenery/tilemgr.hxx
2009-03-11 23:14:34 +01:00
frohlich
5f76fdd07a Use the positon from the model placment.
Use SGGeod based apis in the scenery/tilemanager.
Remove ground query that is no longer used.

Modified Files:
	src/Main/main.cxx
2009-03-11 23:14:33 +01:00
frohlich
f14b69f9e6 Use the position from the model placement.
Modified Files:
	src/Sound/fg_fx.cxx
2009-03-11 23:14:33 +01:00
frohlich
6b72986b27 Use api's with objects instead of scalars.
Modified Files:
	src/AIModel/AIAircraft.cxx
2009-03-11 23:14:33 +01:00
frohlich
6c0959468f Use an AIEntity variable for the ground elevation instead of SGLocation.
Modified Files:
	AIEntity.cxx AIEntity.hxx AILocalTraffic.cxx
2009-03-11 23:14:33 +01:00
frohlich
2229491ffe Use new function.
Modified Files:
	src/FDM/groundcache.cxx
2009-03-11 23:14:33 +01:00
frohlich
1845a95fd3 Add scenery functions working on SGGeod in place of SGLocation. 2009-03-11 23:14:33 +01:00
frohlich
55a978f2a8 Update groundcache api:
Make leaner interfaces to the groundcache.
Remove legacy interfaces.
Update users of them.
Add new query routines for 'nearest point' and 'body with given id'.

Modified Files:
	src/FDM/flight.cxx src/FDM/flight.hxx src/FDM/groundcache.cxx
	src/FDM/groundcache.hxx src/FDM/JSBSim/JSBSim.cxx
	src/FDM/JSBSim/JSBSim.hxx src/FDM/YASim/FGGround.cpp
	src/FDM/YASim/FGGround.hpp src/FDM/YASim/Gear.cpp
	src/FDM/YASim/Gear.hpp src/FDM/YASim/Ground.cpp
	src/FDM/YASim/Ground.hpp src/FDM/YASim/Model.cpp
2009-03-11 23:14:33 +01:00
frohlich
d2466d605f Set the motion transform id in the collection step.
Modified Files:
	src/FDM/groundcache.cxx
2009-03-05 10:52:03 +01:00
frohlich
b120d9dfb3 Casaba Halász: Fix some const warnings.
Modified Files:
	src/FDM/YASim/Rotor.cpp src/FDM/YASim/Rotor.hpp
	src/GUI/fonts.cxx
2009-03-05 10:52:03 +01:00
frohlich
8150f47155 Remove the StaticLeaf visitor methods.
Modified Files:
	src/FDM/groundcache.cxx
2009-03-05 10:52:03 +01:00
frohlich
3afc7e0690 Move the velocity computations for aimodels into AIShip.
You should now be able to step on any ship with your model.

Modified Files:
	src/AIModel/AICarrier.cxx src/AIModel/AIShip.cxx
	src/AIModel/AIShip.hxx
2009-03-05 10:52:03 +01:00
frohlich
1708e43a39 Make initial use of the boundingvolumes for the ground cache.
Modified Files:
	src/AIModel/AICarrier.cxx src/AIModel/AICarrier.hxx
	src/FDM/flight.hxx src/FDM/groundcache.cxx
	src/FDM/groundcache.hxx
2009-03-05 10:52:03 +01:00
frohlich
ff2e5d5999 Zap compiler warning.
Modified Files:
	src/Main/options.cxx
2009-03-05 10:52:03 +01:00
frohlich
3efab8ddb8 Link with the bvh library. It is used from simgear up t o now.
Modified Files:
	src/Main/Makefile.am
2009-03-05 10:52:03 +01:00
durk
321706a007 Remove stray debug statement. 2009-03-05 10:52:03 +01:00
durk
c7e9c7a610 Some initial code for AI Aircraft making use of SIDs. Current code is a bit
experimental: Only one SID per runway is supported, and the waypoints are
read from file at every request, which is not very efficient. The current
code is only executed when FlightGear is configured to use airport dynamics
data from the scenery repository, instead of the base package. Since the
latter is still the default, I believe that this will provide enough safe-
guarding to commit SID/STAR support in small, incremental steps.
Next step will be buffering and support for multiple departure routes per
runway.
2009-03-05 10:52:03 +01:00
torsten
78e45727d0 Added support for <condition> elements under <enable> elements.
The old <prop> and <value> elements are still supported but ignored, if a <condition> element exists.
Also for the DigitalFilter
2009-03-05 10:52:03 +01:00
torsten
3f0e9b0161 Added support for <condition> elements under <enable> elements.
The old <prop> and <value> elements are still supported but ignored, if a <condition> element exists.
2009-03-05 10:52:02 +01:00
curt
f3b750fbc9 Read remote gps messages back and drive panel CDI and to/from flag. 2009-03-05 10:52:02 +01:00
frohlich
fc35624a4f Use that static material function instead of the member one.
Modified Files:
 	src/FDM/groundcache.cxx src/Scenery/scenery.cxx
2009-02-27 23:42:34 +01:00
andy
4a683bed1e "min throttle" tunable from Maik:
Background are problems modeling the rotax 912 engine. The idle speed
of the real engine is about half of the speed I could achieve with the
default minimum manifold pressure. While on ground I can switch off
the engine by pulling the throttle. The audible difference between the
different minimum idle speed (real vs. simulated) is extreme. With the
patch I get quite realistic sound. For the rotax engine I use
min-throttle="0.05" which is half of the former default value.
2009-02-27 23:42:33 +01:00
andy
8b98937e4d Patch from Maik: as helijah found out, there was a bug within the rotor simulation. 2009-02-27 23:42:33 +01:00
fredb
1d4aaa2f0d Compile with VS2005 in debug mode 2009-02-22 23:52:17 +01:00
mfranz
83edcb2949 add /sim/time/real/ (local machine time) analog to /sim/time/utc/
localtime() is once commented out in simgear/io/sg_binobj.cxx and
a warning says the it can screw up sim time. This is only because
localtime() isn't thread-safe (and its thread-safe cousin localtime_r()
isn't portable). As long as all timing is done in the main thread
(which is the case) there should be no problem. Otherwise we'd have
to implement a simple mutex locked wrapper.
2009-02-16 00:56:44 +01:00
durk
d24fe19914 One step further toward better integration of AI and ATC systems.
* Changed the runway XX. ATC message to actually report the real
   designated departure runway
 * In case of multiple active runways, select the one with a heading that is
   closest to the direction of the ultimate departure destination / lines up
   with the arrival path.
2009-02-16 00:56:44 +01:00
Tim Moore
050221c306 Merge branch 'topic/gcintersect' into next 2009-02-16 00:16:06 +01:00
Tim Moore
c59d30febb Fix off-by-one problem in new ground intersection code 2009-02-16 00:11:46 +01:00
Tim Moore
1e776b903f Merge branch 'topic/tape' into maint 2009-02-13 13:44:31 +01:00
Tim Moore
f9de92f53d merging in topic/makej
Merge branch 'topic/makej' into next

* topic/makej:
  get make -j to work
2009-02-13 12:36:06 +01:00
Tim Moore
28337e84fa get make -j to work 2009-02-13 12:33:23 +01:00
Tim Moore
8be4e97f54 Merge branch 'topic/gcintersect' into next 2009-02-13 10:18:42 +01:00
mfranz
0bc3ec940d make resize margin smaller 2009-02-13 10:18:20 +01:00
mfranz
880533037a call puaLargeInput's checkKey() if active (fixes ctrl-c) 2009-02-13 10:18:17 +01:00
Tim Moore
d5a893589c Use OSG polytope intersector to fill ground cache
This gets rid of a lot of messy code. Although the performance is about
the same as the old code, there is the possibility of a big performance
boost if/when the polytope intersector is taught about KD trees.
2009-02-13 09:47:31 +01:00
mfranz
f3ba7a3bd4 - pass return values in set{,Bool,Int,Double}Value() and setprop()
- make some char* "const" to silence warnings

This removes the warning that (rarely) occurred if one wrote to a
write protected property with setprop(). While this was a useful
hint, it needlessly floods the terminal if one protected a property
intentionally. (Consider to add an SG_DEBUG warning instead.) It's
now the caller's job to check for the result if it actually cares.
2009-02-10 00:22:16 +01:00
durk
916240693f Some further work toward adding more AI/ATC messages. This patch provides
some prepratory work for assigning different operations to different
frequencies. It also returns a stub for returning an ATIS message ID.
Currently, the ATIC information ID is hardcoded to "Sierra", which needs
to be replaced by a dynamic ID once ATIS services are fully integrated
with the new trafficcontrol code. At least, it's marginally more realistic
then the previous information XX. :-).
2009-02-10 00:22:16 +01:00
durk
6b2dff5c83 BUGFIX: If/else bracket misplacement. 2009-02-10 00:22:16 +01:00
ehofman
9cd26d8b34 Sync. w. JSBSim CVS 2009-02-06 22:40:10 +01:00
Tim Moore
1e71177e7c Merge branch 'topic/tape' into next 2009-02-06 15:44:51 +01:00
Tim Moore
3e37d81f1d HUD::Tape: avoid floating point exception 2009-02-06 15:44:07 +01:00
Tim Moore
157eb857ef Merge branch 'topic/multiplayer' into next 2009-02-06 12:18:09 +01:00
Tim Moore
0cbfd8bdb5 MP cleanup
Expand the message union to provide member functions that return pointers into
the message buffer.
2009-02-06 11:59:40 +01:00
Tim Moore
e83caa6321 Fix various mp bugs.
In multiplaymgr.cxx:
The length of a string property that is too big was written out in the message
even though the string was truncated. Also, it was possible to overrun the
message buffer.

In incoming  messages, null-terminate the callsign to prevent any funny
business. Don't believe invalid string lengths. Turn the warning about unknown
properties from a warning into info; there are too many buggy clients out there,
not to mention people who add their own MP properties (hi vivian :)
2009-02-06 08:50:14 +01:00
curt
67c4eec677 Add analog output support to the ATC hardware interface. 2009-02-04 23:51:22 +01:00
mfranz
4b5353d396 make default model configurable (default: Models/Geometry/glider.ac)
This allows to set Models/Geometry/null.ac or something that doesn't
look bad in multiplayer for both fast and slow speeds, for example
the harrier.
2009-02-04 23:51:22 +01:00
Tim Moore
43c47f3823 Merge branch 'maint' into next 2009-02-02 00:59:18 +01:00
mfranz
d9e9331422 do_save: s/reading/writing/ in the error message 2009-02-02 00:59:05 +01:00
mfranz
46d381cc87 x/y/z offsets are in m, not deg 2009-02-02 00:58:01 +01:00
mfranz
ec03d4ce01 move <text> before <property> part, so that <format>s are applied initially 2009-02-02 00:58:01 +01:00