nexus/io.h

100 lines
3.7 KiB
C
Raw Normal View History

2010-12-02 12:17:54 +11:00
#include <ncurses.h>
#include "defs.h"
2011-02-01 06:16:13 +11:00
void addchoice(prompt_t *p, char ch, char *text, char *desc, void *data);
void addheading(prompt_t *p, char *text);
void addmsghist(char *text);
void addpromptq(prompt_t *p, char *q);
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
void anim(cell_t *src, cell_t *dst, char ch, int colour);
void animradial(cell_t *src, int radius, char ch, int colour);
void animradialorth(cell_t *src, int radius, char ch, int colour);
2011-02-01 06:16:13 +11:00
//void announceob(enum OBTYPE oid);
int announceflaggain(lifeform_t *lf, flag_t *f);
2011-03-04 12:22:36 +11:00
int announceflagloss(lifeform_t *lf, flag_t *f);
2011-02-01 06:16:13 +11:00
int announceobflaggain(object_t *o, flag_t *f);
void announceobflagloss(object_t *o, flag_t *f);
2011-03-10 16:47:18 +11:00
object_t *askobject(obpile_t *op, char *title, int *count, long opts);
object_t *askobjectwithflag(obpile_t *op, char *title, int *count, long opts, enum FLAG withflag);
object_t *askobjectofclass(obpile_t *op, char *title, int *count, long opts, enum OBCLASS obclass);
object_t *doaskobject(obpile_t *op, char *title, int *count, long opts, enum FLAG withflag, ...);
int askobjectmulti(obpile_t *op, char *prompt, long opts);
2011-02-01 06:16:13 +11:00
char askchar(char *prompt, char *validchars, char *def, int showchars);
cell_t *askcoords(char *prompt, int targettype);
char *askstring(char *prompt, char punc, char *retbuf, int retbuflen, char *def);
2010-12-02 12:17:54 +11:00
void centre(WINDOW *win, int y, char *format, ... );
int chartodir(char ch);
2011-02-01 06:16:13 +11:00
int cleanupgfx(void);
2010-12-02 12:17:54 +11:00
void clearmsg(void);
2011-02-01 06:16:13 +11:00
void real_clearmsg(int force);
void clearretobs(void);
void cls(void);
int contains(enum OBCLASS *array, int nargs, enum OBCLASS want);
2010-12-02 12:17:54 +11:00
void describeob(object_t *o);
2011-02-01 06:16:13 +11:00
void doattackcell(char dirch);
void doclose(void);
void docomms(void);
void dodrop(obpile_t *op, int wantmulti, obpile_t *dst);
2011-02-01 06:16:13 +11:00
void doeat(obpile_t *op);
void doenter(lifeform_t *lf);
void doexplain(void);
void dofinaloblist(obpile_t *op);
void dofire(void);
2011-03-04 12:22:36 +11:00
void dohelp(void);
2010-12-02 12:17:54 +11:00
void doinventory(obpile_t *op);
2010-12-07 18:34:26 +11:00
void doknowledgelist(void);
2011-02-01 06:16:13 +11:00
void dolook(cell_t *where);
void domagic(enum OBTYPE spellid, int cellx, int celly);
2011-03-16 15:45:46 +11:00
void domemmagic(void);
2011-02-01 06:16:13 +11:00
void domsghist(void);
void dooperate(obpile_t *op);
2010-12-07 18:34:26 +11:00
int dopickup(obpile_t *op);
2011-02-01 06:16:13 +11:00
void dolockpick(obpile_t *op);
void donextguntarget(void);
void dopour(obpile_t *op);
void doquit(void);
2010-12-07 18:34:26 +11:00
void doquaff(obpile_t *op);
void doread(obpile_t *op);
2011-02-01 06:16:13 +11:00
void dorest(void);
void doselguntarget(void);
void dostairs(int dir);
2010-12-07 18:34:26 +11:00
int dotakeoff(obpile_t *op);
2010-12-02 12:17:54 +11:00
void dothrow(obpile_t *op);
2011-02-01 06:16:13 +11:00
void dovendingmachine(lifeform_t *lf, object_t *vm);
2010-12-07 18:34:26 +11:00
int dowear(obpile_t *op);
int doweild(obpile_t *op);
2011-03-11 12:25:38 +11:00
int downline(int *y, int h, char *heading, char *subheading, char *bottomstring, char *cmdchars, char *retchar);
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
void drawglyph(glyph_t *g, int x, int y);
2010-12-07 18:34:26 +11:00
void drawunviscell(cell_t *cell, int x, int y);
void drawcellwithcontents(cell_t *cell, int x, int y);
2010-12-02 12:17:54 +11:00
void drawcursor(void);
void drawlevelfor(lifeform_t *lf);
void drawmsg(void);
void drawscreen(void);
void drawstatus(void);
2011-02-01 06:16:13 +11:00
int drop(object_t *o, int count);
char getchoice(prompt_t *prompt);
char getchoicestr(prompt_t *prompt, int useshortcuts, int showlallatstart);
2010-12-02 12:17:54 +11:00
int getkey(void);
void handleinput(void);
2011-03-04 12:22:36 +11:00
void doheading(WINDOW *win, int *y, int x, char *what);
2011-02-01 06:16:13 +11:00
void initgfx(void);
void initprompt(prompt_t *p, char *q1);
2010-12-02 12:17:54 +11:00
int keycodetokey(int keycode);
2011-03-16 15:45:46 +11:00
void makespellchoicelist(prompt_t *pr, lifeform_t *lf, char *ques, char *ques2);
2010-12-02 12:17:54 +11:00
void more(void);
2011-02-01 06:16:13 +11:00
void warn(char *format, ... );
2010-12-02 12:17:54 +11:00
void msg(char *format, ... );
2011-03-04 12:22:36 +11:00
void msgnocap(char *format, ... );
2011-02-01 06:16:13 +11:00
void msg_real(char *format, ... );
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
int needsbold(enum COLOUR col);
2011-02-01 06:16:13 +11:00
void nothinghappens(void);
2010-12-02 12:17:54 +11:00
void dblog(char *format, ... );
void redraw(void);
int savequit(void);
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
void setcol(WINDOW *win, enum COLOUR col);
void unsetcol(WINDOW *win, enum COLOUR col);
2011-02-01 06:16:13 +11:00
void showlfarmour(lifeform_t *lf);
void showlfstats(lifeform_t *lf, int showall);
2010-12-02 12:17:54 +11:00
void tombstone(lifeform_t *lf);
2011-02-01 06:16:13 +11:00
void updatestatus(void);
2010-12-02 12:17:54 +11:00
void updateviewfor(cell_t *cell);