| HUGO Library Changes File | |
| Maintained by Julian Arnold (jools@arnod.demon.co.uk) | |
| This file details important differences between versions of the standard | |
| Hugo library by Kent Tessmann (from v2.3.0 onwards). | |
| Important differences are ones which fix bugs, add features, or | |
| otherwise affect the functioning and/or functionality of the library. | |
| Each release of the library also contains numerous small changes: | |
| altered formatting, restructured code, additional or reworded comments, | |
| and so on. These differences will not be mentioned. | |
| ________________________________________________________________________ | |
| v2.3.0, for use with HC v2.3 | |
| ________________________________________________________________________ | |
| grammar.g 14,263 10:42:40 17 Mar 1997 | |
| hugofix.g 2,432 09:53:50 27 Jan 1997 | |
| hugofix.h 5,196 10:56:18 18 Mar 1997 | |
| hugolib.h 114,408 09:47:18 20 Mar 1997 | |
| objlib.h 44,328 09:43:30 20 Mar 1997 | |
| verbstub.g 4,481 11:43:50 10 Jan 1997 | |
| verbstub.h 3,558 11:43:38 10 Jan 1997 | |
| ________________________________________________________________________ | |
| ________________________________________________________________________ | |
| v2.3.1, for use with HC v2.3 | |
| ________________________________________________________________________ | |
| grammar.g 14,263 10:00:14 26 Mar 1997 | |
| hugofix.g 2,432 10:00:32 26 Mar 1997 | |
| hugofix.h 5,200 10:00:26 26 Mar 1997 | |
| hugolib.h 115,376 12:31:22�02 Apr 1997 | |
| objlib.h 44,306 12:38:20�02 Apr 1997 | |
| verbstub.g 4,481 10:00:48 26 Mar 1997 | |
| verbstub.h 3,558 10:00:38 26 Mar 1997 | |
| ________________________________________________________________________ | |
| 1. | |
| The output of the $di (audit directions) debugging verb from hugofix.h | |
| has been tidied. | |
| 2. | |
| The HoursMinutes routine in hugolib.h can now take an optional second | |
| argument to specify military 24-hour time. For example: | |
| HoursMinutes(847) prints 2:07 p.m. | |
| HoursMinutes(847,true) prints 14:07 | |
| 3. | |
| The DoGo routine in hugolib.h now ensures object does not have a door_to | |
| property, and is enterable, before passing control to the DoEnter | |
| routine. | |
| This fixes a bug to do with ENTERing or GOing to an `enterable' object | |
| with a `door_to' property-- previously this would cause a stack | |
| overflow, as DoGo and DoEnter would call each other endlessly. | |
| 4. | |
| The component class, defined in objlib.h, now inherits from the scenery | |
| class, also defined in oblib.h, and is part_of the nothing object by | |
| default (previously it did not necessariy have the part_of property). | |
| ________________________________________________________________________ | |
| v2.3.2, for use with HC v2.3 | |
| ________________________________________________________________________ | |
| grammar.g 14,309 14:38:24 16 Apr 1997 | |
| hugofix.g 2,352 12:41:00 16 Apr 1997 | |
| hugofix.h 5,486 10:23:20 21 Apr 1997 | |
| hugolib.h 119,891 11:24:12 29 Apr 1997 | |
| objlib.h 44,992 09:47:52 02 May 1997 | |
| verbstub.g 4,481 12:41:14 16 Apr 1997 | |
| verbstub.h 3,402 12:41:08 16 Apr 1997 | |
| ________________________________________________________________________ | |
| 5. | |
| A new global, `player_person', has been added to hugolib.h. This should | |
| be set to either 1, 2, or 3 (2 is the default) to reflect whether | |
| library messages (ie, those contained in routines Message in hugolib.h | |
| and OMessages in objlib.h) are to be given in the first-, second-, or | |
| third-person. For example: | |
| VALUE PERSONAL EXAMPLE | |
| PRONOUN MESSAGE | |
| --------------------------------------------------- | |
| 1 I I already have that. | |
| we We already have that. | |
| 2 you (s.) You already have that. | |
| you (pl.) You already have that. | |
| 3 he/she/it He/she/it already has that. | |
| they They already have that. | |
| Being a global the value of `player_person' can be changed during play. | |
| NOTE: Depending on the value of `player_person' the player object should | |
| either have, or not have the `plural' attribute set (ie, `player is | |
| [not] plural'): | |
| VALUE PERSONAL ATTRIBUTE | |
| PRONOUN | |
| -------------------------------------------- | |
| 1 I player is plural | |
| we player is plural | |
| 2 you (s.) player is plural | |
| you (pl.) player is plural | |
| 3 he/she/it player is not plural | |
| they player is plural | |
| NOTE: The `name' property of the player object should also reflect the | |
| value of `player_person': | |
| VALUE PERSONAL NAME | |
| PRONOUN | |
| ---------------------------------------------------------------- | |
| 1 I player.name="I" | |
| we player.name="we" | |
| 2 you (s.) player.name="you" | |
| you (pl.) player.name="you" | |
| 3 he/she/it player.name="he"/"she"/"it" (or a proper | |
| noun, ie, "Bob") | |
| they player.name="they" (or a proper noun, | |
| ie, "men of Harlech") | |
| 6. | |
| The global `nest', declared in hugolib.h, has been renamed to | |
| `list_nest', to better reflect its purpose (`list_nest' is used in | |
| various library routines which print a list). | |
| 7. | |
| The `extra_scenery' check (which checks the players input for words | |
| listed in the current location's `extra_scenery' property) in routine | |
| Parse in hugolib.h, now begins its checking at the second word of the | |
| input (ie, `word[2]'), rather than the first. This ensures that verb | |
| words are not considered during this check. | |
| 8. (See also: 2.) | |
| Routine HoursMinutes in hugolib.h previously had three bugs: a) midnight | |
| in 12-hour format was printed as "0:00 a.m."--it is now "12:00 a.m."; b) | |
| hours before noon in 24-hour format were printed as, ie, "5:00"--they | |
| are now, ie, "05:00"; c) hours before noon in 24-hour format were still | |
| suffixed with "a.m."--they no longer are. | |
| 9. (See also: 5.) | |
| Routines The and Art in hugolib.h now take optional true-or-false second | |
| arguments, which only take effect if the first argument is equal to | |
| `player' and `player_person' equals 1. In full: | |
| The(player) prints "I" | |
| The(player, true) prints "me" | |
| Art(player) prints "I" | |
| Art(player, true) prints "me" | |
| 10. (See also: 5, 9.) | |
| If the first argument is equal to `player' and `player_person' equals 1 | |
| routine IsorAre in hugolib.h prints " am" or "'m" rather than " are" or | |
| "'re". | |
| 11. (See also: 5, 9, 10.) | |
| A new routine, MatchPlural, has been added to hugolib.h, as a | |
| requirement of the new "player person" rules. MatchPlural is called | |
| with three arguments, <object>, <word1>, and <word2>. It simply prints | |
| <word1> if <object> is not `plural', or <word2> if <object> is `plural'. | |
| For example: | |
| print CThe(player); MatchPlural(player, "doesn't", "don't"); \ | |
| " need to refer to that." | |
| 12. | |
| Previously rooms were not being marked as `visited'. Thus a full | |
| description was given whenever the player entered a room, regardless of | |
| `verbosity', and whether or not he had been there before. This | |
| behaviour has been fixed. | |
| 13. | |
| Routine DoEnter in hugolib.h no longer allows the entering of objects in | |
| the players inventory (response is "You can't enter that"). | |
| 14. (See also: 5, 9, 10, 11.) | |
| Routines Message in hugolib.h and OMessages in objlib.h updated to work | |
| with the new "player person" rules. | |
| 15. | |
| Object definitions for compass directions in objlib.h have been | |
| re-ordered. They are now defined, starting with north (`n_obj'), | |
| clockwise around the compass. Ie, `n_obj', `ne_obj', `e_obj', `se_obj', | |
| etc. Previously they were given in the (somewhat illogical) order | |
| `n_obj', `s_obj', `e_obj', `w_obj', `ne_obj', `se_obj', `nw_obj', | |
| `sw_obj'. | |
| ________________________________________________________________________ | |
| v2.4.0�, for use with HC v2.4� | |
| ________________________________________________________________________ | |
| grammar.g 14,309 09:50:52 20 May 1997 | |
| hugofix.g 2,352 09:51:10 20 May 1997 | |
| hugofix.h 5,486 09:51:26 20 May 1997 | |
| hugolib.h 120,229 15:42:14 03 Jun 1997 | |
| objlib.h 45,146 10:48:22 21 May 1997 | |
| verbstub.g 4,481 09:50:40 20 May 1997 | |
| verbstub.h 3,448 09:50:28 20 May 1997 | |
| window.h 3,708 22:25:49 06 Jun 1997 | |
| ________________________________________________________________________ | |
| 16. | |
| The Window Class Library, window.h, has been added. This defines a | |
| class, `window_class', for use with the multiple window feature new to | |
| v2.4. Full instructions are contained in the file. | |
| 17. | |
| Built-in properties for the engine-defined `display' object have been | |
| enumerated in hugolib.h, and the library-specific `display' object | |
| property, `statusline_height' (aliased with `n_to') has also been | |
| declared, and given a default value of 1. | |
| 18. | |
| The classes `female_character' and `component' no longer inherit from | |
| `character' and `scenery', respectively, in objlib.h, as this was | |
| causing problems with `replace <object>' code using non-precompiled | |
| libraries. | |
| ________________________________________________________________________ | |
| v2.4.0� Gr, for use with HC v2.4� Gr | |
| ________________________________________________________________________ | |
| grammar.g 14,309 09:50:52 20 May 1997 | |
| hugofix.g 2,352 09:51:10 20 May 1997 | |
| hugofix.h 5,486 09:51:26 20 May 1997 | |
| hugolib.h 120,661 11:40:04 11 Jul 1997 | |
| objlib.h 44,924 11:24:34 11 Jul 1997 | |
| resource.h 3,070 11:19:12 11 Jul 1997 | |
| verbstub.g 4,481 09:50:40 20 May 1997 | |
| verbstub.h 3,448 09:50:28 20 May 1997 | |
| window.h 3,704 16:57:06 01 Jul 1997 | |
| ________________________________________________________________________ | |
| 19. | |
| The Hugo Resource Library, resource.h, has been added. This currently | |
| contains two routines for loading and displaying graphics. Full | |
| instructions are contained in the file. | |
| 20. | |
| Menu() in hugolib.h now takes an optional 3rd argument which specifies | |
| the starting selection in the menu. | |
| 21. | |
| CenterTitle() in hugolib.h now takes an optional 2nd argument which | |
| determines the height of the window created by this routine. If this | |
| 2nd argument is unspecified, or given as 0, it defaults to 1. | |
| 22. | |
| DoGo() in hugolib.h now checks to see if the attempted move is to a door | |
| object (ie, if the object is of the `door' class (defined in objlib.h) | |
| or if the object has a door_to property). If so, the direction in which | |
| the move is being attempted is set to the return value of the object's | |
| `door_to' property. | |
| All this means that instead of, for example: | |
| n_to { | |
| return my_door.door_to | |
| } | |
| it is now permissable to have: | |
| n_to my_door | |
| 23. | |
| Most classes, as defined in objlib.h, no longer have specific `name' | |
| properties. | |
| 24. | |
| Various bugfixes have been made to window.h. | |
Xet Storage Details
- Size:
- 10 kB
- Xet hash:
- 5aab752b4d8c908ea2b66f2cf648415e2a90e3f023b8ea9a935ea299c8d3a157
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.