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).
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.
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).
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.
Comment