Don't know if the d3d/refresh flags are still supported in the engine? Anyways I tried something like this and the results are very strange. Not the pixalation, but the image repeats and doesn't grow/shrink with the window.

C-Script Code:
PANEL gfx_panel { bmap = "gfx.bmp"; flags = d3d, refresh, filter, visible; }

function another_mode1()
{
video_set(800,600,0,0);
}
function another_mode2()
{
video_set(1024,768,0,0); // original size of image
}
function another_mode3()
{
video_set(1680,1050,0,0); // max resolution on my monitor
}

function main()
{
fps_max = 60;

video_set(1024,768,32,1);

while(1)
{
gfx_panel.scale_x = screen_size.x;
gfx_panel.scale_y = screen_size.y;
wait(1);
}
}

on_1=another_mode1;
on_2=another_mode2;
on_3=another_mode3;


Lite-C Code:
#include <acknex.h>
#include <default.c>

PANEL* gfx_panel = { bmap = "gfx.bmp"; flags = VISIBLE; }

function another_mode1()
{
video_set(800,600,0,0);
}
function another_mode2()
{
video_set(1024,768,0,0);
}
function another_mode3()
{
video_set(1680,1050,0,0);
}

function main()
{
fps_max = 60;

video_set(1024,768,32,1);

on_1=another_mode1;
on_2=another_mode2;
on_3=another_mode3;

while(1)
{
gfx_panel.scale_x = screen_size.x; // size works, but repeats
gfx_panel.scale_y = screen_size.y; // scale gives just black
wait(1);
}
}




smile