Linux playground

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,429
Reaction score
680
Points
203
Et voilà :
View attachment 31731
Can't control this thing for the life of me :ROFLMAO:
The SSRMS is really meant to controlled by an actual controller like the keyboard or an actual joystick just like the real thing. Controlling it through a dialog with buttons like that is considered a back-up contingency mode called "Single Joint Drive" and is really only meant to drive the arm to a safe position where it is out of the way and can be troubleshooted easily.

The "frame mode" is where the reference frame is calculated from, either the shoulder joint where the two arm ends connect or the base End Effector (EE). I would personally train on using the shuttle RMS until you're familiar with it and can grapple things and move them around smoothly. SSV has a similar SRMS implementation to the SSRMS so it's a perfect training tool.
 

Gondos

Well-known member
Joined
Apr 18, 2022
Messages
222
Reaction score
257
Points
78
Location
On my chair
The SSRMS is really meant to controlled by an actual controller like the keyboard or an actual joystick just like the real thing. Controlling it through a dialog with buttons like that is considered a back-up contingency mode called "Single Joint Drive" and is really only meant to drive the arm to a safe position where it is out of the way and can be troubleshooted easily.

The "frame mode" is where the reference frame is calculated from, either the shoulder joint where the two arm ends connect or the base End Effector (EE). I would personally train on using the shuttle RMS until you're familiar with it and can grapple things and move them around smoothly. SSV has a similar SRMS implementation to the SSRMS so it's a perfect training tool.
Thanks for the details, sounds like I'm not ready to tackle that^^ Anyway, I'm gonna push all this soon, buggy as it is because I don't have the know-how to tell if it's working correctly or not (the camera view looks bugged but maybe it's just me).
I just wanted to push the DarkEnergy stuff, but it pulled the Better_ISS, which pulled the SSRMS too ; a real can of worms... All I wanted was to get a model with normal maps so I could start working on this aspect in the graphics client but it got a little bit out of control😅
 

Max-Q

99 40
Addon Developer
Joined
Jul 5, 2021
Messages
765
Reaction score
1,181
Points
108
Location
Cislunar Space
Website
www.orbiter-forum.com
I'm not sure how context sensitive bases work so if it's not handled by the Orbiter core then it'll probably not work on the current version.
It is handled by the core, see "Doc\OrbiterConfig.pdf" page 15.

Apart from bugs, the main limitation is the custom cameras that are not available in the OpenGL client.
Ok, so DarkEnergy Cargo is basically unflyable since it has no forward view. That might make for some rather hairy docking ops... 😬

I had to port to XRSound, switch some GDI stuff to sketchpad, mix in some windows type removal and fix some arithmetic exceptions on the way but it was quite straightforward.
I probably should go to sketchpad completely and dump GDI anyway.
Did you find any bugs/issues in my code, or were all the issues related to porting it? If so, I want to fix them in the next version.
 

Matias Saibene

Development hell
Joined
Jul 7, 2012
Messages
1,033
Reaction score
596
Points
128
Location
Monte Hermoso - Argentina
Website
de-todo-un-poco-computacion-e-ideas.blogspot.com.ar
All I wanted was to get a model with normal maps so I could start working on this aspect in the graphics client but it got a little bit out of control😅
If you need normalmap you can use my addon for DeltaGlider which includes normalmaps. Although my textures are a WIP you can see the effect of the normalmaps.
 

Max-Q

99 40
Addon Developer
Joined
Jul 5, 2021
Messages
765
Reaction score
1,181
Points
108
Location
Cislunar Space
Website
www.orbiter-forum.com
I just wanted to push the DarkEnergy stuff, but it pulled the Better_ISS, which pulled the SSRMS too ; a real can of worms... All I wanted was to get a model with normal maps so I could start working on this aspect in the graphics client but it got a little bit out of control😅
Isn't it "fun" how a seemingly easy thing can spiral into a complicated and involved mess? :cautious:
 

Gondos

Well-known member
Joined
Apr 18, 2022
Messages
222
Reaction score
257
Points
78
Location
On my chair
It is handled by the core, see "Doc\OrbiterConfig.pdf" page 15.


Ok, so DarkEnergy Cargo is basically unflyable since it has no forward view. That might make for some rather hairy docking ops... 😬


I probably should go to sketchpad completely and dump GDI anyway.
Did you find any bugs/issues in my code, or were all the issues related to porting it? If so, I want to fix them in the next version.
Issues are mainly due to FPU exceptions enabled on my build :
  • in DarkEnergy::CalcHeatshieldGlow() when the airspeed is null, it takes the log10 of 0 -> crash
  • same in double DarkEnergy::JostleAmount()
  • same in DarkEnergy_Cargo and DarkEnergy_Expansion
  • division by zero in bool Ion4::LvlSenseArm()/void Ion4:: DoOrbit() when thrust is 0 (mainly on staging)
  • division by zero in void Ion4::CalcFlightVector() when fuel_remaining goes to zero
  • same in Ion6
  • more problematic : buffer overflow crash in void Ion4:: DoLOT() (and Ion6) due to one off error in buffer size (char xxx[2] to store a string of length 2 but you need one more for the NUL ending ;)).
I simplified the code like this for this one:
Code:
sprintf(cbuf, "T - %02d:%02d:%02d", t_minus_hh, t_minus_mm, t_minus_ss);
- At several places you are passing the address of an r-value to a function, which is not allowed, for example in void lc20::clbkSetClassCaps(FILEHANDLE cfg) :
Code:
    SetMeshVisibilityMode(AddMesh(lc20_mesh, &_V(0, 0, 0)), MESHVIS_ALWAYS);
must be changed to something like :
Code:
    VECTOR3 lc20_pos{0, 0, 0};
    SetMeshVisibilityMode(AddMesh(lc20_mesh, &lc20_pos), MESHVIS_ALWAYS);
- const correctness issues, but the Orbiter core is riddled with them too so nothing much you can do about it...
All in all, the big show stopper would be the buffer overflow which could result in a crash on Windows too. The FPU exceptions may resolve to defined behavior (most likely if you have seen no erroneous behavior).
const correctness and r-value issues may be seen as usual C++ over the top pedantism, your call on this one:p
BTW, I'm not a specialist on github subtleties but it looks like since your ISS/DE repos are private, I cannot make my forks public and it breaks github actions (and the couple of people who will try to compile it). Do you mind switching them to public?
Thanks
 
Last edited:

Max-Q

99 40
Addon Developer
Joined
Jul 5, 2021
Messages
765
Reaction score
1,181
Points
108
Location
Cislunar Space
Website
www.orbiter-forum.com
Issues are mainly due to FPU exceptions enabled on my build :
  • in DarkEnergy::CalcHeatshieldGlow() when the airspeed is null, it takes the log10 of 0 -> crash
  • same in double DarkEnergy::JostleAmount()
  • same in DarkEnergy_Cargo and DarkEnergy_Expansion
  • division by zero in bool Ion4::LvlSenseArm()/void Ion4:: DoOrbit() when thrust is 0 (mainly on staging)
  • division by zero in void Ion4::CalcFlightVector() when fuel_remaining goes to zero
  • same in Ion6
  • more problematic : buffer overflow crash in void Ion4:: DoLOT() (and Ion6) due to one off error in buffer size (char xxx[2] to store a string of length 2 but you need one more for the NUL ending ;)).
Wow, thanks for letting me know! I'll take a look at all listed.
I actually didn't write the functions:
  • DoOrbit()
  • CalcFlightVector()
  • DoLOT()
However, I did modify 'em.
I will see if I can do something with this, but I don't understand most of the code there.

I simplified the code like this for this one:
Code:
sprintf(cbuf, "T - %02d:%02d:%02d", t_minus_hh, t_minus_mm, t_minus_ss);
- At several places you are passing the address of an r-value to a function, which is not allowed, for example in void lc20::clbkSetClassCaps(FILEHANDLE cfg) :
Code:
SetMeshVisibilityMode(AddMesh(lc20_mesh, &_v(0, 0, 0)), MESHVIS_ALWAYS);
must be changed to something like :
Code:
VECTOR3 lc20_pos{0, 0, 0};
SetMeshVisibilityMode(AddMesh(lc20_mesh, &lc20_pos), MESHVIS_ALWAYS);
That seems easy enough. The others might take more work...

- const correctness issues, but the Orbiter core is riddled with them too so nothing much you can do about it...
All in all, the big show stopper would be the buffer overflow which could result in a crash on Windows too. The FPU exceptions may resolve to defined behavior (most likely if you have seen no erroneous behavior).
const correctness and r-value issues may be seen as usual C++ over the top pedantism, your call on this one:p
Nothing seems buggy, so I'd guess they revert to defined behavior as you said.
As far as const correctness and such, my attitude is "If it compiles and runs, let it alone"! ;)
I think the bigger issue here is that don't really know what it should be, so that makes it a bit hard to write. Maybe I should get a book on C++?...

BTW, I'm not a specialist on github subtleties but it looks like since your ISS/DE repos are private, I cannot make my forks public and it breaks github actions (and the couple of people who will try to compile it). Do you mind switching them to public?
Thanks
I'll handle this point via PM.
 

Felix24

Active member
Joined
May 13, 2010
Messages
245
Reaction score
95
Points
43
When I made that addon, there were problems with the normal map implementation in D3D9 with certain meshes that I had to work around when creating the textures. The green channel (up-down axis, I think) is flipped for some sections of the texture. Those problems have been fixed in D3D9 for a while now, so that means the workarounds now make it look wrong. If I were to re-do that addon, I wouldn't have to do any selective flipping of the green channel.

The issue causes bump features to have correct left-right shading, but reversed up-down shading. So take those textures with a grain of salt, and don't depend on them for accuracy when developing normal map shaders.
 

Gondos

Well-known member
Joined
Apr 18, 2022
Messages
222
Reaction score
257
Points
78
Location
On my chair
When I made that addon, there were problems with the normal map implementation in D3D9 with certain meshes that I had to work around when creating the textures. The green channel (up-down axis, I think) is flipped for some sections of the texture. Those problems have been fixed in D3D9 for a while now, so that means the workarounds now make it look wrong. If I were to re-do that addon, I wouldn't have to do any selective flipping of the green channel.

The issue causes bump features to have correct left-right shading, but reversed up-down shading. So take those textures with a grain of salt, and don't depend on them for accuracy when developing normal map shaders.
OK thanks, you just saved me a lot of debugging time:LOL:
 

Gondos

Well-known member
Joined
Apr 18, 2022
Messages
222
Reaction score
257
Points
78
Location
On my chair
OK, so I pushed the whole shebang, fire those bug reports 😅
I also fixed the issue with the splash screen not showing BTW
 

Matias Saibene

Development hell
Joined
Jul 7, 2012
Messages
1,033
Reaction score
596
Points
128
Location
Monte Hermoso - Argentina
Website
de-todo-un-poco-computacion-e-ideas.blogspot.com.ar
OK, so I pushed the whole shebang, fire those bug reports 😅
I also fixed the issue with the splash screen not showing BTW
git pull:

54d459e99c9e4_-_pastelglaringchafer.gif
 

Matias Saibene

Development hell
Joined
Jul 7, 2012
Messages
1,033
Reaction score
596
Points
128
Location
Monte Hermoso - Argentina
Website
de-todo-un-poco-computacion-e-ideas.blogspot.com.ar
OK, so I pushed the whole shebang, fire those bug reports 😅
I also fixed the issue with the splash screen not showing BTW
Hi @Gondos, can't download update, can't do git submodule update --init --recursive

I get this error.

Bash:
git submodule update --init --recursive
Submódulo 'Addons/Deepstar' (https://github.com/TheGondos/Deepstar.git) registrado para ruta 'Addons/Deepstar'
Submódulo 'Addons/G42-200' (https://github.com/TheGondos/G42-200.git) registrado para ruta 'Addons/G42-200'
Submódulo 'Addons/NASSP' (https://github.com/TheGondos/NASSP.git) registrado para ruta 'Addons/NASSP'
Submódulo 'Addons/Orb42S' (https://github.com/TheGondos/Orb42S.git) registrado para ruta 'Addons/Orb42S'
Submódulo 'Addons/SSRMS' ([email protected]:TheGondos/SSRMS.git) registrado para ruta 'Addons/SSRMS'
Submódulo 'Addons/UCSO' (https://github.com/TheGondos/UCSO.git) registrado para ruta 'Addons/UCSO'
Submódulo 'Addons/XRVessels' (https://github.com/TheGondos/XRVessels.git) registrado para ruta 'Addons/XRVessels'
Submódulo 'Extern/SDL_GameControllerDB' (https://github.com/gabomdq/SDL_GameControllerDB) registrado para ruta 'Extern/SDL_GameControllerDB'
Submódulo 'Extern/imgui' (https://github.com/TheGondos/imgui.git) registrado para ruta 'Extern/imgui'
Submódulo 'Extern/imgui-knobs' (https://github.com/altschuler/imgui-knobs.git) registrado para ruta 'Extern/imgui-knobs'
Submódulo 'Extern/imgui-node-editor' (https://github.com/TheGondos/imgui-node-editor.git) registrado para ruta 'Extern/imgui-node-editor'
Submódulo 'Extern/imgui-notify' (https://github.com/TheGondos/imgui-notify.git) registrado para ruta 'Extern/imgui-notify'
Submódulo 'Extern/imgui_md' (https://github.com/TheGondos/imgui_md.git) registrado para ruta 'Extern/imgui_md'
Submódulo 'Extern/libnsbmp' (https://github.com/TheGondos/libnsbmp.git) registrado para ruta 'Extern/libnsbmp'
Submódulo 'Extern/md4c' (https://github.com/mity/md4c.git) registrado para ruta 'Extern/md4c'
Submódulo 'OVP/OGLClient/SOIL2' (https://github.com/TheGondos/SOIL2.git) registrado para ruta 'OVP/OGLClient/SOIL2'
Submódulo 'OVP/OGLClient/nanovg' ([email protected]:TheGondos/nanovg.git) registrado para ruta 'OVP/OGLClient/nanovg'
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/Deepstar'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/G42-200'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/NASSP'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/Orb42S'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/SSRMS'...
[email protected]: Permission denied (publickey).
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/SSRMS.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/Addons/SSRMS' falló
Falló al clonar 'Addons/SSRMS'. Reintento programado
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/UCSO'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/XRVessels'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/SDL_GameControllerDB'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui-knobs'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui-node-editor'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui-notify'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui_md'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/libnsbmp'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/md4c'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/OVP/OGLClient/SOIL2'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/OVP/OGLClient/nanovg'...
[email protected]: Permission denied (publickey).
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/nanovg.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/OVP/OGLClient/nanovg' falló
Falló al clonar 'OVP/OGLClient/nanovg'. Reintento programado
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/SSRMS'...
ssh: connect to host github.com port 22: Connection timed out
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/SSRMS.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/Addons/SSRMS' falló
Falló al clonar 'Addons/SSRMS' una segunda vez, abortando
 

Jordan

Active member
Joined
May 13, 2010
Messages
136
Reaction score
80
Points
43
Location
Germany
Hi @Gondos, can't download update, can't do git submodule update --init --recursive

I get this error.

Bash:
git submodule update --init --recursive
Submódulo 'Addons/Deepstar' (https://github.com/TheGondos/Deepstar.git) registrado para ruta 'Addons/Deepstar'
Submódulo 'Addons/G42-200' (https://github.com/TheGondos/G42-200.git) registrado para ruta 'Addons/G42-200'
Submódulo 'Addons/NASSP' (https://github.com/TheGondos/NASSP.git) registrado para ruta 'Addons/NASSP'
Submódulo 'Addons/Orb42S' (https://github.com/TheGondos/Orb42S.git) registrado para ruta 'Addons/Orb42S'
Submódulo 'Addons/SSRMS' ([email protected]:TheGondos/SSRMS.git) registrado para ruta 'Addons/SSRMS'
Submódulo 'Addons/UCSO' (https://github.com/TheGondos/UCSO.git) registrado para ruta 'Addons/UCSO'
Submódulo 'Addons/XRVessels' (https://github.com/TheGondos/XRVessels.git) registrado para ruta 'Addons/XRVessels'
Submódulo 'Extern/SDL_GameControllerDB' (https://github.com/gabomdq/SDL_GameControllerDB) registrado para ruta 'Extern/SDL_GameControllerDB'
Submódulo 'Extern/imgui' (https://github.com/TheGondos/imgui.git) registrado para ruta 'Extern/imgui'
Submódulo 'Extern/imgui-knobs' (https://github.com/altschuler/imgui-knobs.git) registrado para ruta 'Extern/imgui-knobs'
Submódulo 'Extern/imgui-node-editor' (https://github.com/TheGondos/imgui-node-editor.git) registrado para ruta 'Extern/imgui-node-editor'
Submódulo 'Extern/imgui-notify' (https://github.com/TheGondos/imgui-notify.git) registrado para ruta 'Extern/imgui-notify'
Submódulo 'Extern/imgui_md' (https://github.com/TheGondos/imgui_md.git) registrado para ruta 'Extern/imgui_md'
Submódulo 'Extern/libnsbmp' (https://github.com/TheGondos/libnsbmp.git) registrado para ruta 'Extern/libnsbmp'
Submódulo 'Extern/md4c' (https://github.com/mity/md4c.git) registrado para ruta 'Extern/md4c'
Submódulo 'OVP/OGLClient/SOIL2' (https://github.com/TheGondos/SOIL2.git) registrado para ruta 'OVP/OGLClient/SOIL2'
Submódulo 'OVP/OGLClient/nanovg' ([email protected]:TheGondos/nanovg.git) registrado para ruta 'OVP/OGLClient/nanovg'
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/Deepstar'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/G42-200'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/NASSP'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/Orb42S'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/SSRMS'...
[email protected]: Permission denied (publickey).
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/SSRMS.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/Addons/SSRMS' falló
Falló al clonar 'Addons/SSRMS'. Reintento programado
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/UCSO'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/XRVessels'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/SDL_GameControllerDB'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui-knobs'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui-node-editor'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui-notify'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/imgui_md'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/libnsbmp'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Extern/md4c'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/OVP/OGLClient/SOIL2'...
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/OVP/OGLClient/nanovg'...
[email protected]: Permission denied (publickey).
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/nanovg.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/OVP/OGLClient/nanovg' falló
Falló al clonar 'OVP/OGLClient/nanovg'. Reintento programado
Clonando en '/home/matias/orbiter_test/Orbiter/orbiter/Addons/SSRMS'...
ssh: connect to host github.com port 22: Connection timed out
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/SSRMS.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/Addons/SSRMS' falló
Falló al clonar 'Addons/SSRMS' una segunda vez, abortando
Same error here.
 

Jordan

Active member
Joined
May 13, 2010
Messages
136
Reaction score
80
Points
43
Location
Germany
@Gondos
Did you change anything in the shaders besides the normal maps? I have the feeling that it looks a bit lacking in contrast.
 
Top