See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: bases versus vessels?  (Read 849 times)

0 Members and 1 Guest are viewing this topic.

Offline gattico

  • Sr. Member
  • ****
  • Posts: 289
  • Country: United States us
  • Karma: 4
21 June 2016, 17:20:40
One of my 3-4 projects.  Have a question maybe someone has a answer.

Ok.  With the LER it is a Ummu capable vessel.  But How can I transfer crew from it into a habitat module?  Straight transfer is done by docking.  Can you can't be docked and landed in the current version.  I know in the future version you can.

I know I can get out of the ummu and walk into the habitat




Offline Face

  • Jr. Member
  • **
  • Posts: 33
  • Country: Austria at
  • Karma: 2
Reply #1 - 22 June 2016, 12:50:23
AFAIK you can only do that by means of hooking the VESSEL::GetDockStatus() function and returning a "ghost" vessel in order to let UMmu fake the transfer via its attachment-method.


Offline gattico

  • Sr. Member
  • ****
  • Posts: 289
  • Country: United States us
  • Karma: 4
Reply #2 - 22 June 2016, 14:15:13
I know you did something like that before.  How hard would it be to code that?


Offline Face

  • Jr. Member
  • **
  • Posts: 33
  • Country: Austria at
  • Karma: 2
Reply #3 - 22 June 2016, 16:29:21
At first, you have to hook the function. For that you binary-debug Orbiter to get the address of the VESSEL::GetDockStatus() function. Then you overwrite the memory address with a JMP command to jump to your own function. In this function, you check the this-pointer if it is equal to your vessel. If not, you jump forward to the original function's code that you stored somewhere else. If it is, you return the handle of the ghost vessel. This ghost vessel should be the one associated with the base. E.g. a landed dummy vessel sitting inside the base perimeter, or a vessel that itself resembles the base structure (also landed, of course).

This way, the UMmu code believes the source vessel to be docked to the ghost (or base) vessel and initiates a attachment-based inter-frame UMmu transfer.

I have already implemented such a system in terms of an extension library used in Ascension Ultra. The base was implemented with a hybrid config/vessel approach and included UMmu transfer from vessels to base and vice versa.

So it is possible, but I wouldn't call it easy.


Offline gattico

  • Sr. Member
  • ****
  • Posts: 289
  • Country: United States us
  • Karma: 4
Reply #4 - 22 June 2016, 16:40:54
OK.  Well then I think the eva guy may just have to get out of the vessel and enter the airlock from the ground. 



Offline Face

  • Jr. Member
  • **
  • Posts: 33
  • Country: Austria at
  • Karma: 2
Reply #5 - 22 June 2016, 16:55:13
 :) Look at it as a kind of interplanetary fitness program.