A horrific noob's commentated 'band adventures

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • smbhax
    Swordsman
    • Oct 2021
    • 325

    #91
    Umoria -- NOT having bump to open doors does feel like it fits the pace of Umoria--or at least, doesn't stand out as unduly slow there. But I thought I'd try it--and it is nice and smooth--so:

    Bump to open doors:

    player_move.cpp
    526 replaced line (closed door warning) w/ "openClosedDoor(coord);"

    player.cpp
    1240 removed "static" before "void openClosedDoor(Coord_t coord) {"

    player.h
    229 added new line below this one
    void openClosedDoor(Coord_t coord);
    My Angband videos

    Comment

    • smbhax
      Swordsman
      • Oct 2021
      • 325

      #92
      Umoria

      - Removed player character gender

      welcome.txt (in /data)
      removed "a gender" from "you must specify"

      character.cpp
      267-290 commented out characterSetGender function
      300-303 changed "male_" to "char_"
      304-309 commented lines
      354 changed 5 to 4
      461-463 commented out giving F chars 50 extra starting gold 'ppp'
      477 commented line

      character.h
      19-22 changed "male_" to "char_"
      23-26 commented lines

      data_player.cpp
      89, 94, 99, 104, 109, 114, 119, 124 commented last four numbers of each line

      game_death.cpp
      28, 29, 95-97 commented "King" winner rank title for male
      31, 98 changed now-default winner rank title from "Queen" to "Ruler"

      game_files.cpp
      206 commented line
      207 changed " Weight%8s %6d", colon," to ""%38s Weight%8s %6d", blank, colon,"

      game_save.cpp
      159 commented line
      571 commented line

      player.cpp
      33-35 commented playerIsMale function
      37-39 commented playerSetGender function
      41-46 commented playerGetGenderLabel function
      1660, 1661 commented "King" max rank title for male
      1663 changed now default max rank title from "Queen" to "Ruler"

      player.h
      51 commented line
      191 commented line
      192 commented line

      scores.cpp
      14-19 commented highScoreGenderLabel function
      43 replaced "highScoreGenderLabel()" with "'X'"
      212 changed "%-19.19s %c %-10.10s" to "%-19.19s %-10.10s"
      216 commented line
      227 replaced "Sex Race" w/ " Race" (two leading spaces)

      ui.cpp
      468, 477 commented lines
      469, 478 changed "5,"s to "4,"s

      (That character.cpp thing was

      Code:
          // She charmed the banker into it! -CJS-
      //    if (!playerIsMale()) {
      //        new_gold += 50;
      //    }
      )
      Last edited by smbhax; November 14, 2022, 17:41.
      My Angband videos

      Comment

      • smbhax
        Swordsman
        • Oct 2021
        • 325

        #93
        Umoria

        Spell list auto-open (goes with item list auto-open, post 89 in this thread http://angband.oook.cz/forum/showthr...8&postcount=89) :

        spells.cpp
        15 changed "%c-%c, *=List, <ESCAPE>" to "%c-%c, <ESCAPE>"
        18 commented line
        21 added:
        terminalSaveScreen();
        23 added:
        displaySpellsList(spell_ids, number_of_choices, false, first_spell);
        65-71, 86, 88 commented lines
        Last edited by smbhax; November 14, 2022, 20:05.
        My Angband videos

        Comment

        • smbhax
          Swordsman
          • Oct 2021
          • 325

          #94
          Quick list of Moria versions and variants sites I've found:

          https://umoria.org/ - official

          http://www.nic.funet.fi/pub/unix/games/moria/ - pre-2000 vers & variants

          https://beej.us/moria/files/ - 2006 mirror of funet archive

          https://www.nongnu.org/gmoria/ - Gmoria
          https://sites.google.com/site/donnierussellii/moria - SDLMoria
          https://andrew.cool/moria - Umoria Color (C++ port of Colour Umoria)
          https://github.com/HunterZ/umoria/releases - Unicode Windows port of DOS Umoria 5.6
          https://blog.slor.net/2016/11/a-nati...-of-moria.html - Wmoria
          Last edited by smbhax; November 17, 2022, 01:13.
          My Angband videos

          Comment

          • smbhax
            Swordsman
            • Oct 2021
            • 325

            #95
            Umoria

            - Any key clears -more- prompts:

            ui_io.cpp
            271-272, 274 commented line
            273 comment "key = ", leaving just "getKeyInput();"
            My Angband videos

            Comment

            • smbhax
              Swordsman
              • Oct 2021
              • 325

              #96


              Going back to the GCU (ASCII) front end of Angband, compiled in Cygwin--but I also wanted sound, so worked out how to do SDL2 sound with ASCII through Cygwin.

              The first widely distributed version of Angband, version 2.4.Frog-knows, and specifically the 1.1 version of the PC (DOS) port of that, which I was running here through DOSBox (free from https://www.dosbox.com) , can be downloaded from the official Angband site's "Releases" section at https://rephial.org/release/2.4.fk -- except that the PC version 1.1 link is currently typoed to 1.2 there, so you have to alter it manually to https://github.com/angband/angband/r...ngband-1.1.zip

              The HunterZ Windows port of DOS Umoria 5.6 is https://github.com/HunterZ/umoria

              The John Harris (rodneylives) article in which he talks about Frog-knows and other past Angband versions is https://setsideb.com/play-angband-version-history/

              (And the podcast in which an episode with him was often one of the best is http://www.roguelikeradio.com/ .)

              - FORGOT backwardsEric told me (and further FORGOT this discussion took place on the Angband github page for software issue 5542, not the forum) that overriding the ^c suicide key with a blank keymap won't work in the GCU front end

              - FORGOT the capitalization fix for CTRL characters (ie the game now showing CTRL plus the "d" key as "^d," not "^D") was a recent fix and so isn't in the downloaded 4.2.4 Windows front end version still available as the latest on rephial.org, with which I was testing at one point here and confusing myself mightily 'p'

              0:00 - messing with tiles (MSYS2 SDL2)
              9:39 - GCU block walls (Cygwin)
              13:24 - checkerboard walls (2.4.Frog-knows DOS 1.1)
              17:09 - my Umoria tweaks (Cygwin)
              28:40 - HunterZ Umoria 5.6 DOS to Windows port
              42:02 - sound in GCU Angband (Cygwin)
              50:08 - monochrome option in DOS Frog-knows
              55:25 - GCU ^c death key keymap confusion & save-scumming 'p'
              1:23:24 - L37 - giant fire ants
              1:42:25 - still confused about GCU ^c and keymaps ; P

              After being hopelessly confused about the ^c thing during the recording, I looked up Angband's code on the ^c suicide key, and it is NOT a function of my Cygwin terminal that's killing the character, it's the game, sort of simulating an old-style ^c terminal break function or something. That seems dangerous and pointless to me, at least in Windows where you've got Task Manager to kill processes if you really need to do that, so I've disarmed this bizarre suicide function in my local Angband version by commenting out one line of code.

              disarm redundant (in Windows) ^c suicide key:

              ui-signals.c
              121 comment line
              Last edited by smbhax; November 23, 2022, 14:14.
              My Angband videos

              Comment

              • smbhax
                Swordsman
                • Oct 2021
                • 325

                #97


                Setting up and running Angband version 2.4.Frog-knows, and specifically the 1.1 version of the PC (DOS) port of that, through DOSBox:

                0:00 - start
                2:05 - DOSBox Options
                5:00 - running the game
                7:38 - fullresolution option
                11:40 - monochrome game option

                My DOSBox Options file (*.conf) settings: to get fullscreen (ALT+Enter) Frog-knows scaled up a bit on my 1080p screen and sharp rather than blurry:

                fullresolution=desktop
                scaler=normal2x forced

                That leaves it black-bordered from its doubled 480p--to 960p--at my 1080p fullscreen, but sharp, and the checkerboard patterns of those nifty DOS wall blocks intact.

                And you can enter your "mount c" command at the bottom of the Options file so you don't have to re-enter it each time you run DOSBox; like

                mount c [full path to your dos programs, like c:\mydos or wherever you're putting your stuff]

                ~~

                Once in the game, pressing "=" opens the Options screen, where I turned the "monochrome" option on.
                Last edited by smbhax; November 23, 2022, 14:14.
                My Angband videos

                Comment

                • smbhax
                  Swordsman
                  • Oct 2021
                  • 325

                  #98
                  I'm still a roguelike noob, and also don't really know what I'm talking about. I liked the look of a couple DOS Moria/Angband ports I happened to see, and wanted to find out where it came from.



                  0:00 - start
                  2:05 - Rogue
                  22:50 - "! Supervisor Key (fake DOS)"
                  29:10 - Koeneke, Wilson, Kneller
                  59:02 - PC-Moria 4.873
                  1:13:17 - the checkerboard block (177 - Medium Shade)
                  1:36:23 - Castle Adventure
                  1:47:21 - Umoria 5.4c
                  2:09:26 - Umoria 5.5
                  2:18:53 - Umoria 5.5.2
                  2:33:11 - Umoria 5.2.2 386
                  2:39:35 - Umoria 5.7.15 (Windows terminal)
                  2:43:11 - Umoria 5.6 msvc3 (Windows terminal)
                  2:50:51 - Cutler, Astrand, Marsh, Hill, Teague
                  2:58:40 - Angband 2.4.Frog-knows 1.1
                  3:19:05 - PC Angband 1.2
                  3:56:59 - PC Angband 1.31
                  4:19:35 - PC Angband 1.4
                  4:42:39 - Angband 2.7.4
                  5:16:48 - Angband 2.8.0
                  5:47:38 - Angband 2.9.0
                  6:10:00 - Angband 3.0.6
                  6:18:40 - Angband 4.2.4-162x ASCII (Cygwin GCU)
                  6:22:59 - Angband 4.2.4-162x tiles (MSYS2 SDL2)
                  6:24:19 - frognose

                  (Angband 4.2.4-162x built from more recent untagged source code, and with a slightly customized title screen.)

                  ~~~~

                  I downloaded the following files from the following places for this:

                  - DOSBox from https://www.dosbox.com

                  - PC-Moria 4.873 from https://www.myabandonware.com/game/moria-27f

                  - Umoria 5.4, 5.5, and 5.5.2 DOS versions and various source files from http://www.nic.funet.fi/pub/unix/games/moria/ (operated by "CSC, the Finnish IT center for science"--Finnish government)

                  - Moria 5.5.2 386, aka the DJGPP port ("DJGPP is a 32-bit, protected-mode compiler, which means that programs compiled under it require an 80386 or higher to run"), from https://archive.org/details/m552-386

                  - Umoria 5.6 Windows port from https://github.com/HunterZ/umoria/releases

                  - Various Umoria source files from https://umoria.org/highlights/

                  - Angband DOS versions and various source files from https://rephial.org/release

                  - Current Angband from https://github.com/angband/angband/

                  - The 1984 DOS freeware game Castle Adventure from https://dosgames.com/game/castle-adventure/

                  ^^ Those are free software. This one cost a couple bucks:

                  - Rogue - 1985 DOS Epyx 1.49 version from https://store.steampowered.com/app/1443430/Rogue/

                  ~~~~
                  ~~~~

                  Rogue

                  Steam installs Epyx's 1985 DOS Rogue port version 1.49 in a custom DOSBox arrangement; the config settings left it blurry on my display and anyway I wanted to be able to run it from the same DOS prompt as other games, so I collected the various files from where Steam had installed them, and made my own set-up for them. One tricky part is that there's no unified way to start a new game and restore a previously saved game from the same Windows shortcut; you may need to do like Steam partially did and set up separate start and restore shortcuts, using an appropriate Rogue command-line option--probably "/r"--for one of them; here's a Rogue command option list with definitions, from a copy of the old PC manual I found at https://britzl.github.io/roguearchiv...ual/manual.htm

                  rogue - Starts a new game.
                  rogue /r - Automatically restarts a saved game using the file name rogue.sav on the rogue disk.
                  rogue /s - Displays the current rankings in the Guildmasters Hall of Fame without having to start a game.
                  rogue /bw - If you have a color graphics card and are using a black and white monitor, starting a new game of ROGUE with this option will improve the clarity of the screen.
                  rogue (file name) - Restarts a new game using a game saved in (file name).

                  "/bw" didn't seem to work on mine.

                  DOS Rogue's "!" or F10 "Supervisor Key" hides the game with a fake DOS screen; type "rogue" to get back to the game once the boss leaves ; ].


                  Did the "Supervisor Key" become a bit of a running joke in Moria and PC Angband? "!" in DOS versions of Moria pops up the DOS shell, with "type 'exit' to resume your game" at the top; in PC Angband, it prompts a dry retort: "Sorry, Angband doesn't leave enough free memory for a subshell." ; D

                  After PC Angband, though, any such joke may have been lost: in Angband 2.7.4, "!" is used to write in-game macros, and in 2.8.0 it does not appear to have its own game function. There could be a hint of a revival from at least 2.9.0 on, but the new, functional DOS-specific game option menu that "!" brings up there is presented with an entirely straight face. : =|

                  ~~~~
                  ~~~~

                  Moria

                  For Moria, I ran I think all the non-variant DOS versions I could find (and a couple related games):

                  - PC-Moria 4.873 - 1988
                  DOS port from Wilson's Unix code by Don G. Kneller: no Options menu, no [number][command] repeat input, no auto-rest, no Shift-W; default keyboard config is on non-roguelike setting ("MORIA" rather than "ROGUE"; a later DOS port says "VMS" was the other setting(?)--or is it just anything other than "ROGUE"?); can change char for walls (and floors) in Kneller's MORIA.CNF config file--but doesn't change char for SECRET doors (later versions do), so easy exploit to spot secret doors just by changing rest of walls to something else; ^r redraws screen (somehow this breaks after this for a long time, at least as far as DOSBox is concerned); relatively slow character saving and loading; no [executable] -h command line descriptions (not until Angband Frog-knows)--not sure there are any command line options

                  - Umoria 5.4 color - 1991
                  David J. Grabiner takes over as Moria maintainer from James E. Wilson, "making only minor changes"; Justin Martin Anderson adds DOS color, probably after an official monochrome DOS port by Grabiner (the official Mac version had had 8-color support since at least version 5.2.0; the official Amiga version had 4-color support by at least version 5.4.0); 5.4 has the last still-extant DOS support note until support for DOS and other old systems is officially removed in 2016's version 5.7.0; despite saying so in ? command list, ^r does NOT redraw screen like 4.873 did (does not work again until PC Angband 1.3)

                  - Umoria 5.5 - 1992 (Grabiner)

                  - Umoria 5.5.2 - 1994
                  Grabiner's releases ended with 5.5.2 in mid-'94; DOS port by Roland Roberts

                  - Moria 5.5.2 386 - 1994?
                  DOS port by Ben Shadwick; Grabiner names this version as "the executable for the PC" in his FAQ; high CPU usage in DOSbox

                  - UMoria 5.6 msvc3 - 2015
                  Windows terminal port of 2008 Umoria by Ben Shadwick with "enhancements from the MS-DOS ports," most obviously a Unicode approximation of the DOS checkerboard block; some minor graphical glitches

                  ~~~~

                  Robert A. Koeneke enrolled in engineering courses at the University of Oklahoma "around 1980 or 81," and one night while hanging out with some sysadmins in the engineering lab, on a DEC UNIX minicomputer--which despite the name was the size of a very large refrigerator, fronted with four spooled tapes--got hooked on playing the original Rogue. But the DEC minicomputer in the department where he got a job was a VAX running VMS, and "no games were available for it at that time," so he decided to write his own. The developers of Rogue had not released the source code for their game, so Koeneke wrote the best clone he could of what he remembered of it, in BASIC, on the VAX/VMS minicomputer. He named it "Moria" after the deep dwarven mines in novelist J.R.R. Tolkien's "Middle-Earth" fantasy world.

                  A year later--'83 or so--when he started taking a course on Pascal, its functions gave him more ideas for a Rogue-like game, so he started writing another Moria: not an exact Rogue clone, this time, but his own new game. Other UO students got hooked on HIS game, and he challenged them to beat it, and himself to prevent them from beating it. In '85, he started sending his Pascal VAX/VMS source code to other universities. His last release, 4.7, came "around 1986 - 87": "my last official release"; other UO students continued Moria through v4.8 after Koeneke left for the commercial world.

                  Koeneke was establishing the development pattern for the Moria & Angband DOS period: students working in a university computer lab release well-received game version, are encouraged to make more; when they leave, repeat with others.

                  The pattern could jump between schools: James E. Wilson, at the University of California, Berkeley, got the Moria 4.8 source, and ported it to Unix C as "Umoria," numbering the first official release in 1987 version 4.85. Wilson said of why he ported it "I did not have access to a VMS machine, and both the Pascal and Assembler code would not work with Unix because of many uses of VMS extensions. Since C was a more common language for Unix anyways, I decided to just convert the whole thing to C."

                  Wilson's "history" file included with his versions of the game lauds Don Kneller's "PC-Moria 4.873" DOS port--but not Kneller's slightly earlier PC-Moria 4.83, which Wilson calls "extremely buggy" and "unplayable"; Wilson recommends PC-Moria 4.873 over a perhaps slightly earlier "PC-Moria 4.00+," described as "a port of the Moria 4.8 Pascal sources to the IBM-PC by John W. DeBoskey," which he calls "faithful" but "unfortunately" having "quite a few bugs."

                  Of how the game spread, Wilson said "I started work on Umoria in February 1987. I somehow acquired play testers in April. I don't recall exactly how, but I was at a university, so maybe they saw me playing it on a public terminal and asked for a copy. The game slowly spread around the Berkeley area. By November, the game was in good enough shape that I could post it to comp.sources.games."

                  I haven't been able to find DeBoskey's version anywhere; interestingly, it's the only Moria branch Wilson lists as not derived from his Unix port. And while his "history" describes various post-Moria-4.8 Unix and VAX/VMS lines, and an Amiga version, Kneller and DeBoskey's are the only two DOS branches mentioned.

                  Wilson adopted Kneller's DOS port into his own set-up: although no compiled Wilson DOS ports seem to have survived, starting in the next available Umoria source code, 5.2.0, there would be an extensive multi-platform structure in the code base that was not there in 4.87, with explicit support for various platforms: Unix, DOS (present in some form since at least 5.0 in '89, which mentions a save tweak for MSDOS; a change in January 1990's version 5.0.10 may have broken the DOS version; a month later, 5.0.16 notes a change to "get MSDOS version working again," as well as "add files from binary PC-Moria distribution"), Atari ST, Mac, VMS, and by at least 5.4, Amiga; Kneller is credited in many of the DOS-related Umoria 5.2.x+ source files, with 5.x DOS update credit to Wilson; Kneller's DOS .CNF config file and options continue to be used, with some Wilson updates; all later Moria/Angband DOS ports use Kneller's visual template and checkerboard walls--which perhaps not coincidentally were used for passageway graphics in the 1984 and 1985 DOS versions of Rogue.


                  ~~~

                  In 1984, one of the original designers of the 1980 game that had so hooked Koeneke, Rogue, had co-founded Artificial Intelligence Design Systems to sell a commercial, DOS version of Rogue. They struggled to break even, but later that year, game developer/publisher Epyx contacted them, and struck a deal under which Epyx began distributing a repackaged version of their DOS port of Rogue in 1985. The '84 AI Design version--from what I can see in screenshots and YouTube videos, anyway--and the '85 Epyx version--at least, the 1.49 version now available for on Steam--both use for their hallways the same DOS checkerboard block that Kneller would use for Moria's walls in '88.

                  That checkerboard block is part of what Wikipedia calls "Code page 437," "the character set of the original IBM PC": "The set includes all printable ASCII characters as well as some accented letters (diacritics), Greek letters, icons, and line-drawing symbols. It is sometimes referred to as the 'OEM font' or 'high ASCII', or as 'extended ASCII' (one of many mutually incompatible ASCII extensions)."

                  Kneller made it easy to change the block character--or "Medium Shade," as Wikipedia's CP437 chart labels it--used for Moria's walls, and the dot character used for open floor spaces, to different characters from the 256-character CP437 set: enter the numeric ID for whichever character you want in the appropriate spot in the moria.cnf DOS config text file (angband.cnf in the early Angband DOS ports). The default config line is

                  GRAPHICS 177 249

                  with 177 being the block, 249 the dot. In CP437, character 176 is a more sparse dot pattern, 178 a thicker one, and 219 a solid block, while 250 is a slightly smaller dot. So changing the default GRAPHICS values in the .cnf to for instance

                  GRAPHICS 178 250

                  would give you heavier-looking walls and lighter floors. If you remove the "GRAPHICS" line altogether, the game reverts to using standard "#" signs and periods instead. A handy debugging feature: if you type a line incorrectly in the .cnf, the game will flash a warning about it, with the line number, at runtime.

                  Wikipedia notes that "some APIs will not print some code points, in particular the range 0-31 and the code at 127. Instead, they will interpret them as control characters" and indeed, the few I tested yielded various behaviors:

                  - In PC Moria, middot 7 and eighth note 14 rendered as "^G" and "^N"
                  - In Frog-knows, 7 and 14 rendered as nothing and an eighth note, respectively

                  Tripping through the listing of "adventure" games on dosgames.com, I noticed another game using, like Rogue, one of those DOS checkerboard blocks to represent worked stone structures in 1984, prior to PC Moria: freeware game "Castle Adventure," written by then-14-year-old Kevin Bales, used the block for its titular castle's walls.

                  ~~~~

                  Grabiner's Moria FAQ, which he reposted to both Moria newsgroups -- rec.games .moria and its successor, rec.games .roguelike.moria (remove the spaces) at intervals through 2010, says that versions back through 5.3--the end of Wilson's run, in March 1991--were "essentially identical" to his last release, 5.5.2, which he continued to refer to as "the current version" even in his last posting of the FAQ to the newsgroup in 2010--which was after 5.6.0 was out, with various maintenance fixes and an update to the Umoria sharing license--changes by him and Rene Weber. Umoria has, in effect, been in maintenance mode since Wilson's departure in '91:

                  Grabiner made two minor updates in '92, none in '93--the year Angband came out--and two in '94; then a gap to some fixes in 2000-01, another gap to 5.6--a 2008 license change--and another gap to 5.7.0 in 2016, a substantial code clean-up, adding support for Windows and macOS, and removing support for old systems, including DOS. Regular maintenance updates have continued in the dungeons-of-moria repository on github since 2017.

                  ~~~~
                  ~~~~

                  Angband

                  Ran all the early Angband DOS ports; after that I skipped between the many available in rephial.org/release, so the things I note may have appeared first in versions between the few I looked at:

                  - Angband 2.4.Frog-knows 1.1 - April 1993
                  DOS port by Charles Teague; color off toggle (through at least 2.7.4); beginning of Teague's clear WHATS.NEW documentation; "g"et command but doesn't tell you what you're standing on, so less efficient than y/n pickup prompt; if color on, uses colored checkerboard block for mineral seams (through 1.4)--but old % signs if color off; terse angband -h command line descriptions

                  - PC Angband 1.2 - May 1993
                  Teague; beginning of his gameplay/balance changes

                  - PC Angband 1.3 - August 1993
                  Teague; Precision targeting from Moria 5.5 variant Morgul; after PC-Moria, ^r finally works to redraw screen again!; verbose angband -h command line descriptions

                  - PC Angband 1.4 - 1994
                  Teague; finally works out "g"et command first telling you what item you're standing on, so it becomes worthwhile; confusing splitting of messages across multiple lines

                  - Angband 2.7.4 - 1995
                  First post-Teague DOS version currently documented/available; the official DOS version of Ben Harrison's (UPenn) "first stable release": he credits features from PC Angband 1.4, Umoria 5.5, and PC Angband 1.31 variant FAngband (by David G. Kahane; per the tangaria.com/variants table, other variants deriving from PC Angband include BAngband and QAngband); vastly expanded in-game option menus, including menu to reassign ASCII chars on the fly--although it can't save them?; bug where map walls are not drawn if using checkerboard blocks rather than "#"; DOS config file changed from angband.cnf to A_IBM.TXT, entirely reformatted from Kneller's MORIA.CNF; macros and apparently user prf pref support--but no manual in-game loading/saving them?; starts player off w/ CLev4 "Whomper" paladin with artifact gear; no readme, minimal documentation--Harrison never much for writing up changelists, claims too many changes to document efficiently; vastly reorganized file structure; torchlight color; like the Umoria 5.5.2 386 port, the versions from here on out have high CPU usage in DOSbox; uses "%" for mineral seams even if color on

                  - Angband 2.8.0 - 1996
                  Ben Harrison official DOS version; somewhat glitchy: map checkerboard block drawing problem remains, -more- prompts and monster health bar may still be in color with color turned off in Options--and everything is bright white! ;P; now has "repeat obvious commands" for automatic door-opening etc; other checkerboard block denotes mineral seams, for a smoother look in monochrome than the old %; ibm prf files replace DOS config file

                  - Angband 2.9.0 - 2000
                  Robert Rühlmann official DOS version - 2.9.0 was his 1st release; has graphics and a taller screen display with built-in subwindows and multi-res options (can turn off graphics & subwindows with "-mibm" command line option); can randomize character generation options; birth options; ! DOS options menu; ? command list replaced with help doc menu--can't find a concise in-game command list; color toggle option is gone

                  - Angband 3.0.6 - 2005
                  Robert Rühlmann - his last release and last Angband DOS release

                  ~~~~

                  In 1990, University of Warwick, England students Alex Cutler & Andy Astrand began expanding Umoria 5.2.1's Unix C code. Students Sean Marsh and Geoff Hill, with others, continued the work after Cutler and Astrand graduated. They gave their version, dubbed "Angband," a wide release in April 1993, with a simultaneous DOS port by Charles F. Teague II, who had been working on it at UMass Boston for several months thanks to alpha Unix versions sent by Marsh. Teague's DOS port kept the checkerboard block walls, config file, and probably lots more, DOS-wise, of Kneller's PC-Moria, and added color via code adapted from the color Umoria 5.4 DOS port, with permission from its author Justin Martin Anderson. Nine days later Teague uploaded a self-extracting bugfix DOS version, ang11exe.exe, to his preferred distribution site, the ksu.edu ftp server.

                  (The KSU FTP had, or would have by December 1993, at least, its own "Archive Manager for Moria and Angband": KSU engineering student Karl S. Hagen. Angband maintainer Ben Harrison would later refer to the KSU FTP as "the 'official' Angband site." Hagen graduated from KSU--or was expecting too--in 1995, but still posted about the "Angband KSU FTP site" in December 1996, calling it "pretty much automated.")

                  (I haven't run them, but hunting through source code and release notes, it looks like the Unix versions of Angband widely released in 1993 and 1994 did not have color; color based on the color added to DOS Umoria 5.4 was added specifically just to the DOS ports of the first versions of Angband. Release notes for non-DOS versions do not mention screen colors until Angband 2.7.0, in 1995, whose changelist notes: "Macintosh and X11 support (and soon IBM), with colour." The changelist of the next version, 2.7.1, mentions adding color to torch light, without specifying a platform. The next-earliest non-DOS source code still available to examine today, version 2.7.4, contains color support for any platform capable of handling it; as in Teague's earlier DOS versions--possibly not added until his 1.1 bugfix version, as he notes there people on monochrome monitors were having trouble seeing dark gray monsters--and until somewhere between 2.8.0 and 2.9.0, when it was removed, the in-game options include a color on/off toggle, defaulting to color being on.)

                  Teague started adding his own features, and balance and gameplay changes, to the game with his next release, uploaded as "ang12exe.exe" in May 1993; the print out from its in-game "V" (Version) command calls this line of updates "PC Angband" and gives their numbered ftp file names, but does not assign specific names to his releases. His August 1993 release, a quick bugfix to version 3 of that same month (Angband's site does not have version 3 available), uses the name PC Angband 1.31.

                  For 8+ months after Frog-knows, DOS, through PC Angband, was the epicenter of Angband development. Besides making more and more balance and game changes of his own, Teague was also incorporating more code from past and present versions of Moria, as well as more key additions from Moria variants: targeting code from Morgul, and the "auto-roller" character generation option from Druid.

                  With Sean Marsh out of contact after the release of Frog-knows, Charles Swiger at Carnegie Mellon University took up the mantle of Angband Unix development, releasing versions starting with Angband 2.5.0-beta in December 1993. There are no recorded Swiger DOS releases; a 1996 reply by Swiger to a newsgroup post by Koeneke asking about Angband said "I believe that you could build 2.5.x under DOS, but almost all DOS players went with Charles F. Teague's PC Angband 1.4 instead, since it had color and performed better under MS-DOS' memory limitations."

                  Teague released one more DOS version, PC Angband 1.4, in March 1994, saying "That's all for now, folks"; he added that he intended to continue working on Angband, but his releases would slow until "someone out there invents a 36-hour day." He had been working a day job since at least January. He did not reappear in the newsgroups.

                  With Teague's departure, there was no further official DOS development until a year later, when Ben Harrison, as Wilson had with Moria, made a vast code overhaul of Angband and established wide multi-platform support. Skimming only lightly across Harrison's numerous DOS version releases left me with an impression of fitful progress, perhaps due to the appearance of some new, possibly DOS-specific visual glitches, and a lack of regular release notes.

                  After Harrison, maintainer Robert Rühlmann seems to have had an affinity for Windows, DOS, and Mac: those are the three versions of his builds that he compiled and released himself through his thangorodrim.net (viewable now via archive.org), and the first and third screenshots on his screenshots page there are of DOS versions: the first's caption includes "2.8.3 MS-DOS version with my new graphics and terminal code," the fourth is a smaller shot of a Windows version, and the second is a contributed, smaller shot of Amiga ZAngband. The finale of the Angband DOS ports was a tremendous expansion of menu, graphics and sound options under Rühlmann--except for the color toggle, which was removed, making color fully mandatory.

                  ~~~~~
                  ~~~~~

                  In writing this I used information from umoria.org, rephial.org, John Harris' Moria and Angband articles on his setsideb.com blog, Wikipedia's Code page 437, Rogue, Moria, and Angband articles, newsgroup posts on the aforementioned Moria groups and rec.games .roguelike.angband (remove the space) by Sean Marsh, David J. Grabiner, Ben Shadwick, Ben Harrison, Karl S. Hagen, Geoff Hill, Robert Alan Koeneke, Charles Swiger*, James E. Wilson, Charles F. Teague II, and David G. Kahane, Ben Shadwick's HunterZ github, Rühlmann's thangorodrim.net via archive.org, the Angband Variants Table by Tangar Igroglaz, mentioned earlier, and from files in the releases I downloaded from the sites listed at the top.

                  * Swiger also posted as "Chuck Swiger" and "Charles William Swiger."

                  ~~~

                  Notes on running some of these DOS ports now:

                  - The Moria 5.5.2-386 DOS port and the Angband 2.7.4 through 3.0.6 DOS ports chew up a lot of CPU in DOSBox--at least one of those Angband ports also mentioned being compiled for 386 processors, so maybe whatever that involves just forces a lot more work out of DOSBox
                  - Renaming the containing directory of PC-Moria 4.873 will prevent it from being able to load a previous save file (but it can run without one)
                  - The Frog-knows DOS aka PC Angband 1.1 and 1.2 README.PC files say the user should create a subdirectory called "bones" before running the game; this would be for storing dead characters to bring back to attack later characters as Frog-knows' "ghosts": there's a "/lib/bones" in 2.7.4, and the 2.8.0 readme notes dead characters were stored for later haunting purposes in /lib/bone in that version, for instance. I wonder if Teague just forgot to ship an empty "bones" directory with Frog-knows and the 1.1 DOS update...but then why didn't he include one in DOS 1.2? (Or did he, but later recompilations have omitted it?) His PC Angband 1.31 and 1.4 do come with pre-made empty "BONES" directories.

                  Of the bones files themselves, Teague posted that a player could even write their own, as "bones files are just text files, with 4 lines in them": "Just makeup a name, put it in the 1st line; pick a number of HPs, put it in the 2nd line; pick a race, figure out the number for it, put it in the 3rd/4th line (sorry, I forget); pick a class, figure out the proper number, and put it in the other 4th/3rd line. Then name the file to the dungeon level where this fictional ghost died. (1000' = 20th lv, so filename is '20', 50' = 1st lv, so filename is '1', etc)."

                  Angband's player ghosts were removed with version 2.7.7 (thanks to John Harris' "Angband version history" article on setsideb.com for pointing that out; the build notes on rephial.org seemingly redundantly also note ghosts were removed in the next version, 2.7.8, so I hadn't looked back further) as Harrison deemed them "a total hack"; a ghost return under rewritten code was promised for 2.8.0, but did not materialize. As of 4.2.4, player ghosts have not returned.
                  Last edited by smbhax; November 28, 2022, 08:32.
                  My Angband videos

                  Comment

                  • smbhax
                    Swordsman
                    • Oct 2021
                    • 325

                    #99
                    Hm...



                    My Angband videos

                    Comment

                    • smbhax
                      Swordsman
                      • Oct 2021
                      • 325



                      Playing a Dunedain warrior in the DOS port of the first widely distributed version of Angband, 2.4.Frog-knows 1.1, in DOSBox!

                      0:00 - 50 ft (heading up)
                      6:48 - town - helm, cloak, gauntlet, boots
                      26:40 - 50 ft (heading down)
                      41:06 - 100 ft
                      54:26 - 150 ft
                      1:07:55 - town - lantern, shield

                      Here's that deleted LotR movie clip with that lady telling Aragorn what a "Doo-nuh-dign" is--with pronunciation--while he grins smugly: https://youtu.be/1g75laLtd_k?t=303

                      The Frog-knows ANGBAND.DOC says this of the Dunedain:

                      Code:
                      	  Dunedain
                      	       Dunedain are a race of hardy men from the  west, this  elder
                      	       race surpasses human abilities in  every  field,  especially
                      	       constitution. However being men of the world, very little is
                      	       new to them, and experience is very hard to gain...     They
                      	       can  play  all  classes.  Their  constitution  can  never be 
                      	       reduced.
                      Their stats and skills in Frog-knows:

                      Code:
                                            Str  Int  Wis  Dex  Con  Chr  Hit Dice  Rqd % Exp/level
                      
                                Human        0    0    0    0    0    0      10          +0
                                Half-Elf    -1   +1    0   +1   -1   +1       9         +10
                                Elf         -1   +2   +1   +1   -2   +1       8         +20
                                Hobbit      -2   +2   +1   +3   +2   +1       7         +10
                                Gnome       -1   +2    0   +2   +1   -2       8         +25
                                Dwarf       +2   -3   +1   -2   +2   -3      11         +20
                                Half-Orc    +2   -1    0    0   +1   -4      10         +10
                                Half-Troll  +4   -4   -2   -4   +3   -6      12         +20
                                Dunedain    +1   +2   +1   +2   +3   +2      10         +80
                                High-Elf    +1   +3   -1   +3   +1   +5      10         +80
                      
                                Racial abilities as compared to each other, with 1 the lowest, or
                                worst,  and  10 the highest, or best, are listed in the following
                                table.
                      
                                            Disarm Search Stealth Percep Fight Bows Save Infra
                      
                                 Human         5      5      5       5     5     5    5  None
                                 Half-Elf      6      7      7       6     4     6    6  20 feet
                                 Elf           8      9      7       7     3     9    7  30 feet
                                 Hobbit       10     10     10      10     1    10   10  40 feet
                                 Gnome         9      7      9       9     2     8    9  40 feet
                                 Dwarf         6      8      3       5     9     5    8  50 feet
                                 Half-Orc      3      5      3       2     8     3    3  30 feet
                                 Half-Troll    1      1      1       1    10     1    1  30 feet
                                 Dunedain      9      8      7       8     7     8    5  None
                                 High-Elf      9      8      8       9     7    10    5  40 feet
                      Apparently in Frog-knows--build notes say this wasn't changed until PC Angband 1.4--the stat maxes for all races and classes are the same, so chugging lots of stat potions will in theory level that side of the playing field eventually, if you play a character long enough.

                      I tend to play pretty slowly, so uhhh I don't know how exactly that means this will balance out. I'll probably die stupidly at some point, anyway. ''D But for now, make mine Doo-nuh-dign!

                      Oh, ANGBAND.DOC also says
                      Code:
                                     Disarming is the  ability  to  remove  traps  (safely),  and
                                     includes  picking  locks  on  traps and doors.  A successful
                                     disarming will gain the character some experience.
                      I'd thought maybe it wasn't but supposedly it is so anyway the idea is good, let's just assume it's working correctly. : D (Because I tried looking up how the EXP change works in the source code and it looks like it's original old Koeneke Moria code and anyhow it's way over my head. ; D)

                      I learned to sell items to the proper shop in order to make money! : D

                      Found a bow and some arrows, haven't used 'em yet though. : P In Frog-knows, you just throw ("Throw/Fire" or whatever it's called) the arrows while having the bow equipped. Also you can swap your weapon to an extra Swap slot with X, so I guess I'll use the bow that way. (Alternatively you could use it with say a digging tool...but I wanna use a bow, anyway I seem to be able to do my small amounts of wall $ excavation okay with my sword so eh. ; )
                      Last edited by smbhax; December 5, 2022, 16:30.
                      My Angband videos

                      Comment

                      • smbhax
                        Swordsman
                        • Oct 2021
                        • 325

                        Back to playing the SDL2 front end, now with the Gervais tileset, compiled in MSYS2 with a few modifications. Hengband BGM--a bit loud, urk--via WinAmp.

                        ALSO looking at more features I found in the last DOS version of Angband, 3.0.6, by Robert Ruehlmann, from 2005 (running in DOSBox)--and his final version of the once-mega-variant Zangband, from 2004. Plus Hengband, with SFX and context-sensitive music!



                        0:00 - start
                        0:33 - Angband 2.4.Frog-knows
                        12:21 - Zangband (Cygwin)
                        20:35 - Zangband water level
                        28:54 - Zangband char creation & wilderness
                        39:05 - Angband 3.0.6 DOS ASCII (-mibm)
                        48:15 - Angband 3.0.6 DOS GFX
                        58:11 - Hengband
                        1:12:05 - Angband (current) L37
                        1:29:10 - L38
                        1:57:55 - L39
                        2:02:46 - death mold
                        2:06:18 - bumbled right into the death mold ]_[
                        2:18:20 - Fur Cloak of Gorimar (+3 speed)
                        2:24:43 - finding the nexus quylthulg!
                        2:30:16 - that's not a down staircase...
                        2:32:13 - town
                        2:38:53 - another L39
                        2:50:34 - Angband 3.0.6 color editor ("&")
                        2:58:29 - Angband 3.0.6 Visuals editor ("%")
                        3:04:11 - 3.0.6 monochrome Rogue style ; )

                        Forgot my bow gives me immunity to traps!

                        The music.cfg in Hengband's music directory explains (via Google Translate) what the music files are used for--I was wrong about low/med/high being indications of tempo only and NOT level! :
                        ~~~~
                        # field1 Wilderness when player level is less than 25
                        # field2 Wilderness when player level is between 25 and 45
                        # field3 Wilderness when player level is 45 or higher
                        # dun_low General dungeon BGM when the dungeon level is less than 40
                        # dun_med General dungeon BGM when the dungeon level is 40 or more and less than 80
                        # dun_high Dungeon general-purpose BGM when the dungeon level is 80 or higher
                        # feel1 When the atmosphere of the dungeon is "bad feeling" to "very dangerous"
                        # feel2 When the atmosphere of the dungeon is "phantom of death"
                        ~~~~~

                        In Angband 3.0.6 DOS version, "!" is the DOS graphics and sound menu, "&" is the color editor (just like the latest Angband color edit menu, only w/ 15 colors instead of 28), and % is the character editor; I used the color editor to switch the game to monochrome, like Angband DOS 2.4.Frog-knows (all 170,170,170 DOS gray--aa,aa,aa in hex), and the character editor to change the "@" to the Rogue smiley face. Although, that breaks the @ in the tile graphics mode--which is very low-res and hard to read, but weirdly charming, and has rudimentary SFX--even music support (plays any midi files placed in the lib / xtra / music dir).

                        With Angband 3.0.6 DOS, the CPU usage was into the teens on my computer, getting me a tad worried. I found changing "cycles" in the DOSBox .conf file from "auto" to "10000" keeps the CPU usage generally below 1%, without impacting performance too much. I wish it ran as low-CPU as the PC Angband versions, though.

                        ~~~~~

                        There's also a Windows version of Angband 3.0.6, looking much like the DOS graphical version--except w/ more tileset options, including a listing for Gervais.

                        A readme.txt says the Gervais tileset is a separate download, from Ruehlmann's thangorodrim.net--now down. As noted by Nick in an old thread http://angband.oook.cz/forum/archive...php/t-254.html , it's available from http://angband.oook.cz/download/extr...-32x32-306.zip.

                        They're hard to view in a legible way while also keeping the game font a reasonable size but the thread has some tips. They're different than current Gervais--the warrior character is even in a different pose!

                        ~~~~~~

                        Oh hey there's a DOS Zangband (and a Windows one). Quite similar in options to DOS Angband 3.0.6, actually. Graphics mode *really* confusing. : D And the ASCII (-mibm) wilderness doesn't look nearly as nice as the terminal version.

                        Late Zangband's switch to procedural wilderness removed quests; a revamped quest system was planned but didn't happen.

                        I say in the video that Zangband forked off Angband after Harrison's code cleanup, but EARLIER versions of Zangband, by original author Topi Ylinen, and initially named Angband--, came from PC Angband 1.31--that's the DOS version (Angband 2.4.Frog-knows is aka PC Angband 1.1). His next version was also DOS: PC Zangband 1.0; and he says some of his character graphics were used in Teague's PC Angband 1.4.; it was his third try that forked from Harrison's Angband 2.8.1.

                        That's from the Zangband.org version history doc via archive.org. There, Ruehlmann introduces himself, in part, as "the creator of the graphical Angband versions for DOS."
                        Last edited by smbhax; December 14, 2022, 08:55.
                        My Angband videos

                        Comment

                        • smbhax
                          Swordsman
                          • Oct 2021
                          • 325

                          DOS Angband 3.0.6, DOS Angband 2.8.3, DOS Zangband



                          0:00 - Hengband music key
                          1:48 - DOSBox cycles setting
                          4:51 - DOS Angband 3.0.6
                          18:20 - system-specific prfs from 2.8.3
                          32:42 - DOS Angband 2.8.3
                          47:55 - DOS Zangband
                          1:22:28 - wrap!

                          Key thing here is setting "cycles" in the DOSBox config file to "10000"--on my ~3-year-old mid-range gaming laptop, at least, that keeps CPU usage for these old DOSbands in the sub-1% range, whereas on the default "auto" cycles setting, it gets up into the teens, and makes my laptop's fan run nearly incessantly.

                          At 10000 cycles, Angband 3.0.6 runs at pretty much full speed--oh, except that you can actually see yourself running, instead of just teleporting, which is nice (3.0.6 doesn't have the old "see yourself running" option or whatever it was that more or less did that in some older versions).

                          DOS Zangband IS a little slow at 10000 cycles, though. ; )

                          ~~~~~

                          Angband 2.8.3 DOS version is NOT on the official site--but an unzipped version of what appears to be it can be found on then-maintainer Ben Harrison's web site, under http://www.phial.com/angdirs/Old-Tree/angband-283-dos/ ; I downloaded all the files, and they ran!

                          - does not have bump-to-open on doors
                          - has an auto-haggle option toggle, but haggling isn't actually supported either way
                          - has a user.prf with parameters supporting separate, system-specific prf files, including separate DOS (Robert Ruehlmann's graphical mode) and IBM (the old "-mibm" command-line switch DOS ASCII mode) prfs; that's EXACTLY what I wanted for 3.0.6 DOS, where my color and @-character "IBM" edits don't work well in the DOS mode...but the 2.8.3 prf parameters only partially work in 3.0.6: 3.0.6 can use them to load an IBM-specific prf in IBM mode...but it loads the IBM prf in DOS mode, too! Drat.

                          ~~~~~

                          That Gervais tileset for Angband 3.0.6 was I think specifically for the Windows version (which is available from the official Angband site). It looks much like the DOS graphical version except w/ more tilesets, including a listing for Gervais.

                          A readme.txt says the Gervais tileset is a separate download, from Ruehlmann's thangorodrim.net--now down. As noted in an old thread http://angband.oook.cz/forum/archive...php/t-254.html by current Angband maintainer Nick, it's available from http://angband.oook.cz/download/extr...-32x32-306.zip.

                          Looks like the Gervais tileset wasn't included in the initial official Angband distributions that supported it because of a license issue, mentioned in the notes for 3.0.9a, which resolved it: https://rephial.org/release/3.0.9a

                          In Angband 3.0.6 for Windows, the Gervais tiles are hard to view in a legible way while also keeping the game font a reasonable size but the thread has some tips. They're different than current Gervais--the warrior character is even in a different pose!

                          ~

                          Zangband, including DOS Zangband 2.7.5 preview 1 I played here, is available from https://sourceforge.net/projects/zangband/

                          Zangband DOS 2.7.5 has lots of cool options--just about all the ones I would want, including bumping doors open, monochrome toggle, working screen refresh, and color and visual editors, except there's no haggling (buying has none of DOS Angband 2.8.3 and 3.0.6's vestiges of haggling)--but also weird stuff, like missing corners or bopping back and forth in wide halls while running, not telling you about later instances (I think?) of stuff you step on that you'd destroyed earlier (partial Ignore?), likely severe balance issues (green naga I just couldn't beat on level 1 & whatever killed me outside the gate), and the procedural wilderness (can turn that off in birth options, it says).

                          Zangband's last fork from Angband was Angband 2.8.1.
                          My Angband videos

                          Comment

                          • smbhax
                            Swordsman
                            • Oct 2021
                            • 325

                            I cross-compiled and ran the latest Angband code in Ben Collver's new 2022 Angband DOS front-end. And then I set about seeing if I could simulate the DOS look in the game's modern SDL2 front-end.

                            NOTE 1: In the SDL2 front-end, if you delete a font file that the game is set to use, for instance a DOS .fon that you'd copied into the game's fonts folder and then assigned as the main game window font, the game will no longer start--unless you restore a copy of that deleted font to the game's font folder. So set the game's font settings to a different font before you delete the file for one you've been using.

                            The game will not run if you've deleted any of its default font files.

                            The SDL2 front-end will crash (a fix is coming for the crash) if you have over 32 fonts in the game's font directory.

                            NOTE 2: DOS-style fonts such as the .fon fonts from the "Ultimate Oldschool" font pack may not have standard accented letters at the usual spots, so a bow of "Lothlórien" for instance may render as "Lothl≤rien." There are a number of ways around this, including:

                            a) If the Angband front-end you're using supports it--the SDL2 front-end, for instance--you could use a Unicode font with support for both sets of symbols, such as Unifont (and then load a .prf with Unicode assignments for the DOS-style walls and floors)

                            b) Change the encoding of the files in lib/gamedata containing the affected letters; in current Angband usage these seem to be the letters ë é É í î ó ö ô Ă» ú á â in artifact.txt and monster.txt; for instance, you can replace them with the non-accented versions of the letters; however, attempting to do this while you have a saved game in progress can cause Angband to crash and/or report the save file as corrupt when loading the game, so you will probably have to wait until you are between Angband runs; also, you will probably have to update the encoding in your lore.txt file as well (Angband generates lore.txt in different locations depending on your system; in my MSYS2 version in Windows 11, for instance, it generates at lib/user/lore.txt)

                            (I'm in mid-game but with some finagling I managed to replace accented characters, I think, for all but the bow of Lothlórien, and for the ten or so creatures with accented names--mostly uniques--I've previously encountered. So mine shouldn't be TOO bad...)

                            Another tip Angband dev backwardsEric gave me: when using this DOS font stuff, to prevent your visuals from getting reset to the non-DOS stuff if you toggle tiles on and off, if you're using the SDL2 front-end in Windows, you can copy the lib/customize/font-ibm.prf to lib/user/font-sdl2.prf, which will be reloaded automatically every time the SDL2 front-end reinitializes, as after a tile switch.



                            0:00 - recap- old DOS Angband 3.0.6
                            12:50 - building the NEW Angband DOS front-end
                            27:42 - DOS Angband 4.2.4
                            44:22 - "Perfect DOS" ttf in Cygwin terminal
                            52:30 - SDL2 Angband w/ Bm437_Wyse700b-2y.FON
                            1:05:43 - "Perfect DOS" ttf in SDL2 Angband
                            1:22:47 - Unifont .otf in SDL2 Angband
                            1:33:24 - Problems & workarounds

                            Modern Angband is real chuggy for me in DOSBox.

                            Cygwin's terminal doesn't take .fon fonts, and the ttf DOS font was a little blurry in it at each size I tried.

                            Even Times New Roman .ttf has the Unicode checkerboard blocks in it, according to Windows' Character Map utility, but I guess it doesn't work in SDL2 'cause it isn't monospace or something.

                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                            Collver's apparently specifically-for-Linux instructions for building the djgpp DOS compiler, cross-compiling Angband with his new DOS front-end, converting the documentation, and packaging up a portable DOS version are at https://angband.readthedocs.io/en/la...dos-with-djgpp

                            I was trying it in Cygwin; fortunately, djgpp and its instructions at https://github.com/andrewwutw/build-djgpp are designed for Cygwin as well as other systems, so it was possible to pull the whole thing off in Cygwin with a little finagling.

                            I needed the following additional Cygwin packages:

                            For building djgpp:
                            unzip
                            bison
                            flex
                            patch
                            zlib (maybe didn't need?)
                            zlib-devel
                            curl

                            For converting the Angband docs:
                            python39-sphinx
                            python39-sphinxcontrib-applehelp
                            python39-sphinxcontrib-devhelp
                            python39-sphinxcontrib-htmlhelp
                            python39-sphinxcontrib-qthelp
                            python39-alabaster

                            For packaging into a zip:
                            libiconv
                            zip

                            What I did (modified from Collver's Linux instructions):

                            git clone https://github.com/andrewwutw/build-djgpp.git
                            cd build-djgpp
                            ./build-djgpp.sh 10.3.0

                            After that hours-long script finished, I navigated to /usr/local/djgpp and did:
                            source setenv

                            From my angband/src directory:
                            make -f Makefile.ibm

                            For the documentation conversion:
                            make -f Makefile.ibm dist

                            ~~
                            Had to make the following three Cygwin-specific adjustments to Makefile.ibm for the angband.zip distribution part:

                            1) Changed line 104 from

                            @cd $(TMPDIR)/lib/gamedata ; for i in *.txt ; do iconv -f UTF-8 -t CP437//TRANSLIT $$i -o $$i.new ; mv $$i.new $$i ; done

                            to

                            @cd $(TMPDIR)/lib/gamedata ; for i in *.txt ; do iconv -f UTF-8 -t CP437//TRANSLIT $$i ; done

                            2) Changed line 126 from

                            @iconv -f UTF-8 -t CP437//TRANSLIT -o $(TMPDIR)/changes.txt ../changes.txt

                            to

                            @iconv -f UTF-8 -t CP437//TRANSLIT $(TMPDIR)/changes.txt

                            and inserted a new line before 126:

                            @cp ../changes.txt $(TMPDIR)

                            3) Changed line 128 (previous numbering) from

                            @cp $(EXE) $(TMPDIR)

                            to

                            @cp ../$(EXE) $(TMPDIR)
                            ~~

                            Then, for the angband.zip distribution:
                            make -f Makefile.ibm dist

                            And that created the portable DOS angband.zip. I was able to run it in DOSBox once I got https://www.dosgames.com/files/cwsdpmi.zip and put the cwsdpmi.exe in the game dir (a message informed me I needed cwsdpmi when I tried running angband.exe without it).





                            (The Rogue-style smiley for the @ is from a .prf parameter:

                            monster:<player>:0x01:0x01

                            : D)

                            While older DOS 'bands had run okay--the later ones with CPU usage in the teens on my 3-yr-old mid-range gaming laptop until I'd limited DOSBox's "cycles" parameter to 10000--DOS Angband 4.2.4, which definitely needed full auto "cycles," had high CPU usage and was distinctly chuggy in execution, even when I tried such things as messing with "frameskip" and so forth.

                            And like DOS Angband 3.0.6, it still doesn't show avg weapon damage in the equip/inventory window item info window; Collver's notes say he based this DOS front-end on DOS Angband 3.0.6 (3.0.6's -mibm module, not the -g graphics mode, I take it), and I suppose that info window just doesn't have enough room in it or something (avg dam display started w/ 3.1.0beta in 2009, well after 3.0.6, the last DOS version in 2005). That would inhibit my newbish warrior play a bit I think, even if it ran briskly.

                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                            I was able to find the following fonts that could display the DOS symbols for tunnel walls and floors in current Angband, either in the Cygwin GCU front-end or the SDL2 front-end:

                            TTF font:


                            FON fonts:
                            Ultimate Oldschool PC Font Pack from https://int10h.org/oldschool-pc-fonts/download/

                            Most of the 200 or so of those .fon fonts (there are other formats in the Oldschool Pack as well but the ttfs for instance don't have the DOS symbols) were a bit too small for comfort on my 1080p display; these were the largest ones, just about the right size to my eyes:

                            Bm437_Cordata_PPC-21.FON
                            Bm437_Cordata_PPC-400.FON
                            Bm437_DOS-V_re_ANK24.FON
                            Bm437_DOS-V_re_ANK30.FON
                            Bm437_HP_150_re.FON
                            Bm437_IBM_PS-55_re.FON
                            Bm437_Wyse700a-2y.FON
                            Bm437_Wyse700b-2y.FON (my favorite)

                            OTF font (Unicode):


                            For the DOS wall and floor symbols to show up correctly in-game when using the TTF and FON fonts, you have to load these .prf parameters (copied from lib/customize/font-ibm.prf):

                            Code:
                            feat:open floor:*:1:250
                            feat:pile of rubble:*:2:178
                            feat:magma vein:*:2:178
                            feat:quartz vein:*:9:176
                            feat:magma vein with treasure:*:3:178
                            feat:quartz vein with treasure:*:3:176
                            feat:granite wall:*:1:177
                            feat:permanent wall:*:1:177
                            feat:lava:*:4:178





                            Per backwardsEric from the Angband DOS front-end discussion in https://github.com/angband/angband/i...ent-1354114930 after I bombed it with my typical clumsy blathering, for Unicode fonts with the correct symbols, you instead load

                            Code:
                            feat:open floor:*:1:0xb7
                            feat:pile of rubble:*:2:0x2593
                            feat:magma vein:*:2:0x2593
                            feat:quartz vein:*:9:0x2591
                            feat:magma vein with treasure:*:3:0x2593
                            feat:quartz vein with treasure:*:3:0x2591
                            feat:granite wall:*:1:0x2592
                            feat:permanent wall:*:1:0x2592
                            feat:lava:*:4:0x2593
                            For Cygwin's GCU front-end, you install the desired TTF font in Windows, then select it from the Cygwin terminal's Options window. Perfect DOS VGA 437.ttf came out very slightly blurry for me in Cygwin's terminal, no matter what font size I set.

                            For the SDL2 front-end, you don't install the fonts in Windows, you put them in the game's lib/fonts dir--no more than 32 total in there, remember! .fon fonts are a fixed size. The .ttf and .otf fonts I tried both came out sharp at sizes 16--a bit small on my screen--and 32.
                            Last edited by smbhax; December 18, 2022, 20:06.
                            My Angband videos

                            Comment

                            • smbhax
                              Swordsman
                              • Oct 2021
                              • 325

                              4.2.4.x SDL2, colors edited to mono, Perfect DOS VGA 437.ttf font at size 32, no subwindows, size scaled to 50% in Photoshop, and cropped:



                              (Uncropped version.)
                              Last edited by smbhax; December 21, 2022, 20:30.
                              My Angband videos

                              Comment

                              • smbhax
                                Swordsman
                                • Oct 2021
                                • 325

                                Some potentially handy package manager commands I just found for msys2 that I hadn't known:

                                show dependencies tree: pactree [string]
                                list dependencies: pacman -Qi [string]
                                uninstall orphans: pacman -Qtdq | pacman -Rns -
                                further orphans: pacman -Qqd | pacman -Rsu -
                                clear downloads cache: paccache -r

                                The orphaned package thing can supposedly happen from uninstalling packages using "pacman -R" instead of "pacman -Rs"--haven't tried the "Rs" yet.

                                Merry Msys2mas! ^ _^
                                My Angband videos

                                Comment

                                Working...
                                😀
                                😂
                                🥰
                                😘
                                🤢
                                😎
                                😞
                                😡
                                👍
                                👎