![]() |
#1 |
Knight
Join Date: Jan 2017
Posts: 784
![]() |
Angband 2.9.3L
The L is for .live
I've been working on updating 2.9.3 with some newer features and made a repository with my changes. The reason I chose 2.9.3 is because many variants, even those based on 2.8.1 incorporate many patches that were eventually added to Vanilla. So it serves as a starting point for refurbishing other variants (it seems that many variants stopped keeping up with vanilla changes after 2.9.3). https://github.com/OwenGHB/angband-293L This removes most frontends and deprecates most others, besides curses. There are several patches to modernise the GCU frontend. L64 patch - There's a bug in older versions and variants of angband which causes them to fail on 64 bit systems, it was incorporated into 3.0.x and has been applied here xterm colour patch - At some point poschengband incorporated a colour scheme brought into V in 3.1.2v2 and I've gotten quite practiced at applying it to older variants which need it. 2.9.3 follows the same pattern as it is the pattern. This patch is incorporated here. bigscreen - Through laborious comparisons of 2.9.3, 2.9.4, 2.9.7 and 3.0.1, using the 2.9.0 bigscreen patch as a guide, I managed to reconstruct the changes which 3.0.1's bigscreen curses mode relies on, and added the option to play with a main term window larger than 80x24. Interestingly I noted that not all the hardcoded constants which the original bigscreen patch modified were updated in V - this is why gruesome software bugs still leap out from halfway down the screen - they appear on line 23 (Term->hgt-1). This makes a huge difference monster list - A feature already present in 3.0.6, copying the implemention from there was quite difficult as it would have relied on other fundamental changes, and I'm not sure I even like the 3.0.6 iteration that much. Instead I applied a patch for version 2.9.1 which hadn't broken compatibilty with 2.9.3 to provide a visible monster list subwindow. This is a little different, it applies color coding to enemies based on whether they are OOD, unique, OOD uniques etc Note that you can't use bigscreen and the monster list at the same time, as thus far you can either have a large playing area or subwindows, but not both. This is still the case in 4.x but the situation is different in poschengband and its forks - a GCU port upgrade I intend to bring to current V and then backport. I would also like to have [ as a command to see the monster list without needing to use a subwindow, present as a feature in 3.1.2 but with code in places that don't exist in 2.9.3. having an object list too might be nice for the sake of completeness. But that might not be strictly necessary - I have provided for an interface which help prevent offscreen deaths with The final change I intend to make is only really relevant to angband.live - character outputs. It would be nice to include the descriptive savefile headers from 3.5.0 and later to be read by the server but they rely on a savefile system brought in in 3.1.x. That might not be prohibitive but it does make things less straightforward. The alternative is to include the patch presently used for most variants on the site, which outputs the info to a .txt file This project can be used to set a standard for renovation of older variants. Kangband in particular is conformant to 2.9.3 codewise so it should be relatively straightforward to apply the same changes. Kangband has very pretty towns and I am looking forward to seeing them in bigscreen, as well as the Zangband 2.5+ wilderness. |
![]() |
![]() |
![]() |
#2 |
Knight
Join Date: Jan 2017
Posts: 784
![]() |
And I almost forgot - thanks to Nick for creating AngbandPlus, which was an invaluable resource for this
|
![]() |
![]() |
![]() |
#3 |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 7,865
Donated: $60
![]() |
This is wonderful, awesome work.
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
![]() |
![]() |
![]() |
#4 |
Prophet
Join Date: Apr 2007
Location: Seattle, WA
Posts: 5,425
Donated: $40
![]() |
There are some things that made it into very late versions of 3.0 that really belong in other variants, notably the knowledge menus from unangband. It is easily portable code, and unangband doesn't use the menu code, so its version of the knowledge menu works independently of it. (But the menu code makes other things easier, too.)
|
![]() |
![]() |
![]() |
#5 |
Knight
Join Date: Jan 2017
Posts: 784
![]() |
Just ported most of this to Kangband 2.9.3r1 (no monster list yet) - possibly the first time it's been playable with a big screen?
https://github.com/OwenGHB/Kangband-293L Also up on angband.live |
![]() |
![]() |
![]() |
#6 |
Knight
Join Date: Jan 2017
Posts: 784
![]() |
I've managed to get zangband 2.4.0 to understand the difference between /pref/ and /user/ so that it functions properly on angband live, and it is a strong candidate for the next bigscreening.
zangband included its own version of the bigscreen patch in 2.5.2 but the original fixed wilderness was removed for 2.5.0 |
![]() |
![]() |
![]() |
#7 |
Veteran
Join Date: Apr 2007
Posts: 1,936
Donated: $40
![]() |
Ah, this is very cool - 2.9.3 was current when I first encountered Angband. It's funny to see it resurrected.
__________________
takkaria whispers something about options. -more- |
![]() |
![]() |
![]() |
#8 | |
Knight
Join Date: Jan 2017
Posts: 784
![]() |
Quote:
The idea of anything older than 2.8.1 fills me with mild horror |
|
![]() |
![]() |
![]() |
#9 | ||
Veteran
Join Date: Apr 2007
Posts: 1,936
Donated: $40
![]() |
Quote:
Quote:
And it blows my sometimes that bits of Angband have existed in three different languages (probably more than one version of Pascal, and then C and Lua) over four decades. Ben Harrison did a very good job of turning code that still resembled the Moria - that was written in Pascal - into something readable. Even if by modern software engineering practices it's a total nightmare.
__________________
takkaria whispers something about options. -more- Last edited by takkaria; August 14, 2019 at 01:48. |
||
![]() |
![]() |
![]() |
#10 |
Knight
Join Date: Jan 2017
Posts: 784
![]() |
Well, see the picture attachment for my motivation. Judging by the code as I found it, Kangband has never been run in a terminal with a main term window larger than 80x24 before, but it's very pretty.
|
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Reviving Iso-Angband, an isometric view addon for Angband | Hajo | Development | 111 | August 3, 2014 20:44 |