Git Product home page Git Product logo

nitrohack's People

Contributors

bhaak avatar danielt avatar espadolini avatar mbi avatar paxed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mbi tung

nitrohack's Issues

add_region() uses level instead of own lev argument

This function in libnitrohack/src/region.c:

void add_region(struct level *lev, struct region *reg)

... has these lines:

if (MON_AT(level, i, j) && inside_region(reg, i, j))
    add_mon_to_reg(reg, level->monsters[i][j]);

... which should look like this instead (note level -> lev):

if (MON_AT(lev, i, j) && inside_region(reg, i, j))
    add_mon_to_reg(reg, lev->monsters[i][j]);

See this commit on my experimental branch.

Repeatable crash in 4.0.4; savefile avilable

I found myself repeatedly crashing when ascending after the Ritual. I have a savefile that crashed no matter how many times I loaded it, no matter what I did -- EXCEPT if I rested as my first move after loading. I still have this save file backed up. Where can I upload it?

Esc doesn't leave far-look mode

To reproduce:

  1. Press ';' to enter far-look mode.
  2. Press Esc.

This should leave far-look mode, but instead it just moves the cursor to the top-left of the map without leaving the mode.

Server game using 4.0.4 windows client: Incorrect message seen

I took a drink from a fountain. I was not praying. I saw this:

The water is foul! You gag and vomit. The fountain dries up!
You finish your prayer.

This is on the nitrohack.org server, username rpresser, saved game
a - Ross wiz-hum-mal-neu in The Dungeons of Doom on level 1 after 18 moves

I will leave this savegame intact for examination.

Crash when throwing or dropping objects while engulfed

I get a segfault when dropping a scroll of scare monster while engulfed in an air elemental. To reproduce: get in wizmode, #levelchange to something that won't die instantly, summon an air elemental, get engulfed, wish up a scroll of scare monster, drop the scroll, segfault occurs.

I ran NitroHack in gdb and got this backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x0023d1b9 in examine_object () from /home/tung/Install/nitrohack/nitrohack-data/libnitrohack.so
(gdb) backtrace
#0  0x0023d1b9 in examine_object () from /home/tung/Install/nitrohack/nitrohack-data/libnitrohack.so
#1  0x001d626b in update_location () from /home/tung/Install/nitrohack/nitrohack-data/libnitrohack.so
#2  0x0013c154 in pre_move_tasks () from /home/tung/Install/nitrohack/nitrohack-data/libnitrohack.so
#3  0x0013c42e in command_input () from /home/tung/Install/nitrohack/nitrohack-data/libnitrohack.so
#4  0x0013c5b1 in nh_command () from /home/tung/Install/nitrohack/nitrohack-data/libnitrohack.so
#5  0x003d91b9 in nhnet_command () from /home/tung/Install/nitrohack/nitrohack-data/libnitrohack_client.so
#6  0x0805d892 in commandloop ()
#7  0x0805dc70 in rungame ()
#8  0x0804aafd in mainmenu ()
#9  0x0804ac0d in main ()

Dungeon overview misses some stores

The dungeon overview (Ctrl+O) usually notes stores, e.g. in Minetown, but sometimes it doesn't note stores at all. See the screenshot below:

General store isn't noted in dungeon overview

There's a general store on the level, but the dungeon overview doesn't show it, even after I've entered the store.

I'm running 4.0.x, playing online at nitrohack.org as tungtn, and the screenshot above is of the only live game I have at the moment. I entered the store just a few turns ago.

Dungeon Overview: Altars record as "temples", and lawful chars have chaotic altars recorded as to their god

Altars are recorded as "temples" in the dungeon overview:

  1. Start/resume a lawful character in wizard mode.
  2. Create a lawful or neutral altar.
  3. Open the dungeon overview.

This shows "a temple" when it should show up as "an altar".

Somewhat related, lawful characters (e.g. samurai) have chaotic altars shown in their dungeon overview as to their god (e.g. "a temple to Amaterasu Omikami"): just try the same steps as above and create a chaotic altar instead.

Thankfully, the fix is really easy: check for temple rooms properly, and convert the player character's alignment to an amask before checking it against the data in the overview info struct. Here's the fix: tung@3e4a189

^a doesn't work with multi-key commands like vanilla NetHack

Reported by Jukka Lahtinen via rec.games.roguelike.nethack:

There is still one little annoyance left in Nitrohack:
The ^A command doesn't work with the multi-key commands the same way as
in Nethack. What's the point to use ^A instead of, for example, z, when
you still need to select the wand and direction after that?
If I want to zap another wand or another direction, I wouldn't use ^A.

https://groups.google.com/d/topic/rec.games.roguelike.nethack/CZUWKe5Xz0M/discussion

Various UI issues

I'm having some problems with the curses UI. These all happen on master (d5d4c7e) on Linux, and also on the Windows 4.0.0 installer on nitrohack.org.

Feel free to split these into separate issues; I just didn't want to spam the issue tracker.

'g' often, but not always, fails in corridors.

To reproduce:

  1. Walk into any corridor, lit or not.
  2. Press 'g', then the direction to go along the corridor.

The player should walk until the tunnel forks or ends, or an enemy appears. Instead, they'll usually only move 1 space.

Oddly, sometimes this bug doesn't happen. It never happens in open rooms, and sometimes moving like this works in corridors anyway. If it works in a corridor, it always works in that corridor.

'<' and '>' don't target the stairs in travel mode like they should.

To reproduce:

  1. Move off the up stairs a few spaces if needed.
  2. Press '_' to enter travel mode.
  3. Press '<'.

This should put the cursor over the up stairs. Instead, it moves the cursor to the left.

Pressing '>' instead does nothing. However, features like '_' are targeted as expected.

Space waits by default (yuck).

May not be a bug, but I've hit it a few times by accident. It'd be a much bigger deal if Nitrohack used the TTY interface, where it's often used to dismiss dialogs.

Enter moves the player south (like ^J, yuck).

To reproduce:

  1. Press Enter.

Nothing should happen, except a note about the key not being bound. Instead it has the same effect as Ctrl+J, which moves the player south.

Since Enter dismisses dialogs, this is a big problem.

Pressing an unbound key brings up a dialog needing another key press to dismiss vs. TTY.

To reproduce:

  1. Press apostrophe, or any other unbound key.

In the TTY interface in vanilla NetHack, this prints a note in the message line saying: Unknown command '''. No further key presses are needed.

In the curses interface of NitroHack, this brings up a dialog over the game saying: Bad command. A key must be pressed to dismiss this dialog. This extra key press makes typos much more clunky to recover from versus the TTY approach.

Mnemonic type keys don't work when #loot'ing or multi-dropping.

To reproduce:

  1. Press 'D'.
  2. Press ')'.

In UnNetHack and the NetHack on NAO (telnet nethack.alt.org), this selects weapons. In NitroHack, nothing happens.

This isn't a bug, but I find it's much faster to just press the key matching the item glyph instead of having to scan the dialog, find the matching letters and press those letters.

Shift+hjklyubn don't move as far as possible near edges in far-look mode.

To reproduce:

  1. Press ';' to enter far-look mode.
  2. Move the cursor near, but not right against the edges.
  3. Press Shift+hjklyubn towards the edge.

Instead of moving the cursor as far as possible as in TTY, the cursor doesn't move. This makes Shift+hjklyubn 'stick' near the edges of the map, making it harder to move the cursor.

Superfluous "--More--" prompts

In general, "--More--" prompts should only appear if the game prints messages with more lines than can appear at once. Vanilla NetHack works this way.

In NitroHack, the curses interface triggers the "--More--" prompt even if you just e.g. enter and use far-look, far more often than needed. This gets really annoying after a while.

Message log opens with earliest, not latest, messages.

To reproduce:

  1. Press '^P' to open the message log.

This opens the message log, starting at the earliest messages. To get the latest, you have to press end or '>' a few times. This gets annoying after a while, since the latest messages tend to be the most useful, so the log should start scrolled at the bottom, not the top.

I'm not a fan of the alternative solution of inverting the log, since this reverses the reading order.

Interface doesn't fill a large terminal vertically.

To reproduce:

  1. Resize the terminal taller than 36 rows.

The interface should resize to accomodate the extra vertical space, like the screenshots on nitrohack.org. Instead, the interface leaves blank rows at the bottom of the terminal.

Floor/item display under player causes inventory to "bounce" when walking.

To reproduce:

  1. Resize the interface to show the inventory to the right.
  2. Move on and off a door, item or dungeon feature.
  3. Watch the inventory.

The floor/item display pushes the inventory down when it's there, making the inventory bounce jarringly when walking or travelling. It's a minor annoyance, but moving the display to a better place, e.g. under the inventory would stop this effect.

Extra turn spent when auto-travelling into obstacles

Rather than describe it in bug form, I'll just quote how I fixed it.

Fix extra turn spent travelling into obstacles

This actually fixes two closely-related bugs: travelling into a wall
when adjacent to it, and when not adjacent to it. In both cases, you
must target the stone behind the wall to trigger the bug.

The core problem was that domove() was continuing to do moving logic
after travelling hit an obstacle, causing it to return 1 even though the
player hadn't moved.

From there, travelling into a wall when next to it spent a turn because
it itself always returned 1 instead of the result of domove().
Travelling into a wall when not starting next to it spent a turn because
the result of domove() in command_input() didn't set flags.move to 0
like do_command() normally does.

This also removes useless lines in domove() that set flags.move to 0,
since NitroHack already does this when a command function returns 0.

This bug also exists in upstream NitroHack.

tung@4f43437

Segfault when msummon() called with null monster

The levels-in-memory changes to msummon() in libnitrohack/src/minion.c don't consider when it's called with NULL, e.g. from nasty() at line 392 of libnitrohack/src/wizard.c, leading to a segfault when &mon->dlevel->z is hit.

See this commit in my experimental branch for the fix: it changes msummon() to accept a dlevel * argument which stops this from happening.

Monster in web trap described as "trapped in a statue trap" in far-look

An off-by-one error when accessing the trapexplain array at line 347 of libnitrohack/src/pray.c causes far-look to report e.g. "a dwarf trapped in a statue trap" when it's trapped in a web.

This line:

sprintf(eos(buf), ", trapped in %s", an(trapexplain[tt]));

... should look like this, like all other uses of trapexplain in the code:

sprintf(eos(buf), ", trapped in %s", an(trapexplain[tt-1]));

See this with context in this commit on my experimental branch.

Werefoo don't use foo glyph in foo form

Example: A wererat in rat form should have the symbol 'r', but instead it always appears as '@'.

Try this in wizard mode:

  1. Wish for and drop a scroll of scare monster.
  2. Summon a wererat.

While waiting on the scroll, the wererat will run away for a while until it turns human and attacks. The whole time it appears as '@', instead of alternating between 'r' and '@' as expected.

Also affects werejackals, and therefore probably all the other werefoo.

Dip and name prompt crashes with long (80+ char) called and individual names

To reproduce (in wizmode):

  1. Wish for any unidentified item (e.g. bag of holding).
  2. #name n and give it an 80+ character object class name.
  3. #name y and give it an 80+ character individual object name.
  4. #name y and leave the prompt.

At this point the game crashes. It also crashes when step 4 is replaced with any action that creates a dipping prompt. UnNetHack fixes these for the name prompt (r660) and the dipping prompts (r662).

vpline() fails to detect repeated lines properly

From libnitrohack/src/pline.c line 29 (emphasis mine):

static void vpline(const char *line, va_list the_args)
{
    char pbuf[BUFSZ];

    if (!line || !*line) return;
    if (strchr(line, '%')) {
        vsprintf(pbuf,line,the_args);
        line = pbuf;
    }
    if (no_repeat && !strcmp(line, toplines[curline])) /* <<< 1 */
        return;
    if (vision_full_recalc)
        vision_recalc(0);
    if (u.ux)
        flush_screen();

    strcpy(toplines[curline++], line); /* <<< 2 */
    curline %= MSGCOUNT;
    print_message(moves, line);
}

The line marked 2 always sets curline to the next position in toplines[] to be used, which makes the check at the line marked 1 incorrectly do a string comparison one ahead of the line it should check. This causes Norep() to fail to detect repeated lines when it should.

Incorrect game deleted when deleting multiple crashed games?

I was playing on nitrohack.org, my saved games looking something like this:

a - game 1 (okay)
b - game 2 (crashed)
c - game 3 (crashed)

I decided to clear up games 2 and 3, so first I pressed 'b' to load game 2, prompting to delete the game, to which I replied 'yes'. The screen then looked like this:

a - game 1 (okay)
b - game 3 (crashed)

I pressed 'b' again and replied 'yes' to the delete prompt. The load screen then looked like this:

a - game 3 (crashed)

I was careful not to press 'a' while doing this, so it looks like either the client or the server chose the wrong game. I now get "Fatal: Programming error on server" when trying to pick the remaining game.

I don't care too much about the lost game, but there might be a problem with the load game menu after deleting a crashed game.

Wrong glyph blinked on Linux

When multiple things are on a single tile, they should blink between each other. Instead, they seem to blink between the top-most thing and the first non-blinking tile to their left.

Below are the two frames of blinking where the player has just entered a leprechaun hall, with the leprechauns standing on piles of gold.

Looks okay.
Not so okay.

This also happens when standing on anything (blinks the wall/floor to the left), or if a pet does the same, or if the pet and player stand next to each other and one is standing on something.

This happens on the latest 4.0.x commit (5ec05b6) on Linux, but does not happen with the Windows 4.0.3 binary install.

Strange objects not mentioned in far-look message

Using the far-look command on a strange object (e.g. a mimic in a store) accidentally leaves it out, showing a message like "a floor" instead of "a strange object on a floor".

The fix is easy, just replace this line of describe_object in pager.c:

if (votyp != STRANGE_OBJECT) {

... with these lines:

if (votyp == STRANGE_OBJECT) {
    strcpy(buf, "strange object");
} else {

See this with context on my experimental branch.

Client freezes when connection to server is lost

A network issue on my end interrupted a game I was playing on nitrohack.org. The game is fine, but my client froze (commit 0f8563a i.e. the current head), not even responding to Ctrl+C; I had to kill -9 the client.

The client should handle this case more gracefully, maybe dropping back to the title or server screen.

autopickup_rules can't tell if item is unpaid

Try this:

  1. Find a shop with unpaid items on the ground.
  2. Ensure autopickup is on.
  3. In autopickup_rules, add a LEAVE rule for name pattern *unpaid*.
  4. In autopickup_rules, add a GRAB rule for all items.
  5. Walk over an unpaid item.

The player character will pick up the item, instead of leaving it as expected. There should be some way for autopickup_rules to tell if an item is unpaid.

Plane of Water displays objects and the portal as water

To see this in action, go to the Plane of Water and drop an item, and try to find the magic portal. They'll both be displayed as water, and are simply called "water" when far-looked.

The problem seems to be related to level->flags.hero_memory being false for that one level, and a lot of the new layered display code relies on that memory being set and updated with the flag as true. On the Plane of Water, the memory is set to just water tiles and isn't touched again while on the level.

Tool shops, bookstores and lighting shops recorded wrongly in dungeon overview

To reproduce, enter Minetown in wizard mode and teleport into any one of these stores (i.e. without dungeon overview saying "some shops"). Viewing the dungeon overview, the wrong kind of shop will be recorded.

The solution is to add "a tool shop" between "a wand shop" and "a bookstore" in shopnames[] in libnitrohack/src/dungeon.c, as I do here.

make fails on OSX 10.5

Following the build instructions up to the make command. Get the following error at 86%:

Scanning dependencies of target libnitrohack_client
[ 86%] Building C object libnitrohack_client/CMakeFiles/libnitrohack_client.dir/src/clientapi.c.o
In file included from /Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:7:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/include/nhclient.h:28:21: error: jansson.h: No such file or directory
In file included from /Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:7:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/include/nhclient.h:44: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/Users/eugene/Downloads/NitroHack/libnitrohack_client/include/nhclient.h:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/Users/eugene/Downloads/NitroHack/libnitrohack_client/include/nhclient.h:49: error: expected ‘)’ before ‘*’ token
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_exit_game’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:56: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:56: error: (Each undeclared identifier is reported only once
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:56: error: for each function it appears in.)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:56: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_list_games’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:85: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:85: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:85: error: ‘jarr’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:85: error: ‘jobj’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_restore_game’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:141: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:141: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_start_game’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:166: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:166: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_command’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:188: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:188: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:188: error: ‘jarg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_view_replay_start’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:236: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:236: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_view_replay_step’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:266: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:266: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_get_commands’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:313: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:313: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:313: error: ‘jarr’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:313: error: ‘jobj’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_get_object_commands’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:356: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:356: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:356: error: ‘jarr’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:356: error: ‘jobj’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: At top level:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:396: error: expected ‘)’ before ‘*’ token
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_get_drawing_info’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jbg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jtraps’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jobjs’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jmons’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jwarn’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jexpt’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jzapt’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:422: error: ‘jzaps’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:423: error: ‘jeff’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:423: error: ‘jexps’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:423: error: ‘jswal’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:423: error: ‘jinvis’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:463: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:464: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:465: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:466: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:467: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:468: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:469: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:470: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:471: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:472: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:473: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:474: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: At top level:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:483: error: expected ‘)’ before ‘*’ token
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:504: error: expected ‘)’ before ‘*’ token
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_set_option’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:609: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:609: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:609: error: ‘joval’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:609: error: ‘jobj’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_get_options’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:664: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:664: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:664: error: ‘jarr’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:664: error: ‘jobj’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_describe_pos’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:718: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:718: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: At top level:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:745: error: expected ‘)’ before ‘*’ token
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_get_roles’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:774: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:774: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:774: error: ‘jroles_m’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:774: error: ‘jroles_f’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:774: error: ‘jraces’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:774: error: ‘jgenders’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:774: error: ‘jaligns’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:774: error: ‘jmatrix’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:805: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:806: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:807: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:808: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:809: warning: assignment makes pointer from integer without a cast
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_build_plselection_prompt’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:827: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:827: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_root_plselection_prompt’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:858: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:858: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_get_topten’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:890: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:890: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:890: error: ‘jarr’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:890: error: ‘jobj’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_change_email’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:958: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:958: error: ‘jmsg’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c: In function ‘nhnet_change_password’:
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:971: error: ‘json_t’ undeclared (first use in this function)
/Users/eugene/Downloads/NitroHack/libnitrohack_client/src/clientapi.c:971: error: ‘jmsg’ undeclared (first use in this function)
make[2]: *** [libnitrohack_client/CMakeFiles/libnitrohack_client.dir/src/clientapi.c.o] Error 1
make[1]: *** [libnitrohack_client/CMakeFiles/libnitrohack_client.dir/all] Error 2
make: *** [all] Error 2

System:

OSX 10.5
make version: 3.8.1
cmake version 2.8.6
gcc version 4.2.1

Dump of the previous cmake command:

-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/eugene/Downloads/NitroHack/build

Fix for C343-235 (protection spell grammar) checks wrong location

Fix the fix for C343-235

C343-235: "Casting spell of protection gives incorrect message if hero is swallowed or in rock."

This corrects the check to use "stone" versus "air" when embedded in stone to use the player's position, otherwise, most of the time protection is cast the message will mention stone instead of air.

From UnNetHack r794, to go with adce07d.

Working copy of this fix at tung@02e6a13.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.