I have changed all images to 72dpi density where necessary.
All images in PNG-format have been changed to JPEG, in order to get smaller file size and thus faster loading?
The code is adapted where necessary.
The folder and the zipped folder are updated.
Now about sprites. It seems that you are creating small "home" sprite as large as a map?
If it is so then although it works, but it is not the way sprites are intended to work.
In this case, sprite should be small animating circle. And it should be placed at desired point. If point changes - this sprite should not be redrawn but just placed in another place.
I use the "Home" sprite as an additional graphics layer, in which also the 'moving' line to the chosen city is drawn.
The sprite "city" could be eliminated and drawn in the "Home" layer. I will do/try that.
Furthermore, the circles of "Home" and "city" and the connecting line are frequently redrawn, in order to draw attention by some form of motion.
It would be easier if the BEGIN, END, SHOW and HIDE statements would not be necessary for an additional graphics layer.
E,g. the commands like GRAPHICS "Main" and GRAPHICS "Overlay" should be sufficient for switching between the 'static' image and an overlay (or more) where dynamic graphics are drawn. The generation of these layers could be done identically to sprites, in fact they are sprites, but with simpler access.
Initially it was planned that each sprite could be edited at any moment, like graphics layer.
But it seems that I forgot to make it like that, and made them non-editable. This should be definitely corrected.
In upcoming version 3.4 I have updated SPRITE BEGIN command.
Now it will allow editing of existing sprites, exactly as drawable graphics layers. Main graphics window also will be visible when editing any sprite. Moreover, even multi-frame sprites will be editable! You can just set any frame and edit it.
graphics
'load sprite from sprite sheet
sprite 0 load "smurf4x4.png",4,4
'edit every frame of the sprite
for i=0 to 15
sprite 0 frame i 'set frame
sprite 0 begin 'begin editing
draw text i at 0,0 'write frame number on sprite
sprite 0 end 'end editing
next i
'animate sprite
sprite 0 show
sprite 0 loop
0 goto 0
At first multi-frame sprite is loaded from sprite sheet.
Then each frame of this sprite is edited: frame number is written on each frame.
Then sprite is animated.