Release EDDI 3.3 - Bring your cockpit to life

We're pleased to announce EDDI 3.5.2-b1, which includes:

1. Syntax highlighting of Cottle scripts! Customization of fonts and colors to follow.
2. Other minor fixes.

It is available via the download channel or GitHub.

The syntax highlighting of Cottle scripts is done by a secondary engine, and there may still be some mistakes. If you spot any, please let us know.

Edit: and the secondary windows now respect the Esc and Enter keys.
 
Last edited:
How do you check for an advanced docking computer? I'd like to dispense with the landing pad report when one is present.
Both versions of the docking computer (advanced and standard) will auto-dock your ship, so I think you should just look for either, rather than just the advanced. With that in mind, here is a version of the default 'Docking granted' script, that should do just what you need:
Code:
{_ Context }
{SetState('eddi_context_last_subject', 'landing pad')}
{SetState('eddi_context_landing_pad_system', system.name)}
{SetState('eddi_context_landing_pad_station', event.station)}
{SetState('eddi_context_landing_pad_station_model', event.stationtype)}
{SetState('eddi_context_landing_pad_pad', event.landingpad)}

{for compartment in ship.compartments:
    {if find(compartment.module.name, "Docking") > -1:
        {set dockComp to true}
    }
}

{if !dockComp:
    {if event.stationDefinition.basename = "Coriolis" ||
        event.stationDefinition.basename = "Orbis" ||
        event.stationDefinition.basename = "Bernal" ||
        event.stationDefinition.basename = "Ocellus" ||
        event.stationDefinition.basename = "AsteroidBase":
        {Pause(8000)}
        {F("Landing pad report")}
    |else:
        {Pause(8000)}
        Landing pad {event.landingpad}
        {OneOf('ready', 'assigned', 'allocated')}
        {Occasionally(4, cat(', ', F('Honorific') ))}.
    }
}

I've tested this out in-game, and it works fine. :) It skips any pad reporting if a docking computer is found on your ship. It won't take into account if that module is deactivated though. I tried checking if it was enabled or disabled, but EDDI always seemed to think it was enabled for some reason, even if it was deactivated.

In fact, I love the idea of this, so I'm adding it to my personality as well. Thank you! :D

o7

-=] Darkcyde [=-
 
@Darkcyde I am looking forward to any errata that the new syntax colouring shows up in your suite!
Oh, I have a list already. ;) Lol! Sorry, I love bug hunting. In code, not Thargoids though! :LOL:

To be honest, I've been rebuilding my personality using the 3.5.0 default as a base, and I'm almost finished. I've practically gone over every line of every script, to see if there's anything I can do with it. That's where my GitHub reports have come from recently, and I do have a couple more to make, I just need to make sure of a couple of bits first. With only a week left until Christmas, I was really hoping to be able to make a new release of my personality as an Xmas gift to those that like it enough to use. :)

I can't wait to try out the syntax coloring, but I've been reluctant to use the betas and release candidates, as I want my journey back from the DW2 trip to be fully mapped in EDSM (yes, I'm STILL going!). I've stopped off in Colonia on my way back (my first visit!) so I'm not quite as concerned about mapping while running about there for the moment. I may just take a look sometime this weekend, unless you bring out a full release in the next couple of days. I'm sure I will be making good use of the coloring when I do get to try it, so thanks for that QOL update! :)

DC

EDIT: BTW, do you know why the docking computer is considered as 'enabled' by EDDI, even when disabled in game? Is it something I need to refresh somewhere? Or is it bugged maybe?
 
For the record, it's only alphas and betas of EDDI that upload to beta endpoints: release candidates upload to live endpoints.

That said, it's entirely possible to manually install EDDI 3.5.2-b1 in a separate location and use it solely for script editing. That is effectively what we devs do all the time.
 
Last edited:
3.5.2-b1 "FSD engaged" script. In-game & EDDI Test says there's a problem on line 69 of this script. I reinstalled 3.5.2 and this seem to work fine. However, noted that the double quote delimiters have been removed from the 3.5.2-b1 version. Not sure if this is the problem or not.
 
3.5.2-b1 "FSD engaged" script. In-game & EDDI Test says there's a problem on line 69 of this script. I reinstalled 3.5.2 and this seem to work fine. However, noted that the double quote delimiters have been removed from the 3.5.2-b1 version. Not sure if this is the problem or not.
Thanks for the report; it was also reported on the EDCD Discord. Fix incoming.
 
I understand that the scripting language is Cottle, but obviously there are a number of callable functions specific to EDDI / Elite Dangerous. Is there a guide on these functions and their use? Thanks.
 
I understand that the scripting language is Cottle, but obviously there are a number of callable functions specific to EDDI / Elite Dangerous. Is there a guide on these functions and their use? Thanks.
When you are editing a script, please click the Help button to see a list of custom functions specific to EDDI with examples on their use.
 
EDIT: BTW, do you know why the docking computer is considered as 'enabled' by EDDI, even when disabled in game? Is it something I need to refresh somewhere? Or is it bugged maybe?
We have essentially two sources for information on whether your modules are enabled or not.
1. The Ship loadout event (written at game start and after either exiting outfitting or swapping ships)
2. The Frontier API (very rarely queried due to an FDev request that developers avoid taxing the Frontier API server)
Unfortunately, neither of these can currently guarantee an always up-to-date and accurate picture of module enabled status.
I hope (but cannot promise!) that FDev will expand the availability of these data in the future.
 
It's worth noting that while we have visibility on whether any given module is enabled, we don't currently have visibility on which assist options are individually enabled in the "assists" section of the ship tab. That said, fitting a docking computer then turning it off is a bit of an edge case.
 
It's worth noting that while we have visibility on whether any given module is enabled, we don't currently have visibility on which assist options are individually enabled in the "assists" section of the ship tab. That said, fitting a docking computer then turning it off is a bit of an edge case.
That's fair enough. I was more concerned that I had missed something somewhere, or that there was something not working right at my end.

And I agree about it being an edge case. My line of thought on that was more along the lines of if it had been damaged/destroyed in combat, and was non-functional. The completionist in me just wanted to cover all bases if I possibly could. :)
 
That's fair enough. I was more concerned that I had missed something somewhere, or that there was something not working right at my end.

And I agree about it being an edge case. My line of thought on that was more along the lines of if it had been damaged/destroyed in combat, and was non-functional. The completionist in me just wanted to cover all bases if I possibly could. :)
One could key it on the ship's role variable, or declare a 0 or 1 preference variable at the top of the script to govern it. I admit neither is very satisfactory.
 
Right now, what we'd really love is for you to view all of your scripts in 3.5.2-b2 (even if it means manually installing it elsewhere) and tell us if anything is wrongly colored. We're looking for:

  • Code (purple etc) wrongly colored as body text (black)
  • Body text (black) wrongly colored as code (purple etc)
  • False positives for syntax errors (yellow background)

As I noted, we're coloring using a secondary engine, so there may well be some mistakes and/or cases that we've overlooked.
 
Right now, what we'd really love is for you to view all of your scripts in 3.5.2-b2 (even if it means manually installing it elsewhere) and tell us if anything is wrongly colored. We're looking for:

  • Code (purple etc) wrongly colored as body text (black)
  • Body text (black) wrongly colored as code (purple etc)
  • False positives for syntax errors (yellow background)

As I noted, we're coloring using a secondary engine, so there may well be some mistakes and/or cases that we've overlooked.
OK :) I'll install it tomorrow when I get home from work, and have look over for you. :)
 
Right now, what we'd really love is for you to view all of your scripts in 3.5.2-b2 (even if it means manually installing it elsewhere) and tell us if anything is wrongly colored. We're looking for:

  • Code (purple etc) wrongly colored as body text (black)
  • Body text (black) wrongly colored as code (purple etc)
  • False positives for syntax errors (yellow background)

As I noted, we're coloring using a secondary engine, so there may well be some mistakes and/or cases that we've overlooked.
I did as you suggested and installed to a different location, and I've spent several hours going over most of the scripts in my personality.

First, I'd like to say what great addition this syntax colouring is! I really like it. I will have to change the colours though, when that feature becomes available, because I'm a bit colour-blind, so I do have some difficulty with the dark purple and black (of course that may also be down to my screen :unsure:). With that in mind, I do have a couple of things I'd like to mention.

Sometimes the variable in a {set <var> to <data>} is light grey, other times it's very dark purple/black (or it looks like it to me). What's the reason for this? I couldn't immediately see a pattern to it, so I'm just curious. I'm also thinking that I can't really see a difference between the black and purple. To me, the dark shades are too close for me to distinguish between. At least, that's what I'm guessing, it could also be that the purple/black are being coloured wrong, and I'm just not able to see the difference. 😳

The yellow error highlight is great. It helped me see a couple more mistakes that I had missed when going through all the scripts. One thing I noticed with this was with the missing colons from the System report script that you recently fixed. Obviously my edited version didn't have this fix in place, but I was a little confused when the yellow highlight was on the { of the next line after the missing colon. When I first saw this I thought something was wrong with that line, then I read the change log and realised what it was trying to tell me. Shouldn't it have highlighted the end of the line where the colon was missing? Is this something that can be done?

The only gripe I have, that I can think of, is that I can't right-click to do a copy/paste in the new editing engine. I have to use the icons at the top, or keyboard shortcuts instead. Is this something that can be added?

Overall, considering this is the first implementation, I am very impressed. Well done guys! 😄

o7

DC
 
Top Bottom