mad mapper Posted November 18, 2004 Posted November 18, 2004 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.
razorace Posted November 18, 2004 Posted November 18, 2004 The problem is definately with how you implimented persistant[PERS_CREDITS]);. You're going to have to detail what you did.
mad mapper Posted November 18, 2004 Author Posted November 18, 2004 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
razorace Posted November 18, 2004 Posted November 18, 2004 hmmm. Well, my guess is that va doesn't like it when you use unnessisary alases for testing like that. You got a debugger?
mad mapper Posted November 19, 2004 Author Posted November 19, 2004 Sorry, alases??? Don't know what that is
razorace Posted November 19, 2004 Posted November 19, 2004 Err, I've never seen va used with static varibles for input like that.
mad mapper Posted November 20, 2004 Author Posted November 20, 2004 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 (...)
razorace Posted November 20, 2004 Posted November 20, 2004 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.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.