Based on Brogue 1.7.4, by Brian Walker (homepage)

Includes the tiles for Brogue, by Oryx (homepage)

Includes the audio from LazyCat's Brogue Audio (forum post) -- only the changes directly related to Audio are included (not ones related to colors, stealth, etc.)

Brogue communicates with NotEye directly. This is much better than the earlier version (from 2012) which used Libtcod -- much more robust and convenient.

Thanks to LanHash for asking me to port Brogue to NotEye properly, and for testing!

Downloads

Brogue 1.7.4 + NotEye 8.4 for Windows (Oct 25, 2016)

Brogue 1.7.4 + NotEye 8.3 for OSX (May 6, 2016); UPDATE (May 7, 2016): replace "games/brogue.noe" with this file -- this improves efficiency and eliminates a bug which prevents saving the NotEye config after pressing F10



Note for OSX users: sorry for not creating a proper package -- you should be able to run it with the following commands: # open the terminal # 'cd' to the directory containing brogue-noteye-174.tgz tar zxf ../brogue-noteye-174.tgz cd brogue-noteye-174/brogue ./brogue

make

How to use NotEye

Press F10 to switch between two modes (by default, zoomed tile mode and plain).

Press Ctrl+M for the NotEye menu.

In NotEye's plain mode (ctrl+M M P), how the game looks depends on the font used. You can press Ctrl+M R B to select Oryx tiles, or to select one of Brogue's default fonts, which uses some Unicode characters. You can also press Ctrl+M R F to select one of NotEye's fonts -- but then you get only ASCII characters.

Implementation details

a new "platform" ( noteye-platform.c ) is created, in addition to Curses and Libtcod

) is created, in addition to Curses and Libtcod added a function brogue_getdata which can be called by NotEye to receive some information from Brogue (mostly contained in the structure noteyeData ). This is information about whether we are in the game, in intro, or not, window positions (inventory, text window), and player character position. This information was hard to obtain from simply reading the screen, and thus was necessary to avoid the graphical glitches which happened in the earlier version (from 2012).

which can be called by NotEye to receive some information from Brogue (mostly contained in the structure ). This is information about whether we are in the game, in intro, or not, window positions (inventory, text window), and player character position. This information was hard to obtain from simply reading the screen, and thus was necessary to avoid the graphical glitches which happened in the earlier version (from 2012). the function refreshSideBar was quite ineffectient -- I have optimized it

was quite ineffectient -- I have optimized it contrary to the NotEye versions of ADOM, PRIME and Hydra Slayer, its display is still based on the Brogue screen (with Oryx tiles). It would be possible to create a variant of getCellAppearance which builds a NotEye tile (using NotEye's functions), and make NotEye using it. This would allow more sophisticated tiles (for example, if monster walks over an item, we could display both at once). However, this would require some work (and a tileset), and I think that the Oryx tiles look great anyway, so this is not done.

which builds a NotEye tile (using NotEye's functions), and make NotEye using it. This would allow more sophisticated tiles (for example, if monster walks over an item, we could display both at once). However, this would require some work (and a tileset), and I think that the Oryx tiles look great anyway, so this is not done. Special keypresses and key remapping from Brogue are not implemented.

This is Brogue ported to NotEye.Source code is included in both packages. It should be possible to compile under Linux (download the Windows zip, install NotEye and other appropriate packages, and run). (You might need to edit Makefile: add -lSDL2_mixer to the line SDL_FLAGS, and/or remove "-march=i586")