griff SpecGloss ships

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

Moderators: another_commander, winston

User avatar
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2510
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Re: griff SpecGloss ships

Post by Griff »

Wow, didn't meant to leave it so long between uploads, can't believe its been a year since the Adder :shock:

I've added a Moray to the shared folder on my google drive (link page 1 of this thread)
I'm having problems uploading screenshots for some reason, page just keeps timing out, suspect it's my internet, will try and add one later :D

edit: does this work? not used this image sharing site before
Image
yay! success!

Edit2: forgot to mention, the Google drive folder has 2 zips, you just need the moray v0.1 zip for adding the ship to Oolite, the other Resources zip just contains the textures and ship model in a format suitable for modding if anyone wants to make their own version
User avatar
Cholmondely
Archivist
Archivist
Posts: 6545
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: griff SpecGloss ships

Post by Cholmondely »

Griff wrote: Sat Feb 22, 2025 6:33 pm
Wow, didn't meant to leave it so long between uploads, can't believe its been a year since the Adder :shock:

I've added a Moray to the shared folder on my google drive (link page 1 of this thread)
I'm having problems uploading screenshots for some reason, page just keeps timing out, suspect it's my internet, will try and add one later :D

edit: does this work? not used this image sharing site before
Image
yay! success!

Edit2: forgot to mention, the Google drive folder has 2 zips, you just need the moray v0.1 zip for adding the ship to Oolite, the other Resources zip just contains the textures and ship model in a format suitable for modding if anyone wants to make their own version
Looks most impressive!
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
DavidKroc
Competent
Competent
Posts: 39
Joined: Thu Jan 02, 2025 10:20 am
Location: Onrira Orbital Shipyards
Contact:

Re: griff SpecGloss ships

Post by DavidKroc »

Image

This one is absolutely fabulous!! 😍

🎶🎵 We all live in a yellow submarine... 🎶🎵
Last edited by DavidKroc on Sun Mar 02, 2025 9:24 am, edited 2 times in total.
thecoredump
Above Average
Above Average
Posts: 18
Joined: Sat Jun 08, 2019 6:06 pm

Re: griff SpecGloss ships

Post by thecoredump »

Keep up the good work!
User avatar
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2510
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Re: griff SpecGloss ships

Post by Griff »

Thanks for the kind words guys! I'm hoping to give the Moray Medical it's own model but i might tackle the fer-de-lance next, been collecting various speedboat and fancy billionaire yacht photos for inspiration and turning green with envy :lol:
User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 2900
Joined: Thu Jun 20, 2013 10:22 pm
Location: On the moon Thought, orbiting the planet Ignorance, looking through a telescope with the lens cap on

Re: griff SpecGloss ships

Post by Redspear »

DavidKroc wrote: Mon Feb 24, 2025 4:35 pm
🎶🎵 We all live in a yellow submarine... 🎶🎵
:lol:

On the world, where I was spawned
It was mellow and serene
And the peace from dusk to dawn
Spoiled by execs from Trench Marine

They in-ven-ted their Yellow Submarines
Their Yellow Submarines
Their Yellow Submarines

I'd like to shove their Yellow Submarines
Where the sun has never been
There's a sight they've never seen


Griff wrote: Wed Mar 05, 2025 10:53 am
i might tackle the fer-de-lance next
That's a tough one... Meanwhile, love the cockpit on the moray, really looks like a submersible.
Thanks for another great ship!
User avatar
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2510
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Re: griff SpecGloss ships

Post by Griff »

something a little bit different from the usual - another attempt at an ice asteroid! must be my 4th or 5th go at these - this time i used Modo's (a 3d app) built in procedural textures to displace and texture a sphere into a spiky boulder shape rather than try and model or sculpt it myself, worked out OK i think
I never got that sub surface shader example to work properly so i'm just faking it here with a glowmap and the night time lights code from Oolite's planet shader :lol:

Ice shader test:
Image

download: https://drive.google.com/file/d/12uunYz ... sp=sharing

Note: the oxp contains a script.js file that keeps spawning these everytime the player launches, so just treat this like a curiosity oxp rather than something to play in game, will probably make a few more of these and release them in a proper pack

It looks best with shaders enabled - it does contain a Materials section in shipdata.plist so will work with those, but it looks a bit too bright in Materials mode at the moment i think
Last edited by Griff on Sun Jul 20, 2025 6:43 pm, edited 1 time in total.
User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 2900
Joined: Thu Jun 20, 2013 10:22 pm
Location: On the moon Thought, orbiting the planet Ignorance, looking through a telescope with the lens cap on

Re: griff SpecGloss ships

Post by Redspear »

Looks like a dirty icesteroid (that's a good thing by the way :D).

The detail and contrast between smooth and rough, with those little highlights, world really well I think.

I like it 8)
User avatar
tsoj
Deadly
Deadly
Posts: 202
Joined: Wed May 18, 2016 8:19 pm
Location: Berlin
Contact:

Re: griff SpecGloss ships

Post by tsoj »

I tried to install the Sidewinder shader version, and I got this error on Fedora 43:

Code: Select all

  02:51:25.591 [shader.compile.failure]: ***** ERROR: GLSL fragment shader compilation failed for griff_SpecGloss_Sidewinder_NPC.fragment:
>>>>> GLSL log:
0:58(27): error: array constructors forbidden in GLSL 1.10 (GLSL 1.20 or GLSL ES 3.00 required)
0:75(29): error: array constructors forbidden in GLSL 1.10 (GLSL 1.20 or GLSL ES 3.00 required)
The problem is apparently that vec3[](...) not supported in the GLSL version that Oolite uses by default.

The fixes on the shader side could look like this:
Spoiler
diff for Griff_HighPoly_CobraIII_multiDecal:

Code: Select all

--- Griff_HighPoly_CobraIII_multiDecal.oxp/Shaders/griff_HP_CobraIII_PLAYER_multidecal.fragment	2025-12-28 02:48:46.497941289 +0100
+++ "Griff_HighPoly_CobraIII_multiDecal.oxp/Shaders/griff_HP_CobraIII_PLAYER_multidecal copy.fragment"	2025-12-28 02:48:31.354529098 +0100
@@ -1,30 +1,34 @@
 #define SUN_RADIANCE   3.0

-const vec3 PRIMARY_COLOR[12] = vec3[](vec3(1.0, 0.2176, 0.1889),
-                                      vec3(0.6090, 0.0484, 0.0),
-                                      vec3(1.0, 0.4109, 0.0),
-                                      vec3(0.8271, 0.6382, 0.0),
-                                      vec3(0.1880, 0.5414, 0.3770),
-                                      vec3(0.0, 0.2707, 0.0557),
-                                      vec3(0.2133, 0.5105, 0.6617),
-                                      vec3(0.1662, 0.0, 0.6617),
-                                      vec3(0.5392, 0.1448, 0.6617),
-                                      vec3(0.0, 0.0889, 0.2707),
-                                      vec3(0.8571, 0.8150, 0.6510),
-                                      vec3(0.2588,0.3083,0.2193));
-
-const vec3 SECONDARY_COLOR[12] = vec3[](vec3(0.5176, 0.0069, 0.0),
-                                        vec3(0.1805, 0.0, 0.0053),
-                                        vec3(0.3910, 0.0260, 0.0),
-                                        vec3(0.8, 0.1846, 0.2315),
-                                        vec3(0.0484, 0.1486, 0.3083),
-                                        vec3(0.0, 0.0016, 0.3233),
-                                        vec3(0.1974, 0.2537, 0.5113),
-                                        vec3(0.0, 0.0333, 0.3233),
-                                        vec3(0.0, 0.0637, 0.5113),
-                                        vec3(0.0, 0.3097, 0.3233),
-                                        vec3(0.2331, 0.2242, 0.2282),
-                                        vec3(0.0, 0.1265, 0.2331));
+vec3 getPrimaryColor(int index) {
+    if (index == 0) return vec3(1.0, 0.2176, 0.1889);
+    if (index == 1) return vec3(0.6090, 0.0484, 0.0);
+    if (index == 2) return vec3(1.0, 0.4109, 0.0);
+    if (index == 3) return vec3(0.8271, 0.6382, 0.0);
+    if (index == 4) return vec3(0.1880, 0.5414, 0.3770);
+    if (index == 5) return vec3(0.0, 0.2707, 0.0557);
+    if (index == 6) return vec3(0.2133, 0.5105, 0.6617);
+    if (index == 7) return vec3(0.1662, 0.0, 0.6617);
+    if (index == 8) return vec3(0.5392, 0.1448, 0.6617);
+    if (index == 9) return vec3(0.0, 0.0889, 0.2707);
+    if (index == 10) return vec3(0.8571, 0.8150, 0.6510);
+    if (index == 11) return vec3(0.2588,0.3083,0.2193);
+}
+
+vec3 getSecondaryColor(int index) {
+    if (index == 0) return vec3(0.5176, 0.0069, 0.0);
+    if (index == 1) return vec3(0.1805, 0.0, 0.0053);
+    if (index == 2) return vec3(0.3910, 0.0260, 0.0);
+    if (index == 3) return vec3(0.8, 0.1846, 0.2315);
+    if (index == 4) return vec3(0.0484, 0.1486, 0.3083);
+    if (index == 5) return vec3(0.0, 0.0016, 0.3233);
+    if (index == 6) return vec3(0.1974, 0.2537, 0.5113);
+    if (index == 7) return vec3(0.0, 0.0333, 0.3233);
+    if (index == 8) return vec3(0.0, 0.0637, 0.5113);
+    if (index == 9) return vec3(0.0, 0.3097, 0.3233);
+    if (index == 10) return vec3(0.2331, 0.2242, 0.2282);
+    if (index == 11) return vec3(0.0, 0.1265, 0.2331);
+}

 // Information from vertex shader
    varying vec2   vTexCoord, scrollvTexCoord;
@@ -358,8 +362,8 @@

 // Begin repaint the colour texture - Select the paint scheme from the two arrays
    int  PaintIndex = int(uPaintColScheme);
-   vec4 PaintPrimaryCol   = vec4(vec3(PRIMARY_COLOR[PaintIndex]), 1.0);
-   vec4 PaintSecondaryCol = vec4(vec3(SECONDARY_COLOR[PaintIndex]), 1.00);
+   vec4 PaintPrimaryCol   = vec4(vec3(getPrimaryColor(PaintIndex)), 1.0);
+   vec4 PaintSecondaryCol = vec4(vec3(getSecondaryColor(PaintIndex)), 1.00);

 // Calculate the mixing effect for the two paint colours, we'll run the paintMap (diffuseMapColor A) texture through the increse contrast function to get a map we can use to control the mix
    float paintmixmap = contrast(vec4(0.5, 0.8, 0.2, 1.0), diffuseMapColor.a);
diff for the NPC shader Sidewinder:

Code: Select all

--- griff_SpecGloss_Sidewinder_with_shaders.oxp/Shaders/griff_SpecGloss_Sidewinder_NPC.fragment	2025-12-28 02:48:51.741930457 +0100
+++ "griff_SpecGloss_Sidewinder_with_shaders.oxp/Shaders/griff_SpecGloss_Sidewinder_NPC copy.fragment"	2025-12-28 02:48:24.962284568 +0100
@@ -54,40 +54,45 @@
    const vec4  kEngineMisFireFlashCol = vec4(4.5947, 4.5947, 0.0, 1.0);
    const vec4 kRedExhaustGlow = vec4(2.0, 0.4, 0.0, 1.0);

-// Paint scheme colour arrays
-   vec3 PRIMARY_COLOR[16] =    vec3[](vec3(0.0243,0.0551,0.0180),
-                           vec3(0.1037,0.0,0.0038),
-                           vec3(0.1550,0.0,0.1081),
-                           vec3(0.3668,0.1114,0.0),
-                           vec3(0.3783,0.0502,0.0),
-                           vec3(0.0039,0.0404,0.0473),
-                           vec3(0.0246,0.0102,0.0337),
-                           vec3(0.1112,0.1155,0.1155),
-                           vec3(0.0090,0.1037,0.0847),
-                           vec3(0.0002,0.0466,0.1037),
-                           vec3(0.0,0.1550,0.0022),
-                           vec3(0.0,0.0633,0.1037),
-                           vec3(0.1096,0.0001,0.0),
-                           vec3(0.0005,0.0002,0.1037),
-                           vec3(0.0,0.0679,0.0150),
-                           vec3(0.2441,0.1339,0.0));
-
-   vec3 SECONDARY_COLOR[16] =   vec3[](vec3(0.0735,0.0764,0.0530),
-                              vec3(0.0759,0.0817,0.0704),
-                              vec3(0.0144,0.0006,0.0930),
-                              vec3(0.0487,0.0663,0.0511),
-                              vec3(0.0388,0.0764,0.0528),
-                              vec3(0.0,0.0615,0.0548),
-                              vec3(0.0394,0.0394,0.0394),
-                              vec3(0.0525,0.0087,0.0095),
-                              vec3(0.1038,0.1180,0.1176),
-                              vec3(0.0,0.0,0.0817),
-                              vec3(0.7432,0.0601,0.0),
-                              vec3(0.0423,0.0651,0.0712),
-                              vec3(0.0764,0.0,0.0),
-                              vec3(0.0083,0.0030,0.0712),
-                              vec3(0.0,0.0443,0.0042),
-                              vec3(0.3510,0.0843,0.0));
+// Paint scheme colour functions
+
+    vec3 getPrimaryColor(int index) {
+        if (index == 0) return vec3(0.0243,0.0551,0.0180);
+        if (index == 1) return vec3(0.1037,0.0,0.0038);
+        if (index == 2) return vec3(0.1550,0.0,0.1081);
+        if (index == 3) return vec3(0.3668,0.1114,0.0);
+        if (index == 4) return vec3(0.3783,0.0502,0.0);
+        if (index == 5) return vec3(0.0039,0.0404,0.0473);
+        if (index == 6) return vec3(0.0246,0.0102,0.0337);
+        if (index == 7) return vec3(0.1112,0.1155,0.1155);
+        if (index == 8) return vec3(0.0090,0.1037,0.0847);
+        if (index == 9) return vec3(0.0002,0.0466,0.1037);
+        if (index == 10) return vec3(0.0,0.1550,0.0022);
+        if (index == 11) return vec3(0.0,0.0633,0.1037);
+        if (index == 12) return vec3(0.1096,0.0001,0.0);
+        if (index == 13) return vec3(0.0005,0.0002,0.1037);
+        if (index == 14) return vec3(0.0,0.0679,0.0150);
+        if (index == 15) return vec3(0.2441,0.1339,0.0);
+    }
+
+    vec3 getSecondaryColor(int index) {
+        if (index == 0) return vec3(0.0735,0.0764,0.0530);
+        if (index == 1) return vec3(0.0759,0.0817,0.0704);
+        if (index == 2) return vec3(0.0144,0.0006,0.0930);
+        if (index == 3) return vec3(0.0487,0.0663,0.0511);
+        if (index == 4) return vec3(0.0388,0.0764,0.0528);
+        if (index == 5) return vec3(0.0,0.0615,0.0548);
+        if (index == 6) return vec3(0.0394,0.0394,0.0394);
+        if (index == 7) return vec3(0.0525,0.0087,0.0095);
+        if (index == 8) return vec3(0.1038,0.1180,0.1176);
+        if (index == 9) return vec3(0.0,0.0,0.0817);
+        if (index == 10) return vec3(0.7432,0.0601,0.0);
+        if (index == 11) return vec3(0.0423,0.0651,0.0712);
+        if (index == 12) return vec3(0.0764,0.0,0.0);
+        if (index == 13) return vec3(0.0083,0.0030,0.0712);
+        if (index == 14) return vec3(0.0,0.0443,0.0042);
+        if (index == 15) return vec3(0.3510,0.0843,0.0);
+    }

 // all the lighting code taken from Oolite's default fragment shader
    float diffuseOrenNayar(vec3 lightVector, vec3 eyeVector, vec3 normal, float gloss, float albedoFactor)
@@ -303,8 +308,8 @@

 // Begin repainting the colour texture - select the paint scheme from the two color scheme arrays
    int uPaintIndex = int(uPaintColScheme);
-   vec4 PaintPrimaryCol = vec4(vec3(PRIMARY_COLOR[uPaintIndex]), 1.0);   // the base hull colour
-   vec4 PaintSecondaryCol = vec4(vec3(SECONDARY_COLOR[uPaintIndex]), 1.00);// the overlayed painted stripes colour
+   vec4 PaintPrimaryCol = vec4(vec3(getPrimaryColor(uPaintIndex)), 1.0);   // the base hull colour
+   vec4 PaintSecondaryCol = vec4(vec3(getSecondaryColor(uPaintIndex)), 1.00);// the overlayed painted stripes colour

 // Mix the base paint layer and the overlayed second paint layer together
    vec4 paintlayer  = mix(PaintSecondaryCol, PaintPrimaryCol, PaintMask.x);
diff for the player shader Sidewinder:

Code: Select all

--- griff_SpecGloss_Sidewinder_with_shaders.oxp/Shaders/griff_SpecGloss_Sidewinder_PLAYER.fragment	2025-12-28 02:48:58.984915495 +0100
+++ "griff_SpecGloss_Sidewinder_with_shaders.oxp/Shaders/griff_SpecGloss_Sidewinder_PLAYER copy.fragment"	2025-12-28 02:48:18.409237853 +0100
@@ -53,40 +53,45 @@
    const vec4 kBareMetalSpecCol = vec4(0.0301, 0.0214, 0.0106, 1.0);  //blueish = 0.0201, 0.0301, 0.0296, 1.0)
    const vec4 kPaintUndercoatColor = vec4(0.0031, 0.0078, 0.0133, 1.0); // a dark grey/blue 'undercoat' colour

-// Paint scheme colour arrays
-   vec3 PRIMARY_COLOR[16] = vec3[](vec3(0.0243,0.0551,0.0180),
-                vec3(0.1037,0.0,0.0038),
-                vec3(0.1550,0.0,0.1081),
-                vec3(0.3668,0.1114,0.0),
-                vec3(0.3783,0.0502,0.0),
-                vec3(0.0039,0.0404,0.0473),
-                vec3(0.0246,0.0102,0.0337),
-                vec3(0.1112,0.1155,0.1155),
-                vec3(0.0090,0.1037,0.0847),
-                vec3(0.0002,0.0466,0.1037),
-                vec3(0.0,0.1550,0.0022),
-                vec3(0.0,0.0633,0.1037),
-                vec3(0.1096,0.0001,0.0),
-                vec3(0.0005,0.0002,0.1037),
-                vec3(0.0,0.0679,0.0150),
-                vec3(0.2441,0.1339,0.0));
-
-   vec3 SECONDARY_COLOR[16] = vec3[](vec3(0.0735,0.0764,0.0530),
-                  vec3(0.0759,0.0817,0.0704),
-                  vec3(0.0144,0.0006,0.0930),
-                  vec3(0.0487,0.0663,0.0511),
-                  vec3(0.0388,0.0764,0.0528),
-                  vec3(0.0,0.0615,0.0548),
-                  vec3(0.0394,0.0394,0.0394),
-                  vec3(0.0525,0.0087,0.0095),
-                  vec3(0.1038,0.1180,0.1176),
-                  vec3(0.0,0.0,0.0817),
-                  vec3(0.7432,0.0601,0.0),
-                  vec3(0.0423,0.0651,0.0712),
-                  vec3(0.0764,0.0,0.0),
-                  vec3(0.0083,0.0030,0.0712),
-                  vec3(0.0,0.0443,0.0042),
-                  vec3(0.3510,0.0843,0.0));
+// Paint scheme colour functions
+
+    vec3 getPrimaryColor(int index) {
+        if (index == 0) return vec3(0.0243,0.0551,0.0180);
+        if (index == 1) return vec3(0.1037,0.0,0.0038);
+        if (index == 2) return vec3(0.1550,0.0,0.1081);
+        if (index == 3) return vec3(0.3668,0.1114,0.0);
+        if (index == 4) return vec3(0.3783,0.0502,0.0);
+        if (index == 5) return vec3(0.0039,0.0404,0.0473);
+        if (index == 6) return vec3(0.0246,0.0102,0.0337);
+        if (index == 7) return vec3(0.1112,0.1155,0.1155);
+        if (index == 8) return vec3(0.0090,0.1037,0.0847);
+        if (index == 9) return vec3(0.0002,0.0466,0.1037);
+        if (index == 10) return vec3(0.0,0.1550,0.0022);
+        if (index == 11) return vec3(0.0,0.0633,0.1037);
+        if (index == 12) return vec3(0.1096,0.0001,0.0);
+        if (index == 13) return vec3(0.0005,0.0002,0.1037);
+        if (index == 14) return vec3(0.0,0.0679,0.0150);
+        if (index == 15) return vec3(0.2441,0.1339,0.0);
+    }
+
+    vec3 getSecondaryColor(int index) {
+        if (index == 0) return vec3(0.0735,0.0764,0.0530);
+        if (index == 1) return vec3(0.0759,0.0817,0.0704);
+        if (index == 2) return vec3(0.0144,0.0006,0.0930);
+        if (index == 3) return vec3(0.0487,0.0663,0.0511);
+        if (index == 4) return vec3(0.0388,0.0764,0.0528);
+        if (index == 5) return vec3(0.0,0.0615,0.0548);
+        if (index == 6) return vec3(0.0394,0.0394,0.0394);
+        if (index == 7) return vec3(0.0525,0.0087,0.0095);
+        if (index == 8) return vec3(0.1038,0.1180,0.1176);
+        if (index == 9) return vec3(0.0,0.0,0.0817);
+        if (index == 10) return vec3(0.7432,0.0601,0.0);
+        if (index == 11) return vec3(0.0423,0.0651,0.0712);
+        if (index == 12) return vec3(0.0764,0.0,0.0);
+        if (index == 13) return vec3(0.0083,0.0030,0.0712);
+        if (index == 14) return vec3(0.0,0.0443,0.0042);
+        if (index == 15) return vec3(0.3510,0.0843,0.0);
+    }

 // all the lighting code taken from Oolite's default fragment shader
    float diffuseOrenNayar(vec3 lightVector, vec3 eyeVector, vec3 normal, float gloss, float albedoFactor)
@@ -295,8 +300,8 @@

 // Begin repainting the colour texture - select the paint scheme from the two color scheme arrays
    int uPaintIndex = int(uPaintColScheme);
-   vec4 PaintPrimaryCol = vec4(vec3(PRIMARY_COLOR[uPaintIndex]), 1.0);   // the base hull colour
-   vec4 PaintSecondaryCol = vec4(vec3(SECONDARY_COLOR[uPaintIndex]), 1.00);// the overlayed painted stripes colour
+   vec4 PaintPrimaryCol = vec4(vec3(getPrimaryColor(uPaintIndex)), 1.0);   // the base hull colour
+   vec4 PaintSecondaryCol = vec4(vec3(getSecondaryColor(uPaintIndex)), 1.00);// the overlayed painted stripes colour

 // Mix the base paint layer and the overlayed second paint layer together
    vec4 paintlayer  = mix(PaintSecondaryCol, PaintPrimaryCol, PaintMask.x);
It escapes me why apparently this only seems to be an issue for me, I assume it's some system / GPU compiler specific behaviour.

The alternative to these shader fixes would be to explicitly compile Oolite shaders for GLSL version 1.20 by default (which would still be OpenGL 2, so presumably compatibility issues should be small). Basically after OOShaderMaterial.m#L128 we would put something like this:

Code: Select all

if (macroString != nil)
{
    macroString = [@"#version 120\n" stringByAppendingString:macroString];
}
else
{
    macroString = @"#version 120\n\n";
}
That seems to work too. I tried 330 as well, but for that there immediatly appear issues with other shader code.
User avatar
Cholmondely
Archivist
Archivist
Posts: 6545
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: griff SpecGloss ships

Post by Cholmondely »

tsoj wrote: Sun Dec 28, 2025 2:03 am
bizarre gubbins
Welcome back!

How was Xmas?

Any exciting plans for the 2026? There was a great article in the Economist describing how German cities revert to chaos over the New Year with fireworks combusting everything that cannot escape and roving bands of drunken thugs laying to waste to all around them.

The highlight over here in Blighty is up in Stonehaven, with chaps running through the streets down to the harbour swinging massive balls of flaming tar around their heads (attached to chains).
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
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1587
Joined: Thu Aug 27, 2015 4:24 pm

Re: griff SpecGloss ships

Post by cbr »

tsoj wrote: Sun Dec 28, 2025 2:03 am

It escapes me why apparently this only seems to be an issue for me, I assume it's some system / GPU compiler specific behaviour.
Not only you... :wink:
User avatar
tsoj
Deadly
Deadly
Posts: 202
Joined: Wed May 18, 2016 8:19 pm
Location: Berlin
Contact:

Re: griff SpecGloss ships

Post by tsoj »

Cholmondely wrote: Sun Dec 28, 2025 11:46 am

Welcome back!

How was Xmas?
...
Nice, thanks!

For the new year we'll stay in Berlin this time. In our part of the city it's usually rather calm, as far as "calm" can be used for New Year's fireworks.
Post Reply