cl_hud.c File Reference

HUD related routines. More...

#include "../client.h"
#include "cl_localentity.h"
#include "cl_actor.h"
#include "cl_hud.h"
#include "cl_hud_callbacks.h"
#include "cl_view.h"
#include "../cl_team.h"
#include "../cl_game.h"
#include "../ui/ui_main.h"
#include "../ui/ui_popup.h"
#include "../ui/ui_nodes.h"
#include "../ui/ui_draw.h"
#include "../ui/ui_render.h"
#include "../renderer/r_mesh_anim.h"
#include "../renderer/r_draw.h"
#include "../../common/grid.h"
Include dependency graph for cl_hud.c:

Go to the source code of this file.

Data Structures

struct  reserveShot_s

Typedefs

typedef struct reserveShot_s reserveShot_t

Enumerations

enum  { REMAINING_TU_RELOAD_RIGHT, REMAINING_TU_RELOAD_LEFT, REMAINING_TU_CROUCH, REMAINING_TU_MAX }
enum  buttonTypes_t {
  BT_RIGHT_FIRE, BT_REACTION, BT_LEFT_FIRE, BT_RIGHT_RELOAD,
  BT_LEFT_RELOAD, BT_STAND, BT_CROUCH, BT_HEADGEAR,
  BT_NUM_TYPES
}
enum  weaponButtonState_t { BT_STATE_DISABLE, BT_STATE_DESELECT }
 

Defines the various states of a button.

More...

Functions

 CASSERT (lengthof(shootTypeStrings)==BT_NUM_TYPES)
 CASSERT (lengthof(moveModeDescriptions)==WALKTYPE_MAX)
void HUD_DisplayMessage (const char *text)
 Displays a message on the hud.
static void HUD_UpdateAllActors (void)
 Updates the global character cvars for battlescape.
static void HUD_SetWeaponButton (buttonTypes_t button, weaponButtonState_t state)
 Sets the display for a single weapon/reload HUD button.
void HUD_HideFiremodes (void)
 Makes all entries of the firemode lists invisible.
static int HUD_UsableReactionTUs (const le_t *le)
 Returns the amount of usable "reaction fire" TUs for this actor (depends on active/inactive RF).
static qboolean HUD_CheckFiremodeReservation (void)
 Check if at least one firemode is available for reservation.
static void HUD_SetShootReservation (const le_t *le, const int tus, const actorHands_t hand, const int fireModeIndex, const objDef_t *weapon)
 Sets TU-reservation and firemode.
static void HUD_PopupFiremodeReservation (qboolean reset, qboolean popupReload)
 Creates a (text) list of all firemodes of the currently selected actor.
static void HUD_PopupFiremodeReservation_f (void)
 Creates a (text) list of all firemodes of the currently selected actor.
static void HUD_ShotReserve_f (void)
 Get selected firemode in the list of the currently selected actor.
static void HUD_DisplayFiremodeEntry (const le_t *actor, const objDef_t *ammo, const weaponFireDefIndex_t weapFdsIdx, const actorHands_t hand, int index)
 Sets the display for a single weapon/reload HUD button.
void HUD_DisplayFiremodes (const le_t *actor, actorHands_t hand, qboolean firemodesChangeDisplay)
static void HUD_DisplayFiremodes_f (void)
 Displays the firemodes for the given hand.
static void HUD_SwitchFiremodeList_f (void)
 Changes the display of the firemode-list to a given hand, but only if the list is visible already.
static void HUD_UpdateReactionFiremodes (const le_t *actor, const actorHands_t hand, fireDefIndex_t firemodeActive)
 Updates the information in RFmode for the selected actor with the given data from the parameters.
static void HUD_SelectReactionFiremode_f (void)
 Checks if the selected firemode checkbox is ok as a reaction firemode and updates data+display.
static void HUD_RemainingTUs_f (void)
 Remember if we hover over a button that would cost some TUs when pressed.
static int HUD_GetMinimumTUsForUsage (const invList_t *invList)
static int HUD_WeaponCanBeReloaded (const le_t *le, containerIndex_t containerID, const char **reason)
 Checks every case for reload buttons on the HUD.
static qboolean HUD_WeaponWithReaction (const le_t *actor)
 Checks if there is a weapon in the hand that can be used for reaction fire.
static qboolean HUD_DisplayImpossibleReaction (const le_t *actor)
 Display 'impossible" (red) reaction buttons.
static void HUD_DisplayPossibleReaction (const le_t *actor)
 Display 'usable" (blue) reaction buttons.
static void HUD_RefreshButtons (const le_t *le)
 Refreshes the weapon/reload buttons on the HUD.
static void HUD_DrawMouseCursorText (int xOffset, int yOffset, int textId)
 Draw the mouse cursor tooltips in battlescape.
void HUD_UpdateCursor (void)
 Updates the cursor texts when in battlescape.
static void HUD_MapDebugCursor (const le_t *le)
 Shows map pathfinding debugging parameters (if activated).
static int HUD_UpdateActorFireMode (le_t *actor)
static int HUD_UpdateActorMove (const le_t *actor)
static void HUD_UpdateActorCvar (le_t *actor, const char *cvarPrefix)
static void HUD_ActorGetCvarData_f (void)
 Update cvars according to a soldier from a list while we are on battlescape.
static void HUD_UpdateActor (le_t *actor)
 Updates the hud for one actor.
void HUD_Update (void)
 Updates console vars for an actor.
static void HUD_ActorSelectionChangeListener (const char *cvarName, const char *oldValue, const char *newValue)
 Callback that is called when the cl_selected cvar was changed.
static void HUD_RightHandChangeListener (const char *cvarName, const char *oldValue, const char *newValue)
 Callback that is called when the right hand weapon of the current selected actor changed.
static void HUD_LeftHandChangeListener (const char *cvarName, const char *oldValue, const char *newValue)
 Callback that is called when the left hand weapon of the current selected actor changed.
static void HUD_TUChangeListener (const char *cvarName, const char *oldValue, const char *newValue)
 Callback that is called when the remaining TUs for the current selected actor changed.
static qboolean CL_CvarWorldLevel (cvar_t *cvar)
void HUD_InitStartup (void)

Variables

static qboolean visibleFiremodeListLeft = qfalse
static qboolean visibleFiremodeListRight = qfalse
static cvar_tcl_hud_message_timeout
static cvar_tcl_show_cursor_tooltips
cvar_tcl_worldlevel
static qboolean displayRemainingTus [REMAINING_TU_MAX]
static const char * shootTypeStrings []
 a cbuf string for each button_types_t
static const char * moveModeDescriptions []
static int hudTime
static char hudText [256]
static linkedList_tpopupListData
static uiNode_tpopupListNode

Detailed Description

HUD related routines.

Definition in file cl_hud.c.


Typedef Documentation

typedef struct reserveShot_s reserveShot_t

Enumeration Type Documentation

anonymous enum
Enumerator:
REMAINING_TU_RELOAD_RIGHT 
REMAINING_TU_RELOAD_LEFT 
REMAINING_TU_CROUCH 
REMAINING_TU_MAX 

Definition at line 51 of file cl_hud.c.

Enumerator:
BT_RIGHT_FIRE 
BT_REACTION 
BT_LEFT_FIRE 
BT_RIGHT_RELOAD 
BT_LEFT_RELOAD 
BT_STAND 
BT_CROUCH 
BT_HEADGEAR 
BT_NUM_TYPES 

Definition at line 60 of file cl_hud.c.

Defines the various states of a button.

Note:
Not all buttons do have all of these states (e.g. "unusable" is not very common).
Enumerator:
BT_STATE_DISABLE 

'Disabled' display (grey)

BT_STATE_DESELECT 

Normal display (blue)

Definition at line 90 of file cl_hud.c.


Function Documentation

CASSERT ( lengthof(moveModeDescriptions = =WALKTYPE_MAX  ) 
CASSERT ( lengthof(shootTypeStrings = =BT_NUM_TYPES  ) 
static qboolean CL_CvarWorldLevel ( cvar_t cvar  )  [static]

Definition at line 1433 of file cl_hud.c.

References cl, Cvar_AssertValue(), PATHFINDING_HEIGHT, and qtrue.

Referenced by HUD_InitStartup().

static void HUD_ActorGetCvarData_f ( void   )  [static]

Update cvars according to a soldier from a list while we are on battlescape.

Definition at line 1220 of file cl_hud.c.

References cl, CL_ActorGetChr(), CL_BattlescapeRunning(), CL_UpdateCharacterValues(), Cmd_Argc(), Cmd_Argv(), Com_Error(), Com_Printf(), ERR_DROP, and HUD_UpdateActorCvar().

Referenced by HUD_InitStartup().

static void HUD_ActorSelectionChangeListener ( const char *  cvarName,
const char *  oldValue,
const char *  newValue 
) [static]

Callback that is called when the cl_selected cvar was changed.

Parameters:
cvarName The cvar name (cl_selected)
oldValue The old value of the cvar (a sane actor idx)
newValue The new value of the cvar (a sane actor idx)

Definition at line 1378 of file cl_hud.c.

References cl, CL_OnBattlescape(), lengthof, and UI_ExecuteConfunc().

Referenced by HUD_InitStartup().

static qboolean HUD_CheckFiremodeReservation ( void   )  [static]

Check if at least one firemode is available for reservation.

Returns:
qtrue if there is at least one firemode - qfalse otherwise.
See also:
HUD_RefreshButtons
HUD_PopupFiremodeReservation_f

Definition at line 215 of file cl_hud.c.

References ACTOR_HAND_LEFT, ACTOR_HAND_RIGHT, CL_ActorReservedTUs(), CL_ActorUsableTUs(), objDef_s::fd, HUD_GetFireDefinitionForHand(), i, objDef_s::numFiredefs, fireDef_s::obj, qfalse, qtrue, RES_SHOT, selActor, fireDef_s::time, and fireDef_s::weapFdsIdx.

Referenced by HUD_RefreshButtons().

static void HUD_DisplayFiremodeEntry ( const le_t actor,
const objDef_t ammo,
const weaponFireDefIndex_t  weapFdsIdx,
const actorHands_t  hand,
int  index 
) [static]
void HUD_DisplayFiremodes ( const le_t actor,
actorHands_t  hand,
qboolean  firemodesChangeDisplay 
)
static void HUD_DisplayFiremodes_f ( void   )  [static]

Displays the firemodes for the given hand.

Definition at line 510 of file cl_hud.c.

References ACTOR_GET_HAND_INDEX, ACTOR_HAND_RIGHT, Cmd_Argc(), Cmd_Argv(), HUD_DisplayFiremodes(), qtrue, and selActor.

Referenced by HUD_InitStartup().

static qboolean HUD_DisplayImpossibleReaction ( const le_t actor  )  [static]

Display 'impossible" (red) reaction buttons.

Parameters:
[in] actor the actor to check for his reaction state.
Returns:
qtrue if nothing changed message was sent otherwise qfalse.

Definition at line 718 of file cl_hud.c.

References qfalse, qtrue, le_s::selected, le_s::state, STATE_REACTION_MANY, STATE_REACTION_ONCE, and UI_ExecuteConfunc().

Referenced by HUD_RefreshButtons().

void HUD_DisplayMessage ( const char *  text  ) 
static void HUD_DisplayPossibleReaction ( const le_t actor  )  [static]

Display 'usable" (blue) reaction buttons.

Parameters:
[in] actor the actor to check for his reaction state.

Definition at line 742 of file cl_hud.c.

References le_s::selected, le_s::state, STATE_REACTION_MANY, STATE_REACTION_ONCE, and UI_ExecuteConfunc().

Referenced by HUD_RefreshButtons().

static void HUD_DrawMouseCursorText ( int  xOffset,
int  yOffset,
int  textId 
) [static]

Draw the mouse cursor tooltips in battlescape.

Parameters:
xOffset 
yOffset 
textId The text id to get the tooltip string from.

Definition at line 910 of file cl_hud.c.

References ALIGN_UL, cvar_s::integer, LONGLINES_WRAP, mousePosX, mousePosY, qfalse, R_FontTextSize(), UI_DrawString(), UI_GetText(), viddef, and viddef_t::virtualWidth.

Referenced by HUD_UpdateCursor().

static int HUD_GetMinimumTUsForUsage ( const invList_t invList  )  [static]
Returns:
The minimum time needed to fire the weapons in the given invList

Definition at line 626 of file cl_hud.c.

References FIRESH_FiredefForWeapon(), i, invList_s::item, MAX_FIREDEFS_PER_WEAPON, item_s::t, and fireDef_s::time.

Referenced by HUD_RefreshButtons().

void HUD_HideFiremodes ( void   ) 

Makes all entries of the firemode lists invisible.

Definition at line 184 of file cl_hud.c.

References qfalse, UI_ExecuteConfunc(), visibleFiremodeListLeft, and visibleFiremodeListRight.

Referenced by CL_ActorSelect(), HUD_DisplayFiremodes(), and HUD_FireWeapon_f().

void HUD_InitStartup ( void   ) 
static void HUD_LeftHandChangeListener ( const char *  cvarName,
const char *  oldValue,
const char *  newValue 
) [static]

Callback that is called when the left hand weapon of the current selected actor changed.

Parameters:
cvarName The cvar name
oldValue The old value of the cvar
newValue The new value of the cvar

Definition at line 1411 of file cl_hud.c.

References CL_OnBattlescape(), HUD_RefreshButtons(), and selActor.

Referenced by HUD_InitStartup().

static void HUD_MapDebugCursor ( const le_t le  )  [static]

Shows map pathfinding debugging parameters (if activated).

Parameters:
[in] le The current selected actors entity

Definition at line 1010 of file cl_hud.c.

References ACTOR_GET_FIELDSIZE, cl, cl_map_debug, Com_sprintf(), getDVdir, getDVz, Grid_Ceiling(), Grid_Floor(), Grid_MoveNext(), cvar_s::integer, lengthof, MAPDEBUG_TEXT, mousePos, le_s::pathMap, TEXT_MOUSECURSOR_BOTTOM, TEXT_MOUSECURSOR_LEFT, TEXT_MOUSECURSOR_TOP, truePos, UI_MAX_SMALLTEXTLEN, and UI_RegisterText().

Referenced by HUD_UpdateActor().

static void HUD_PopupFiremodeReservation ( qboolean  reset,
qboolean  popupReload 
) [static]
static void HUD_PopupFiremodeReservation_f ( void   )  [static]

Creates a (text) list of all firemodes of the currently selected actor.

See also:
HUD_PopupFiremodeReservation

Definition at line 364 of file cl_hud.c.

References Cmd_Argc(), HUD_PopupFiremodeReservation(), and qfalse.

Referenced by HUD_InitStartup().

static void HUD_RefreshButtons ( const le_t le  )  [static]
static void HUD_RemainingTUs_f ( void   )  [static]

Remember if we hover over a button that would cost some TUs when pressed.

Note:
this is used in HUD_Update to update the "remaining TUs" bar correctly.

Definition at line 599 of file cl_hud.c.

References Cmd_Argc(), Cmd_Argv(), Com_ParseBoolean(), Com_Printf(), displayRemainingTus, REMAINING_TU_CROUCH, REMAINING_TU_RELOAD_LEFT, REMAINING_TU_RELOAD_RIGHT, and type.

Referenced by HUD_InitStartup().

static void HUD_RightHandChangeListener ( const char *  cvarName,
const char *  oldValue,
const char *  newValue 
) [static]

Callback that is called when the right hand weapon of the current selected actor changed.

Parameters:
cvarName The cvar name
oldValue The old value of the cvar
newValue The new value of the cvar

Definition at line 1397 of file cl_hud.c.

References CL_OnBattlescape(), HUD_RefreshButtons(), and selActor.

Referenced by HUD_InitStartup().

static void HUD_SelectReactionFiremode_f ( void   )  [static]

Checks if the selected firemode checkbox is ok as a reaction firemode and updates data+display.

Definition at line 571 of file cl_hud.c.

References ACTOR_GET_HAND_INDEX, Cmd_Argc(), Cmd_Argv(), Com_Printf(), HUD_UpdateReactionFiremodes(), MAX_FIREDEFS_PER_WEAPON, and selActor.

Referenced by HUD_InitStartup().

static void HUD_SetShootReservation ( const le_t le,
const int  tus,
const actorHands_t  hand,
const int  fireModeIndex,
const objDef_t weapon 
) [static]

Sets TU-reservation and firemode.

Parameters:
[in] le The local entity of the actor to change the tu reservation for.
[in] tus How many TUs to set.
[in] hand Store the given hand.
[in] fireModeIndex Store the given firemode for this hand.
[in] weapon Pointer to weapon in the hand.

Definition at line 257 of file cl_hud.c.

References CL_ActorGetChr(), CL_ActorReserveTUs(), CL_ActorSetShotSettings(), and RES_SHOT.

Referenced by HUD_PopupFiremodeReservation(), and HUD_ShotReserve_f().

static void HUD_SetWeaponButton ( buttonTypes_t  button,
weaponButtonState_t  state 
) [static]

Sets the display for a single weapon/reload HUD button.

Todo:
This should be a confunc which also sets the tooltips

Definition at line 161 of file cl_hud.c.

References BT_STATE_DESELECT, BT_STATE_DISABLE, shootTypeStrings, and UI_ExecuteConfunc().

Referenced by HUD_RefreshButtons().

static void HUD_ShotReserve_f ( void   )  [static]
static void HUD_SwitchFiremodeList_f ( void   )  [static]

Changes the display of the firemode-list to a given hand, but only if the list is visible already.

Todo:
Should be done from within the scripts

Definition at line 530 of file cl_hud.c.

References ACTOR_GET_HAND_INDEX, Cmd_Argc(), Cmd_Argv(), Com_Printf(), HUD_DisplayFiremodes(), qfalse, selActor, visibleFiremodeListLeft, and visibleFiremodeListRight.

Referenced by HUD_InitStartup().

static void HUD_TUChangeListener ( const char *  cvarName,
const char *  oldValue,
const char *  newValue 
) [static]

Callback that is called when the remaining TUs for the current selected actor changed.

Parameters:
cvarName The cvar name
oldValue The old value of the cvar
newValue The new value of the cvar

Definition at line 1425 of file cl_hud.c.

References CL_OnBattlescape(), HUD_RefreshButtons(), and selActor.

Referenced by HUD_InitStartup().

void HUD_Update ( void   ) 

Updates console vars for an actor.

This function updates the cvars for the hud (battlefield) unlike CL_ActorCvars and CL_UGVCvars which updates them for displaying the data in the menu system

See also:
CL_ActorCvars
CL_UGVCvars

Definition at line 1326 of file cl_hud.c.

References ca_active, cl, cls, Cvar_Set(), Cvar_SetValue(), HUD_UpdateActor(), HUD_UpdateAllActors(), i, cvar_s::integer, cvar_s::modified, PATHFINDING_HEIGHT, qfalse, selActor, client_static_s::state, TEXT_STANDARD, UI_ExecuteConfunc(), and UI_RegisterText().

Referenced by CL_SlowFrame().

static void HUD_UpdateActor ( le_t actor  )  [static]
static void HUD_UpdateActorCvar ( le_t actor,
const char *  cvarPrefix 
) [static]
static int HUD_UpdateActorFireMode ( le_t actor  )  [static]
static int HUD_UpdateActorMove ( const le_t actor  )  [static]
Parameters:
[in] actor The actor to update the hud for
Returns:
The amount of TUs needed for the current pending action

Definition at line 1128 of file cl_hud.c.

References _, le_s::actorMoveLength, CL_ActorMoveMode(), CL_ActorReservedTUs(), CL_ActorUsableTUs(), Com_sprintf(), lengthof, le_s::morale, RES_ALL_ACTIVE, ROUTING_NOT_REACHABLE, TEXT_MOUSECURSOR_RIGHT, TEXT_STANDARD, le_s::TU, UI_MAX_SMALLTEXTLEN, UI_RegisterText(), and UI_ResetData().

Referenced by HUD_UpdateActor().

static void HUD_UpdateAllActors ( void   )  [static]

Updates the global character cvars for battlescape.

Note:
This is only called when we are in battlescape rendering mode It's assumed that every living actor - le_t - has a character assigned, too

Definition at line 130 of file cl_hud.c.

References _, cl, CL_ActorGetChr(), Cvar_SetValue(), objDef_s::holdTwoHanded, le_s::HP, i, invList_s::item, LE_IsDead, LEFT, lengthof, le_s::maxHP, le_s::maxMorale, le_s::maxTU, le_s::model2, le_s::morale, model_s::name, objDef_s::name, character_s::name, RIGHT, le_s::STUN, item_s::t, le_s::TU, UI_ExecuteConfunc(), and va().

Referenced by HUD_Update().

void HUD_UpdateCursor ( void   ) 
static void HUD_UpdateReactionFiremodes ( const le_t actor,
const actorHands_t  hand,
fireDefIndex_t  firemodeActive 
) [static]

Updates the information in RFmode for the selected actor with the given data from the parameters.

Parameters:
[in] actor The actor we want to update the reaction-fire firemode for.
[in] hand Which weapon(-hand) to use.
[in] firemodeActive Set this to the firemode index you want to activate or set it to -1 if the default one (currently the first one found) should be used.

Definition at line 548 of file cl_hud.c.

References le_s::entnum, GAME_ItemIsUseable(), HUD_GetFireDefinitionForHand(), objDef_s::idx, MSG_Write_PA(), NONE, fireDef_s::obj, PA_REACT_SELECT, fireDef_s::weapFdsIdx, and objDef_s::weapons.

Referenced by HUD_SelectReactionFiremode_f().

static int HUD_UsableReactionTUs ( const le_t le  )  [static]

Returns the amount of usable "reaction fire" TUs for this actor (depends on active/inactive RF).

Parameters:
[in] le The actor to check.
Returns:
The remaining/usable TUs for this actor
-1 on error (this includes bad [very large] numbers stored in the struct).
Todo:
Maybe only return "reaction" value if reaction-state is active? The value _should_ be 0, but one never knows :)

Definition at line 198 of file cl_hud.c.

References CL_ActorReservedTUs(), CL_ActorUsableTUs(), RES_REACTION, le_s::state, and STATE_REACTION.

Referenced by HUD_DisplayFiremodeEntry().

static int HUD_WeaponCanBeReloaded ( const le_t le,
containerIndex_t  containerID,
const char **  reason 
) [static]

Checks every case for reload buttons on the HUD.

Parameters:
[in] le Pointer of local entity being an actor.
[in] containerID of the container to reload the weapon in. Used to get the movement TUs for moving something into the container.
[out] reason The reason why the reload didn't work - only set if -1 is the return value
Returns:
TU units needed for reloading or -1 if weapon cannot be reloaded.

Definition at line 656 of file cl_hud.c.

References _, item_s::a, objDef_s::ammo, CL_ActorUsableTUs(), CONTAINER, HUD_CalcReloadTime(), invList_s::item, item_s::m, objDef_s::reload, and item_s::t.

Referenced by HUD_RefreshButtons().

static qboolean HUD_WeaponWithReaction ( const le_t actor  )  [static]

Checks if there is a weapon in the hand that can be used for reaction fire.

Parameters:
[in] actor What actor to check.

Definition at line 705 of file cl_hud.c.

References INVSH_HasReactionFireEnabledWeapon(), LEFT, qtrue, and RIGHT.

Referenced by HUD_RefreshButtons().


Variable Documentation

Definition at line 47 of file cl_hud.c.

Definition at line 48 of file cl_hud.c.

qboolean displayRemainingTus[REMAINING_TU_MAX] [static]

Definition at line 58 of file cl_hud.c.

Referenced by HUD_RemainingTUs_f(), and HUD_UpdateActor().

char hudText[256] [static]

Definition at line 112 of file cl_hud.c.

int hudTime [static]

Definition at line 111 of file cl_hud.c.

const char* moveModeDescriptions[] [static]
Initial value:
 {
    N_("Crouch walk"),
    N_("Autostand"),
    N_("Walk"),

}
Note:
Order of elements here must correspond to order of elements in walkType_t.

Definition at line 96 of file cl_hud.c.

Definition at line 266 of file cl_hud.c.

Definition at line 267 of file cl_hud.c.

const char* shootTypeStrings[] [static]
Initial value:
 {
    "primaryright",
    "reaction",
    "primaryleft",
    "reloadright",
    "reloadleft",
    "stand",
    "crouch",
    "headgear"
}

a cbuf string for each button_types_t

Definition at line 74 of file cl_hud.c.

Referenced by HUD_SetWeaponButton().

qboolean visibleFiremodeListLeft = qfalse [static]

If this is set to qfalse HUD_DisplayFiremodes_f will not attempt to hide the list

Definition at line 44 of file cl_hud.c.

Referenced by HUD_DisplayFiremodes(), HUD_HideFiremodes(), and HUD_SwitchFiremodeList_f().

Definition at line 45 of file cl_hud.c.

Referenced by HUD_DisplayFiremodes(), HUD_HideFiremodes(), and HUD_SwitchFiremodeList_f().


Generated by  doxygen 1.6.2