• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Is there a max allowed size for a BMP used in a gauge?

Messages
137
Country
us-southcarolina
In reference to a heading tape or a ladder BMP is there a maximum pixel dimension size allowed by fsx ?
I know that long tapes or ladders can be done in chunks but is there a max size allowed or is there a optimum size when creating large tapes or ladders ?

Thanks
Joel
 
My "weather radar" bitmaps are 400x1900 pixel in size and display fine in FSX.



(Before you go out and create really large bitmaps, note that larger gauge bitmaps also mean more memory consumption.)
 
Before you go out and create really large bitmaps, note that larger gauge bitmaps also mean more memory consumption

Thanks for the reply,
I figured there was a trade off just didn't know if there was a numerical limit on size. These are tapes so they are only 30px tall but could span as much as 13k wide.

If I work at the conformal scale i would like to, the length could easily be 13kpx wide. Could you actually load a map that wide ? I could break it into 4 chunks @ 3.25k ea or 8 chunks @ but could be in approx 1500px chunks.
there is a lot of compound movement going to be applied to this so i would love to be able to work with a single piece if i can actually load a bmp that wide, but at any rate i would want to keep it in a few pieces as posiable to cut down on the extra code and CPU time to process all the pieces individually.

So if i can't work with a single piece, my next question would be ... do all gauge maps load at start up or are they loaded/dumped as needed like scenery ? So do un-unsed chunks take up mem space even if never seen ? These are all 8bit indexed BMPs, and whether a single map or pieces when it's all added up it's only 360k px which is nothing.

Also, I am debating on whether or not to write this as polygon lines but I've haven't been able to find much in the way of FS9 xml schema documentation for drawing polygon lines and all the rest of the project is in FS9 schema, FSX schema is just way to wordy for me to deal with. I have also been told the all vector/polygon shapes are drawn at startup and stored in mem as rasterized shapes so there is no memory savings ? Is this right ?

Joel
 
Are there no repeats on that tape? You have 13k pixels of unique information?
 
Are there no repeats on that tape? You have 13k pixels of unique information?

Yes, if i make it as 1 single tape there would be a few repeats on the ends for over lap looping but that 13k figure is accounting (estimation at this point) for that. At my screen width (1920px and a FOVy of 34deg there would be an estimated 31.4 px / deg = 360 x 31.4 = ~11304px for a and change for a conformal tape, needing a 659 px overlap for covering the width of the HUD window on each end. So i guess it's closer to 12.5k. Now that's what i would like to do if posiable but could do 1/2 or 1/4 that if the other just won't work or is a load.

Joel
 
Thus far the longest tape I've created is 18,806 x 62 pix. No problems using it at all! It is 8bit-Indexed and is 1,177 KB.

It is an altitude 'tape' for a G1000 PFD, ranging from -2,000 to 40,500' in 100' increments.
 
Thus far the longest tape I've created is 18,806 x 62 pix.

Bill,

Great, That will simplify things a lot on the coding end.

I've done a log tape in 3 parts. With that structure you can always "connect" the next piece off screen so the transition between sections is seamless. So then making a single tape that has to "loop", at some point your going to have to jump from one end to the other on screen. Is that a visible jump? if so are there any tricks to minimizing it ?

I will need to use <non linearity> in order to keep the tape confromal. with multi piece setups there is overlap of ranges covered in <non linearity>. so with a single tape do you just start with "0" and work you way to "360" or back to "0". So i assume the "jump will allways occur at "0" ?

thanks

Joel
 
One example of a "looped" tape rotation is this for an altimeter's digit drum. Note the Minimum and Maximum entries, and the starting position of zero. The sim will automatically smooth the transition between 9 and 0 for us:

Code:
    <Element>
        <Position X="0" Y="0"/>
        <MaskImage Name="C310_Altimeter_DigitsMask.bmp">
            <Axis X="172" Y="80"/>
        </MaskImage>
        <Image Name="C310_Altimeter_Digits.bmp">
            <Axis X="0" Y="0"/>
        </Image>
        <Shift>
            <Value Minimum="0" Maximum="9">
                0
            </Value>
            <Scale Y="-45"/>
        </Shift>
    </Element>
 
One example of a "looped" tape rotation is this for an altimeter's digit drum. Note the Minimum and Maximum entries, and the starting position of zero. The sim will automatically smooth the transition between 9 and 0 for us:

Code:
    <Element>
        <Position X="0" Y="0"/>
        <MaskImage Name="C310_Altimeter_DigitsMask.bmp">
            <Axis X="172" Y="80"/>
        </MaskImage>
        <Image Name="C310_Altimeter_Digits.bmp">
            <Axis X="0" Y="0"/>
        </Image>
        <Shift>
            <Value Minimum="0" Maximum="9">
                0
            </Value>
            <Scale Y="-45"/>
        </Shift>
    </Element>

Bill
I thought scale is a multiplier? In this example the scale="-45" is it the total deflection of the tape from 0 to? if it's a multiplier that's a lot of pixels for a digit drum , no ? Am i missing something ?

So by what you said if my last nonlinearity entry is for value=350 (in deg) X= blah Y=blahblah , FSX will figure out the rest back to "0" or do I have to have another "0" entry... OR do I have to use the value min/max statement to get a loop like you showed ?

Joel
 
Last edited:
Bill
I thought scale is a multiplier? In this example the scale="-45" is it the total deflection of the tape from 0 to? if it's a multiplier that's a lot of pixels for a digit drum , no ? Am i missing something ?
In this instance I'm using a simple <Shift> based on pixel movement. The "tape" is 450 x 32 pixels. The scalar of -45 simply divides the tape into 45 x 32 pixel 'blocks'. The minus sign indicates top to bottom movement.

I posted a non-moving digit script above. My bad! The <Value> 0 </Value> is the entry that locks the digit to zero, and is used for the 1's and 10's of feet digits. :confused:

This is a script for the 100's digit which rotates smoothly from 0 to 9 and repeats ad infinitum:

Code:
    <Element>
        <Position X="0" Y="0"/>
        <MaskImage Name="C310_Altimeter_DigitsMask.bmp">
            <Axis X="128" Y="80"/>
        </MaskImage>
        <Image Name="C310_Altimeter_Digits.bmp">
            <Axis X="0" Y="0"/>
        </Image>
        <Shift>
            <Value Minimum="0" Maximum="9">
                (A:INDICATED ALTITUDE, feet) abs 99999 min 0 max 1000 % 100 / flr
            </Value>
            <Scale Y="-45"/>
        </Shift>
    </Element>
vom58.png
 
Back
Top