[RELEASE] : Generic Dynamic HUDs switching

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: winston, another_commander

User avatar
Mauiby de Fug
---- E L I T E ----
---- E L I T E ----
Posts: 847
Joined: Tue Sep 07, 2010 2:23 pm

Re: [RELEASE] : Generic Dynamic HUDs switching

Post by Mauiby de Fug »

Hmm, other Killer Wolf OXPs which have disappeared into the ether are his Phantom, Spectre, Wasps and Scorpius.

Looking through past threads, I get the impression that he was opposed to the idea of licensing, and believed that respect and asking permission should be the way to modify OXPs. There is a post here (https://bb.oolite.space/viewtopic.php?p=94997#p94997) with regards to that. However, I would be hesitant about using this to justify distribution of his OXPs without authorisation, it being a long time ago and in the middle of a rather acrimonious debate. Sadly, while I suspect that if you somehow managed to contact him to ask him, he would give his permission, but a lack of actual communication with him means that we don't really know, and to boldly assume consent would be unwise...
User avatar
Cholmondely
Archivist
Archivist
Posts: 5364
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: [RELEASE] : Generic Dynamic HUDs switching

Post by Cholmondely »

Isis HUD
Image

Problem!

I've added the Generic HUD docked HUD to KW's Isis HUD. As an OXP it works fine (not even a whimper in the latest.log). The moment I turn it into an OXZ (to upload it to the wiki so others can try it out), it stops working and I get this umpteen times in the latest.log:

Code: Select all

17:35:32.414 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
I've tried it twice with the OXP - and it works through several dockings and launchings, switching merrily between them. I've twice converted that OXP to an OXZ and it flobbed each time!

Any ideas?


Generic Docked HUD
Image
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [RELEASE] : Generic Dynamic HUDs switching

Post by phkb »

Cholmondely wrote: Tue Apr 19, 2022 6:13 pm
Any ideas?
If you can lob me the OXZ file you created I'll have a look.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5364
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: [RELEASE] : Generic Dynamic HUDs switching

Post by Cholmondely »

phkb wrote: Thu May 12, 2022 4:23 am
Cholmondely wrote: Tue Apr 19, 2022 6:13 pm
Any ideas?
If you can lob me the OXZ file you created I'll have a look.
Thanks!

It is now here (https://wiki.alioth.net/index.php/File: ... sisHUD.oxz) on the wiki.

I noticed two things about it.

1) My original .oxz was twice the size of the original .oxp (this one isn't). I'd zipped the contents with all the inner folders open showing their contents.

This one was zipped with the folders shut and generates this activity in my latest.log:

Code: Select all

    ~/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.KillerWolf.IsisHUD.oxz
    Isis_hud 1
08:46:43.625 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:46:45.112 [hudselector] GlobalLog (OOJSGlobal.m:266): HUDs: ,Default HUD,hud,hudselector,ExtraLarge HUD with 10 MFDs and custom dials,hudselector-extralarge,hudselector-extralarge10,hudselector,Large HUD with 10 MFDs and custom dials,hudselector-large,hudselector,Small HUD with 10 MFDs and custom dials,hudselector-small,coluber_hud_ch01,Coluber HUD CH01,coluber_hud_ch01,,,Isis_hud,Isis HUD,Isis_hud,,,VimanaHUD,VimanaHUD 6 MFDs,VimanaHUD,,,VimanaHUD,VimanaHUD 12 MFDs,VimanaHUD-mfds,,,Crt43HUD,Crt43 HUD,Crt43HUD,,
08:46:45.219 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:46:45.328 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:46:45.696 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:46:45.794 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:46:56.087 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:46:56.186 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:46:57.512 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:46:57.609 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:46:57.722 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:46:57.819 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:46:59.521 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:46:59.617 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:46:59.725 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:46:59.821 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:47:00.799 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:47:00.915 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:47:01.032 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
08:47:01.131 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud-dock.plist to switch to not found or invalid.
08:47:07.228 [PlayerEntity.switchHudTo.failed] -[PlayerEntity switchHudTo:] (PlayerEntity.m:4455): HUD dictionary file Isis_hud.plist to switch to not found or invalid.
Needless to say, there is none of this when I just run the .oxp instead!


2) As an .oxp (both before zipping - or after unzipping the .oxz and renaming to .oxp) it works just fine.

But now that I look at it with a more critical eye, I notice that the HUD changes on docking so that one watches the docking process through the docked HUD which seems clunky. I don't know how to fix this. Nor how to add MFD's.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [RELEASE] : Generic Dynamic HUDs switching

Post by phkb »

Easy one, I think.
The script.js file is named "Isis_hud" (with a capital I). But the actual plist files have lower case I - "isis_hud.plist" and "isis_hud-dock.plist". Change the script.js file name to be "isis_hud" (with a lower case I to match the plist files) and things should be better.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5364
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: [RELEASE] : Generic Dynamic HUDs switching

Post by Cholmondely »

phkb wrote: Thu May 12, 2022 12:02 pm
Easy one, I think.
The script.js file is named "Isis_hud" (with a capital I). But the actual plist files have lower case I - "isis_hud.plist" and "isis_hud-dock.plist". Change the script.js file name to be "isis_hud" (with a lower case I to match the plist files) and things should be better.
Yes, that fixed it, thanks!

But why, oh why, did my original bodge job it work as an .oxp and not as an .oxz?

What is going on?


Download link now posted on our wiki.
This new version is
1) HUD selector compatible
2) has KW's CorCom docked HUD added
3) but supports no MFD's)
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: [RELEASE] : Generic Dynamic HUDs switching

Post by phkb »

Cholmondely wrote: Thu May 12, 2022 12:37 pm
But why, oh why, did my original bodge job it work as an .oxp and not as an .oxz?

What is going on?
That I can't be sure of. Based on what you've observed, it looks like if something is packaged as an OXZ, Oolite is more pedantic with filenames than it is with just an OXP. Not sure why, though. Windows is notoriously loose with filenames (so that "MyFiLe.pNg" is the same as "myfile.png"), whereas Linux is very much the opposite. The assumption has always been than Macs follow Linux in this sense, but your example maybe sheds a bit more light on the issue. Maybe.
Cholmondely wrote: Thu May 12, 2022 7:56 am
But now that I look at it with a more critical eye, I notice that the HUD changes on docking so that one watches the docking process through the docked HUD which seems clunky. I don't know how to fix this
In the script file, change the this.shipWillDockWithStation to this.shipDockedWithStation, and then also change the references in the this.$HUDSelectorCallBack function to match. Then the HUD will only change after the player has docked, not during the docking animation.
Cholmondely wrote: Thu May 12, 2022 7:56 am
Nor how to add MFD's
You would need to add some entries to the multi_function_displays array in the plist file. However, you can do this fairly simply - find a HUD in which you like the MFD arrangement, and then copy the entire multi_function_displays array from there and into your HUD plist file. After that, it's just a matter of tweaking the "color" parameters to suit. You could use a named color like "redColor" or an RGB value like "1 0 0 1" (values are between 0 and 1, and the last digit is the opacity - higher means more visible).

When copying the multi_function_displays array, make sure you include the trailing ");"

Shout out if you need help with something.
Post Reply