The oddity of the v1.4 image display errors is even stranger than we may have thought. Compare the two images of Pi-in-the-Sky where the spotlight and beam are displayed. Not only are the beehive and windmill missing, but the spotlight is in the wrong place. Remember that there is nothing different in the code, only the version of QB64.
The position of the spotlight is set by two constants LampX% & LampY% which end up with incorrect values in v1.4.
The code (same in both versions) to set CONST values is from lines as follows:
CONST False
= 0, True
= NOT False
, XScreen%
= 1100, YScreen%
= 800, ZOffset%
= -620, PiConst!
= 4 * ATN(1) CONST PiSizeLess1%
= 499, PiDisp%
= 100, SunSize%%
= 500, AmblinHalf%%
= 50 CONST Zeta!
= 0.07 * PiConst!
, RBee%
= 120, CBee%
= 80, ABee!
= -4 * CBee%
/ (RBee%
* RBee%
) CONST BeeEntX%
= -350, BeeEntY%
= -250, HiveWidth%
= 1009, HiveHeight%
= 589, BWidth%
= 350, HX1%
= 0 - 50 - (XScreen%
/ 2) CONST HY1%
= 300 - (YScreen%
/ 2), HX2%
= HX1%
+ BWidth%
, HY3%
= HY1%
- (BWidth%
* HiveHeight%
/ HiveWidth%
) CONST FountX%
= -128, FountY%
= -230, G!
= 0.01, ZBow%
= ZOffset%
+ 100 CONST ZodHeight%
= 70, ZodWidth%
= ZodHeight%
* 300 / 240, ZRad!
= 12 * ZodWidth%
/ (2 * PiConst!
) 'Can't use CINT() here CONST SpotRad%
= 80, SpotInc!
= 2 * PiConst!
/ 100, LampX%
= XScreen%
- 50, LampY%
= YScreen%
- 220 CONST QB64X%
= 300, QB64Y%
= 50, UFOHalfX%
= 150, UFOHalfY%
= 60, UFORad%
= 700 CONST Iota!
= -0.23 * PiConst!
, Wind%
= 150, WindX%
= 550, WindY%
= YScreen%
- 294, WindHeight%
= 280 CONST MillBombX1%
= WindX%
+ 17, MillBombY1%
= WindY%
+ 8, SailX%
= 44, SailY%
= -154
LampX% & LampY% are set from the Screen dimesions, constants XScreen%&, YScreen% as:
CONST LampX% = XScreen% - 50, LampY% = YScreen% - 220
In v1.4 LampX% has value 1100: should be 1050. LampY% has value 800: should be 580.
What is happening is that they get values XScreen% and YScreen% respectively. The program forgets to take off the given values.
This must be some bug in v1.4?
I will continue to hunt down the differences for the beehive and windmill errors.