This is Brogue ported to NotEye.
- 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
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
make).
(You might need to edit Makefile: add -lSDL2_mixer to the line SDL_FLAGS, and/or remove "-march=i586")
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
- 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).
- the function refreshSideBar 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.
- Special keypresses and key remapping from Brogue are not implemented.