Comme l'indique le titre je voudrai pouvoir émuler du 320*240 avec du 800*600 (voire plus). J'ai tout essayé : ZoomSprite3D(), images redimensionnées à la volée, etc...
Le seul truc qui rend pas trop mal c'est d'utiliser ResizeImage(), sauf que ça bouffe beaucoup trop de temps processeur. Pour le moment je fait, en gros, ça :
Code : Tout sélectionner
#ZOOM = 2.5 ; 800/320 ou 600/240
#SCREEN_WIDTH = 320*#ZOOM
#SCREEN_HEIGHT = 240*#ZOOM
[...]
Procedure ResizeAndDisplayScreen()
If StartDrawing(ScreenOutput())
GrabDrawingImage(#Image_temp, 0, 0, #SCREEN_WIDTH/#ZOOM, #SCREEN_HEIGHT/#ZOOM)
ResizeImage(#Image_temp, #SCREEN_WIDTH, #SCREEN_HEIGHT)
DrawImage(ImageID(#Image_temp), 0, 0)
StopDrawing()
EndIf
FlipBuffers()
EndProcedure
Y'a-t-il un autre moyen qui rend pas trop mal et qui ne bouffe pas autant de mémoire ?
Edit : Bizarrement ce code va un peu plus vite et donne exactement le même rendu :
Code : Tout sélectionner
Procedure ResizeAndDisplayScreen()
If StartDrawing(ScreenOutput())
GrabDrawingImage(#Image_temp, 0, 0, #SCREEN_WIDTH/#ZOOM, #SCREEN_HEIGHT/#ZOOM)
DrawImage(ImageID(#Image_temp), 0, 0, #SCREEN_WIDTH, #SCREEN_HEIGHT)
StopDrawing()
EndIf
FlipBuffers()
EndProcedure