Fix: SE069 Problem: Pet naming options are still very confused, with the code still being inconsistent. Disable all obsolete pet naming code and make horsename and wolfname actually work as described. I've also fixed a number of other problems I found in opthelp while I was fixing these and removed optohelp.def which appears to be redundant (not to mention out-of-date). Compatible with: Slash'EM 0.0.6E1F1 Author: J. Ali Harlow, ali@avrc.city.ac.uk Date: 8 May 2000 diff -Nacrd ../slashem-0.0.6E1F1/dat/opthelp ./dat/opthelp *** ../slashem-0.0.6E1F1/dat/opthelp Wed Apr 26 18:49:25 2000 --- ./dat/opthelp Fri May 5 19:31:16 2000 *************** *** 1,8 **** Boolean options available in all versions (with default values in []): autopickup automatically pick up objects you move over [TRUE] - confirm ask before hitting tame or peaceful monsters [TRUE] autoquiver when firing with an empty quiver, select some suitable inventory weapon to fill the quiver [FALSE] DECgraphics use DEC/VT line-drawing characters for the dungeon [FALSE] disclose offer information at the end of the game [TRUE] (fe)male sex of the player (may only be set on startup) [MALE] --- 1,9 ---- Boolean options available in all versions (with default values in []): + autopickup automatically pick up objects you move over [TRUE] autoquiver when firing with an empty quiver, select some suitable inventory weapon to fill the quiver [FALSE] + confirm ask before hitting tame or peaceful monsters [TRUE] DECgraphics use DEC/VT line-drawing characters for the dungeon [FALSE] disclose offer information at the end of the game [TRUE] (fe)male sex of the player (may only be set on startup) [MALE] *************** *** 20,26 **** perm_invent keep inventory in a permanent window [FALSE] pushweapon when wielding a new weapon, put your previously wielded weapon into the secondary weapon slot [FALSE] - pickup automatically pick up objects you move over [TRUE] rest_on_space count the space bar as a rest character [FALSE] safe_pet prevent you from (knowingly) attacking your pet(s) [TRUE] silent don't use your terminal's bell sound [TRUE] --- 21,26 ---- *************** *** 56,61 **** --- 56,65 ---- Boolean option if SHOW_DMG was set at compile time: showdmg display damage inflicted/received on message line [FALSE] + Boolean options if SHOW_WEIGHT was set at compile time: + invweight display weights of items in inventory in braces [FALSE] + showweight display total weight in inventory on bottom line [FALSE] + Boolean options if TEXTCOLOR was set at compile time: color use different colors for objects on screen [TRUE for micros] hilite_pet display pets in a highlighted manner [FALSE] *************** *** 101,164 **** scores, and all of your own scores. [!own/3 top/2 around] Compound options which may be set only on startup are: align Your starting alignment (align:lawful, align:neutral, or align:chaotic). You may specify just the first letter. [RANDOM] ! ! badgername the name of your first badger [NONE] ! batname the name of your first bat [NONE] ! catname the name of your first cat [NONE] ! dogname the name of your first dog [NONE] ! dungeon a list of symbols to be used in place of the default ones for ! drawing the dungeon. ! The symbols are subjected to a fair amount of processing, so ! that you can use C-style escapes such as \n or \081 as well as ! indicate control characters by ^x or meta characters by \Mx. ! As usual, \ can force the next character to be taken ! literally. Since many of the default symbols are overloaded, ! they are given here by name instead of symbol, with some ! added notes: ! stone (solid rock, normally ' ') ! vwall hwall tlcorn trcorn blcorn brcorn (room boundaries) ! crwall tuwall tdwall tlwall trwall (wallified maze characters) ! nodoor vodoor hodoor (no, vertical, horizontal open door) ! vcdoor hcdoor (vertical, horizontal closed door) ! room darkcorr litcorr upstair dnstair upladder dnladder ! trap web altar throne sink fountain pool ice lava ! vodbridge hodbridge (vertical, horizontal open drawbridge) ! vcdbridge hcdbridge (vertical, horizontal closed drawbridge) ! air cloud water ! default: \ |--------||.-|++.##<><>_\\#{}.}..##\ #} ! effects like dungeon, but for special effects symbols ! vbeam hbeam lslant rslant (generic zap beams) gender Your starting gender (gender:male or gender:female). You may specify just the first letter. Although you can still denote your gender using the "male" and "female" options, the "gender" option will take precedence. [RANDOM] horsename the name of your first horse [NONE] ! digbeam flashbeam (special beams for digging and cameras) ! boomleft boomright (boomerangs) ! ss1 ss2 ss3 ss4 (shielding sequence) ! sw_topl, sw_topm, sw_topr, (swallow, top row) ! sw_midl, sw_midr, (swallow, middle row [no center]) ! sw_botl, sw_botm, sw_botr (swallow, bottom row) ! extl extm extr (explosion matrix top row) ! exml exmm exmr (explosion matrix middle row) ! exbl exbm exbr (explosion matrix bottom row) ! default: |-\\/*!)(0#@*/-\\||\\-//-\\|\ |\\-/ ! ghoulname the name of your first ghoul [NONE] ! menu_* create single character accelerators for menu commands. Below ! is a list of all commands. Each is followed by a list of ! window-ports that implement them: 'x' is X11, 't' is tty. ! menu_deselect_all ! deselect all items in a menu [-](xt) ! menu_deselect_page ! deselect all items on this page of a menu [\](t) ! menu_first_page ! jump to the first page in a menu [^](t) ! menu_invert_all ! invert all items in a menu [@](xt) ! menu_invert_page ! invert all items on this page of a menu [~](t) race Your starting race (e.g., race:Human, race:Elf). [RANDOM] role Your starting role (e.g., role:Barbarian, role:Valk). Although you can specify just the first letter(s), it will --- 105,196 ---- scores, and all of your own scores. [!own/3 top/2 around] Compound options which may be set only on startup are: + align Your starting alignment (align:lawful, align:neutral, or align:chaotic). You may specify just the first letter. [RANDOM] ! catname the name of your first cat [NONE] ! dogname the name of your first dog [NONE] ! dungeon a list of symbols to be used in place of the default ones for ! drawing the dungeon. ! The symbols are subjected to a fair amount of processing, so ! that you can use C-style escapes such as \n or \081 as well as ! indicate control characters by ^x or meta characters by \Mx. ! As usual, \ can force the next character to be taken literally. ! Since many of the default symbols are overloaded, they are ! given here by name instead of symbol, with some added notes: ! stone (solid rock, normally ' ') ! vwall hwall tlcorn trcorn blcorn brcorn (room boundaries) ! crwall tuwall tdwall tlwall trwall (wallified maze characters) ! nodoor vodoor hodoor (no, vertical, horizontal open door) ! vcdoor hcdoor (vertical, horizontal closed door) ! ironbars tree room darkcorr litcorr ! upstair dnstair upladder dnladder ! altar grave throne sink toilet fountain pool ice lava ! vodbridge hodbridge (vertical, horizontal open drawbridge) ! vcdbridge hcdbridge (vertical, horizontal closed drawbridge) ! air cloud water ! default: \ |--------||.-|++##.##<><>_|\\##{}.}..##\ #} ! effects like dungeon, but for special effects symbols ! vbeam hbeam lslant rslant (generic zap beams) ! digbeam flashbeam (special beams for digging and cameras) ! boomleft boomright (boomerangs) ! ss1 ss2 ss3 ss4 (shielding sequence) ! sw_topl, sw_topm, sw_topr, (swallow, top row) ! sw_midl, sw_midr, (swallow, middle row [no center]) ! sw_botl, sw_botm, sw_botr (swallow, bottom row) ! mextl mextm mextr (magical explosion matrix top row) ! mexml mexmm mexmr (magical explosion matrix middle row) ! mexbl mexbm mexbr (magical explosion matrix bottom row) ! fextl fextm fextr (fire explosion matrix top row) ! fexml fexmm fexmr (fire explosion matrix middle row) ! fexbl fexbm fexbr (fire explosion matrix bottom row) ! cextl cextm cextr (cold explosion matrix top row) ! cexml cexmm cexmr (cold explosion matrix middle row) ! cexbl cexbm cexbr (cold explosion matrix bottom row) ! dextl dextm dextr (death explosion matrix top row) ! dexml dexmm dexmr (death explosion matrix middle row) ! dexbl dexbm dexbr (death explosion matrix bottom row) ! lextl lextm lextr (lightning explosion matrix top row) ! lexml lexmm lexmr (lightning explosion matrix middle row) ! lexbl lexbm lexbr (lightning explosion matrix bottom row) ! pextl pextm pextr (poison explosion matrix top row) ! pexml pexmm pexmr (poison explosion matrix middle row) ! pexbl pexbm pexbr (poison explosion matrix bottom row) ! aextl aextm aextr (acid explosion matrix top row) ! aexml aexmm aexmr (acid explosion matrix middle row) ! aexbl aexbm aexbr (acid explosion matrix bottom row) ! default: |-\\/*!)(0#@*/-\\||\\-//-\\|\ |\\-//-\\|\ |\\-//-\\|\ |\\-/ ! /-\\|\ |\\-//-\\|\ |\\-//-\\|\ |\\-//-\\|\ |\\-/ gender Your starting gender (gender:male or gender:female). You may specify just the first letter. Although you can still denote your gender using the "male" and "female" options, the "gender" option will take precedence. [RANDOM] horsename the name of your first horse [NONE] ! ghoulname the name of your first ghoul [NONE] ! menu_* create single character accelerators for menu commands. Below ! is a list of all commands. Each is followed by a list of window- ! ports that implement them: 'x' is X11, 'g' is GTK, 't' is tty. ! menu_deselect_all deselect all items in a menu [-](xgt) ! menu_deselect_page deselect all items on this page of a menu [\](t) ! menu_first_page jump to the first page in a menu [^](t) ! menu_invert_all invert all items in a menu [@](xgt) ! menu_invert_page invert all items on this page of a menu [~](t) ! menu_last_page jump to the last page in a menu [|](t) ! menu_next_page goto the next menu page [>](t) ! menu_previous_page goto the previous menu page [<](t) ! menu_search search for a menu item [:](x) ! menu_select_all select all items in a menu [.](xgt) ! menu_select_page select all items on this page of a menu [,](t) ! monsters like dungeon, but for monster symbols ! default: abcdefghijklmnopqrstuvwxyz ! ABCDEFGHIJKLMNOPQRSTUVWXYZ@\ \\&;:~] ! msghistory number of top line messages to save [20] ! name the name of your character [obtained by asking the system or ! the player] ! objects like dungeon, but for object symbols ! default: ])[="(%!?+/$*`0_. ! pettype your preferred type of pet (cat or dog), if your character ! class uses both types [RANDOM] race Your starting race (e.g., race:Human, race:Elf). [RANDOM] role Your starting role (e.g., role:Barbarian, role:Valk). Although you can specify just the first letter(s), it will *************** *** 167,211 **** as possible. You can also still denote your role by appending it to the "name" option (e.g., name:Vic-V), but the "role" option will take precedence. [RANDOM] ! menu_last_page ! jump to the last page in a menu [|](t) ! menu_next_page ! goto the next menu page [>](t) ! menu_previous_page ! goto the previous menu page [<](t) ! menu_search ! search for a menu item [:](x) ! menu_select_all ! select all items in a menu [.](xt) ! menu_select_page ! select all items on this page of a menu [,](t) ! monsters like dungeon, but for monster symbols ! default: abcdefghijklmnopqrstuvwxyz ! ABCDEFGHIJKLMNOPQRSTUVWXYZ@\ \\&;:~] ! msghistory number of top line messages to save [20] ! name the name of your character [obtained by asking the system or ! the player] ! objects like dungeon, but for object symbols ! default: ])[="(%!?+/$*`0_. ! pettype your preferred type of pet (cat or dog), if your character ! class uses both types [RANDOM] ! ratname the name of your first rat [NONE] ! reddragonname the name of your first red dragon [NONE] ! snakename the name of your first snake [NONE] ! traps like dungeon, but for trap symbols ! arrow_trap dart_trap falling_rock_trap squeaky_board ! bear_trap land_mine rolling_boulder_trap sleeping_gas_trap ! rust_trap fire_trap pit spiked_pit hole trap_door ! teleportation_trap level_teleporter magic_portal web ! statue_trap magic_trap anti_magic_trap polymorph_trap ! default: ^^^^^^^^^^^^^^^^^"^^^^ ! whitedragonname the name of your first white dragon [NONE] ! windowtype windowing system to be used [depends on operating system] ! wolfname the name of your first wolf [NONE] Some sample options lists are: !autopickup,!tombstone,name:Gandalf,scores:own/3 top/2 around female,nonews,dogname:Rover,dungeon: |--------||.-|++.##<><>_\\#{}.}..## #} rest_on_space,!verbose,menustyle:traditional - --- 199,216 ---- as possible. You can also still denote your role by appending it to the "name" option (e.g., name:Vic-V), but the "role" option will take precedence. [RANDOM] ! traps like dungeon, but for trap symbols ! arrow_trap dart_trap falling_rock_trap squeaky_board ! bear_trap land_mine rolling_boulder_trap sleeping_gas_trap ! rust_trap fire_trap pit spiked_pit hole trap_door ! teleportation_trap level_teleporter magic_portal web statue_trap ! magic_trap anti_magic_trap polymorph_trap ! default: ^^^^^^^^^^^^^^^^^"^^^^ ! windowtype windowing system to be used [depends on operating system] ! wolfname the name of your first wolf [NONE] Some sample options lists are: !autopickup,!tombstone,name:Gandalf,scores:own/3 top/2 around female,nonews,dogname:Rover,dungeon: |--------||.-|++.##<><>_\\#{}.}..## #} rest_on_space,!verbose,menustyle:traditional diff -Nacrd ../slashem-0.0.6E1F1/dat/opthelp.def ./dat/opthelp.def *** ../slashem-0.0.6E1F1/dat/opthelp.def Wed Apr 26 18:49:25 2000 --- ./dat/opthelp.def Thu Jan 1 01:00:00 1970 *************** *** 1,183 **** - Boolean options available in all versions (with default values in []): - autopickup automatically pick up objects you move over [TRUE] - confirm ask before hitting tame or peaceful monsters [TRUE] - DECgraphics use DEC/VT line-drawing characters for the dungeon [FALSE] - disclose offer information at the end of the game [TRUE] - (fe)male sex of the player (may only be set on startup) [MALE] - fixinv try to retain the same letter for the same object [TRUE] - help print all available info when using the / command [TRUE] - IBMgraphics use IBM extended characters for the dungeon [FALSE] - ignintr ignore interrupt signal, including breaks [FALSE] - legacy print introductory message [TRUE] - lit_corridor show a dark corridor as lit if in sight [FALSE] - mail enable the mail daemon [TRUE] - null allow nulls to be sent to your terminal [TRUE] - try turning this option off (forcing NetHack to use its own - delay code) if moving objects seem to teleport across rooms - number_pad use the number keys to move instead of yuhjklbn [FALSE] - perm_invent keep inventory in a permanent window [FALSE] - pickup automatically pick up objects you move over [TRUE] - rest_on_space count the space bar as a rest character [FALSE] - safe_pet prevent you from (knowingly) attacking your pet(s) [TRUE] - silent don't use your terminal's bell sound [TRUE] - sortpack group similar kinds of objects in inventory [TRUE] - standout use standout mode for --More-- on messages [FALSE] - time display elapsed game time, in moves [FALSE] - tombstone print tombstone when you die [TRUE] - toptenwin print topten in a window rather than stdout [FALSE] - verbose print more commentary during the game [TRUE] - - - There are further boolean options that exist in some versions of NetHack - 3.2. (You can learn which options exist in your version by checking your - current option setting, which is reached via the 'O' cmd.) - - Boolean option if INSURANCE was set at compile time: - checkpoint save game state after each level change, for possible [TRUE] - recovery after program crash - - Boolean option if NEWS was set at compile time: - news print any news from game administrator on startup [TRUE] - - Boolean options if DGK was set at compile time: - BIOS allow the use of IBM ROM BIOS calls [FALSE] - rawio allow the use of raw I/O (may only be set on startup) [FALSE] - - Boolean option if EXP_ON_BOTL was set at compile time: - showexp display your accumulated experience points [FALSE] - - Boolean option if SCORE_ON_BOTL was set at compile time: - showscore display your approximate accumulated score [FALSE] - - Boolean options if TEXTCOLOR was set at compile time: - color use different colors for objects on screen [TRUE for micros] - hilite_pet display pets in a highlighted manner [FALSE] - - Boolean option if TIMED_DELAY was set at compile time (tty interface only): - timed_delay on unix and VMS, use a timer instead of sending - extra screen output when attempting to pause for - display effect. on MSDOS without the termcap - lib, whether or not to pause for visual effect. [TRUE] - - Any Boolean option can be negated by prefixing it with a '!' or 'no'. - - - Compound options are written as option_name:option_value. - - Compound options which can be set during the game are: - - disclose the types of information you want offered at the end of the - game [all] - fruit the name of a fruit you enjoy eating [slime mold] - (basically a whimsy which NetHack uses from time to time). - menustyle user interface for selection of multiple objects: - Traditional -- one object at a time prompting; - Combination -- prompt for classes of interest, then menu; - Partial -- skip class prompt, use menu of all objects; - Full -- menu for classes of interest, then object menu; - only the first letter ('T','C','P','F') matters; 'N' (None) - is a synonym for 'T', as is boolean style negation [Full] - packorder a list of default symbols for kinds of objects that gives the - order in which your pack will be displayed [")[%?+!=/(*`0_] - (If you specify only some kinds of items, the others from the - default order will be appended to the end.) - pickup_types a list of default symbols for kinds of objects to autopickup - when that option is on [all] - scores the parts of the score list you wish to see when the game ends - You choose a combination of top scores, scores around the top - scores, and all of your own scores. [!own/3 top/2 around] - - Compound options which may be set only on startup are: - - badgername the name of your first badger [NONE] - batname the name of your first bat [NONE] - catname the name of your first cat [NONE] - dogname the name of your first dog [NONE] - dungeon a list of symbols to be used in place of the default ones for - drawing the dungeon. - The symbols are subjected to a fair amount of processing, so - that you can use C-style escapes such as \n or \081 as well as - indicate control characters by ^x or meta characters by \Mx. - As usual, \ can force the next character to be taken - literally. Since many of the default symbols are overloaded, - they are given here by name instead of symbol, with some - added notes: - stone (solid rock, normally ' ') - vwall hwall tlcorn trcorn blcorn brcorn (room boundaries) - crwall tuwall tdwall tlwall trwall (wallified maze characters) - nodoor vodoor hodoor (no, vertical, horizontal open door) - vcdoor hcdoor (vertical, horizontal closed door) - room darkcorr litcorr upstair dnstair upladder dnladder - trap web altar throne sink fountain pool ice lava - vodbridge hodbridge (vertical, horizontal open drawbridge) - vcdbridge hcdbridge (vertical, horizontal closed drawbridge) - air cloud water - default: \ |--------||.-|++.##<><>_\\#{}.}..##\ #} - effects like dungeon, but for special effects symbols - vbeam hbeam lslant rslant (generic zap beams) - digbeam flashbeam (special beams for digging and cameras) - boomleft boomright (boomerangs) - ss1 ss2 ss3 ss4 (shielding sequence) - sw_topl, sw_topm, sw_topr, (swallow, top row) - sw_midl, sw_midr, (swallow, middle row [no center]) - sw_botl, sw_botm, sw_botr (swallow, bottom row) - extl extm extr (explosion matrix top row) - exml exmm exmr (explosion matrix middle row) - exbl exbm exbr (explosion matrix bottom row) - default: |-\\/*!)(0#@*/-\\||\\-//-\\|\ |\\-/ - ghoulname the name of your first ghoul [NONE] - menu_* create single character accelerators for menu commands. Below - is a list of all commands. Each is followed by a list of - window-ports that implement them: 'x' is X11, 't' is tty. - menu_deselect_all - deselect all items in a menu [-](xt) - menu_deselect_page - deselect all items on this page of a menu [\](t) - menu_first_page - jump to the first page in a menu [^](t) - menu_invert_all - invert all items in a menu [@](xt) - menu_invert_page - invert all items on this page of a menu [~](t) - menu_last_page - jump to the last page in a menu [|](t) - menu_next_page - goto the next menu page [>](t) - menu_previous_page - goto the previous menu page [<](t) - menu_search - search for a menu item [:](x) - menu_select_all - select all items in a menu [.](xt) - menu_select_page - select all items on this page of a menu [,](t) - monsters like dungeon, but for monster symbols - default: abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZ@\ \\&;:~] - msghistory number of top line messages to save [20] - name the name of your character [obtained by asking the system or - the player] - objects like dungeon, but for object symbols - default: ])[="(%!?+/$*`0_. - pettype your preferred type of pet (cat or dog), if your character - class uses both types [RANDOM] - ratname the name of your first rat [NONE] - reddragonname the name of your first red dragon [NONE] - snakename the name of your first snake [NONE] - traps like dungeon, but for trap symbols - arrow_trap dart_trap falling_rock_trap squeaky_board - bear_trap land_mine rolling_boulder_trap sleeping_gas_trap - rust_trap fire_trap pit spiked_pit hole trap_door - teleportation_trap level_teleporter magic_portal web - statue_trap magic_trap anti_magic_trap polymorph_trap - default: ^^^^^^^^^^^^^^^^^"^^^^ - whitedragonname the name of your first white dragon [NONE] - windowtype windowing system to be used [depends on operating system] - wolfname the name of your first wolf [NONE] - - - Some sample options lists are: - !autopickup,!tombstone,name:Gandalf,scores:own/3 top/2 around - female,nonews,dogname:Rover,dungeon: |--------||.-|++.##<><>_\\#{}.}..## #} - rest_on_space,!verbose,menustyle:traditional - --- 0 ---- diff -Nacrd ../slashem-0.0.6E1F1/include/decl.h ./include/decl.h *** ../slashem-0.0.6E1F1/include/decl.h Wed Apr 26 18:49:27 2000 --- ./include/decl.h Fri May 5 18:36:46 2000 *************** *** 187,201 **** E NEARDATA char plname[PL_NSIZ]; E NEARDATA char dogname[]; E NEARDATA char catname[]; E NEARDATA char horsename[]; E NEARDATA char batname[]; E NEARDATA char snakename[]; E NEARDATA char ratname[]; - E NEARDATA char wolfname[]; - E NEARDATA char ghoulname[]; E NEARDATA char badgername[]; E NEARDATA char reddragonname[]; E NEARDATA char whitedragonname[]; E char preferred_pet; E const char *occtxt; /* defined when occupation != NULL */ E const char *nomovemsg; --- 187,203 ---- E NEARDATA char plname[PL_NSIZ]; E NEARDATA char dogname[]; E NEARDATA char catname[]; + E NEARDATA char ghoulname[]; E NEARDATA char horsename[]; + E NEARDATA char wolfname[]; + #if 0 E NEARDATA char batname[]; E NEARDATA char snakename[]; E NEARDATA char ratname[]; E NEARDATA char badgername[]; E NEARDATA char reddragonname[]; E NEARDATA char whitedragonname[]; + #endif E char preferred_pet; E const char *occtxt; /* defined when occupation != NULL */ E const char *nomovemsg; diff -Nacrd ../slashem-0.0.6E1F1/src/decl.c ./src/decl.c *** ../slashem-0.0.6E1F1/src/decl.c Wed Apr 26 18:49:30 2000 --- ./src/decl.c Fri May 5 18:36:46 2000 *************** *** 190,196 **** NEARDATA struct obj zeroobj = DUMMY; /* monster pronouns, index is return value of gender(mtmp) */ - NEARDATA char horsename[PL_PSIZ] = DUMMY; const char *he[3] = { "he", "she", "it" }; const char *him[3] = { "him", "her", "it" }; const char *his[3] = { "his", "her", "its" }; --- 190,195 ---- *************** *** 198,211 **** /* originally from dog.c */ NEARDATA char dogname[PL_PSIZ] = DUMMY; NEARDATA char catname[PL_PSIZ] = DUMMY; NEARDATA char batname[PL_PSIZ] = DUMMY; NEARDATA char snakename[PL_PSIZ] = DUMMY; NEARDATA char ratname[PL_PSIZ] = DUMMY; - NEARDATA char wolfname[PL_PSIZ] = DUMMY; - NEARDATA char ghoulname[PL_PSIZ] = DUMMY; NEARDATA char badgername[PL_PSIZ] = DUMMY; NEARDATA char reddragonname[PL_PSIZ] = DUMMY; NEARDATA char whitedragonname[PL_PSIZ] = DUMMY; char preferred_pet; /* '\0', 'c', 'd' */ /* monsters that went down/up together with @ */ NEARDATA struct monst *mydogs = (struct monst *)0; --- 197,213 ---- /* originally from dog.c */ NEARDATA char dogname[PL_PSIZ] = DUMMY; NEARDATA char catname[PL_PSIZ] = DUMMY; + NEARDATA char ghoulname[PL_PSIZ] = DUMMY; + NEARDATA char horsename[PL_PSIZ] = DUMMY; + NEARDATA char wolfname[PL_PSIZ] = DUMMY; + #if 0 NEARDATA char batname[PL_PSIZ] = DUMMY; NEARDATA char snakename[PL_PSIZ] = DUMMY; NEARDATA char ratname[PL_PSIZ] = DUMMY; NEARDATA char badgername[PL_PSIZ] = DUMMY; NEARDATA char reddragonname[PL_PSIZ] = DUMMY; NEARDATA char whitedragonname[PL_PSIZ] = DUMMY; + #endif char preferred_pet; /* '\0', 'c', 'd' */ /* monsters that went down/up together with @ */ NEARDATA struct monst *mydogs = (struct monst *)0; diff -Nacrd ../slashem-0.0.6E1F1/src/dog.c ./src/dog.c *** ../slashem-0.0.6E1F1/src/dog.c Wed Apr 26 18:49:31 2000 --- ./src/dog.c Fri May 5 18:36:46 2000 *************** *** 155,178 **** pettype = pet_type(); petsym = mons[pettype].mlet; ! if (petsym == S_DOG) ! petname = dogname; else if (petsym == S_BAT) petname = batname; ! /* else if (petsym == S_SNAKE) ! petname = snakename;*/ else if (petsym == S_RODENT) petname = ratname; - /* else if (pettype == PM_WOLF) - petname = wolfname;*/ - else if (pettype == PM_GHOUL) - petname = ghoulname; else if (pettype == PM_GIANT_BADGER) petname = badgername; ! /* else if (pettype == PM_BABY_RED_DRAGON) petname = reddragonname; else if (pettype == PM_BABY_WHITE_DRAGON) ! petname = whitedragonname;*/ else petname = catname; --- 155,182 ---- pettype = pet_type(); petsym = mons[pettype].mlet; ! if (pettype == PM_WINTER_WOLF_CUB) ! petname = wolfname; ! else if (pettype == PM_GHOUL) ! petname = ghoulname; ! else if (pettype == PM_PONY) ! petname = horsename; ! #if 0 else if (petsym == S_BAT) petname = batname; ! else if (petsym == S_SNAKE) ! petname = snakename; else if (petsym == S_RODENT) petname = ratname; else if (pettype == PM_GIANT_BADGER) petname = badgername; ! else if (pettype == PM_BABY_RED_DRAGON) petname = reddragonname; else if (pettype == PM_BABY_WHITE_DRAGON) ! petname = whitedragonname; ! #endif ! else if (petsym == S_DOG) ! petname = dogname; else petname = catname; diff -Nacrd ../slashem-0.0.6E1F1/src/files.c ./src/files.c *** ../slashem-0.0.6E1F1/src/files.c Wed Apr 26 18:49:31 2000 --- ./src/files.c Fri May 5 18:36:46 2000 *************** *** 1353,1374 **** (void) strncpy(dogname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "CATNAME", 3)) { (void) strncpy(catname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "BATNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "SNAKENAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "RATNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); - } else if (match_varname(buf, "WOLFNAME", 3)) { - (void) strncpy(batname, bufp, PL_PSIZ-1); - } else if (match_varname(buf, "GHOULNAME", 3)) { - (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "BADGERNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "REDDRAGONNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "WHITEDRAGONNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "GRAPHICS", 4)) { len = get_uchars(fp, buf, bufp, translate, MAXPCHARS, "GRAPHICS"); --- 1353,1376 ---- (void) strncpy(dogname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "CATNAME", 3)) { (void) strncpy(catname, bufp, PL_PSIZ-1); + } else if (match_varname(buf, "WOLFNAME", 3)) { + (void) strncpy(wolfname, bufp, PL_PSIZ-1); + } else if (match_varname(buf, "GHOULNAME", 3)) { + (void) strncpy(ghoulname, bufp, PL_PSIZ-1); + #if 0 } else if (match_varname(buf, "BATNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "SNAKENAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "RATNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "BADGERNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "REDDRAGONNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); } else if (match_varname(buf, "WHITEDRAGONNAME", 3)) { (void) strncpy(batname, bufp, PL_PSIZ-1); + #endif } else if (match_varname(buf, "GRAPHICS", 4)) { len = get_uchars(fp, buf, bufp, translate, MAXPCHARS, "GRAPHICS");