Nie sprawdzałem, ale powinno działać. Wystarczy raz wywołać tę funkcję:
func void EndlessNight ()
{
var int ptr; ptr = MEM_InstToPtr (MEM_SkyController);
var int skystateslist; skystateslist = MEM_ReadInt (ptr+316);
ptr = MEM_ReadIntArray (skystateslist, 4);
var int R_poly; R_poly = MEM_ReadInt (ptr+4);
var int G_poly; G_poly = MEM_ReadInt (ptr+8);
var int B_poly; B_poly = MEM_ReadInt (ptr+12);
var int R_fog; R_fog = MEM_ReadInt (ptr+16);
var int G_fog; G_fog = MEM_ReadInt (ptr+20);
var int B_fog; B_fog = MEM_ReadInt (ptr+24);
var int i; i = 0;
repeat (i, 7);
ptr = MEM_ReadIntArray (skystateslist, i);
MEM_WriteInt (ptr+4, R_poly);
MEM_WriteInt (ptr+8, G_poly);
MEM_WriteInt (ptr+12, B_poly);
MEM_WriteInt (ptr+16, R_fog);
MEM_WriteInt (ptr+20, G_fog);
MEM_WriteInt (ptr+24, B_fog);
end;
};