SSU Development thread (4.0 to 5.0) [DEVELOPMENT HALTED DUE TIME REQUIREMENTS!]

Status
Not open for further replies.
I'd have to make it...

Well, the problem is like always: The first 99% of a solution for a problem are easy, the final 1% is nearly impossible.
 
Well, the problem is like always: The first 99% of a solution for a problem are easy, the final 1% is nearly impossible.

But usually it tends to be a big and important 1%.
 
But usually it tends to be a big and important 1%.

Sadly yes. One week to go until my exams and 6 weeks until the most stressful releases this year are done at work, I hope I will be back soon.
 
Sadly yes. One week to go until my exams and 6 weeks until the most stressful releases this year are done at work, I hope I will be back soon.

So I assume SSU 4.0 will not come out for another 6 weeks....?
 
So I assume SSU 4.0 will not come out for another 6 weeks....?

Not by me, I barely find my way home from work right now. :facepalm:
 
Good luck for your exams, and I'm sure you know when to sleep or keep awake or.......nod-off!

N.
 
Good luck for your exams, and I'm sure you know when to sleep or keep awake or.......nod-off!

N.

I don't sleep, I only close my eyes for thinking better. ;)
 
I've finished the normal letters and am now just adding the "special characters" to the font (the arrows and greek letters are now in the font), and I basically hit a wall on the "&" symbol. I can see in the images I have that it's not the way it shows here, but is in fact some kind of "condensed" version... but I can't tell any details that would allow me to draw it. Anyone has really good images of the SPEC 50 (HORIZ SIT) or SPEC 55 (GPS STATUS) or some other display with and "&" so I can see what to draw?
 
& can only be turned into some kind of "et" or "Et" when written differently... its a ligature.
 
& can only be turned into some kind of "et" or "Et" when written differently... its a ligature.

Yes...
On the lack of more solid shapes, I think I'll do something similar to the shape of the lower left one... :shrug:
1428623705Fonts2.jpg
 
I've finished the normal letters and am now just adding the "special characters" to the font (the arrows and greek letters are now in the font), and I basically hit a wall on the "&" symbol.

So, you actually need special characters outside the (0 - 255) range ? It's currently not supported in sketchpad but it's possible to add a support for that. Should it be UTF-8 or WCHAR ? Of course, UTF-8 wouldn't require new functions to sketchpad but could cause compatibility issues with applications using the extended range (128-255)
 
So, you actually need special characters outside the (0 - 255) range ? It's currently not supported in sketchpad but it's possible to add a support for that. Should it be UTF-8 or WCHAR ? Of course, UTF-8 wouldn't require new functions to sketchpad but could cause compatibility issues with applications using the extended range (128-255)

I'm using the high-end of range (255, 254, etc) to "host" the arrows and greek letters we need, not really caring about what character should be in those positions. That's the beauty of making you own font, you decide what goes where. :lol: Currently those "special characters" are only being used by the DPS display, which uses the bitmap version of the font, so it's all working very well at the moment. The A/E PFD, which will(*) use the font "in a normal way", will need an alpha. I'm not expecting any problems when I ask for char 254. :shifty:


*) I still haven't got to that display yet.
 
I'm using the high-end of range (255, 254, etc) to "host" the arrows and greek letters we need, not really caring about what character should be in those positions. That's the beauty of making you own font, you decide what goes where. :lol: Currently those "special characters" are only being used by the DPS display, which uses the bitmap version of the font, so it's all working very well at the moment. The A/E PFD, which will(*) use the font "in a normal way", will need an alpha. I'm not expecting any problems when I ask for char 254. :shifty:


*) I still haven't got to that display yet.

If you wonder, there is a table of the modified ASCII table used by the Space Shuttle DEU, it uses only 7 bit characters.

Is somewhere in the HAL/S FC manual.
 
If you wonder, there is a table of the modified ASCII table used by the Space Shuttle DEU, it uses only 7 bit characters.

Is somewhere in the HAL/S FC manual.

I don't see how that can help, because we still need the normal ASCII in the sprintf() and Text().
 
I don't see how that can help, because we still need the normal ASCII in the sprintf() and Text().

It is mostly normal ASCII, only some unprintable characters are then symbols like a small space shuttle or a TACAN. The 7 bit is mostly interesting in the sense of "its just 128 characters".

Also the GPC uses 8 bit characters internally, those are converted to 7 bit characters for output, at least in the formatting routines. Only the static format data is already defined in 7 bit characters, since it is only uploaded to the IDP.
 
Getting these errors when I try to compile the latest SSU beta sources. This is for Orbiter beta rev. 57 with the D3D9Client beta 24.

Code:
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_aepfd_display.cpp(2030): error C2039: 'SkpMeshFlags' : is not a member of 'oapi::Sketchpad2'
14>          e:\ssu_beta\orbitersdk\include\sketchpad2.h(34) : see declaration of 'oapi::Sketchpad2'
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_aepfd_display.cpp(2030): error C2065: 'SkpMeshFlags' : undeclared identifier
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_aepfd_display.cpp(2030): error C2143: syntax error : missing ')' before 'constant'
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_aepfd_display.cpp(2030): error C2059: syntax error : ')'
14>  MDU_OrbitPFD_Display.cpp
14>  MDU_Subsystem_Displays.cpp
14>  PanelA1U.cpp
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_orbitpfd_display.cpp(806): error C2039: 'SkpMeshFlags' : is not a member of 'oapi::Sketchpad2'
14>          e:\ssu_beta\orbitersdk\include\sketchpad2.h(34) : see declaration of 'oapi::Sketchpad2'
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_orbitpfd_display.cpp(806): error C2065: 'SkpMeshFlags' : undeclared identifier
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_orbitpfd_display.cpp(806): error C2143: syntax error : missing ')' before 'constant'
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_orbitpfd_display.cpp(806): error C2059: syntax error : ')'
 
Getting these errors when I try to compile the latest SSU beta sources. This is for Orbiter beta rev. 57 with the D3D9Client beta 24.

Code:
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_aepfd_display.cpp(2030): error C2039: 'SkpMeshFlags' : is not a member of 'oapi::Sketchpad2'
14>          e:\ssu_beta\orbitersdk\include\sketchpad2.h(34) : see declaration of 'oapi::Sketchpad2'
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_aepfd_display.cpp(2030): error C2065: 'SkpMeshFlags' : undeclared identifier
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_aepfd_display.cpp(2030): error C2143: syntax error : missing ')' before 'constant'
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_aepfd_display.cpp(2030): error C2059: syntax error : ')'
14>  MDU_OrbitPFD_Display.cpp
14>  MDU_Subsystem_Displays.cpp
14>  PanelA1U.cpp
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_orbitpfd_display.cpp(806): error C2039: 'SkpMeshFlags' : is not a member of 'oapi::Sketchpad2'
14>          e:\ssu_beta\orbitersdk\include\sketchpad2.h(34) : see declaration of 'oapi::Sketchpad2'
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_orbitpfd_display.cpp(806): error C2065: 'SkpMeshFlags' : undeclared identifier
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_orbitpfd_display.cpp(806): error C2143: syntax error : missing ')' before 'constant'
14>e:\ssu_beta\orbitersdk\space shuttle ultra\vc\mdu_orbitpfd_display.cpp(806): error C2059: syntax error : ')'
It seems the Sketchpad2 implementation has changed. I'm sorry, but currently I'm "stuck" in Orbiter r55 and D3D9 r23.11 as I'm holding the guts of the display system in my hands, so I can't update that code. I'll try to take a look what changed and guide you to a fix.

Speaking of display system, I'm again with some problems: I can't draw the shuttle icon/bug/whatever it is called in the DPS displays. Because the lines are now thicker, I can't make it look good.
Having the icons in the bitmap (and/or the font) is an idea, but it would require the use of SRCPAINT in BitBlt so the icon can be placed over anything without hiding it. It also needs to rotate the icon on demand. In GDI all of this seems to be possible, but in D3D9 I'm not sure about the SRCPAINT part...
Having a "2º type" of line, that uses a thin pen, is an alternative.
Or adding a Pixel "type", that would paint individual pixels... but I don't think it would work well in the rotations.

I'm more inclined for the "thin pen" solution, but the SRCPAINT solution, together with some small additions to the DPS display, would allow text to be placed "outside" if the grid, thus allowing more correct placement of some stuff. It would also allow arrows/triangles in scales to be in the font/bitmap.
 
Ok, a quick look at the new Sketchpad2 shows that Jarmonik changed an enum to a define. So the offending lines (mdu_aepfd_display.cpp:2030 and mdu_orbitpfd_display.cpp:806) should be changed to this: skp->DrawSketchMesh( hADIball, 0, 0 );
If it works please commit the change, as even working 24/7 I'm about a week away from getting the displays in an acceptable way to commit and then try the new versions of Orbiter and D3D9. Here's a small preview.
 

Attachments

  • reworkeddisplays.PNG
    reworkeddisplays.PNG
    190.7 KB · Views: 499
Ok, a quick look at the new Sketchpad2 shows that Jarmonik changed an enum to a define. So the offending lines (mdu_aepfd_display.cpp:2030 and mdu_orbitpfd_display.cpp:806) should be changed to this: skp->DrawSketchMesh( hADIball, 0, 0 );
If it works please commit the change, as even working 24/7 I'm about a week away from getting the displays in an acceptable way to commit and then try the new versions of Orbiter and D3D9. Here's a small preview.
Done and verified to be good to go. The preview looks great. Much nicer than what we got right now.
 
Done and verified to be good to go. The preview looks great. Much nicer than what we got right now.

Those are screens from MOGE. The DPS displays look a bit better in D3D9 because it doesn't have a bug that is present in GDI that makes the start of the lines look uneven. On the remaining displays, MOGE looks a bit better (more precise in the text placement) as in GDI we can set the width of the font, something that isn't available in Sketchpad.
Heads up, the MDU menus don't have the config and fault message stuff working, I just added some static text to get a good placement of things. Also, the visuals for the DPS fault line are also done and the red characters are ready for use... we are just missing the CW part... :facepalm:
 
Status
Not open for further replies.
Back
Top