Jump to content

Home

Text Output in HUD


mad mapper

Recommended Posts

Posted

Hello,

 

i added a PERSISTANT variable.

The Scores are shown in MP in the lower right like that:

"Scores: 15"

 

I want to show the Variable I added in the lower left, so I edited the hud.menu in the ui Folder:

 

menuDef 
{
	name					"lefthud"
	fullScreen				0						// MENU_FALSE
	rect					0 368 112 112				// Size and position of the menu
	visible				1						// Visible on open


	// Tells current credits of game*****************************************************
	itemDef       
	{
		name				credit_line
		forecolor			1 1 1 1
		rect				20 20 6 12				// (these positions are relative to the initial position of the menu) 
											// X pos, Y pos, char size, char height
	}
[...]

 

Afterwards I added this code to CG_DrawHud

const char *creditStr = NULL;
creditStr = va("Credits: %i", cg.snap->ps.persistant[PERS_CREDITS]);
focusItem = Menu_FindItemByName(menuHUD, "credit_line");
		if (focusItem)
		{
			UI_DrawScaledProportionalString(
				focusItem->window.rect.x, 
				focusItem->window.rect.y, 
				creditStr, 
				UI_RIGHT|UI_DROPSHADOW, 
				focusItem->window.foreColor, 
				0.7);
		}

 

It doesn't work. But if I type this:

char *creditStr = "Credits: ";

It works. I really don't know why.

Posted

I think the bug is there because of the Output function because when I try this code

creditStr = va("%s: %i", "Credits", 0);
focusItem = Menu_FindItemByName(menuHUD, "credit_line");
		if (focusItem)
		{
			UI_DrawScaledProportionalString(
				focusItem->window.rect.x, 
				focusItem->window.rect.y, 
				creditStr, 
				UI_RIGHT|UI_DROPSHADOW, 
				focusItem->window.foreColor, 
				0.7);
		}

 

nothing happens as well

Posted

Well,

const char *creditStr is no static variable but a pointer.

 

Look into the source of CG_DrawMenu. They use const char *scoreStr = va (...)

to print the scores into an AnsiString

 

Afterwards the output is made with CG_DrawProportionalString (...)

Posted

Yeah, but you're using two constant values for inputs onto the va. I beleive the easiest way to check this is to see what's in creditStr before the UI_DrawScaledProportionalString is called.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...