Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Addons > Addon Development
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Addon Development Developers post news, updates, & discussions here about your projects in development.

Reply
 
Thread Tools
Old 07-08-2018, 07:57 PM   #76
ADSWNJ
Scientist
 
ADSWNJ's Avatar
Default

Quick feature description of MMExt, so the folks on this thread can determine if it may be of use:
  • Any to any interconnection (vessel to MFD, MFD, to MFD, etc).
  • Pass by value for simple data types (e.g. int, double). One posts, the other optionally collects.
  • Pass by value for Orbiter standard things (e.g. VECTOR3, MATRIX3, etc)
  • Pass by value for OBJHANDLE, with additional checks to protect against object deletion.
  • Pass by reference for C++ structs derived from a well-known base class. Lots of protection around this (versioning, sige of struct), to protect against mismatched versions.
  • Wildcard search mode, for modules to discover new senders without needing hardcoding.

Examples: BaseSync, TransX, BurnTimeCalc, LagrangeMFD, LaunchMFD, Glideslope 2 ... all sharing variables to make the experience more intuitive.

I'd be happy to do some MMExt coding for this project if I can be of assistance.
ADSWNJ is offline   Reply With Quote
Old 07-09-2018, 05:49 AM   #77
Face
Beta Tester
 
Face's Avatar

Default

Quote:
Originally Posted by ADSWNJ View Post
 Quick feature description of MMExt, so the folks on this thread can determine if it may be of use:
Is there still the problem with missing runtimes, or is it fully late-binding now? I think the later would also be a "feature" to mention, given the middle-ware nature of WooMMU.
Face is offline   Reply With Quote
Old 07-09-2018, 07:21 AM   #78
Enjo
Mostly harmless
 
Enjo's Avatar


Default

Quote:
Originally Posted by Face View Post
 Is there still the problem with missing runtimes, or is it fully late-binding now? I think the later would also be a "feature" to mention, given the middle-ware nature of WooMMU.
Andrew sorted it out. It's fully late binding, with VC runtimes statically linked.
Enjo is offline   Reply With Quote
Thanked by:
Old 07-09-2018, 12:52 PM   #79
gattispilot
Addon Developer
 
gattispilot's Avatar
Default

I will be interested how you deal with touchdown points. I can change the y part so that the boot just touches the terrain. But then you move the guy in some parts and it covers most of him up?
gattispilot is offline   Reply With Quote
Old 07-09-2018, 05:50 PM   #80
Woo482
Moderator
 
Woo482's Avatar


Default

The best way I found to stop terrain eating the MMU was to set the touchdown points much larger than the physical footprint of the MMU, doing that avoided the terrain in most cases.

However my intention was / is to move away from touchdown points entirely, and update the vessel position directly through SetState - though that has enough problems on its own.
Woo482 is offline   Reply With Quote
Thanked by:
Old 07-09-2018, 05:55 PM   #81
gattispilot
Addon Developer
 
gattispilot's Avatar
Default

Quote:
Originally Posted by Woo482 View Post
 The best way I found to stop terrain eating the MMU was to set the touchdown points much larger than the physical footprint of the MMU, doing that avoided the terrain in most cases.

However my intention was / is to move away from touchdown points entirely, and update the vessel position directly through SetState - though that has enough problems on its own.
Oh. I can adjust the y axis so there is no space between the bottom and the top of the surface. I notice that some building at Brighton are actually above the surface also.
gattispilot is offline   Reply With Quote
Old 07-10-2018, 02:18 AM   #82
ADSWNJ
Scientist
 
ADSWNJ's Avatar
Default

Quote:
Originally Posted by Face View Post
 Is there still the problem with missing runtimes, or is it fully late-binding now? I think the later would also be a "feature" to mention, given the middle-ware nature of WooMMU.
Yup- as Enjo said, it's fully late bound now. You have a single include into a client, to put, get, find things from MMExt. If MMExt is not installed, you get an error status on the put, but nothing crashes (i.e. no Error 126). How is this done? Embedded into the header implementation is the helper code to do a LoadLibrary (to find and load the MMExt2.dll), and the the GetProcAddress calls (to find and load each internal function call). All data transfers across the dynamic call interfaces are multi-version code safe for C++. (How? Generally by serializing to C buffers, with a large-buffer mode to malloc and free if the string is >64 chars (unlikely), and then the header code converts back into a std::string in the context of the client's version of VC++. This was from bitter experience between Enjo and me passing from old versions of VC++ to newer ones, and finding that the binary compatibility is absolutely not to be trusted!).

Oh and static links for the VC runtimes, so no 126's there either. It's a clean piece of code and heavily battle-tested.
ADSWNJ is offline   Reply With Quote
Thanked by:
Old 07-10-2018, 12:08 PM   #83
gattispilot
Addon Developer
 
gattispilot's Avatar
Default

Quote:
Originally Posted by Woo482 View Post
 The best way I found to stop terrain eating the MMU was to set the touchdown points much larger than the physical footprint of the MMU, doing that avoided the terrain in most cases.

However my intention was / is to move away from touchdown points entirely, and update the vessel position directly through SetState - though that has enough problems on its own.



Not familiar with SetState. So a larger touchdown area? I would think a smaller so that it is more precise?


Playing around with a guy that moves
gattispilot is offline   Reply With Quote
Reply

  Orbiter-Forum > Orbiter Addons > Addon Development

Tags
development, eva, mmu, ommu


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 01:53 AM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright 2007 - 2017, Orbiter-Forum.com. All rights reserved.