示例#1
0
FontSurface *FontSurface::createFontSurface(NeverhoodEngine *vm, uint32 fileHash) {
	FontSurface *fontSurface;
	DataResource fontData(vm);
	SpriteResource fontSprite(vm);
	fontData.load(calcHash("asRecFont"));
	uint16 numRows = fontData.getPoint(calcHash("meNumRows")).x;
	uint16 firstChar = fontData.getPoint(calcHash("meFirstChar")).x;
	uint16 charWidth = fontData.getPoint(calcHash("meCharWidth")).x;
	uint16 charHeight = fontData.getPoint(calcHash("meCharHeight")).x;
	NPointArray *tracking = fontData.getPointArray(calcHash("meTracking"));
	fontSprite.load(fileHash, true);
	fontSurface = new FontSurface(vm, tracking, 16, numRows, firstChar, charWidth, charHeight);
	fontSurface->drawSpriteResourceEx(fontSprite, false, false, 0, 0);
	return fontSurface;
}
示例#2
0
void pasteString (char * theText, int xOff, int y, spritePalette & thePal) {
	sprite * mySprite;
	int a = 0;
    uint32_t c;

	if (! fontTableSize) return;

	xOff += (int)((float)(fontSpace >> 1) / cameraZoom);
	while (theText[a]) {
        c = u8_nextchar(theText, &a);
		mySprite = & theFont.sprites[fontInTable(c)];
		fontSprite (xOff, y, * mySprite, thePal);
		xOff += (int)((double)(mySprite -> width + fontSpace) / cameraZoom);
	}
}
示例#3
0
void flipFontSprite (int x, int y, sprite & single, const spritePalette & fontPal) {
	fontSprite (true, x, y, single, fontPal);
}
示例#4
0
void fontSprite (int x, int y, sprite & single, const spritePalette & fontPal) {
	fontSprite (false, x, y, single, fontPal);
}