Resource icon

Other evoHUD 1.5.0

Login or Register an account to download this content
So, at this point, you need file search function with regular expression(searching "*.nut" recursively and return array of file list). Am I correct?
Yes. Recursive (searching subfolders as well as the specified folder) should be optional and for completeness and future proofing the file extension regular expression could be customisable (but not essential) Other than that spot on.
 
This isn't belong to HUD but is there any needs of voice answering feature? For example, we don't need widget for checking remaining fuel or tire wear. Pressing button and answer by synthesis voice, no need to move your eyes on widgets. MS provides speech synthesis library, so it's not so hard to implement it, technically. One reason why I'm thinking this is that built-in spotter never say useful information but just distract. What do you think?
 
To be honest I disabled integrated spotter because I prefer to use CrewChief app...as most of us do...do you think is worth it to implement a function like this?
 
I don't use crew chief and just use the internal spotter. As kenken says it does not give out much useful info. I think it might be a nice addition but DaveX is right about their being other options. I found crew chief very detailed with a huge amount of options. I imagine the speech in evoHUD just complimenting the info that is shown and as kenken says saving you from having to look down at the widgets.
 
Hi @kenken
I had some very strange issues with the import command last night. I was left scratching my head until the small hours of the morning when I worked out the pattern of the problem.

I am hoping you have an idea as to the cause. I had to make a video to explain the issue as it is so strange.

Thanks
 
Last edited:
Hi @kenken
I had some very strange issues with the import command last night. I was left scratching my head until the small hours of the morning when I worked out the pattern of the problem.

I am hoping you have an idea as to the cause. I had to make a video to explain the issue as it is so strange.

Thanks
I'm not sure it's in my code or squirrel itself. But, at least, there was one bug in my code, so try this.

https://www.mediafire.com/file/vcffzr86hjtmiql/evoHUD-testdll4.7z
 
Each widget adds an entry to a "widgets" table. If the widget nut file loads then the first thing line of code is something like the following:
Code:
::widgets["brakeInfo"] <-
{
    x = 280,
    y = -80,
    order = ["x","y"]
}

All I am doing is return the ::widgets.len() to see how many widgets loaded.

Unrelated to the import problems:
  • Is there a way of making a wrapping text field? I am using "text" but if what I write exceeds the width of the window it does not wrap.
  • Can the buttons / combo boxes have an alignment argument added (AlignLeft, AlignRight, AlignMiddle)
The GUI is coming along now. I have it dynamically loading widgets from a folder and loading/saving a config file. If there is no config file then the defaults specified in each widget are used. Any missing / invalid, unwanted settings in the config file are replaced with the defaults specified in the widget using a error checking routine.

I am onto the GUI now and I wanted a help page with version number and other useful info. Hence the wrapping text box request.

Thanks once again!
 
Last edited:
Each widget adds an entry to a "widgets" table. If the widget nut file loads then the first thing line of code is something like the following:
Code:
::widgets["brakeInfo"] <-
{
    x = 280,
    y = -80,
    order = ["x","y"]
}

All I am doing is return the ::widgets.len() to see how many widgets loaded.

Unrelated to the import problems:
  • Is there a way of making a wrapping text field? I am using "text" but if what I write exceeds the width of the window it does not wrap.
  • Can the buttons / combo boxes have an alignment argument added (AlignLeft, AlignRight, AlignMiddle)
The GUI is coming along now. I have it dynamically loading widgets from a folder and loading/saving a config file. If there is no config file then the defaults specified in each widget are used. Any missing / invalid, unwanted settings in the config file are replaced with the defaults specified in the widget using a error checking routine.

I am onto the GUI now and I wanted a help page with version number and other useful info. Hence the wrapping text box request.

Thanks once again!
First, does debugview show no error message?

The original imgui has no alignment option for each parts. At this point, you have to align each parts manually(with dummy and sameLine function).

About text word wrapping, I added it.

I suggest that you take a some time to pick up which gui parts you need. For me, one request for several parts is better rather than multiple requests for one parts at each time when you need it.

https://www.mediafire.com/file/nw142v3wlp56xxx/evoHUD-snapshot285.7z
 
First, does debugview show no error message?
Not sure what you mean by "debugview". Is this the little empty box that appears sometimes on the left when the code is invalid? If so that does not show up at all and even when it does (for unrelated issues) it is always empty.

If you mean my debug panel then this shows no errors. It just reports the number of entries in the widgets table indicating the number of widget.nut files loaded.

If you mean something else can you tell me what debugview is. I must have missed it on a previous comment.

The original imgui has no alignment option for each parts. At this point, you have to align each parts manually(with dummy and sameLine function).
No problem. Is it possible to get the size of (width / height) of a button or combobox using calcTextSize? That would allow me to alignment using a dummy and a calculated size.

I suggest that you take a some time to pick up which gui parts you need. For me, one request for several parts is better rather than multiple requests for one parts at each time when you need it.
Understood. I will try to group my gui feature requests into batches but I don't think I will need many more. Hard to know until I actually try and do something and realise I need a feature added :D

Thanks once again. Will test latest snapshot this evening.
 
Not sure what you mean by "debugview". Is this the little empty box that appears sometimes on the left when the code is invalid? If so that does not show up at all and even when it does (for unrelated issues) it is always empty.
.
Didn't you use debugview for debugging code? It's very hard to debug.

Download https://technet.microsoft.com/en-us/sysinternals/bb896647

Then start debugview prior to start AMS. You will see debug output. All squirrel error message and print command output to this debug output.
 
Ahh yes DebugView. Been a long time since I used that. Ok looking at the output from debug view. No errors reported.

With 8.3 files renamed to be something other than 8.3 I see the logs show all 16 files loaded (or at least accessed).

With the 5 "problem" files renamed back to their 8.3 format I see exactly the same output with debugview indicating that the files are at least accessed even though the import fails.

Is there anything else I can do?

Do you think it is a bug with Squirrel?
 
First of all huge thank you for pointing me towards debugview. typos in code are so much easier to find now. I will be saving a lot of testing time!

I have just tried wrapping the import routine in a loop and if a widget is not detected as loading (ie the ::widgets.len() has not increased after the import of a widget) then it will try the import again for upto 30 attempts.

The idea was that because the loading is erratic (usually fails to load 8.3 widgets but not always) that if I tried a good few times then they would hopefully load.

It makes no difference. It seems that if it is not going to import it does not matter how many times you try within the loop.

I can only think this is a bug with squirrel unless you have some ideas. We can work around it and I can also report using the GUI any widgets that fail to load. I can then check if it is a 8.3 file name. If it is we can tell the user (or more likely the widget developer) to rename the widget to something other than 8.3 format.

If we can fix it great. If not we can work around it with some user feedback as well.
 

Latest News

Do you prefer licensed hardware?

  • Yes for me it is vital

  • Yes, but only if it's a manufacturer I like

  • Yes, but only if the price is right

  • No, a generic wheel is fine

  • No, I would be ok with a replica


Results are only viewable after voting.
Back
Top