Override an old Ground polygon

Hello all
i'm working on an update to an airport that has a Ground polygon
the GP has been made by someone and he probably compiled it with SCASM as he used MCX for that and he used the fsx format
so my update now works with PBR materials and i wanna get my GP to be on top of his GP
you might ask why don't i just delete his GP and make mine from scratch, well because the update is just adding 2 new terminals and no need to remake the entire airport as it is big enough

here is a picture of what i'm getting when i set the layers in GPW from 50 and down
2019-7-4_23-55-31-633.png


i wanna my GP to get in top
hope i can find some help

thnx in advance :)
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Hi,

I think this will be quite hard. You could try to use higher layer numbers than the original ground polygon, so that they show on top. But not sure how well this works when mixing MDL and SCASM ground polygons.

Another option if the original ground polygons are grouped in different groups, is to exclude the groups in the area you are working on and make new ground polygons for these locations.
 
I wont touch the original file i just want a layer in top of it

But i selected 50 as layer for my GP as it is the highest layer in PBR docs

However excluding might work, can do that using a simple exclude scenery object bgl ?
 
Import the bgl in MCX. Go to the material editor and identify the material you want to change. Then replace it with your own and add your PBR stuff to the material settings.
Export your object as a P3Dv4 mdl.
Then go to the GPW and export as a P3Dv4 GP.bgl.
That should work as I have done it lots of times.

PS: make sure that your reference point is still the same.
PS2: Once MCX has turned it into a mdl or bgl with the P3D SDK tools, there is no scasm involved any longer.
 
hey @arno
i set my layers to 65 and 64 (MAX i can get with MCX)
and it still not on top
i managed to decomplie the scasm but didn't find anything about layers in it
EDIT : i found somethig called layer call but still can't understand it as it is not an int : LayerCall( :L000054D4 0 )

this is one of the Areas that are in the code, is there a way to get the layers or the objects from it ?
Code:
Area( C N36:42:43.49 E3:14:59.33 50 )
    LayerCall( :L000054D4 0 )
    Jump32( :L00005760 )
:L000054D4
    Call32( :L000054FE )
    RefPoint( 7 :L000054FA 1.000000 S0:0:0.00 W0:0:0.00 v1= 0 v2= 0 )
:L000054FA
    Return
:L000054FC
    Return
:L000054FE
    RefPoint( 7 :L000054FC 1.000000 N36:42:43.52 E3:14:59.33 v1= 10000 v2= 107 )
    BGLVersion( 2048 )
    MaterialList( 0
        1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000
    )
    TextureList( 0
        5 00 128 128 128 0 1000.000000 "ALG_X_ASPHALT2.BMP"
    )
    VertexList( 0
        88.392601 0.009400 11.663900 0.000000 1.000000 0.000000 0.000000 0.000000
        52.037998 0.009500 59.355701 0.000000 1.000000 0.000000 1.000000 0.000000
        5.229000 0.010000 23.846100 0.000000 1.000000 0.000000 1.000000 1.000000
        41.580502 0.009800 -23.846001 0.000000 1.000000 0.000000 0.000000 1.000000
        41.580502 0.009800 -23.846001 0.000000 1.000000 0.000000 0.000000 0.000000
        5.229000 0.010000 23.846100 0.000000 1.000000 0.000000 1.000000 0.000000
        -41.579899 0.009900 -11.663300 0.000000 1.000000 0.000000 1.000000 1.000000
        -5.229000 0.009700 -59.355499 0.000000 1.000000 0.000000 0.000000 1.000000
        -5.229000 0.009700 -59.355499 0.000000 1.000000 0.000000 0.000000 0.000000
        -41.579899 0.009900 -11.663300 0.000000 1.000000 0.000000 1.000000 0.000000
        -88.393204 0.009200 -47.172401 0.000000 1.000000 0.000000 1.000000 1.000000
    )
    SetMaterial( 0 0 )
    DrawTriList( 0
        0 1 2
        2 3 0
        4 5 6
        6 7 4
        8 9 10
    )
    EndVersion
    Return
:L00005760
EndA

Import the bgl in MCX. Go to the material editor and identify the material you want to change. Then replace it with your own and add your PBR stuff to the material settings.
Export your object as a P3Dv4 mdl.
Then go to the GPW and export as a P3Dv4 GP.bgl.
That should work as I have done it lots of times.

PS: make sure that your reference point is still the same.
PS2: Once MCX has turned it into a mdl or bgl with the P3D SDK tools, there is no scasm involved any longer.
how can i use the GPW with all those groups of objects, as the guy has exported the layers in groups ?
 
Hi
I imported the GP in MCX and edited every mdl (time killer) and turned them all to PBR materials, Z-BIAS (decal order) = 0then exported using the export scenery button
remade my GP and set the Z-BIAS to 49 and 50 and even tried the negatives (the highest layer in P3D) but still not on top o_O, no logic at all

2019-7-6_2-49-26-79.png


(the hard plastic area must get on top of that taxiway)
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Hi,

With the ZBias you can control the polygon order within one object. I'm not sure if it also works well between different objects, like we could do with the old layers. Might be that things like reference point location than also influence the drawing order.
 
I know that we can merge objects in MCX and set an offset
Is it possible to set that offset using coordinates
Can i do that with the coordinates convertor ?
Maybe i have to merge the objects
 
Yes, you would have to.
No offset.
Just add your own layer to some material texture that you have changed to your own texture and make sure it comes on top (Z bias more negative).
 
i didn't change only the textures, i made new Ground polies, complete new models but not for the entire airport
 
Then just compile only your own GP's that you made plus your own textures and make a new GP.bgl while making sure that your layers come on top.
If you do not find a solution then, perhaps, it would be nice to send your ADE file!
 
i tried that but it doesn't work
i got a solution but still didn't complete it
i 'm importing all the old GPs and converting every material to PBR and exporting the BGL as 4.4
then i'm adding my GP
this has to work but still working on it right now
 
But what about the Z bias of the old GP's? You have to change them as well and only then add your separate extra_GP.bgl with a Z bias that is more negative than the old GP's!
Have you merged the previous models?
 
no i didn't and thier Zbias is 0 and mine is -50 and still not work, but they have scasm bgl so i'm converting them all to P3D v4.4 and i'll test in few minutes
 
i tested, everything is going crazy, everything is flickering, i think i must rework all the Zbias of the OLD and the new GPs
this will take ages but i'll dit :(
 
Yes, you will have to first change the Z bias of all those OLD GP's before you add an extra GP.bgl with your own textures and layers.
But that should not take ages!???
 
Hello I think I found the solution

by looking again at the DOCs and some P3D logic
I found those things :
-Standard poly cant be covered by PBR poly
-Z-bias is from -1 to -50 for standard material
-Decal-order must be from 1 to 50 unlike the Z-BIAS that has negative values (in MCX it is still called Z-BIAS)
-New GP must have higher Decal order than the OLD one
-For the files, they must be layer-named ex : OldGP_01.BGL OldGP_02.BGL..... ZZ_NewGP.BGL (using ZZ ensure that the file will be loaded after)
the naming rule is only needed if the old GP and the new are in the same folder, but using a new folder for the new is much better


Yes, you will have to first change the Z bias of all those OLD GP's before you add an extra GP.bgl with your own textures and layers.
But that should not take ages!???
it takes ages cus the old GP is devided in many many manyyyyy objects (i think every 500m) and every object has it own materials and every material has diffrent decal order and there are many GP files not just one o_O:eek:
 
Top