Emberveil sourcetests/CyanWelcomeRenderCheck.java
import java.io.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import com.rs2.Constants;
public final class CyanWelcomeRenderCheck {
public static void main(String[] args)throws Exception {
try(RandomAccessFile dat=new RandomAccessFile("runtime/ammunition-stage/cache/main_file_cache.dat","r");RandomAccessFile idx=new RandomAccessFile("runtime/ammunition-stage/cache/main_file_cache.idx0","r")) {
TextDrawingArea font=new TextDrawingArea(false,"p12_full",new StreamLoader(new Decompressor(dat,idx,1).decompress(1)));
String[] lines={Constants.welcomeMessage(),Constants.adventureWelcomeMessages()[0],Constants.adventureWelcomeMessages()[1]};
int[] pixels=new int[479*60];java.util.Arrays.fill(pixels,0x1a1a15);DrawingArea.initDrawingArea(60,479,pixels);
for(int i=0;i<3;i++){if(font.getTextWidth(lines[i])>465)throw new AssertionError("Welcome line too wide");font.textLeftShadow(true,5,0xffffff,lines[i],16+i*18);}
int cyan=0;for(int pixel:pixels)if(pixel==0x00ffff)cyan++;if(cyan<100)throw new AssertionError("Cyan not rendered");
BufferedImage image=new BufferedImage(479,60,BufferedImage.TYPE_INT_RGB);image.setRGB(0,0,479,60,pixels,0,479);ImageIO.write(image,"png",new File("runtime/cyan-welcome-preview.png"));
}
System.out.println("PASS all welcome lines fit classic chat width and render cyan");
}
}