Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Vanilla

Reply
 
Thread Tools Display Modes
Old July 28, 2019, 06:00   #291
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 7,770
Donated: $60
Nick is on a distinguished road
Quote:
Originally Posted by emar View Post
Yeah, it does--it also fixes the pathfinding halting when it encounters a visible trap square by treating it as invalid path square.

(Also, please let me know if I did anything wrong in the process; I'm new to contributing to projects.)
All looks great. I'm going to do an updated build fairly soon, and I'll pull your stuff in then.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old July 28, 2019, 13:14   #292
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 7,770
Donated: $60
Nick is on a distinguished road
New builds now up on the nightlies page and angband.live with the following changes:
  • Shockbolt tiles for the new foods (if someone wants to do something about the other tilesets, great)
  • Fixes to SDL2 submitted by fumsoft
  • Several fixes to pathfinding - thanks emar
  • Finished updating help (apart from thanks, which gets done right before release)
  • Adjust high elf XP factor to 145% (vs 100 for humans and 120 for everyone else)
  • Make the trap immunity rune register properly
  • Enlarge the character display for resists, abilities etc in both 'C' screen and character dumps
  • Correct some unique drops (thanks Voovus)
  • Don't display XP for killing monsters which only appear as a shapechange in monster lore (Voovus again)
  • Make !Surprise actually capable of scrambling stats (thanks Chud, and sorry if I spoiled anyone's surprise)
  • Fix dead monster display bug (thanks PowerWyrm)
  • Make =Escaping only +2 speed, ,Shadows more common
Interested as always in opinions, especially on the character display.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old July 29, 2019, 03:31   #293
Vorczar
Rookie
 
Join Date: Jul 2019
Location: Lakewood, OH
Age: 43
Posts: 9
Vorczar is on a distinguished road
I like the new character expanded screen.

I picked up a wicker shield on Angband.Live with "makes you slow to recover hit points".
I would expect a + in the ImpHP but nothing was there.
Vorczar is offline   Reply With Quote
Old July 29, 2019, 06:10   #294
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 7,770
Donated: $60
Nick is on a distinguished road
Quote:
Originally Posted by Vorczar View Post
I like the new character expanded screen.

I picked up a wicker shield on Angband.Live with "makes you slow to recover hit points".
I would expect a + in the ImpHP but nothing was there.
It seems the shield has the "impair hitpoint recovery" curse, which gives an item the "impaired hitpoint recovery" property. Both curse and property are runes you can learn; it is the property that displays on the ImpHP line.

What *should* happen is that when you learn the curse you learn the property. Could you check the knowledge menu ('~') for runes and se whether you have both? The curse is under "Curses", the property under "Other".
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old July 30, 2019, 00:32   #295
Vorczar
Rookie
 
Join Date: Jul 2019
Location: Lakewood, OH
Age: 43
Posts: 9
Vorczar is on a distinguished road
Quote:
Originally Posted by Nick View Post
It seems the shield has the "impair hitpoint recovery" curse, which gives an item the "impaired hitpoint recovery" property. Both curse and property are runes you can learn; it is the property that displays on the ImpHP line.

What *should* happen is that when you learn the curse you learn the property. Could you check the knowledge menu ('~') for runes and se whether you have both? The curse is under "Curses", the property under "Other".

Thanks!
I didn't know about the Runes knowledge menu. Cool.
They're both there.
Vorczar is offline   Reply With Quote
Old July 30, 2019, 15:27   #296
PowerWyrm
Prophet
 
PowerWyrm's Avatar
 
Join Date: Apr 2008
Posts: 2,645
PowerWyrm is on a distinguished road
I thought I'd post this here. It's a little function that I added while porting the struct loc refactoring to PWMAngband to make some code clearer. Here it is:

Code:
bool loc_iterator(struct loc *iter, struct loc *grid1, struct loc *grid2, bool strict)
{
    iter->x++;
    if (iter->x == (strict? grid2->x: grid2->x + 1))
    {
        iter->x = grid1->x;
        iter->y++;
        if (iter->y == (strict? grid2->y: grid2->y + 1)) return false;
    }
    return true;
}
This allows to change the following code:

Code:
for (y = y1; y < y2; y++) {
for (x = x1; x < x2; x++) {
foo(y, x);
}
}
into:

Code:
loc_copy(&iter, &grid1);
do {
foo(&iter);
} while (loc_iterator(&iter, &grid1, &grid2, true)); (or "false" to do "<=" instead of "<")
I've removed most of the ugly x/y loops that way.
__________________
PWMAngband variant maintainer - check http://powerwyrm.monsite-orange.fr (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!
PowerWyrm is offline   Reply With Quote
Old July 30, 2019, 22:41   #297
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 7,770
Donated: $60
Nick is on a distinguished road
Quote:
Originally Posted by PowerWyrm View Post
I've removed most of the ugly x/y loops that way.
What a great idea! Now I can go and implement that all over the place instead of fixing bugs
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old July 30, 2019, 23:45   #298
takkaria
Veteran
 
takkaria's Avatar
 
Join Date: Apr 2007
Posts: 1,932
Donated: $40
takkaria is on a distinguished road
Quote:
Originally Posted by PowerWyrm View Post
I thought I'd post this here. It's a little function that I added while porting the struct loc refactoring to PWMAngband to make some code clearer. Here it is:
...
I've removed most of the ugly x/y loops that way.
Nice. Though I think it would be clearer if split into loc_iterate_inside and loc_iterate instead of passing a flag. (Also, you can just write iter = grid1 instead of loc_copy, surely?)
__________________
takkaria whispers something about options. -more-
takkaria is offline   Reply With Quote
Old July 31, 2019, 09:23   #299
Kusunose
Rookie
 
Join Date: Jan 2019
Posts: 6
Kusunose is on a distinguished road
It's nice but I think something like this is nicer because you can keep using for loop, though bit wordy.
Code:
struct loc_iterator {
	struct loc cur;
	struct loc begin;
	struct loc end;
};

struct loc_iterator loc_iterator(struct loc begin, struct loc end)
{
	struct loc_iterator iter;
	iter.cur = iter.begin = begin;
	iter.end = end;
	return iter;
}

bool loc_iterator_test(const struct loc_iterator* iter)
{
	return iter->cur.y != iter->end.y;
}

void loc_iterator_next(struct loc_iterator* iter)
{
	iter->cur.x++;
	if (iter->cur.x == iter->end.x) {
		iter->cur.x = iter->begin.x;
		iter->cur.y++;
	}
}
This code
Code:
	for (y = y1; y < y2; y++) {
		for (x = x1; x < x2; x++) {
can be translated as
Code:
	for (struct loc_iterator iter = loc_iterator(loc(x1, y1), loc(x2, y2));
		loc_iterator_test(&iter); loc_iterator_next(&iter)) {
			/* use iter.cur */
			int x = iter.cur.x;
			int y = iter.cur.y;
and this
Code:
	for (y = y1 - 1; y < y2 + 1; y++) {
		for (x = x1 - 1; x < x2 + 1; x++) {
can be translated as
Code:
	for (struct loc_iterator iter = loc_iterator(loc(x1 - 1, y1 - 1), loc(x2 + 1, y2 + 1));
		loc_iterator_test(&iter); loc_iterator_next(&iter)) {
Values for initializers and conditions can be directly translated, provided conditions are exclusive (if inclusive, add +1 for x and y for loc end).

Last edited by Kusunose; July 31, 2019 at 09:34.
Kusunose is offline   Reply With Quote
Old July 31, 2019, 14:22   #300
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 5,343
Donated: $40
Pete Mack is on a distinguished road
Too bad C doesnt have anonymous functions. Then you could package up the loop contents in a function, and execute the whole thing with a single subroutine call.
Pete Mack is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
First release Quirk Sil 18 November 14, 2017 22:45
3.4.0 Release Candidate is available fizzix Vanilla 111 July 5, 2012 12:39
3.2 release candidate is upon us! d_m Vanilla 147 January 19, 2011 10:10
Release HellBand 0.8.7 konijn_ Variants 4 December 27, 2009 04:14
reactions to changes in new V release will_asher Vanilla 50 April 9, 2008 18:47


All times are GMT +1. The time now is 04:14.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.