cakepie

[1.3.x] AirlockPlus: EVA to/from any part, using any airlock [ v.0.0.9 @ 2017-06-25 ] [中|日|Es|Ru]

Recommended Posts

Posted (edited)

Functionality

AirlockPlus allows the use of any airlock on a vessel in conjunction with any crew part on the vessel:

  • A kerbal on EVA can use any airlock to board any part of the vessel, not just the part that the airlock is attached to.
  • A kerbal in any part of the vessel can go EVA using any airlock on the vessel, not just the airlock(s) on the part that they currently occupy.
  • All of this happens seamlessly -- no need to manually transfer kerbals between parts.
  • Works even if the airlock part is already full of other kerbals.

With this mod, it becomes possible to use crew cabins that don't have airlocks, and airlock parts that don't have any crew capacity of their own.

Boarding

When an EVA kerbal is at an airlock, in addition to the usual command of "[В] Board", you are also presented with these options:

  • Auto boarding: [Shift+B] Board into any available part -- even if the airlock part is full, the kerbal will be able get on board as long as there are seats available elsewhere on board the vessel. No guarantees on which seat s/he will end up in, though.
  • Manual boarding: [Ctrl+B] Select part to board into -- this emulates the stock crew transfer behavior: you get to click on the part you want the kerbal to go into, even if it is not the same as the airlock part. Use this if you want more control over specifically where the kerbal ends up.

board-s.gif

Alighting

Clicking on an airlock ("Crew Hatch") in stock KSP opens a dialog box that lists only the kerbals in the airlock part.

With AirlockPlus, you can hold down the modifier key while clicking on an airlock (i.e. Alt+Click on Windows; Opt+Click on Mac).
This will instead list all kerbals in the vessel, allowing you to take them on EVA from the selected airlock.

If you have Community Trait Icons installed, AirlockPlus will display an icon next to each kerbal's name to indicate their crew type (i.e. pilot, engineer, scientist or tourist). The stock crew hatch dialog box is also augmented with these icons.

traiticon.png

 

Notes

Boarding

  • Respects keyindings in your game settings if you've bound the "Board" command to a different key other than "B".
  • "Shift" and "Control" keys are bound by default to EVA RCS controls, so you should grab the airlock and turn off RCS first.
  • [Shift+B] / [Ctrl+B] may sometimes be possible even when [В] isn't. This means AirlockPlus trigger detection is more lenient than stock. I'm not complaining... =Þ
  • Just like stock crew transfer behavior, the manual boarding option will lock all other controls besides the camera, until you have selected a valid destination, or cancelled boarding by pressing [Escape].
  • Manual boarding mode will automatically terminate and return control to player if the kerbal drifts away from the airlock while waiting for the player to select a destination part.

Alighting

  • There is a split second delay before AirlockPlus replaces the stock airlock interface. Working as intended, nothing to worry about.

 

Mod Compatibility

This is not an exhaustive list. It only covers mods that have been selected for testing due to concerns about potential interactions.

Interoperable mods

Tested and known to play well together with these mods without conflict.

Community Trait Icons
Optional dependency used by AirlockPlus to display crew type icons next to kerbal names.

Connected Living Space
Supported. If CLS is installed, instead of being able to board/alight to/from any part of the craft, you will be limited to those parts that are connected to the airlock according to CLS rules.

EasyBoard
Excellent synergy: EasyBoard can be used to assist in grabbing on to airlocks/ladders before using AirlockPlus to board the vessel.

Kerbal Crew Manifest
No conflicts.

Kerbal Inventory System
Crew inventories are correctly preserved when boarding/alighting using AirlockPlus features.

Ship Manifest
No conflicts. Potential minor immersion-breaking if you're a stickler for "realism": boarding and alighting using AirlockPlus is instantaneous, compared to SM's delayed crew transfer realism option.

 

Download

v0.0.9 for KSP 1.3.x
Requires Module Manager (please obtain separately. Use MM 2.8.0 or above with KSP 1.3.x.)

Additional localization files for v0.0.9
Complete support for: Chinese, Japanese, Russian & Spanish

 

Due to important bugfixes in v0.0.8, older versions of AirlockPlus (for KSP 1.2.2) are no longer available/supported.

 

Installing

Delete older version, if any.
Place contents of GameData into your installation's GameData folder.
(Optional) Place localization file(s) for additional languages(s) in AirlockPlus folder, if desired.
(Optional) Obtain and install updated copy of Community Trait Icons if you want crew type icons next to kerbal names
Ensure you have appropriate version of Module Manager installed for your KSP version.

License

AirlockPlus source code, compiled binaries, and configuration files are © cake>pie
Localizations are released under a Creative Commons CC-BY-SA 4.0 International license.

You may make and distribute media (e.g. screenshots, gameplay videos, etc.) that portray AirlockPlus in use.
You may monetize such media; if you do, a mention and link here would be much appreciated.

This software is provided "as-is", without warranty of any kind. The author/maintainer is under no obligation to provide maintenance, support, updates, enhancements, or modifications.

For mod updating in the absence of the author/maintainer: see here for details.

All other rights are reserved.

Acknowledgements

 

Changelog

v 0.0.9 2017-06-25
new approach for checking if crew hatch dialog is ready for hijack
add support for Community Trait Icons
(CTI required) show crew type icons next to names when alighting
(CTI required) add crew type icons to stock crew hatch dialog
perfectionistic layout tweaking

v 0.0.8 2017-06-06
fix spurious results from FlightEVA.HatchIsObstructed
handle more corner cases when things go kaboom
optimization / code gardening
localization updates for: Japanese, Russian

v 0.0.7 2017-06-02
add support for Connected Living Space
handle corner cases when things go kaboom while waiting for player input
manual boarding copes with unexpected changes to vessel while awaiting part selection
alighting not possible if the vessel breaks apart while dialog box is open, causing the airlock part and the part containing the crew member to be separated
alighting not possible with kerbal who died or passed out
localization updates for: Chinese, Spanish

v 0.0.6 2017-05-26
localization support added
recompiled for KSP 1.3

v 0.0.5 2017-05-22
now checks for EVA prohibitions due to Astronaut Complex level / Tourist type
fix alighting features not being available when the active vessel lacks control
stock "command hint" messages (e.g. "[В] Board") no longer show when in manual boarding mode
pre-emptive changes to keyboard input handling for 1.3 compatibility
fix my shameful missing break statement

v 0.0.4 2017-05-17
new feature: kerbals from any part can exit to EVA using any airlock
green highlighting of parts on mouseover should now be properly disabled when manual boarding is used, and restored properly afterwards

v 0.0.3 2017-05-12
much better solution for keeping our command hints displayed
switch from Input.GetKey to Input.GetKeyUp to prevent spam-calling boarding functions when key is held down
prevent stock boarding from being registered alongside auto boarding, which causes "spurious" stock "Cannot board a full module" message appearing alongside our auto boarding "Cannot board a full vessel"

v 0.0.2 2017-05-07
respect EVA boarding keybinding from game settings
functionality will now be disabled when in map view
turn off stock CrewHatchController UI properly when in manual boarding mode
fix my stupid NRE caused by Mouse.HoveredPart being null upon mouseout in manual boarding mode

v 0.0.1 2017-05-06
initial dev release
compiled for KSP 1.2.2

 

Edited by cakepie
v.0.0.9 compatible with KSP 1.3.x

Share this post


Link to post
Share on other sites
Posted (edited)

v0.0.2 release

Edited by cake>pie

Share this post


Link to post
Share on other sites

So this is easy boarding with a different approach and Manual boarding (You can select what part you can hop on rather than the nearest).  Good Luck!

Share this post


Link to post
Share on other sites
1 hour ago, ssd21345 said:

So this is easy boarding with a different approach and Manual boarding (You can select what part you can hop on rather than the nearest).  Good Luck!

This mod and easy board are solve different problems.

Easy Board makes the "B" and "F" keys for "board" and "grab ladder" function as toggles, so that the kerbal on EVA will automatically board the airlock or grab the ladder once you maneuver into range. If you find it tricky to maneuver in EVA, and tend to go too fast and end up overshooting the airlock/ladder before you can manually press "B/F" in the stock game, then Easy Board helps you out so that you can concentrate on controlling the kerbal and not have to worry about pressing "B/F".

This mod deals with the problem when you are using the airlock on a part that is already full to its crew capacity. Even with Easy Board, you cannot board a full part.

The auto boarding feature of this mod allows you to use the airlock on a full part. As long as the vessel is not full, your kerbal will be able to get on board, and find an empty seat in another part of the vessel. You don't get to specify which part, though. To do that, you'd use the manual boarding option -- which you seem to have understood correctly.

Share this post


Link to post
Share on other sites
Posted (edited)

Got it. Does it work with both installed? I wonder if easy board would register the B key at the same time when we use shift/ctrl + B of "board into any vessel part from eva".  

Or the other solution is just changes the keymapping. Easy boarding doesn't respect keybinding I guess. (Nope it also respect your keymapping)

Edited by ssd21345

Share this post


Link to post
Share on other sites
Posted (edited)
On 5/14/2017 at 8:48 PM, ssd21345 said:

Got it. Does it work with both installed? I wonder if easy board would register the B key at the same time when we use shift/ctrl + B of "board into any vessel part from eva".  

Or the other solution is just changes the keymapping. Easy boarding doesn't respect keybinding I guess.

Edit: this mod interaction has been resolved. AirlockPlus and Easy Board 1.5+ will play nice with each other.
 

Spoiler

 

I haven't yet tried, but I think it should be possible to use both together in most situations. Edit1: tested and verified
You'd use easy board to grab the airlock (most airlocks have an invisible ladder) and then this mod for shift/ctrl+B.

If the part is already full, then easy board registering the B key does nothing other than showing a screen message about the part being full -- the kerbal can't board the part. So shift/ctrl+B should work without interference.

If the part isn't full, then shift+B will just board the part, same as just pressing B in stock. If easy board registers the B key, then it'd do the same thing anyway. No difference in outcome.

The only possible issue is if you are trying to use ctrl+B on a part that isn't full. If easy board registers that keypress, it will board your kerbal. That means you can't choose the destination, and will have to use a crew transfer to get the kerbal where you wanted. I don't think it'll cause any game breaking bugs, though -- this mod will recognize that the EVA kerbal is no longer the active vessel and gracefully handle the situation. So a minor inconvenience at worst.

 

If you try it, please report back on what you find out! If there is a conflict, we'll do what we can do to resolve.

 

 

Edited by cakepie
mod interaction resolved

Share this post


Link to post
Share on other sites

v 0.0.4 release.

New feature: now with alighting in addition to boarding.

With airlock access working both ways, we're now getting close to having a release candidate, that has bare minimal set of features that I'm satisfied with.

At this point I could really use some testing/feedback to help find and iron out any remaining bugs.
If you've taken this out for a spin, make sure to let me know how it went for you!

Share this post


Link to post
Share on other sites

v 0.0.5

Fully functional for all intents and purposes. Hopefully nearly bug free by now.

Almost ready for general release, only a couple more inconsequential nitpicks that I'd like to take care of.

Share this post


Link to post
Share on other sites
Posted (edited)

v 0.0.6 released for KSP 1.3.
Use MM 2.8.0 or later.

Localization support has been added.

For the time being, v 0.0.5 download remains available for KSP 1.2.2.
Use with MM 2.7.6 on KSP 1.2.2.

 

Edit: translations are now available.
- Chinese: available, proofreader wanted
- Japanese: available, proofreader wanted
- Spanish: partial, translator needed
- Russian: partial, translator needed

Edited by cakepie
translations now available

Share this post


Link to post
Share on other sites

Spanish Localization

Localization
{
es-es
{
	#autoLOC_AirlockPlus00000 = AirlockPlus
	#autoLOC_AirlockPlusBP001 = [Shift+<<1>>] Abordar alguna parte disponible\n[Ctrl+<<1>>] Selecciona parte a abordar
	#autoLOC_AirlockPlusBP002 = No se puede abordar una nave llena.
	#autoLOC_AirlockPlusBP003 = <color=<<1>>>Selecciona una parte para abordar\n[Esc]: Cancelar</color>
	#autoLOC_AirlockPlusAP001 = Nave de Tripulación: <<1>>/<<2>>
	#autoLOC_AirlockPlusAP002 = (Turista)
	#autoLOC_AirlockPlusAP003 = EVA
}
}

The first line, as the name of the mod, I think it should remain untranslated. But if you want to translate it anyways, I Think that "Esclusa Plus" it should work better than "Esclusa de aire aumentado".

Share this post


Link to post
Share on other sites

Just spotted this, and like the idea.  I'll be waiting for CLS compatibility, but I’m looking forward to it. :wink:

Share this post


Link to post
Share on other sites

Thanks @GonDragon!

Localization files updated. Also fixed a minor mistake with the 0.0.6 download package.

 

10 hours ago, DStaal said:

Just spotted this, and like the idea.  I'll be waiting for CLS compatibility, but I’m looking forward to it. :wink:

You'd be pleased to know that CLS compatibility is a fairly high priority... since I do want it myself :wink:

Share this post


Link to post
Share on other sites

Thanks for your awesome work! I've checked the Simplified Chinese translation. That looks all ok! :) 

Share this post


Link to post
Share on other sites

Thanks for the help @Summerfirefly! One more new line, though, since I'm adding compatibility for Connected Living Space. Would it be accurate to translate "living space" as “适居空间”? i.e. “无法进入满员适居空间。”

@GonDragon likewise for Spanish, would it be correct to say "No se puede abordar una espacio habitable lleno."?

 

Share this post


Link to post
Share on other sites
Posted (edited)
29 minutes ago, cakepie said:

Would it be accurate to translate "living space" as “适居空间”? i.e. “无法进入满员适居空间。”

@cakepie "载人舱室" may be better IMO. i.e. “无法进入满员载人舱室。”

Edited by Summerfirefly
add a Chinese full stop

Share this post


Link to post
Share on other sites
8 minutes ago, Summerfirefly said:

@cakepie "载人舱室" may be better IMO. i.e. “无法进入满员载人舱室。”

@Summerfirefly , are you familiar with CLS? It introduces the idea that each part is passable or not passable, i.e. whether it has a pressurized interior. You can only use crew transfer to go from pod/cabin A to pod/cabin B if there is a route between them that goes through only "passable" parts. E.g. A -> hubmax connector -> B is allowed, but A -> girder -> B isn't.

My concern here is that I need to draw a clear distinction between the notion of a crew cabin (a single part) vs CLS concept of "a collection of interconnected, habitable parts that you can travel through without having to go EVA".

Stock KSP uses "舱" in names of individual parts, e.g. 乘员舱,驾驶舱,指令舱 ... and when you try to board a part that is full (in stock behavior) you get 无法进入满员舱室。
What I need to convey here is "all the parts that are reachable from here, according to CLS rules" are already full. Hence "habitable space" -- because "cabin" is too ambiguous.

Does this make sense? Please let me know if you have better suggestions!

Share this post


Link to post
Share on other sites
5 hours ago, cakepie said:

 

@GonDragon likewise for Spanish, would it be correct to say "No se puede abordar una espacio habitable lleno."?

 

Almost. It would be "No se puede abordar un espacio habitable lleno.".

Share this post


Link to post
Share on other sites

@cakepie Yes I knew CLS before. In Chinese, “舱” or “舱室” can be used for all manned or unmanned parts which have "reachable space" in them, like “实验舱” is in which crews do experiments. “生活舱” is the space crews live in. “气密舱” means airlock. Even engine room can be called “轮机舱室” or “引擎舱室”.

And “载人舱室” means habitable space in the vessel. “适居空间” has the similar meaning with “载人舱室”, but it almost never be used in Chinese community. So I think “载人舱室” is better.

Share this post


Link to post
Share on other sites
Posted (edited)

0.0.7

now with CLS support. Use with CLS v 1.2.5.3a or later.

Edited by cakepie

Share this post


Link to post
Share on other sites

Pretty interesting for massive ship/stations/colonies! Thx! :)

Share this post


Link to post
Share on other sites

@cakepie bugreport: sometimes kerbal cannot go to EVA through the hatch of another module.Message says "Hatch is obscured, can't exit." but he actually can, if do it a stock way...

Steps to replicate:

  1. make simple craft with mk2 cockpit and mk2 crew cabin
  2. make sure, that kerbal go on EVA from mk2 cockpit hatch when siting there 
  3. make sure, that kerbal go on EVA from mk2 cabin hatch when sitting in cockpit
  4. transfer kerbal to crew cabin
  5. Alt+click on cocpit hatch ant try go EVA with kerbal that now in cabin
  6. Hatch is obscured, can't exit.

Share this post


Link to post
Share on other sites
11 hours ago, ZobrAA said:

@cakepie bugreport: sometimes kerbal cannot go to EVA through the hatch of another module.Message says "Hatch is obscured, can't exit." but he actually can

Thanks for the bug report! issue logged, will investigate further.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now