glHack CHANGELOG ================ 2004 Jun 25: Released version 1.2. 2004 Jun 24: Andrew: fixed C++ compile problems with the code in the tools/edtile directory. 2004 Jun 10: Andrew: updated README.GL with AUTHORS section. 2004 Jun 09: James: Updated the man version of the nethack guidebook to the one in nethack 3.4.3. 2004 Apr 28: Andrew: the make install and update targets will delete the 'glhack' script that used to be in /usr/games/ dir, because the location has changed. 2004 Apr 19: James: Updated version 1.1 to nethack 3.4.3. Pressing TAB switches between tile map and ascii map, in addition to pressing END Install location for glhack script was changed from $(PREFIX)/games to $(PREFIX)/bin. 2004 Apr: glHack welcomes a new developer: James Bentler. ------------------------------------------------------------------------ 2002 Jan 08: Released version 1.1. 2002 Jan 06 Fixed some remaining issues (wrong manpage dir). 2002 Jan 04 Man pages are now installed by "make install" and "make update". Added "debian_install" and "mandrake_install" targets which install glHack into the menu system. 2002 Jan 02 Changed the default value of these standard NetHack options to TRUE: color, hilite_pet, lit_corridor, and toptenwin. 2003 Jan 01 Finished tidying of 3D code: lighting is now implemented (but not well tested). May the 3D code R.I.P. Fixed probably the last bug causing unread messages to be cleared without a [MORE] prompt -- this one typically occurred when eating from a tin (losing the "It smells like XXXX" message). 2002 Dec 30 Finished man pages. Started tidying up the 3D prototype. Made monsters and the player face the direction they travel in (roughly). Fixed hardcoded model dir. Improved the camera view. 2002 Dec 29 More manpage work -- nearly done. 2002 Dec 27 Converted the NetHack 3.4.0 Guidebook into standard MAN format. 2002 Dec 23: Created the (long overdue !) "loadppm" program which converts a PPM image into a .TXT tileset file. 2002 Dec 21: Continued working on man pages. Fixed a serious bug with new autodetection code when no video mode was detected. Fixed role handling code (including sys/unix/unixmain.c) to handle random things (like "-p @" and "-r random") from the command-line (or config file) properly. 2002 Dec 19: More work on manual pages. 2002 Dec 16: New code to autodetect the video mode & depth (which only kicks in when the user hasn't overridden them via the config file or command line). It tries to be smart when multiple resolutions are available (though this probably doesn't happen under X11). 2002 Dec 15: Made unlit corridors blue in text mode view. Also removed a small kludge in gl_map.c that forced stairs to white (defsyms[] has been updated instead). Made the unlit and lit corridor tiles in the 32x32 and 48x64 sets a blue-ish color. Replaced ASCII numbers like 7 or 16 in the code using the C() macro: C('g') and C('p') respectively. Fixed the small bug where pressing ^P (non-altprev mode) when glHack had just started would show blank lines at the top, then pressing ^P again would make the window jump back. Found and fixed a bug in the software renderer, causing gamma to be applied _twice_ to the shrunk-down view. For 8-bit fullscreen software mode, implemented fading out the logo using the palette (much smoother !). 2002 Dec 14: Slightly brightened up the "floor of a room", "corridor" and "lit corridor" tiles in the 32x32 and 48x64 sets. Brightened up text and window background colors. Made gamma more fine-tuned, the range is now -5 to +5 instead of -2 to +2. Added "Restoring game file..." to the list of important messages. Startup is now like the TTY version. 2002 Dec 13: Re-checked the tile facing info, fixing quite a few monsters (especially in the 16x16 set). Pressing ESCAPE when [MORE] is displayed will now prevent further messages of the current turn from displaying [MORE]. The TTY version also stops displaying those messages, but I don't go that far. Made sure certain "must see" messages will be seen (and acknowledged with [MORE]). So far this only includes death messages ("You die", etc) and some tricky messages. Fixed a bug with the flipping option that caused some characters in the text mode view (like the `@') to be drawn back-to-front. 2002 Dec 12: Added new status flag "Held", shown when a monster has grabbed you (doesn't include being swallowed). The original patch was by Roderick Schertler. Fixed the tile facing information for a few monsters. Began work on manual pages: glhack(6) and glhackrc(5). 2002 Dec 09: Fixed toplevel makefile so that a plain "make" will make everything (i.e. what "make all" did before). Moved the tile facing information into external files: glface16.lst and glface32.lst, with code to load them when starting up. Made `extra_shapes' array size dependent on the type of window (256 for the map window, 10 for all other windows). Stop drawing petmarks on worm tails. 2002 Dec 08: In util/Makefile, changed YACC and LEX defines to use bison and flex respectively. Fixes a compile problem on Mandrake 9.0. In src/Makefile, added -L/usr/X11R6/lib to the WINGLLIB definition. Fixes a link problem on Mandrake 9.0. (These changes might break on other distros, but Debian is still OK). In gl_unit.c, enabled LINE_SMOOTH mode. Fixes a problem of disappearing lines (blue map border and white cursor) with a few (probably buggy) OpenGL drivers. 2002 Nov 05: Made all the non-fire zap textures, and fixed the diagonal zaps. 2002 Nov 04: Implemented `R' model flag (for rotating gems), and `F' model flag (doesn't draw the floor). Better midground/foreground handling, including `M' flag for midgrounds that can coexist with foregrounds (like the "doorway" model). Created some extra floor textures (mines, beach, water, ice, lava, sokoban, gehennom). 2002 Nov 03: Made some gnomish-mine wall models. Made the renderer not draw the sides of walls which are hidden (i.e. in between two solid walls). Greatly improved the camera test code (sphere_in_camera), speeding rendering up quite a bit, and fixing all the glitches that were there before. 2002 Oct 22: Made a "gold piece" model. Made a spiked pit. Made wall models for sokoban, knox and gehennom (just re-colored). 2002 Oct 21: Made a gem model. Made a fountain model. Added support for materials to the 3D code. 2002 Oct 20: Fixed up makefiles, config.h, win/gl code (etc) to support a new windowtype: "GL3D", which enables the real 3D renderer. Made the 3D renderer not draw tiles that are off the screen. 2002 Oct 19: Created zap 3D model. Created pit model. Fixed the create_md2 program to accept proper skin coordinates, and to make normals unit length. Implemented an "in pit" effect. Created a down-staircase model. Created open and closed doors, and doorway models. 2002 Oct 17: 3D renderer: created love heart model, and wrote the code to draw them (above pets). Created up-staircase model. Implemented a levitation effect. 2002 Oct 16: Been doing some work on a real 3D renderer. Very preliminary stuff. At the moment, it can load MD2 model files and PNG skins, render them, and the mouse moves the camera around. Today I added support for loading light, material and model specs from external files. Also fixed renderer to cull back facing triangles. 2002 Oct 15: Improved the buildspec tool to handle new keywords: "light", "scale", "rotate" and "flags". Flags are represented as letters from A to Z, or "-" if none. ------------------------------------------------------------------------ 2002 Oct 13: Released version 1.0. 2002 Oct 12: Fixed top makefile, which was missing gltile64.png. Tested compilation using GCC 3.2. Worked fine. 2002 Oct 11: Tidied some stuff up, getting ready for release. 2002 Oct 03: Software mode now draws the RIP image nicer, storing the image in truecolor rather than palettising it. Fixed RIP name scaling in GL mode (broke with recent changes). 2002 Oct 02: Added support for panning the map window using ALT plus the cursor keys. Implemented being able to scroll text, menu and map windows using the mouse. For menu and map windows, the ALT key needs to be pressed. Also, the mouse pointer changes shape to an arrow when ready to scroll. Fixed up "trap door" and teleport tiles in the isometric 3D tileset, which had a blue-green border. 2002 Oct 01: Created some mouse cursors (gl_image.c). 2002 Sep 30: Fixed raven "flying backwards" in flipping mode. 2002 Sep 29: Added proper `flags' field to each tile, improving the TILE_FLIPX kludge. Added support for drawing certain monsters 50% translucent (invisible but seen). New option `invisfx' used to enable this (it didn't look as good as expected). Made the renderer draw all background tiles (floors) first, which helps to prevent clipping problems with the isometric 3D tileset, and should be faster in GL too. Fixed up background glyph handling in gl_map.c, in particular traps now work properly. 2002 Sep 28: Tidied up my buckled boots. Improved the isometric 3D drawbridge tiles. 2002 Sep 27: Improved these 32x32 tiles: meat stick, meat ring, C & K rations. 2002 Sep 26: Made a better 32x32 "eucalyptus leaf" tile. Imported the improved 32x32 tiles into the 48x64 isometric tileset. Made menu windows accept mouse clicks for selecting. Also fixed menus so that you can't exit using Enter/Space keys while a count is in progress. Handles menus with only one choice by applying the count to it. 2002 Sep 21: Using a new floor tile used in "tower" levels. Made sure that tiles that are underneath a completely solid tile (e.g. floor under a solid wall) do not get drawn (a small optimisation). 2002 Sep 14: Fixed the `makesets' program. 2002 Sep 11: Improved these 32x32 tiles: shimmering dragon scale & mail. robe. boomerang. piece of cloth. mummy wrapping. web. buckled boots. 2002 Sep 10: Improved the 32x32 tiles for dingo, coyote, panther and lynx. 2002 Aug 30: Improved the remaining 32x32 gem tiles. 2002 Aug 29: More work on tile tools. 2002 Aug 26: Reworked the tileset code (in tools/edtile), making the colormap handling more sane. Imported some 32x32 tiles from AllegroHack. 2002 Aug 25: Created new floor tile ("sub beach floor"). 2002 Aug 22: Worked on the tile editor, adding a save function, and the ability to shift tiles around (in their boxes). More work repositioning objects/monsters in the 3D tileset (a lot easier now using the tile editor). 2002 Aug 21: Improved tile2png, with new options for transparency (-t), fonts (-f), how many tiles across to use (-a), and background color (-b). 2002 Aug 20: Determined optimum Slash'EM 8-bit palette. Wrote `tile2png.c' for converting the tileset into PNG files in Slash'EM. 2002 Aug 19: More tile work, mainly repositioning objects & monsters in the isometric 3D tileset. 2002 Aug 18: Made a new floor tile ("sub cave floor"). Fixed the last two sokoban wall tiles in the isometric 3D set (they were back-to-front). Made all new isometric dragons: Took one of the huge dragon tiles from Slash'EM, shrunk it to 2/3 the size, edited and tidied it, and then colorised it. They look nice ! Also fixed the remaining dragons (babies too). 2002 Aug 17: Tidied up the trap tiles in the isometric 3D set. Fixed the down ladder. Created new 32x32 explosion tiles (by re-coloring the fiery explosion tiles). Imported the Slash'EM versions of "floor of a room" and the lit/unlit corridor tiles. Put the new 32x32 explosions into the isometric 3D set, adjusting them to way the 3D tiles overlap (not skewed, like the old ones). Improved the pyrolisk. 2002 Aug 16: Renabled the screenshot code, but ONLY when in wizard (debugging) mode. Fixed the diagonal fire zap in the isometric 3D tiles. Unskewed the resistance effect. Moved most zaps higher so they don't look like they're sitting on the floor. Imported grave and magic portal. Fixed camera beam, bear trap, level tele trap, sink and fountain, and spiked pit. 2002 Aug 15: Been working on importing the isometric 3D tileset from Slash'EM into glHack's codebase. So far it is working, but some tiles need fixing, many tiles need moving (too many objects/monsters look like they are floating above the floor), and some tiles need replacing (the dragons are way too big for my taste). 2002 Aug 08: Made the F4 key toggle a permanent cursor around the player, which is useful when you are invisible. Other ports usually have a cursor, so it's not like gaining an unfair advantage. Made zooming have sensible limits, e.g. not drawing the tiles more than 4 times bigger or less than 3 times smaller. 2002 Aug 07: Fixed the map border when using the 3D tileset in software mode. Also fixed the position of the pet mark. 2002 Aug 04: Started work on supporting the isometric 3D tileset. Initially for Slash'EM only... 2002 Aug 03: Finished implementing a "gamma" option. It takes a value from -2 to +2: 0 being normal, negative values are darker, positive values are brighter. 2002 Aug 01: Disabled (by default) the screenshot code. It is a small security risk to write files from a SETGID program, even bigger if someones compiles it as SETUID-root. 2002 Jul 31: Added "clearlocks" where needed, fixing a problem of leaving stale locks when quitting from role selection. Fixed the problem of --help causing a segfault. Added support for SHOW_WEIGHT (status line), and a few extra status flags (Invul, Lev and Fly). 2002 Jul 28: Updated code to support both glHack and Slash'EM at the same time. The glHack has the define "VANILLA_GLHACK" in config.h, which doesn't exist for Slash'EM. 2002 Jul 26: Made a simple Slash'EM logo. 2002 Jul 19: Started work on "glSlashEM", a conversion of the glHack window systems to the code of Slash'EM (an alternative NetHack with lots of added stuff). Got it working. It was mainly makefile/config stuff, the actual code is an almost perfect fit as the windowing API is the same. ------------------------------------------------------------------------ 2002 Jun 27: Released version 0.9.5. 2002 Jun 26: Made most of the glHack options not usable on the command line, because the standard NetHack options are not usable on the command line either. Added a "--fontsize" command-line option, to fill a useful hole left by the recent option changes. Made the glHack keyrepeat option accept the keywords "never", "partial" and "always". Backwards compatibility with the integer values has been kept. Fixed text map where certain monsters (uruk-hai, raven, black unicorn) were being shown as black on black. 2002 Jun 25: Made logo fade-out actually do some fading out in software mode, even if it takes longer, and fixed the fading for 8-bit mode. Fixed name on tombstone when in software mode. 2002 Jun 24: For S/W renderer, use SDL_HWPALETTE for 8 bit modes, which fixes the problem of colors being slightly out of whack. It isn't done for windowed modes, because that causes color flashing. 2002 Jun 22: Improved cursor handling, removing the `LineCursor' stuff, and making sure the dirty matrix is updated properly. Fixed "slow but nicer" surface shrinker. More work on dirty matrix system. Now *ALL* drawing primitives (both fills and blits) to the screen pass through a single function which clips to the matrix. Added GH_INLINE #define to winGL.h header. The dirty matrix system is more or less finished, and numerous little bugs that caused strange results have been fixed. The S/W renderer is a lot faster now, especially for things like throwing daggers and zapping wands. 2002 Jun 21: Implemented `has_alpha' array for S/W tilesets. Added `set_new_pos' to the rendering API, since it is similiar to scrolling (set_pan) and could be optimised. Removed the tile updating routines (store_char, transfer_area, etc) from the rendering API, to prevent unnecessary duplication, and added `mark_dirty' func. Worked on implementing a dirty matrix system for the software renderer -- this will lead to faster rendering since (in general) a lot less needs to be redrawn every frame. I've decided that 64x64 size cells will be best, to minimise the work needed to clip tiles to the dirty areas. 2002 Jun 20: Made wait_synch() do a 1 second delay when called before the windowing system has been initialised. The main code calls it like that when it encounters problems parsing the config file. Made the GL_OPTIONS parsing code handle unknown options the same way as the main code does. Fixed software bug drawing map without padding (needed sw_enable_clipping routine after all). Fixed a bug with tile flipping, where the player would not flip properly if moved onto an object. 2002 Jun 19: Disabled `SHELL' in unixconf.h. It doesn't work properly because glHack runs fullscreen. Renderers now skip text spaces. More font work. OK, they are now all complete. Fixed GL rendering bug when shrinking textures to save space. 2002 Jun 18: Tested 8-bit software mode. It actually works ! But the quality is pretty bad, and is even slower than 16 bit. Also tried setting the palette to match the tileset, but the results were even worse -- surely down to the way SDL's 8-bit alpha blitting routines work (using an RGB 3-3-2 intermediate value). More investigation into SDL suggests that using 8-bit surfaces with colorkey for all the tilesets will produce the best results. Added SDL_Lock/UnlockSurface where needed. Sped up palette searches with a color cache. Implemented 8-bit surfaces with colorkeying for the software renderer -- looks really good now, and is surprisingly fast (in both 8 and 16 bit mode). 2002 Jun 17: Added `make_screenshot' to the rendering API. Tested software-only and GL-only compilation. 2002 Jun 16: Improved the fonts. Added padding to the tile textures (GL renderer), fixing visible glitches when zoomed in (enlarging the tiles). Also we now query the GL max texture size (rather than assuming 256x256). Implemented the map border in the software renderer. Added rend_startup/shutdown to the rendering API, fixing a problem where sdlgl_unit_startup was being called in software mode. 2002 Jun 15: Added tile shrinking to the software renderer, it can now render small (16x16) versions of the 32x32 tiles. Investigated whether to use colorkeying or alpha channel for SDL blitting. RLE blitting is out, as the font cache image will regularly change, causing big overhead due to frequent conversion from and to RLE format. The standard SDL blit routines for colorkey and alpha (BlitNtoNKey and BlitNtoNPixelAlpha) are a bit disappointing, as both do a switch() on the pixel size (src AND dest) at every pixel. So for now, I'll stick with RGBA 8-8-8-8 (using 5-5-5-1 produced really poor results). Eventually it may make sense to write some custom blit routines. Added extra shapes (the heart for pets, etc) to the software renderer. Implemented the font cache for the software renderer, colored text works properly now. The cache stores 512 characters (i.e. enough for two complete fonts), and the hit-to-miss ratio was over 99% -- surprisingly good. 2002 Jun 14: Fixed up documentation (README.GL) for recent changes. Separated the hardware and software APIs to make them selectable dynamically (before, they shared the same function names, being compile-time switched). Began work on integrating Allister MacLeod's software rendering code... So far so good, large chunks are working, and even unoptimised it is almost playable on my 166 Mhz machine at 800x600. 2002 Jun 13: More work to support WINCAP (new window port options that appeared in NetHack 3.4.0). Added support for these standard options: "vary_msgcount" (replaces the glHack option "msglines"), "tile_height" (replaces "tilesize"), and "fontsiz_*" options (which replace "mapfont" and "textfont"). 2002 Jun 12: Added a "jumpscroll" option, which scrolls using large jumps rather than the normal 1-tile-at-a-time mode. This emulates how many other ports work, and should be more efficient for software rendering. It also supports the standard "scroll_margin" option. Improved position of heart for pets with flipped tiles. 2002 Jun 10: Implemented a "flipping" option, which horizontally flips monster tiles to match the direction they are moving in. Added support for the standard "splash_screen" option. 2002 Jun 09: Implemented --version cmdline option. Removed MAX_SCROLLBACK, making it configurable with the standard "msghistory" option. Created new file gl_font.c for font management. Made key repeat default to the "always" setting. Added support for align_message and align_status options. Fixed do_prevmsg (in altprev mode) to cope. 2002 Jun 08: Found problem causing segmentation fault when the "windowtype" option is used with e.g. "tty". Boils down to main code calling wait_synch() in choose_windows() before the window port is initialised. Started paving the way for software support, in the form of "windowtype:SDL" versus "windowtype:GL". Removed a few glhack-specifics from the modified src/ and include/ files, with a view to making glhack more integrateable into the standard NetHack codebase. Reworked zoom code (gl_map.c), to support software mode properly (previous code used #if blocks). Created gl_rendu.c, which will contain software rendering utility functions. 2002 Jun 07: Fixed floor tiles (gnomish mines, etc) for 3.4.0 tileset. 2002 Jun 06: Fixed gl_map.c to use the new mapglyph() routine that appeared in NetHack 3.4.0. Updated gl_role.c to use build_plselection_prompt(), a new routine in 3.4.0, and fixed it to properly handle the flags.randomall (-@) option. Made it use the old prompt when all the initxxxx vars are ROLE_NONE (i.e. no option was given to select race/role/etc). 2002 Jun 04: Initial (minimal) port is done, and seems to work. 2002 Jun 02: Begin porting to the NetHack 3.4.0 codebase. ------------------------------------------------------------------------ 2002 Mar 27: Released version 0.9.0. 2002 Mar 25: Updated tile data in win/share, bringing everything in line with NetHack 3.4.0. 2002 Mar 24: Worked on a different method of doing the scrollback buffer, which should fix the lost messages bug. 2002 Mar 21: Implemented message_menu() to behave like the TTY code: allowing a key to be accepted even when the [MORE] is displayed. Made the QUIT signal from SDL (closing the window with the X button) terminate like HUP does on the TTY port. 2002 Mar 15: Implemented some option code which reads the config file (if present), merges in a list of changed options, and writes the config file back. It remembers where options were and any non-option lines, so the changes to the config file are minimised. Split gl_opt.c into a new file gl_conf.c. 2002 Mar 13: Added support for GLHACKOPTIONS env var. Works like the standard NetHack equivalent, except that only options are present (never a filename). 2002 Mar 12: Been working on new option menu, which can save changes back into the config file. 2002 Mar 09: Found some more duplicate tile names in the TXT files. as follows: (a) werejackal, wererat and werewolf have two entries, one for the humanoid form, and one for the animal form. Appended "humanoid" to the former. (b) open door, closed door and the drawbridges had two entries: horizontal and vertical. Inserted the word "vertical" in the second cases. (c) for "land mine" and "bear trap", there was two entries: one for the trap (cmap element) and one for the object (pickupable). Appended the word "object" to the latter. 2002 Mar 08: Added a `depth' option for controlling the video mode (== bits per pixel). Implemented a `--help' command-line option. Split some files into smaller pieces: gl_main.c --> gl_role.c and gl_opt.c gl_win.c --> gl_menu.c and gl_text.c 2002 Mar 07: Fixed bug in altprev scrollback that would reset the scrollback position if you let go of the CTRL key. Tried making the altprev scrollback go one line at a time. Worked quite nicely. Reworked altprev code to handle ^O to scroll forwards. Reworked general scrollback code to limit the window to the readable (non-blank) lines. Added a `prevstep' configuration option. 2002 Mar 04: Investigated keypad handling, and relationship to the standard `number_pad' option. Findings: TTY: number_pad seems to make keypad send digits, which main code then interprets as moves. When off, either makes keypad do nothing, or send escapes (which probably confuses main code). X11: ignores number_pad option. No special processing for keypad (relies solely on X's conversion to a character). Gnome: Seems to force movement, i.e. sends "hjkl" etc when number_pad is off, and digits when number_pad is on. Other cases seem broken (passing GDK_KP_x values to main code ?). For glHack, made the keypad always return digits to the main code. Hence the `number_pad' option is required to move the player with the keypad. Added support for the ALT/META key. 2002 Mar 03: Finished and cleaned up the text reformatting code. Added initial mouse support (moving the player using clicks). Made text menus show the on-going count (when the user presses digits) at the bottom right of the window. Made CTRL-PGUP and CTRL-PGDN switch to graphical view when used while the text-mode view is active. Previously they would be ignored. 2002 Mar 01: Removed font size limitations. 8, 14, 20 and 22 can now be used for both mapfont and textfont. Implemented new `shrinkwrap' option, which will use a smaller font on text windows when they don't fit across the screen. Began work on new `reformat' option, which reformats the text in text windows when they don't fit across the screen. 2002 Feb 28: Added set_scale() and draw_border() to the rendering API. Made size of message window configurable, the option is called `msglines'. Changed the way the map text-view works. It no longer switches to text when zooming out, instead the `END' key toggles between graphical view and text-view. The map is now drawn with a dark blue border around it. 2002 Feb 26: Added start_fading() and finish_fading() routines to rendering API (gl_hardw/gl_softw). Added the following new rendering API routines, reworking the code to use them: store_char() store_str() store_tile() blank_area() copy_area() transfer_area() set_pan() Made the choice of fonts configurable, the option names are `textfont' for all the text and `mapfont' for the map when in text-mode. Allowable values: textfont: 14, 20, 22 mapfont: 8, 14 2002 Feb 25: Renamed sdlgl_flush_gl() to sdlgl_flush(). Added config value `altprev', which changes the way previous message mode (CTRL-P) works, making it more like the TTY version. Massaged the 14 font into the correct order (IBM cp437 charset), and made the missing characters solid blocks. Did the same for the size 20 font. Both these fonts are now more or less usable. 2002 Feb 24: Added a symbol for ridden monsters. Fixed tile names, door glyphs and various other bits in "PairSpec" and the xxx_pair.list files in win/share. ------------------------------------------------------------------------ 2002 Feb 24: Released version 0.8.5. 2002 Feb 22: Implemented tileset saving code in tools/edtile. 2002 Feb 21: Fixed code to handle font changes (both fonts are now consistent). Created `makeset' program (in tools/edtile) which recreates the tilesets and fonts from the TXT files in win/share. Needs the pngify.sh script and pnmtopng program too. Used the GIMP to enlarge the glrip.png image by 50%, partly for better quality than in-game scaling, but mainly to support the software renderer which will probably be unable to do any scaling. Fixed the GL code accordingly. 2002 Feb 20: Converted the fonts (8x8 and 12x22) into TXT format in the win/share directory. Fixed some tile names in the TXT files in win/share: (a) all the normal walls are now numbered 0 to 10. (b) the four zigzag walls are now lettered A to D. (c) "cmap 67" to "cmap 91" in the 16x16 tiles now have the correct names. (d) there were two "water" entries, the first one was renamed to "pool of water". (e) there were two "silver / polymorph" entries, a wand and a spellbook. The spellbook got a `y' added and is now "silvery / polymorph". Made sure "util/recover_glhack" gets compiled and installed. Not tested yet though. 2002 Feb 19: Fixed problem not updating screen when "exposed" by an overlapping window. 2002 Feb 17: Disabled the `windowtype' config option, to prevent crashes. It is silently ignored. 2002 Feb 16: Integrated Allister MacLeod's patch to handle group accelerators in menus. Fixed key-repeat when inputting strings. 2002 Feb 14: New option "keyrepeat", taking an integer value: 0 to disable auto-repeating completely, 2 to enable it all the time, and 1 (the default) to enable it for non-game moves only (like scrolling windows). Worked on "PairSpec", a way of encoding glyphs into two (sometimes three) human-readable characters that can be used for both text display and converted to tiles. 2002 Feb 12: Fixed border around trapdoor and teleport glyphs. 2002 Feb 11: Changed config file to $(HOME)/.nethackrc (for Unix), and under Windows it shall be glhackconf.txt. Worked on combining the glHack specific command line parsing and config-file parsing. There is just one glHack-specific config line now: "GL_OPTIONS=....", which takes a bunch of comma-separated options (just like how the normal NetHack options work). Renamed occurances of `index' in the code to something else, for some obscure reason the main NetHack header files #define it to strchr, and it gave some grief. 2002 Feb 03: Reworked map centering code: made the `END' key always center on player (like before), and now the `HOME' key will center on the map when it fits (otherwise move screen as close to the map's center as possible without the player going off-screen). 2002 Feb 02: EdTile: Added `compact' view mode, and started work on the editing window. Fixed the license window. 2002 Feb 01: Modified src/display.c to fix the problem of non-updating backgrounds (e.g. moving near an object in a dark room whilst carrying a lamp). Copied logic from Slash'EM. Made `END' key center the whole map on-screen when it fits (at highest zoom factor). 2002 Jan 31: Started work on `EdTile', a NetHack tile editor. 2002 Jan 29: More tileset improvements, including different floors for special places (e.g. the mines). The new background glyph code is in place. Fixed the player selection menus to have nicer accel keys (like in TTY version). 2002 Jan 27: Improved the tileset, using many 32x32 tiles from the Slash'EM port, and added transparent parts to the remaining ones. 2002 Jan 26: Added preliminary support for TWO tiles per square, a foreground and a background. Pinched this neat idea (and some code) from Slash'EM. 2002 Jan 24: Split gl_win.c into 1 extra file, "gl_map.c" handling all the map operations (zooming, the jail, etc). Fixed bug not allowing `#' to be selected in menus. Fixed the (de)select_all keys, which didn't update the screen. 2002 Jan 23: Split gl_tile.c into 2 extra files, putting all the GL-specifics into the file "gl_hardw.c", and putting the image loading/saving code into "gl_image.c". ------------------------------------------------------------------------ 2002 Jan 20: Released version 0.8.0. 2002 Jan 17: Implemented screenshots, using F5 key. 2002 Jan 16: Been working on fixing up the JAIL handling code, and a new "alt zoom" option that tries to center the map on the screen when zooming out. 2002 Jan 12: Made extended command input like tty (space after `#'). 2002 Jan 12: Added support for SHIFT + arrow keys moving large steps in the text windows, and CTRL + arrow keys moving to the very end (horizontally or vertically). 2002 Jan 11: Spent the last few days working out the default source config and makefiles, and installation directories and permissions. 2002 Jan 02: Worked on keyboard auto-repeat. 2001 Dec 29: Fix for detection potions briefly flashing by. 2001 Feb: Started work on glHack. Lots of work over the course of 2001 (not logged, unfortunately).