eba002976fa7769a534781817b057c0a0f21468f
[informlib.git] / verblib.h
1 ! ==============================================================================
2 !   VERBLIB:  Front end to standard verbs library.
3 !
4 !   Supplied for use with Inform 6 -- Release 6.12.1 -- Serial number 160605
5 !
6 !   Copyright Graham Nelson 1993-2004 and David Griffith 2012-2016
7 !
8 !   This file is free software: you can redistribute it and/or modify
9 !   it under the terms of the GNU Affero General Public License as
10 !   published by the Free Software Foundation, either version 3 of the
11 !   License, or (at your option) any later version.
12 !
13 !   This file is distributed in the hope that it will be useful, but
14 !   WITHOUT ANY WARRANTY; without even the implied warranty of
15 !   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 !   Affero General Public License for more details.
17 !
18 !   You should have received a copy of the GNU Affero General Public
19 !   License along with this program. If not, see
20 !   https://gnu.org/licenses/
21 !
22 !   In your game file, Include three library files in this order:
23 !       Include "parser";
24 !       Include "verblib";
25 !       Include "grammar";
26 ! ==============================================================================
27
28 System_file;
29
30 #Ifdef          LIBRARY_STAGE;
31 #Iffalse        LIBRARY_STAGE >= AFTER_VERBLIB; ! if not already included
32 #Iftrue         LIBRARY_STAGE == AFTER_PARSER;  ! if okay to include it
33
34 ! ------------------------------------------------------------------------------
35
36 Default AMUSING_PROVIDED    1;
37 Default MAX_CARRIED         100;
38 Default MAX_SCORE           0;
39 Default NUMBER_TASKS        1;
40 Default OBJECT_SCORE        4;
41 Default ROOM_SCORE          5;
42 Default SACK_OBJECT         0;
43 Default TASKS_PROVIDED      1;
44
45 #Ifndef task_scores;
46 Array  task_scores -> 0 0 0 0;
47 #Endif;
48
49 Array  task_done -> NUMBER_TASKS;
50
51 #Ifndef LibraryMessages;
52 Object LibraryMessages;
53 #Endif;
54
55 #Ifndef NO_PLACES;
56 [ ObjectsSub; Objects1Sub(); ];
57 [ PlacesSub;  Places1Sub(); ];
58 #Endif; ! NO_PLACES
59
60 #Ifdef USE_MODULES;
61 Link "verblibm";
62 #Ifnot;
63 Include "verblibm";
64 #Endif; ! USE_MODULES
65
66 ! ==============================================================================
67
68 Undef LIBRARY_STAGE; Constant LIBRARY_STAGE = AFTER_VERBLIB;
69
70 #Ifnot;         ! LIBRARY_STAGE < AFTER_VERBLIB but ~= AFTER_PARSER
71                         ! (this shouldn't happen because if 'parser' isn't there, LIBRARY_STAGE isn't defined)
72 Message "Error: 'parser' needs to be correctly included before including 'verblib'. This will cause a big number of errors!";
73 #Endif;
74
75 #Ifnot;         ! LIBRARY_STAGE >= AFTER_VERBLIB: already included
76 Message "Warning: 'verblib' included twice; ignoring second inclusion. (Ignore this if this is on purpose.)";
77 #Endif;
78
79 #Ifnot;         ! LIBRARY_STAGE is not defined (likely, 'parser' hasn't been included)
80 Message "Error: 'parser' needs to be correctly included before including 'verblib'. This will cause a big number of errors!";
81 #Endif;
82
83 ! ==============================================================================