Quote: "I have looked in the Segments FPE but can't find which line assigns the ceiling texture."
Quote: "As far as I'm aware from making custom segments myself, the floor texture is also the ceiling texture."
Here is an example taken from my wife's (BlueFox) SciFi Segment Pack she made a while back. "Partmode0" (floor) and "partmode17" (ceiling) are the floor and ceiling.
scifi_room_001.fps
;Created using Signs V for FPSC
;Created by: Northern Fox Media
;Segment Spec
;Header
partmax = 17
lastmeshmax = 17
;Segment Parts
partmode0 = 0
meshname0 = meshbank\ww2\france\rooms\chateau_study_room\floor_a.x
offx0 = 0
offy0 = -50
offz0 = 0
rotx0 = 0
roty0 = 0
rotz0 = 0
texture0 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Flr.png
transparency0 = 0
effect0 =
colmode0 = 1
csgmesh0 =
csgmode0 = 0
csgimmune0 = 0
lightmode0 = 0
multimeshmode0 = 1
materialindex0 = 3
partmode1 = 0
meshname1 = meshbank\ww2\france\rooms\chateau_study_room\wall_mid_a.X
offx1 = 0
offy1 = 0
offz1 = 50
rotx1 = 0
roty1 = 0
rotz1 = 0
texture1 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Int.png
transparency1 = 0
effect1 =
colmode1 = 1
csgmesh1 =
csgmode1 = 0
csgimmune1 = 0
lightmode1 = 0
multimeshmode1 = 1
materialindex1 = 3
partmode2 = 0
meshname2 = meshbank\ww2\france\rooms\chateau_study_room\corner_mid_a.X
offx2 = -50
offy2 = 0
offz2 = 50
rotx2 = 0
roty2 = 0
rotz2 = 0
texture2 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Int.png
transparency2 = 0
effect2 =
colmode2 = 1
csgmesh2 =
csgmode2 = 0
csgimmune2 = 0
lightmode2 = 0
multimeshmode2 = 0
materialindex2 = 3
partmode3 = 0
meshname3 = meshbank\ww2\france\rooms\chateau_study_room\corner_mid_a.X
offx3 = 50
offy3 = 0
offz3 = 50
rotx3 = 0
roty3 = 90
rotz3 = 0
texture3 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Int.png
transparency3 = 0
effect3 =
colmode3 = 1
csgmesh3 =
csgmode3 = 0
csgimmune3 = 0
lightmode3 = 0
multimeshmode3 = 0
materialindex3 = 3
partmode4 = 0
meshname4 = meshbank\ww2\france\rooms\chateau_study_room\wall_mid_a.X
offx4 = 50
offy4 = 0
offz4 = 0
rotx4 = 0
roty4 = 90
rotz4 = 0
texture4 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Int.png
transparency4 = 0
effect4 =
colmode4 = 1
csgmesh4 =
csgmode4 = 0
csgimmune4 = 0
lightmode4 = 0
multimeshmode4 = 1
materialindex4 = 3
partmode5 = 0
meshname5 = meshbank\ww2\france\rooms\chateau_study_room\wall_mid_a.X
offx5 = 0
offy5 = 0
offz5 = -50
rotx5 = 0
roty5 = 180
rotz5 = 0
texture5 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Int.png
transparency5 = 0
effect5 =
colmode5 = 1
csgmesh5 =
csgmode5 = 0
csgimmune5 = 0
lightmode5 = 0
multimeshmode5 = 1
materialindex5 = 3
partmode6 = 0
meshname6 = meshbank\ww2\france\rooms\chateau_study_room\wall_mid_a.X
offx6 = -50
offy6 = 0
offz6 = 0
rotx6 = 0
roty6 = 270
rotz6 = 0
texture6 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Int.png
transparency6 = 0
effect6 =
colmode6 = 1
csgmesh6 =
csgmode6 = 0
csgimmune6 = 0
lightmode6 = 0
multimeshmode6 = 1
materialindex6 = 3
partmode7 = 0
meshname7 = meshbank\ww2\france\rooms\chateau_study_room\corner_mid_a.X
offx7 = 50
offy7 = 0
offz7 = -50
rotx7 = 0
roty7 = 180
rotz7 = 0
texture7 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Int.png
transparency7 = 0
effect7 =
colmode7 = 1
csgmesh7 =
csgmode7 = 0
csgimmune7 = 0
lightmode7 = 0
multimeshmode7 = 0
materialindex7 = 3
partmode8 = 0
meshname8 = meshbank\ww2\france\rooms\chateau_study_room\corner_mid_a.x
offx8 = -50
offy8 = 0
offz8 = -50
rotx8 = 0
roty8 = 270
rotz8 = 0
texture8 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Int.png
textured8 =
texturen8 =
textures8 =
transparency8 = 0
effect8 =
colmode8 = 1
csgmesh8 =
csgmode8 = 0
csgimmune8 = 0
lightmode8 = 0
multimeshmode8 = 0
materialindex8 = 3
partmode9 = 0
meshname9 = meshbank\ww2\france\rooms\chateau_study_room\wall_mid_a.X
offx9 = 0
offy9 = 0
offz9 = 50
rotx9 = 0
roty9 = 180
rotz9 = 0
texture9 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Ext.png
transparency9 = 0
effect9 =
colmode9 = 1
csgmesh9 =
csgmode9 = 0
csgimmune9 = 0
lightmode9 = 0
multimeshmode9 = 0
materialindex9 = 3
partmode10 = 0
meshname10 = meshbank\ww2\france\rooms\chateau_study_room\wall_mid_a.x
offx10 = 50
offy10 = 0
offz10 = 0
rotx10 = 0
roty10 = 270
rotz10 = 0
texture10 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Ext.png
transparency10 = 0
effect10 =
colmode10 = 1
csgmesh10 =
csgmode10 = 0
csgimmune10 = 0
lightmode10 = 0
multimeshmode10 = 0
materialindex10 = 3
partmode11 = 0
meshname11 = meshbank\ww2\france\rooms\chateau_study_room\wall_mid_a.x
offx11 = 0
offy11 = 0
offz11 = -50
rotx11 = 0
roty11 = 0
rotz11 = 0
texture11 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Ext.png
transparency11 = 0
effect11 =
colmode11 = 1
csgmesh11 =
csgmode11 = 0
csgimmune11 = 0
lightmode11 = 0
multimeshmode11 = 0
materialindex11 = 3
partmode12 = 0
meshname12 = meshbank\ww2\france\rooms\chateau_study_room\wall_mid_a.x
offx12 = -50
offy12 = 0
offz12 = 0
rotx12 = 0
roty12 = 90
rotz12 = 0
texture12 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Ext.png
transparency12 = 0
effect12 =
colmode12 = 1
csgmesh12 =
csgmode12 = 0
csgimmune12 = 0
lightmode12 = 0
multimeshmode12 = 0
materialindex12 = 3
partmode13 = 0
meshname13 = meshbank\ww2\france\rooms\chateau_study_room\corner_mid_a.x
offx13 = 50
offy13 = 0
offz13 = -50
rotx13 = 0
roty13 = 0
rotz13 = 0
texture13 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Ext.png
transparency13 = 0
effect13 =
colmode13 = 1
csgmesh13 =
csgmode13 = 0
csgimmune13 = 0
lightmode13 = 0
multimeshmode13 = 0
materialindex13 = 3
partmode14 = 0
meshname14 = meshbank\ww2\france\rooms\chateau_study_room\corner_mid_a.x
offx14 = -50
offy14 = 0
offz14 = -50
rotx14 = 0
roty14 = 90
rotz14 = 0
texture14 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Ext.png
transparency14 = 0
effect14 =
colmode14 = 1
csgmesh14 =
csgmode14 = 0
csgimmune14 = 0
lightmode14 = 0
multimeshmode14 = 0
materialindex14 = 3
partmode15 = 0
meshname15 = meshbank\ww2\france\rooms\chateau_study_room\corner_mid_a.x
offx15 = -50
offy15 = 0
offz15 = 50
rotx15 = 0
roty15 = 180
rotz15 = 0
texture15 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Ext.png
transparency15 = 0
effect15 =
colmode15 = 1
csgmesh15 =
csgmode15 = 0
csgimmune15 = 0
lightmode15 = 0
multimeshmode15 = 0
materialindex15 = 3
partmode16 = 0
meshname16 = meshbank\ww2\france\rooms\chateau_study_room\corner_mid_a.x
offx16 = 50
offy16 = 0
offz16 = 50
rotx16 = 0
roty16 = 270
rotz16 = 0
texture16 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Ext.png
transparency16 = 0
effect16 =
colmode16 = 1
csgmesh16 =
csgmode16 = 0
csgimmune16 = 0
lightmode16 = 0
multimeshmode16 = 0
materialindex16 = 3
partmode17 = 0
meshname17 = meshbank\ww2\france\rooms\chateau_study_room\floor_a.x
offx17 = 0
offy17 = -51
offz17 = 0
rotx17 = 0
roty17 = 0
rotz17 = 0
texture17 = texturebank\BlueFox\SciFi\Pack 01\Rooms\Scifi_room_001Cel.png
transparency17 = 0
effect17 =
colmode17 = 1
csgmesh17 =
csgmode17 = 0
csgimmune17 = 1
lightmode17 = 0
multimeshmode17 = 1
materialindex17 = 1
;Segment Visibility
visoverlay = 0
visfloor = 0
visroof = -1
viswallb = 5,11
viswallr = 4,10
viswallf = 1,9
viswalll = 6,12
viscornertl = 2,15
viscornertr = 3,16
viscornerbr = 7,13
viscornerbl = 8,14
visroof = 17
;Segment Blueprint
mode = 0
symbol = 0
floorsizey = 0
sidesizex = 100
sidesizey = 100
sidesizez = 100
groundmode = 0
kindof = 0
;end
Here are the results (forgive the "Egyptian theme"):
1. Notice how the ceiling looks, and the floor- two different segment textures.
2. Here is a higher view. As you can see, the ceiling texture inside has the floor texture on the other side.
She uses Signs for making her rooms and that is what the result was for her. If Signs did not make the "partmode17" (ceiling) for her, then she added it manually so that her ceiling/floor used two different textures as shown above. In theory, you can take any segment room "fps" file and manually modify it to point to a different texture yielding the same results.

There's no problem that can't be solved without applying a little scripting.