/** * @brief Gets the player's standing with the faction. * * @usage if f:playerStanding() > 70 then -- Player is an ally * * @luatparam Faction f Faction to get player's standing with. * @luatreturn number The value of the standing and the human readable string. * @luafunc playerStanding( f ) */ static int factionL_playerstanding( lua_State *L ) { int f; double n; f = luaL_validfaction( L, 1 ); n = faction_getPlayer( f ); lua_pushnumber( L, n ); lua_pushstring( L, faction_getStandingText( f ) ); return 2; }
/** * @brief Updates the standings menu. */ static void standings_update( unsigned int wid, char* str ) { (void) str; int p, y; glTexture *t; int w, h, lw; char buf[128]; int m; /* Get dimensions. */ info_getDim( wid, &w, &h, &lw ); /* Get faction. */ p = toolkit_getListPos( wid, "lstStandings" ); /* Render logo. */ t = faction_logoSmall( info_factions[p] ); if (t != NULL) { window_modifyImage( wid, "imgLogo", t, 0, 0 ); y = -40; window_moveWidget( wid, "imgLogo", lw+40 + (w-(lw+60)-t->w)/2, y ); y -= t->h; } else { window_modifyImage( wid, "imgLogo", NULL, 0, 0 ); y = -20; } /* Modify text. */ y -= 20; window_modifyText( wid, "txtName", faction_longname( info_factions[p] ) ); window_moveWidget( wid, "txtName", lw+40, y ); y -= 40; m = round( faction_getPlayer( info_factions[p] ) ); nsnprintf( buf, sizeof(buf), "%+d%% [ %s ]", m, faction_getStandingText( info_factions[p] ) ); window_modifyText( wid, "txtStanding", buf ); window_moveWidget( wid, "txtStanding", lw+40, y ); }