enum { PMENU_ALIGN_LEFT, PMENU_ALIGN_CENTER, PMENU_ALIGN_RIGHT }; typedef struct pmenuhnd_s { struct pmenu_s *entries; int cur; int num; } pmenuhnd_t; typedef struct pmenu_s { char *text; int align; void *arg; void (*SelectFunc)(edict_t *ent, struct pmenu_s *entry); } pmenu_t; void PMenu_Open(edict_t *ent, pmenu_t *entries, int cur, int num); void PMenu_Close(edict_t *ent); void PMenu_Update(edict_t *ent); void PMenu_Next(edict_t *ent); void PMenu_Prev(edict_t *ent); void PMenu_Select(edict_t *ent);