Mercurial > hg > early-roguelike
changeset 225:4f6e056438eb
Merge the GCC5 and build fix branches.
author | John "Elwin" Edwards |
---|---|
date | Wed, 02 Mar 2016 21:28:34 -0500 |
parents | 4d0f53998e8a (diff) f54901b9c39b (current diff) |
children | b922f66acf4d |
files | |
diffstat | 20 files changed, 283 insertions(+), 6050 deletions(-) [+] |
line wrap: on
line diff
--- a/arogue5/Makefile.in Wed Mar 02 21:13:26 2016 -0500 +++ b/arogue5/Makefile.in Wed Mar 02 21:28:34 2016 -0500 @@ -54,7 +54,7 @@ CC = gcc CPPFLAGS =@DEFS@ CFLAGS= -CRLIB = -lcurses +CRLIB = @LIBS@ RM = rm -f TAR = tar INSTALL=@INSTALL@ @@ -75,14 +75,17 @@ lint -hxbc $(CFILES) $(CRLIB) > linterrs install: $(PROGRAM) - -touch test - -if test ! -f $(DESTDIR)$(SCOREFILE) ; \ - then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi - -if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \ - $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi - -if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \ - mkdir -p $(DESTDIR)$(SAVEDIR) ; fi - -$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM) + touch test + if test ! -f $(DESTDIR)$(SCOREFILE) ; then \ + mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \ + $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi + if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \ + mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \ + $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi + if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \ + mkdir -p $(DESTDIR)$(SAVEDIR) ; fi + mkdir -p $(DESTDIR)$(bindir) + $(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM) -if test "x$(GROUPOWNER)" != "x" ; then \ chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \ chgrp $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \ @@ -92,17 +95,17 @@ chmod 0464 $(DESTDIR)$(SCOREFILE) ; \ chmod 0464 $(DESTDIR)$(LOGFILE) ; \ chmod 0775 $(DESTDIR)$(SAVEDIR) ; \ - fi - -if test ! -d $(DESTDIR)$(docdir) ; \ + fi + if test ! -d $(DESTDIR)$(docdir) ; \ then mkdir -p $(DESTDIR)$(docdir) ; fi - -$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT - -$(INSTALL) -m 0644 $(DOCS) $(DESTDIR)$(docdir) - -$(RM) test + $(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT + $(INSTALL) -m 0644 $(DOCS) $(DESTDIR)$(docdir) + $(RM) test uninstall: - -$(RM) $(DESTDIR)$(bindir)/$(PROGRAM) - -$(RM) -r $(DESTDIR)$(docdir) - + $(RM) $(DESTDIR)$(bindir)/$(PROGRAM) + $(RM) -r $(DESTDIR)$(docdir) + reinstall: uninstall install clean:
--- a/arogue7/Makefile.in Wed Mar 02 21:13:26 2016 -0500 +++ b/arogue7/Makefile.in Wed Mar 02 21:28:34 2016 -0500 @@ -57,7 +57,7 @@ MISC_C= DOCSRC= aguide.mm #DOCS = $(PROGRAM).doc $(PROGRAM).html -DOCS = arogue77.doc arogue77.html +DOCS = $(PROGRAM).doc arogue77.html MISC = Makefile $(MISC_C) LICENSE.TXT $(PROGRAM).sln $(PROGRAM).vcproj $(DOCS)\ $(DOCSRC) @@ -69,23 +69,41 @@ LIBS = @LIBS@ RM = rm -f INSTALL=@INSTALL@ +GROFF=@GROFF@ +NROFF=@NROFF@ +COLCRT=@COLCRT@ +TBL=@TBL@ .SUFFIXES: .obj .c.obj: $(CC) $(CFLAGS) /c $*.c +all: $(PROGRAM) docs + $(PROGRAM): $(HDRS) $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ -install: $(PROGRAM) - -touch test - -if test ! -f $(DESTDIR)$(SCOREFILE) ; \ - then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi - -if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \ - $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi - -if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \ - mkdir -p $(DESTDIR)$(SAVEDIR) ; fi +docs: $(DOCS) + +$(PROGRAM).doc: aguide.mm + if test "x$(GROFF)" != "x" ; then \ + $(GROFF) -P-c -P-b -P-u -t -mm -Tascii aguide.mm > $(PROGRAM).doc ;\ + elif test "x$(NROFF)" != "x" && test "x$(TBL)" != "x" && test "x$(COLCRT)" != "x" ; then \ + $(TBL) aguide.mm | $(NROFF) -mm | $(COLCRT) - > $(PROGRAM).doc ;\ + fi + +install: all + touch test + if test ! -f $(DESTDIR)$(SCOREFILE) ; then \ + mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \ + $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi + if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \ + mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \ + $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi + if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \ + mkdir -p $(DESTDIR)$(SAVEDIR) ; fi + mkdir -p $(DESTDIR)$(bindir) $(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM) -if test "x$(GROUPOWNER)" != "x" ; then \ chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \ @@ -96,23 +114,23 @@ chmod 0464 $(DESTDIR)$(SCOREFILE) ; \ chmod 0464 $(DESTDIR)$(LOGFILE) ; \ chmod 0775 $(DESTDIR)$(SAVEDIR) ; \ - fi - -if test ! -d $(DESTDIR)$(docdir) ; \ + fi + if test ! -d $(DESTDIR)$(docdir) ; \ then mkdir -p $(DESTDIR)$(docdir) ; fi - -$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT - -$(INSTALL) -m 0644 $(DOCS) $(DESTDIR)$(docdir) - -$(RM) test + $(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT + $(INSTALL) -m 0644 $(DOCS) $(DOCSRC) $(DESTDIR)$(docdir) + $(RM) test -uninstall: - -$(RM) $(DESTDIR)$(bindir)/$(PROGRAM) - -$(RM) -r $(DESTDIR)$(docdir) - +uninstall: + $(RM) $(DESTDIR)$(bindir)/$(PROGRAM) + $(RM) -r $(DESTDIR)$(docdir) + reinstall: uninstall install clean: $(RM) $(OBJS1) $(RM) $(OBJS2) - $(RM) core a.exe a.out a.exe.stackdump $(PROGRAM) $(PROGRAM).exe $(PROGRAM).lck + $(RM) core a.exe a.out a.exe.stackdump $(PROGRAM) $(PROGRAM).exe $(PROGRAM).lck $(PROGRAM).doc $(RM) $(PROGRAM).tar $(PROGRAM).tar.gz $(PROGRAM).zip dist.src:
--- a/arogue7/arogue77.doc Wed Mar 02 21:13:26 2016 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1122 +0,0 @@ - - - - - - - The Dungeons of Doom - - Toolchest - - - - - - - 1. INTRODUCTION - - Rogue is a screen-oriented fantasy game set in the - ever-changing Dungeons of Doom. The game comes complete - with monsters, spells, weapons, armor, potions, and other - magical items. The dungeon's geography changes with every - game, and although many magical items have certain - identifiable properties, such as turning the player - invisible, the physical manifestation of the magic changes - each game. A red potion, for example, will cause the same - reaction throughout a given game, but it may be a completely - different potion in a new game. - - Entering the dungeon with only a little food, armor, - and a weapon, the player must develop a good strategy of - when to fight, when to run, and how to best use any magical - items found in the dungeon. To make things interesting, the - player has a quest to return one of several unique - artifacts, rumored to lie deep in the dungeon's bowels. - Returning with this artifact brings great glory and the - title of Complete Winner. But even after finding the - artifact, the player may wish to continue further to match - wits with an arch-devil, demon prince, or even a deity found - far down in the dungeon. Defeating such a creature will - gain the player many experience points, the basis for - scoring in Rogue. - - It is very difficult to return from the Dungeons of - Doom. Few people ever make it out alive. Should this - unlikely event occur, the player would be proclaimed a - complete winner and handsomely rewarded for any booty - removed from the dungeon. - - - 2. CHARACTER CLASSES - - Before placing the player in the dungeon, the game - requests the player to select what type of character they - would like to be: a fighter, a magic user, a cleric, a - druid, a thief, a paladin, a ranger, a monk, or an assassin. - - 2.1 The Fighter - - A fighter is very strong and will have a high strength - rating. This great strength gives a fighter the best odds - of winning a battle with a monster. At high experience - - - - - - - - - - 2 - - - - - levels the fighter also gets to attack multiple times in a - single turn. This obviously further increases his chances - at winning battles. Intrinsic to the fighter class is a - robustness which results in 1 to 12 extra hit points for - every new experience level. - - 2.2 The Magician - - A Magician is able to "cast" spells. The number and - variety of spells increases as the magician gains experience - and intelligence. Magic users are not as hearty as - fighters; they receive 1 to 6 extra hit points for every new - experience level. - - 2.3 The Cleric - - A cleric is able to "pray" to his god for help. The - number and variety of prayers which the gods are willing to - grant to a cleric increase as the cleric gains experience - and wisdom. - - Because of their religious nature, clerics can also - affect the "undead" beings, like zombies and ghouls, which - became monsters after they died. If an "undead" creature is - next to a cleric, the cleric may try to turn it and cause it - to flee. If the cleric is sufficiently powerful relative to - the monster, the cleric will destroy it. This ability - increases as the character gains experience levels. - - Clerics can gain from 1 to 8 extra hit points on - reaching a new experience level. - - 2.4 The Druid - - The druid is a cleric of sorts but worships nature - rather than a god. The druid is able to "chant" and thereby - recieve certain types of spells. Most of the chants are - targeted more towards the elements and nature. - - Druids gain from 1 to 8 hit points when they gain an - experience level. - - 2.5 The Thief - - A thief is exceptionally dextrous and has a good chance - to set a trap or rob a monster. - - By their nature, thieves can automatically detect all - the gold on the current level of the dungeon. They are also - good at detecting hidden traps. Because thieves slink - along, they are not as likely as other characters to wake - sleeping monsters. If a thief manages to sneak up on a - creature without waking it, he will get a chance to backstab - the monster. When this is done, the damage done by the thief - - - - - - - - - - 3 - - - - - greatly increases based on his experience level. - - Thieves gain from 1 to 6 extra hit points from a new - experience level. - - 2.6 The Paladin - - The paladin is a type of holy warrior. Somewhat of a - cross between a fighter and a cleric. He is able to pray and - turn undead as a cleric, (but to a lesser degree) but fights - as a fighter. He is on the side of all that is good and - righteous. Therefore he would never attack a creature that - would not attack him first. If he does kill a non-violent - creature inadvertantly he will feel "uneasy" and his god may - retaliate by making him a mere fighter. - - Paladins gain 1 to 10 hit points per experience level. - - 2.7 The Ranger - - The ranger is somewhat of a cross between a druid and a - fighter. He too is on the side of righteousness and good. - Therefore, the same same restrictions apply to his as they - do to a paladin. The ranger can "chant" and "cast" but to a - lesser degree than the druid and magician. - - Rangers gain 1 to 8 hit points per experience level. - - 2.8 The Monk - - The Monk is a martial arts expert. He wears no armor - but has an effective armor class based on his ability to - dodge attacks. He does not need a weapon in combat for his - hands and feet are a formidable weapon. His ability to dodge - and use his hands as weapons increases as he gains in level. - - Monks gain 1 to 6 hit points per experience level. - - 2.9 The Assassin - - The assassin is a person trained in the art of killing - people by surprise. He has most of the abilities of the - thief except the "backstab". Instead, the assassin has the - chance to kill an opponent outright with one strike. He is - also a ruthless character and trained in the use of poison. - He can recognize poison on sight and can coat his weapon - with it thereby making his next attack an exceptionally - lethal one. - - Assassins gain 1 to 6 hit points per experience level. - - - 3. ATTRIBUTES - - - - - - - - - - - 4 - - - - - 3.1 Intelligence - - Intelligence is the primary attribute associated with - casting spells. With higher intelligence comes the knowledge - of more spells, the ability to cast more spells, and faster - recovery of spells that have been cast. - - 3.2 Strength - - This is, of course, the measure of a character's - physical strength. With higher strength a character can - carry more, cause more damage when striking, have a better - chance to strike an opponent, and move about more quickly - when carrying a load. - - 3.3 Wisdom - - Wisdom is the primary attribute associated with Praying - to a god. With higher wisdom comes the knowledge of more - prayers, the ability to pray more often, and faster recovery - of prayer ability. - - 3.4 Dexterity - - Dexterity is a measure of a character's agility. With - higher dexterity a character is harder to hit, can hit a - opponent more easily, and can move about more quickly when - carrying a load. - - 3.5 Constitution - - Every character has a constitution rating. A character - with an exceptionally good constitution will gain more than - the normal amount of hit points associated with the - character's class when the character reaches a new - experience level. Exceptional constitution also provides - better protection versus poison-based attacks and diseases. - - 3.6 Charisma - - Charisma is a measure of a characters looks and general - likeableness. It effects transactions when trying to - purchase things. - - 3.7 Experience Levels - - Characters gain experience for killing monsters, - stealing from monsters, and turning monsters. Each - character class has a set of thresholds associated with it. - When a character reaches a threshold, the character attains - the next experience level. This new level brings extra hit - points and a greater chance of success in performing the - abilities associated with the character's class. For - example, magicians receive new spells, and clerics receive - - - - - - - - - - 5 - - - - - new prayers. - - 3.8 Allocating Attributes - - The player starts with 72 "attribute points" to create - a character and can distribute them in any manner among the - six attributes described above. When prompting the player - for each attribute, the game displays the minimum and - maximum allowable values for that attribute. The player can - type a backspace (control-H) to go back and change a value; - typing an escape (ESC) sets the remaining attributes to the - maximum value possible given the remaining attribute points. - - - 4. THE SCREEN - - During the normal course of play, the screen consists - of three separate sections: the top line of the terminal, - the bottom two lines of the terminal, and the remaining - middle lines. The top line reports actions which occur - during the game, the middle section depicts the dungeon, and - the bottom lines describe the player's current condition. - - 4.1 The Top Line - - Whenever anything happens to the player, such as - finding a scroll or hitting or being hit by a monster, a - short report of the occurrence appears on the top line of - the screen. When such reports occur quickly, one right - after another, the game displays the notice followed by the - prompt '--More--.' After reading this notice, the player - can press a space to display the next message. At such a - point, the game ignores all commands until the player - presses a space. - - 4.2 The Dungeon Section - - The large middle section of the screen displays the - player's surroundings using the following symbols: - - | A wall of a room. - - - A wall of a room. - - * A pile of gold. - - % A way to the next level. - - + A doorway. - - . The floor in a room. - - @ The player. - - - - - - - - - - - 6 - - - - - _ The player, when invisible. - - # The floor in a passageway. - - ! A flask containing a potion. - - ? A sealed scroll. - - : Some food. - - ) A weapon. - - Solid rock (denoted by a space). - - ] Some armor. - - ; A miscellaneous magic item - - , An artifact - - = A ring. - - / A wand or a staff. - - ^ The entrance to a trading post - - > A trapdoor leading to the next level - - { An arrow trap - - $ A sleeping gas trap - - } A beartrap - - ~ A trap that teleports you somewhere else - - ` A poison dart trap - - " A shimmering magic pool - - ' An entrance to a maze - - $ Any magical item. (During magic detection) - - > A blessed magical item. (During magic detection) - - < A cursed magical item. (During magic detection) - - A letter A monster. Note that a given letter may signify - multiple monsters, depending on the level of the - dungeon. The player can always identify a current - monster by using the identify command ('/'). - - - - - - - - - - - - 7 - -