Giter Site home page Giter Site logo

bridgecommand / bc Goto Github PK

View Code? Open in Web Editor NEW
55.0 55.0 24.0 489.47 MB

Bridge Command ship simulator

Home Page: https://www.bridgecommand.co.uk

License: Other

C++ 63.76% Makefile 0.51% NSIS 0.02% C 28.89% Objective-C 0.05% Objective-C++ 0.32% Python 0.10% XSLT 0.06% Shell 3.53% CSS 0.01% Perl 0.03% SAS 0.07% Smalltalk 0.03% Assembly 0.04% CMake 0.74% GLSL 0.07% Module Management System 0.07% M4 0.06% HLSL 0.03% Roff 1.62%

bc's People

Contributors

andreyssh avatar antoine0183 avatar bridgecommand avatar ceeac avatar elir71 avatar fojac avatar james-mux avatar m6c7l avatar maxoupicsou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bc's Issues

Not building on MacOS High Sierra

After running:

xcodebuild -project Irrlicht.xcodeproj

I see the following error:

/Users/gpsadmin/Src/bc/libs/Irrlicht/irrlicht-svn/source/Irrlicht/CIrrDeviceOSX.mm:581:23: error: cannot initialize a parameter of type
'id _Nullable' with an rvalue of type 'id'
[NSApp setDelegate:(id)[[[CIrrDelegateOSX alloc] initWithDevice:this] autorelease]];

Linux downloads not available from website

Hi,
Realy pleased to see this updated. This is just a quick note to report that the download links for Linux 64 bit (amd64) .deb package and Linux 32 bit (i386) .deb package on the website are not working.

If linux RPMs or similar are not planned, could I please request some simple build instructions.

James

Boat not visibile in radar image when using higher radar resolution

Hi,
using the bc version compiled from git commit b7a033eae89101c97ed891cbbf4af1ade1e1ab5d I'm facing the following issue:
when setting an higher resolution from bc5.ini (RADAR_AngularRes=4096 RADAR_RangeRes=512) boats' shapes on the radar display are not drawn in a visible way.
In the following images there is a comparison between default resolution (RADAR_AngularRes=360 RADAR_RangeRes=128) and the aforementioned.
360

4096

DIS protocol and decoupling of simulation and visualization

The Distributed Interactive Simulation (DIS) protocol (IEEE standard, https://en.wikipedia.org/wiki/Distributed_Interactive_Simulation) is still popular in the maritime simulation world, thus I think it would be a nice feature to add to this simulator for interoperability with other simulators or as a backbone for the simulator itself. Is this something you would take into consideration for future releases?

Introducing such a protocol (or even remote procedure calls) could go hand-in-hand with a separation of the user interface and the 3D visualization from the simulation logic. I think such a decoupling of logic and visualization would be beneficial for development of both, the simulator and the 3D world since people can decide where to collaborate without caring too much about the other part. Moreover, the application of modern 3D tools like Unity and Godot could attract developers to contribute to the BC simulator.

termiate a start | core dump

Hi,

  1. git clone https://github.com/bridgecommand/bc
  2. cd bc && make

if i run the "bridgecommand-bc" got a error:

$ ./bridgecommand-bc
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
written Aborted (core dumped)

$ ldd bridgecommand-bc
linux-vdso.so.1 (0x00007fff25f91000)
libIrrlicht.so.1.8 => /usr/lib/libIrrlicht.so.1.8 (0x00007f32473f4000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f3247182000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f3246f7c000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f3246d6a000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f3246a2b000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f3246820000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f3246498000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f3246194000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f3245f7d000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f3245bdf000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f32459b5000)
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007f32457b2000)
libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007f32455af000)
libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f32453a8000)
libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007f32451a5000)
libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007f3244f76000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f3244d73000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f3244b6d000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f324496b000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f3244742000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f3244526000)
libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007f3244321000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f3244111000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f3243ef4000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f3243cf0000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f3243ae5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3247c7a000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f32438e1000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f32436db000)

How can i fix this ?

Thanks

Problem with building

I have a problem building the code. I tried to find what this error means, but I couldn't.

Here is the output: https://gist.github.com/ACH1980/487b1ae143c41cc3921095a37c1bbbfd

I think relevant is here mainly this section:

collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/bridgecommand-bc.dir/build.make:900: bridgecommand-bc] Error 1
make[1]: *** [CMakeFiles/Makefile2:281: CMakeFiles/bridgecommand-bc.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
[kanjiasdev@desktop1 bin]$

retry connecting hosts in multi screen setup

Hi, when I am restarting a secondary display the instance is waiting for a connection but the main instance won't reconnect the secondary display. I've to restart the main instance in order to initiate the startup process. This also happens if the secondary display did not receive the udp message during startup due to network issues.

As far as I understand the main instance is trying to reach the configured secondary hosts during startup
https://github.com/bridgecommand/bc/blob/master/src/main.cpp#L745
If the host can't be reached it will be ignored I think.
https://github.com/bridgecommand/bc/blob/master/src/NetworkPrimary.cpp#L125

Is it possible to retry connecting the peers during the main loop before starting the update routine?
https://github.com/bridgecommand/bc/blob/master/src/main.cpp#L856

Compilation in VS 2022 doesn't have localization

Hello,

I just installed VS 2022 and tried to run it in debug mode. It works but shows this window without fonts and strings of localizations:

image

SDK (in v143)
image

What I am doing wrong? How can I debug Bridge Command?

I am having trouble using more than one images in a world description

Hi,

I am trying to build a world from several images. I have a main image and height map and everything works fine. But when I add more pairs of images then the 3D terrain is degenerated. There is no exception or problem to read the files, it just seems like irr fails to render them. Any ideas?

Autopilot buffer size

While testing the autopilot functionality I realized that my NMEA frames were not interpreted. While debugging, I noticed that there was a problem with the buffer size and only my first 8 characters were taken into account.

Autopilot was limited to a buffer size of 8 because of the next line:

ssize_t nread = ::read(rcvSocket.native_handle(), buf, sizeof(buf));

sizeof(buf) = 8 because it returns the size of type char * which is a pointer and not a tab size of 128 that was expected.

I push a commit and a pull request.

Font size on high-res displays is too small

Problem: The font size in BC5 is too small - i.e. not really readable - on high res displays (e.g. 3840 x 2160). IrrLicht does not scale fonts at all, hence they are useless even with fractional scaling (high dpi settings).

Suggestion: Each BC5 application should scale the font size for its UI independently. The scaling factor can be set in the associated .ini file.

References for RCS calculation

The radar simulator is imho working very well and from my point doing a good job in producing radar images of the scene, even without taking the whole signal processing into account. So, my question is, what reference did you apply for the calculation of the radar cross section of any object in the simulation? The only reference I know is rather old and only valid for a limited amount of ship types: https://digital-library.theiet.org/content/journals/10.1049/ij-ecs.1978.0026. Furthermore, since I have not looked into the code in detail, are angles and frequencies somehow involved in the RCS calculation? Thanks!

NMEA server doesn't receive sentences

Hello, I'm trying to send over UDP on localhost sentences of NMEA, but in the debug point doesn't receive anything.

It stays here giving -1
image

I tried everything, from changing ports, firewall, starting server first or sending later, resending other sentences and nothing.

Also I tried the NMEA simulator 1.5.0 and doesn't work too, so I think it's something that the program has that I don't know.

Maybe it's some problem with the asio?

Setting radar_sensitivity to too high a value breaks RADAR rendering

Setting radar_sensitivity to 70 in radar.ini results in the following RADAR image being rendered:

sensitivity

Smaller values of radar_sensitivity = 1, 2 or 3 seem to be fine or at least not result in any noticeable breakages, but with bigger values parts of the RADAR image start missing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.