1 2 enum { 3 PMENU_ALIGN_LEFT, 4 PMENU_ALIGN_CENTER, 5 PMENU_ALIGN_RIGHT 6 }; 7 8 typedef struct pmenuhnd_s { 9 struct pmenu_s *entries; 10 int cur; 11 int num; 12 } pmenuhnd_t; 13 14 typedef struct pmenu_s { 15 char *text; 16 int align; 17 void *arg; 18 void (*SelectFunc)(edict_t *ent, struct pmenu_s *entry); 19 } pmenu_t; 20 21 void PMenu_Open(edict_t *ent, pmenu_t *entries, int cur, int num); 22 void PMenu_Close(edict_t *ent); 23 void PMenu_Update(edict_t *ent); 24 void PMenu_Next(edict_t *ent); 25 void PMenu_Prev(edict_t *ent); 26 void PMenu_Select(edict_t *ent); 27