mad mapper Posted November 18, 2004 Share 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. Link to comment Share on other sites More sharing options...
razorace Posted November 18, 2004 Share 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. Link to comment Share on other sites More sharing options...
mad mapper Posted November 18, 2004 Author Share 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 Link to comment Share on other sites More sharing options...
razorace Posted November 18, 2004 Share 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? Link to comment Share on other sites More sharing options...
mad mapper Posted November 19, 2004 Author Share Posted November 19, 2004 Sorry, alases??? Don't know what that is Link to comment Share on other sites More sharing options...
razorace Posted November 19, 2004 Share Posted November 19, 2004 Err, I've never seen va used with static varibles for input like that. Link to comment Share on other sites More sharing options...
mad mapper Posted November 20, 2004 Author Share 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 (...) Link to comment Share on other sites More sharing options...
razorace Posted November 20, 2004 Share 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.