This may not be related but why does "l: string = lines;” work, shouldn’t that be an error or at least get clipped? I’m seeing writeln prints out the entire string as if it was an ansistring.
{$mode objfpc} {$multilinestringlineending crlf} {$h+} program test; const lines = ` #version 150 uniform sampler2D textures[8]; in vec2 vertexTexCoord; in vec4 vertexColor; in float vertexUVMap; out vec4 fragColor; void main() { if (vertexUVMap == 255) { fragColor = vertexColor; } else { fragColor = texture(textures[int(vertexUVMap)], vertexTexCoord.st); if (vertexColor.a < fragColor.a) { fragColor.a = vertexColor.a; } } }`; var l: string = lines; begin writeln(l); end. Regards, Ryan Joseph _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel