projects
/
open-adventure.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
2a5dac3
)
Correct return types for all of the action handling functions in actions, so it's...
author
Aaron Traas
<aaron@traas.org>
Fri, 7 Dec 2018 15:36:42 +0000
(10:36 -0500)
committer
Aaron Traas
<aaron@traas.org>
Fri, 7 Dec 2018 15:36:42 +0000
(10:36 -0500)
actions.c
patch
|
blob
|
history
advent.h
patch
|
blob
|
history
diff --git
a/actions.c
b/actions.c
index 9c3eb77a45039c5ca63a5663157c403c21655c5f..5460848f95a93d7c10fa3f80fe82d8032eae251c 100644
(file)
--- a/
actions.c
+++ b/
actions.c
@@
-13,9
+13,9
@@
#include "dungeon.h"
#include <inttypes.h>
#include "dungeon.h"
#include <inttypes.h>
-static
in
t fill(verb_t, obj_t);
+static
phase_codes_
t fill(verb_t, obj_t);
-static
in
t attack(command_t command)
+static
phase_codes_
t attack(command_t command)
/* Attack. Assume target if unambiguous. "Throw" also links here.
* Attackable objects fall into two categories: enemies (snake,
* dwarf, etc.) and others (bird, clam, machine). Ambiguous if 2
/* Attack. Assume target if unambiguous. "Throw" also links here.
* Attackable objects fall into two categories: enemies (snake,
* dwarf, etc.) and others (bird, clam, machine). Ambiguous if 2
@@
-84,6
+84,7
@@
static int attack(command_t command)
if (obj == VEND) {
state_change(VEND,
game.prop[VEND] == VEND_BLOCKS ? VEND_UNBLOCKS : VEND_BLOCKS);
if (obj == VEND) {
state_change(VEND,
game.prop[VEND] == VEND_BLOCKS ? VEND_UNBLOCKS : VEND_BLOCKS);
+
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
@@
-185,7
+186,7
@@
static int attack(command_t command)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t bigwords(vocab_t id)
+static
phase_codes_
t bigwords(vocab_t id)
/* FEE FIE FOE FOO (AND FUM). Advance to next state if given in proper order.
* Look up foo in special section of vocab to determine which word we've got.
* Last word zips the eggs back to the giant room (unless already there). */
/* FEE FIE FOE FOO (AND FUM). Advance to next state if given in proper order.
* Look up foo in special section of vocab to determine which word we've got.
* Last word zips the eggs back to the giant room (unless already there). */
@@
-254,7
+255,7
@@
static void blast(void)
}
}
}
}
-static
in
t vbreak(verb_t verb, obj_t obj)
+static
phase_codes_
t vbreak(verb_t verb, obj_t obj)
/* Break. Only works for mirror in repository and, of course, the vase. */
{
switch (obj) {
/* Break. Only works for mirror in repository and, of course, the vase. */
{
switch (obj) {
@@
-281,7
+282,7
@@
static int vbreak(verb_t verb, obj_t obj)
return (GO_CLEAROBJ);
}
return (GO_CLEAROBJ);
}
-static
in
t brief(void)
+static
phase_codes_
t brief(void)
/* Brief. Intransitive only. Suppress full descriptions after first time. */
{
game.abbnum = 10000;
/* Brief. Intransitive only. Suppress full descriptions after first time. */
{
game.abbnum = 10000;
@@
-290,7
+291,7
@@
static int brief(void)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t vcarry(verb_t verb, obj_t obj)
+static
phase_codes_
t vcarry(verb_t verb, obj_t obj)
/* Carry an object. Special cases for bird and cage (if bird in cage, can't
* take one without the other). Liquids also special, since they depend on
* status of bottle. Also various side effects, etc. */
/* Carry an object. Special cases for bird and cage (if bird in cage, can't
* take one without the other). Liquids also special, since they depend on
* status of bottle. Also various side effects, etc. */
@@
-459,7
+460,7
@@
static int chain(verb_t verb)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t discard(verb_t verb, obj_t obj)
+static
phase_codes_
t discard(verb_t verb, obj_t obj)
/* Discard object. "Throw" also comes here for most objects. Special cases for
* bird (might attack snake or dragon) and cage (might contain bird) and vase.
* Drop coins at vending machine for extra batteries. */
/* Discard object. "Throw" also comes here for most objects. Special cases for
* bird (might attack snake or dragon) and cage (might contain bird) and vase.
* Drop coins at vending machine for extra batteries. */
@@
-563,7
+564,7
@@
static int discard(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t drink(verb_t verb, obj_t obj)
+static
phase_codes_
t drink(verb_t verb, obj_t obj)
/* Drink. If no object, assume water and look for it here. If water is in
* the bottle, drink that, else must be at a water loc, so drink stream. */
{
/* Drink. If no object, assume water and look for it here. If water is in
* the bottle, drink that, else must be at a water loc, so drink stream. */
{
@@
-593,7
+594,7
@@
static int drink(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t eat(verb_t verb, obj_t obj)
+static
phase_codes_
t eat(verb_t verb, obj_t obj)
/* Eat. Intransitive: assume food if present, else ask what. Transitive: food
* ok, some things lose appetite, rest are ridiculous. */
{
/* Eat. Intransitive: assume food if present, else ask what. Transitive: food
* ok, some things lose appetite, rest are ridiculous. */
{
@@
-623,7
+624,7
@@
static int eat(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t extinguish(verb_t verb, obj_t obj)
+static
phase_codes_
t extinguish(verb_t verb, obj_t obj)
/* Extinguish. Lamp, urn, dragon/volcano (nice try). */
{
if (obj == INTRANSITIVE) {
/* Extinguish. Lamp, urn, dragon/volcano (nice try). */
{
if (obj == INTRANSITIVE) {
@@
-659,7
+660,7
@@
static int extinguish(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t feed(verb_t verb, obj_t obj)
+static
phase_codes_
t feed(verb_t verb, obj_t obj)
/* Feed. If bird, no seed. Snake, dragon, troll: quip. If dwarf, make him
* mad. Bear, special. */
{
/* Feed. If bird, no seed. Snake, dragon, troll: quip. If dwarf, make him
* mad. Bear, special. */
{
@@
-719,7
+720,7
@@
static int feed(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-
in
t fill(verb_t verb, obj_t obj)
+
phase_codes_
t fill(verb_t verb, obj_t obj)
/* Fill. Bottle or urn must be empty, and liquid available. (Vase
* is nasty.) */
{
/* Fill. Bottle or urn must be empty, and liquid available. (Vase
* is nasty.) */
{
@@
-795,7
+796,7
@@
int fill(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t find(verb_t verb, obj_t obj)
+static
phase_codes_
t find(verb_t verb, obj_t obj)
/* Find. Might be carrying it, or it might be here. Else give caveat. */
{
if (TOTING(obj)) {
/* Find. Might be carrying it, or it might be here. Else give caveat. */
{
if (TOTING(obj)) {
@@
-821,7
+822,7
@@
static int find(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t fly(verb_t verb, obj_t obj)
+static
phase_codes_
t fly(verb_t verb, obj_t obj)
/* Fly. Snide remarks unless hovering rug is here. */
{
if (obj == INTRANSITIVE) {
/* Fly. Snide remarks unless hovering rug is here. */
{
if (obj == INTRANSITIVE) {
@@
-857,7
+858,7
@@
static int fly(verb_t verb, obj_t obj)
return GO_TERMINATE;
}
return GO_TERMINATE;
}
-static
in
t inven(void)
+static
phase_codes_
t inven(void)
/* Inventory. If object, treat same as find. Else report on current burden. */
{
bool empty = true;
/* Inventory. If object, treat same as find. Else report on current burden. */
{
bool empty = true;
@@
-878,7
+879,7
@@
static int inven(void)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t light(verb_t verb, obj_t obj)
+static
phase_codes_
t light(verb_t verb, obj_t obj)
/* Light. Applicable only to lamp and urn. */
{
if (obj == INTRANSITIVE) {
/* Light. Applicable only to lamp and urn. */
{
if (obj == INTRANSITIVE) {
@@
-916,7
+917,7
@@
static int light(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t listen(void)
+static
phase_codes_
t listen(void)
/* Listen. Intransitive only. Print stuff based on object sound proprties. */
{
vocab_t sound = locations[game.loc].sound;
/* Listen. Intransitive only. Print stuff based on object sound proprties. */
{
vocab_t sound = locations[game.loc].sound;
@@
-949,7
+950,7
@@
static int listen(void)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t lock(verb_t verb, obj_t obj)
+static
phase_codes_
t lock(verb_t verb, obj_t obj)
/* Lock, unlock, no object given. Assume various things if present. */
{
if (obj == INTRANSITIVE) {
/* Lock, unlock, no object given. Assume various things if present. */
{
if (obj == INTRANSITIVE) {
@@
-1032,7
+1033,7
@@
static int lock(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t pour(verb_t verb, obj_t obj)
+static
phase_codes_
t pour(verb_t verb, obj_t obj)
/* Pour. If no object, or object is bottle, assume contents of bottle.
* special tests for pouring water or oil on plant or rusty door. */
{
/* Pour. If no object, or object is bottle, assume contents of bottle.
* special tests for pouring water or oil on plant or rusty door. */
{
@@
-1077,7
+1078,7
@@
static int pour(verb_t verb, obj_t obj)
}
}
}
}
-static
in
t quit(void)
+static
phase_codes_
t quit(void)
/* Quit. Intransitive only. Verify intent and exit if that's what he wants. */
{
if (yes(arbitrary_messages[REALLY_QUIT], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN]))
/* Quit. Intransitive only. Verify intent and exit if that's what he wants. */
{
if (yes(arbitrary_messages[REALLY_QUIT], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN]))
@@
-1085,7
+1086,7
@@
static int quit(void)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t read(command_t command)
+static
phase_codes_
t read(command_t command)
/* Read. Print stuff based on objtxt. Oyster (?) is special case. */
{
if (command.obj == INTRANSITIVE) {
/* Read. Print stuff based on objtxt. Oyster (?) is special case. */
{
if (command.obj == INTRANSITIVE) {
@@
-1112,7
+1113,7
@@
static int read(command_t command)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t reservoir(void)
+static
phase_codes_
t reservoir(void)
/* Z'ZZZ (word gets recomputed at startup; different each game). */
{
if (!AT(RESER) && game.loc != LOC_RESBOTTOM) {
/* Z'ZZZ (word gets recomputed at startup; different each game). */
{
if (!AT(RESER) && game.loc != LOC_RESBOTTOM) {
@@
-1132,7
+1133,7
@@
static int reservoir(void)
}
}
}
}
-static
in
t rub(verb_t verb, obj_t obj)
+static
phase_codes_
t rub(verb_t verb, obj_t obj)
/* Rub. Yields various snide remarks except for lit urn. */
{
if (obj == URN && game.prop[URN] == URN_LIT) {
/* Rub. Yields various snide remarks except for lit urn. */
{
if (obj == URN && game.prop[URN] == URN_LIT) {
@@
-1150,7
+1151,7
@@
static int rub(verb_t verb, obj_t obj)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t say(command_t command)
+static
phase_codes_
t say(command_t command)
/* Say. Echo WD2. Magic words override. */
{
if (command.word[1].type == MOTION &&
/* Say. Echo WD2. Magic words override. */
{
if (command.word[1].type == MOTION &&
@@
-1175,14
+1176,14
@@
static int say(command_t command)
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
-static
in
t throw_support(vocab_t spk)
+static
phase_codes_
t throw_support(vocab_t spk)
{
rspeak(spk);
drop(AXE, game.loc);
return GO_MOVE;
}
{
rspeak(spk);
drop(AXE, game.loc);
return GO_MOVE;
}
-static
in
t throw (command_t command)
+static
phase_codes_
t throw (command_t command)
/* Throw. Same as discard unless axe. Then same as attack except
* ignore bird, and if dwarf is present then one might be killed.
* (Only way to do so!) Axe also special for dragon, bear, and
/* Throw. Same as discard unless axe. Then same as attack except
* ignore bird, and if dwarf is present then one might be killed.
* (Only way to do so!) Axe also special for dragon, bear, and
@@
-1243,7
+1244,7
@@
static int throw (command_t command)
}
}
}
}
-static
in
t wake(verb_t verb, obj_t obj)
+static
phase_codes_
t wake(verb_t verb, obj_t obj)
/* Wake. Only use is to disturb the dwarves. */
{
if (obj != DWARF ||
/* Wake. Only use is to disturb the dwarves. */
{
if (obj != DWARF ||
@@
-1256,7
+1257,7
@@
static int wake(verb_t verb, obj_t obj)
}
}
}
}
-static
in
t seed(verb_t verb, const char *arg)
+static
phase_codes_
t seed(verb_t verb, const char *arg)
/* Set seed */
{
int32_t seed = strtol(arg, NULL, 10);
/* Set seed */
{
int32_t seed = strtol(arg, NULL, 10);
@@
-1266,7
+1267,7
@@
static int seed(verb_t verb, const char *arg)
return GO_TOP;
}
return GO_TOP;
}
-static
in
t waste(verb_t verb, turn_t turns)
+static
phase_codes_
t waste(verb_t verb, turn_t turns)
/* Burn turns */
{
game.limit -= turns;
/* Burn turns */
{
game.limit -= turns;
@@
-1274,7
+1275,7
@@
static int waste(verb_t verb, turn_t turns)
return GO_TOP;
}
return GO_TOP;
}
-static
in
t wave(verb_t verb, obj_t obj)
+static
phase_codes_
t wave(verb_t verb, obj_t obj)
/* Wave. No effect unless waving rod at fissure or at bird. */
{
if (obj != ROD ||
/* Wave. No effect unless waving rod at fissure or at bird. */
{
if (obj != ROD ||
@@
-1320,7
+1321,7
@@
static int wave(verb_t verb, obj_t obj)
}
}
}
}
-
in
t action(command_t command)
+
phase_codes_
t action(command_t command)
/* Analyse a verb. Remember what it was, go back for object if second word
* unless verb is "say", which snarfs arbitrary second word.
*/
/* Analyse a verb. Remember what it was, go back for object if second word
* unless verb is "say", which snarfs arbitrary second word.
*/
diff --git
a/advent.h
b/advent.h
index 87ee153dcb81136593236056fffc551732d155de..dc81ed5fd55b6e9c625bfc281493ffc4c441f243 100644
(file)
--- a/
advent.h
+++ b/
advent.h
@@
-102,7
+102,7
@@
typedef enum scorebonus {none, splatter, defeat, victory} score_t;
* These were at one time FORTRAN line numbers.
* The values don't matter, but perturb their order at your peril.
*/
* These were at one time FORTRAN line numbers.
* The values don't matter, but perturb their order at your peril.
*/
-
enum phase_codes
{
+
typedef enum
{
GO_TERMINATE,
GO_MOVE,
GO_TOP,
GO_TERMINATE,
GO_MOVE,
GO_TOP,
@@
-111,7
+111,7
@@
enum phase_codes {
GO_WORD2,
GO_UNKNOWN,
GO_DWARFWAKE,
GO_WORD2,
GO_UNKNOWN,
GO_DWARFWAKE,
-};
+}
phase_codes_t
;
typedef long vocab_t; // index into a vocabulary array */
typedef long verb_t; // index into an actions array */
typedef long vocab_t; // index into a vocabulary array */
typedef long verb_t; // index into an actions array */
@@
-235,7
+235,7
@@
extern int suspend(void);
extern int resume(void);
extern int restore(FILE *);
extern long initialise(void);
extern int resume(void);
extern int restore(FILE *);
extern long initialise(void);
-extern
in
t action(command_t);
+extern
phase_codes_
t action(command_t);
extern void state_change(obj_t, int);
extern bool is_valid(struct game_t);
extern void state_change(obj_t, int);
extern bool is_valid(struct game_t);