[Initial import nornagon@gmail.com**20071009232448] [Change lighting algorithm, add gaussian jitter to light radius nornagon@gmail.com**20071010090411] [Add stairs, framework for multiple light sources nornagon@gmail.com**20071010124001] [Multiple light sources, unbreak the RNG nornagon@gmail.com**20071010141615] [Bugfix related to signedness in light source position, some optimisations nornagon@gmail.com**20071011061155] [Fix wallhack bug nornagon@gmail.com**20071011062020] [Add TODO nornagon@gmail.com**20071011062049] [Fix sight radius to cover the whole screen in all cases nornagon@gmail.com**20071011062306] [Fix fire cell colour when viewed from afar nornagon@gmail.com**20071011064431] [Move pX/pY into map_t nornagon@gmail.com**20071011065535] [Oops. Fix embarassing bug with sight source array. nornagon@gmail.com**20071011065716] [Fix bug in dirty-drawing re: dirty unrecalled cells, added load map fromm string, added torch switch. nornagon@gmail.com**20071011074407] [Enormous optimisation bash (inner drawing loop asm'd) nornagon@gmail.com**20071011162354] [Update TODO to coincide with reality nornagon@gmail.com**20071012004352] [Directional light. Still some bugs & needs optimising. nornagon@gmail.com**20071012103405] [Fix some whitespace issues. nornagon@gmail.com**20071012110823] [Use asm 'mul' instead of mulf32 for a large speed increase. nornagon@gmail.com**20071012123719] [Fix corner-case bug in directional lights, update TODO nornagon@gmail.com**20071012124657] [Propagate asm multiplication to apply_light nornagon@gmail.com**20071012125130] [Don't display recalled ground tiles. nornagon@gmail.com**20071012134712] [Cleanup of warnings, split drawing code into seperate files nornagon@gmail.com**20071013000759] [Split map stuff into seperate files nornagon@gmail.com**20071013001922] [Minor cleanups nornagon@gmail.com**20071013002330] [Replace asm with equivalent C, add more profiling info nornagon@gmail.com**20071013042926] [Optimisations in draw loop. nornagon@gmail.com**20071013044409] [Feel the walls. nornagon@gmail.com**20071013045136] [Preliminary attempt at fire flickering. nornagon@gmail.com**20071013092235] [Luminance windowing. nornagon@gmail.com**20071013130458] [Minor windowing tweak. nornagon@gmail.com**20071013151709] [Coloured lights. nornagon@gmail.com**20071014084133] [Optimisations to draw loop, bugfix in light source colouring code, update TODO nornagon@gmail.com**20071014095615] [Remove a software multiply from the FOV code nornagon@gmail.com**20071014112332] [Lighting and drawing optimisations. nornagon@gmail.com**20071014142516 * added neighbour map to cells, so we don't have to recalculate every frame. * don't redraw tiles if they're the same colour they were last frame. * add stopwatch functions for finer-grained profiling. ] [Draw loop optimisation. nornagon@gmail.com**20071014145614 Somewhat untested; check to see if the last calculated colour came from numbers close to the ones we're about to calculate. If it did, don't bother calculating again. ] [Fixed player shadow bug in calculation caching code. nornagon@gmail.com**20071015033204] [Screen-copying scroll optimisation. nornagon@gmail.com**20071015122224] [Crashbug fixed (thanks to Tonjevic for finding it & being very helpful) nornagon@gmail.com**20071015123123] [Fixed bugs in reset_map relating to caching, minor code cleanups. nornagon@gmail.com**20071015124654] [Memory luminance tweak nornagon@gmail.com**20071015152121] [Move cache data out of cell_t into new cache_t for memory purposes. nornagon@gmail.com**20071016133632] [Add player light source instead of hacks. nornagon@gmail.com**20071016235829] [Update TODOs, minor tweaks. nornagon@gmail.com**20071017000727 * make light calculation exclusion consider the light source's dr. ] [Fixed a bug where player light location wasn't updated on map change nornagon@gmail.com**20071017025543] [Add license notice regarding libfov. nornagon@gmail.com**20071017030104] [Player light tweaks. nornagon@gmail.com**20071017045016] [Begin transition to more workable system for content. nornagon@gmail.com**20071018045219] [Documentation, as well as minor cleanups. nornagon@gmail.com**20071018063728] [Add new_process for adding processes nornagon@gmail.com**20071018075550] [Fix hilarious crash bug in caching system. nornagon@gmail.com**20071018090144] [Add a lake. nornagon@gmail.com**20071018090732] [Add remove_node() to remove a node from a list (by list traversal) nornagon@gmail.com**20071018093343] [Preliminary support for map objects. nornagon@gmail.com**20071019033550] [Silly example object that changes colour randomly. nornagon@gmail.com**20071019054632] [Make the example object use some objtype info nornagon@gmail.com**20071019055704] [Add a Will O' Wisp. (It doesn't do anything yet.) nornagon@gmail.com**20071019063645] [Let the wisp free itself and all its bits nornagon@gmail.com**20071019071229] [Wisp on the lake. nornagon@gmail.com**20071019071906] [The wisp walks. nornagon@gmail.com**20071019080205] [Bugfix, argh. nornagon@gmail.com**20071020035353 Remember that memory is random blah when you get it out of malloc, please. ] [The wisp follows the player around (but doesn't get too close) nornagon@gmail.com**20071020052020] [Beginning cleanup of map.c and friends nornagon@gmail.com**20071020130211] [Continuing cleanup. nornagon@gmail.com**20071021003848 * Made fires and lights proper objects, added some more helper functions. * Removed temporary state from light_t; now it only carries information useful to fov_circle/apply_light/etc. (no more dx/dy/dr) ] [More cleanup (sort of), update TODO nornagon@gmail.com**20071021074045] [Add an enum for object types for easier reference elsewhere nornagon@gmail.com**20071021085536] [Fix bug in has_objtype, let processes be marked as dead by setting callback to NULL nornagon@gmail.com**20071021104619 (Note that the latter is entirely untested.) ] [Tweaked movement controls (slidier now), support for high-priority processes (untested) nornagon@gmail.com**20071022040209] [Add documentation to llpool. nornagon@gmail.com**20071022081007] [Tweak movement so diagonalment costs approximately sqrt(2) times as much as straightment. nornagon@gmail.com**20071022081346 Not sure if this is worth thinking about, but it feels quite a bit nicer. ] [Bugfix: free high-priority processes as well as low-priority ones during map reset. nornagon@gmail.com**20071022112231] [Beginning code split. nornagon@gmail.com**20071022113713 A whole bunch of stuff has been moved around. The "engine" is intended to be the core of Torch: drawing code, process handling and map/cell data structures. Stuff that should never change from game to game. Working on separating out everything into "engine" and "not engine". ] [Player sight is now a (high-priority) process. nornagon@gmail.com**20071022114626] [Move draw loop into engine.c nornagon@gmail.com**20071022121908] [Move draw loop to engine. Key handling now a process. nornagon@gmail.com**20071023032329] [Clean up some warnings and some spurious #includes nornagon@gmail.com**20071023033955] [Begin (slow) movement to some generic, cross-game functions that do not belong in the engine nornagon@gmail.com**20071024055247] [Remove object type info from the central list nornagon@gmail.com**20071024135521] [Minor cleanups, add resize_map Jeremy Apthorp **20071026092506] [Removed game-specific initialisation from main(). main is 3 lines now, woo. Jeremy Apthorp **20071026110056] [Move stuff from main out into testworld.h/c Jeremy Apthorp **20071026120005] [Move some things to generic, put pX/pY back in map Jeremy Apthorp **20071027082039] [Add proportional font data Jeremy Apthorp **20071027140416] [Remove format extension in order to confuse fuzzie less Jeremy Apthorp **20071027233146] [Source reorganisation. Jeremy Apthorp **20071028021611] [Fixed alignment issues in fov.c comments Jeremy Apthorp **20071028070205] [added 'static' to objecttype defs, fixed bug in propfont.png Jeremy Apthorp **20071028101332] [Add a primitive text renderer. Alyssa Milburn **20071027193453] [Rearrange to cope with nornagon's rearranging. Alyssa Milburn **20071028102720] [Make text rendering work properly. Alyssa Milburn **20071028102747] [Oops, don't copy the stupid column line, which for some reason I changed it to do. Alyssa Milburn **20071028102849] [Tweak font. Jeremy Apthorp **20071028104023] [Add colour support to text renderer. Alyssa Milburn **20071028124805] [Add scrolling in text renderer. Alyssa Milburn **20071028130800] [Cope with non-newline-terminated strings in text renderer. Alyssa Milburn **20071028133326] [Replace the test output with more sensible things. Alyssa Milburn **20071028134839] [Hook text renderer up to stdout for convenience. Alyssa Milburn **20071028140139] [Handle too-long lines in text renderer. Alyssa Milburn **20071028172306] [Reduce memory usage of text renderer. Alyssa Milburn **20071028212340] [Fix silly RGB15 values. They're only 5 bits each, you know! Jeremy Apthorp **20071029043237] [Fix bug in process-freeing-on-NULL code. Jeremy Apthorp **20071029062506] [Fix crashbug related to sight code being called before player moved. Jeremy Apthorp **20071029064817 Since everything assumes stuff with cell->visible is on-screen, and the sight code sets cell->visible, if the screen moves after the sight code is run then stuff is assuming that off-screen cells are on-screen, and hilarity ensues. ] [Make the wisp run away when you stand on it. Jeremy Apthorp **20071029092953] [Add header guards to text.h, bad fuzzie Jeremy Apthorp **20071030011406] [Rearrange cell structure to save four bytes per cell Jeremy Apthorp **20071030014830] [Remove references to game-specific cell types from engine. Jeremy Apthorp **20071030020649 In their places, added 'forgettable' flag on cells, which can be used to mark 'ground' cells or other things that shouldn't be drawn when not visible. ] [Break Will-O'-Wisp code out into separate module Jeremy Apthorp **20071030022434] [Fiddling with objecttype_t definitions. Jeremy Apthorp **20071030024202] [Split fire object out. Jeremy Apthorp **20071030024755] [Split sight from testworld out into generic. Jeremy Apthorp **20071030025447] [Split globe objects out from testworld.c Jeremy Apthorp **20071030030513] [Split map generation from testworld.c Jeremy Apthorp **20071030031218] [Catch the wisp! Jeremy Apthorp **20071030042127] [Add COPYING. (BSD). Jeremy Apthorp **20071030043043] [Update TODO, minor optimisations in DMA scrolling, fixed bug in reset_map. Jeremy Apthorp **20071030072337 (The bug was that I wasn't setting cell->forgettable) ] [Fix desmume bug (cleared palette entry 0 in main BG), fixed bug in test level forgetability Jeremy Apthorp **20071030101910] [Fix bad DMA numbers. Jeremy Apthorp **20071031105300] [Save state of text console and allow re-rendering. Reorganise code somewhat. Alyssa Milburn **20071030192515] [text renderer bugfix: reset lastgoodlen Alyssa Milburn **20071031113416] [Text renderer bugfix: Don't check for spaces inappropriately! Alyssa Milburn **20071031121756] [Convert text renderer to 16bpp, after discussing with nornagon. Alyssa Milburn **20071031212252] [Use a less stupid check for working out whether a word takes up an entire line of rendered text. Alyssa Milburn **20071031213235] [Fix draw.c code to allow writes into non-backbuf memory. Jeremy Apthorp **20071031214312] [Add player_t struct. Jeremy Apthorp **20071031232505] [Fix weird bug in drawcq resulting from GCC's inlining optimisations Jeremy Apthorp **20071031234343] [Dehackeried wisp catching somewhat. Jeremy Apthorp **20071101010215] [Further dehackify wisp code (held is now a separate thought state) Jeremy Apthorp **20071101011914] [Fix colour calculation in text.c - now takes its arguments in big-endian form and actually works. Jeremy Apthorp **20071101072327] [Text renderer: render left-over text more sensibly. Alyssa Milburn **20071101110518] [Add void* to objecttype_t, add rocks. Jeremy Apthorp **20071101141407] [Oops. Check for obtainability before printing "You see here" messages. Jeremy Apthorp **20071101142355] [Fix fgcolor conversion in text.c to be little-endian. Jeremy Apthorp **20071102002206 This allows iprintf("\1%.2sfoo\1\xff\xff", &(u16)blah); ] [Add rudimentary inventory browsing screen. Jeremy Apthorp **20071102062356 Also added listlen to find the length of a list and widthof to find the width of a (proportional) character. Press A to pick stuff up, press X to get to the inventory screen, up/down and L/R to browse, B to exit. ] [Combining stacks of objects. Jeremy Apthorp **20071102072542] [Remove extraneous profiling stuff, throttle to 30fps, make picking up items take time. Jeremy Apthorp **20071102082942] [Flip screens around Jeremy Apthorp **20071102104913] [Tweaks to text.c, sort of improve wrapping. Alyssa Milburn **20071102215352] [Add robotfindskitten port. Jeremy Apthorp **20071102231555] [Hacky fix for too-many-register-clobber that will prbly break soon, reduce light intensity/recall to int16 Jeremy Apthorp **20071103031732] [Recall objects. Jeremy Apthorp **20071103091348] [Balance stacks in the inventory. Jeremy Apthorp **20071103115438] [Remove 'entered' callback to gameobjtype_t Jeremy Apthorp **20071103122430] [Add process counter logic to engine.c, allowing processes to be called at longer intervals in a generic manner. Jeremy Apthorp **20071104005514] [Fix embarassing bug in process counter. Jeremy Apthorp **20071105020928] [Another embarrassing crashbug. sizeof(cell_t), not sizeof(cell_t*) <.< Jeremy Apthorp **20071105021941] [Prototype combat. Jeremy Apthorp **20071105032906 Note that this is very prototype. Press Y to attack a nearby thingy. ] [Update TODO. Jeremy Apthorp **20071105034033] [Build system hax. Jeremy Apthorp **20071105040504 You can now build a specific world with make WORLD=some_world. Current working values are 'robotfindskitten' and 'testworld'. WORLD defaults to 'testworld'. Note that each world folder must now have a 'world.h' that defines a map_t* init_world() function ] [Erp, add files, silly :( Jeremy Apthorp **20071105104109] [Remove combat for now; slight rearranging of button handling code. Jeremy Apthorp **20071124050625] [Beginnings of a slightly less annoying combat system. Jeremy Apthorp **20071125003206] [Fix crashbug from OT_UNKNOWN not having a gobjt. Jeremy Apthorp **20071125003508] [Add assert.h, build_fov_settings; minor tweaks Jeremy Apthorp **20080116204311] [Tweak testworld map generation to generate both rocks *and* dummies Jeremy Apthorp **20080116204412 (Still can't throw the former at the latter, though :() ] [Add preliminary Adrift work (just some simple mapgen atm) Jeremy Apthorp **20080116204447] [Fix ground in Adrift to be forgettable. Jeremy Apthorp **20080118100204] [Move run() responsibility from main() to init_world() Jeremy Apthorp **20080118101230] [Remove the concept of high processes, replacing it with a once-per-tick 'handler' function. Jeremy Apthorp **20080120131251] [Begin move to C++ Jeremy Apthorp **20080126183252] [Twiddle map generation Jeremy Apthorp **20080126184054] [Change mapgen to generate a big empty dome. Jeremy Apthorp **20080126190411] [Rename circleColor to hollowCircle Jeremy Apthorp **20080127021003] [Add a haunted grove generation algo to adrift. (Topical? probably not.) Jeremy Apthorp **20080127025659 * This uses a 'starburst' algorithm -- draw rays out from a central point at random lengths. * also added a bresenham meta-function for map drawing purposes. ] [Add genrand_int{16,8,4} to go with genrand_int32. Slightly more efficient for small random numbers. Jeremy Apthorp **20080128085405] [C++ify cell_t to Cell; move seen_from to the cache Jeremy Apthorp **20080130134647] [Move cell->light to cache->light. sizeof(Cell) is now 16; 4 bytes smaller. Jeremy Apthorp **20080130135452] [Remove recalled_col/ch for now; needs thought. sizeof(Cell) = 12. Jeremy Apthorp **20080130143300] [Add some macro magic for functions to set cell types; rigged haunted_grove to be consistently escapable. Jeremy Apthorp **20080131105406] [C++ify some things. Jeremy Apthorp **20080206193558] [Make map global. Finally. Also make adrift the default world, as testworld doesn't actually compile yet. Jeremy Apthorp **20080206214531] [Rearchitecturing work. [VERY UNSTABLE AND INCOMPLETE.] Jeremy Apthorp **20080212201524 I'm moving away from having objects and cells be part of the torch engine, and towards torch itself being just a rendering engine. There's now a torch buffer which has a few channels: colour, character, and light. The game should draw into those channels and keep them up-to-date by itself. ] [Show the player object (beware hax) Jeremy Apthorp **20080212201956] [Add nocash debug header (will be unnecessary in the future, as it's in dkA CVS); add forgotten blockmap files Jeremy Apthorp **20080212203912] [Fix scrolling+last_light cache issue. Jeremy Apthorp **20080212220542] [Fix bug with previous lighting cache fix, make the player appear before moving Jeremy Apthorp **20080212230935] [Add a Creature type; generate a pool in the middle of the haunted grove. Jeremy Apthorp **20080213165247] [Split Cell and Creature into their own files Jeremy Apthorp **20080214001047] [Remove vestigal files: cache.h, process.h Jeremy Apthorp **20080214001711] [Remove unneeded poking of the cache from adrift.cpp Jeremy Apthorp **20080214002235] [Update TODO Jeremy Apthorp **20080214002511] [Remove some debug code from engine::draw Jeremy Apthorp **20080214002612] [Move responsibility for updating recall into game code. Jeremy Apthorp **20080214052627] [Add lights and a fire cell type. Jeremy Apthorp **20080216013505] [Restructure to let objects on the map be recalled while monsters disappear. Jeremy Apthorp **20080315035824 This is a bit of a hack at the moment. I shifted the "forgettable" calculation to the 'recalculate cell value' code, which draws black on the cell when it goes out of eyesight (assuming there's no object there). Only cells in vision and ones that just disappeared from vision are ever recalculated. TODO: make this a generic pattern. ] [Add skeleton object support. Jeremy Apthorp **20080405010134] [= -> += in origin tile colour setting for non-sight lights Jeremy Apthorp **20080405015323] [Make T_NONE cells solid. Prevents player from walking into space. Jeremy Apthorp **20080405021736] [Push some lighting stuff from adrift to generic; some renames of stuff. Jeremy Apthorp **20080405022702] [Spurious #includes in adrift.cpp Jeremy Apthorp **20080405024742] [Rename map.h to buf.h, remove some more spurious #includes, rename game.frm to game.cooldown Jeremy Apthorp **20080405025901] [Fix warnings in text.c Jeremy Apthorp **20080405030107] [Remove a bunch of commented-out old code from buf.h Jeremy Apthorp **20080405051107] [#include shenanigans - remove where possible and use nds/jtypes.h instead Jeremy Apthorp **20080405060452] [Can't stomp over creatures. Jeremy Apthorp **20080406010418] [Move keep-point-on-screen code to engine Jeremy Apthorp **20080406042358] [Can now pick up objects with Y key. So far there's only one object ('unknown'). Jeremy Apthorp **20080406102819] [Scatter rocks around the pool. Jeremy Apthorp **20080406110416] [Skeleton inventory (press X to see it, B to close. Don't look at it too hard or it'll explode.) Jeremy Apthorp **20080406112016] [Better inventory. Now with browsing! Jeremy Apthorp **20080407020509] [Make objects stackable. Jeremy Apthorp **20080407153412] [Fixes to text rendering code, added \2 like \e[0m. Jeremy Apthorp **20080408014538 The fgcolor state was local to the text_render_str function, so when you iprintf("\1\2\3foo\n"); iprintf("bar"); the bar was white, but then if you pressed the rerender button (ie, open/close inventory), the bar would render in \2\3. Also there was a bug in the newline-counting code; it would treat the \n in \1\2\n as a real newline. ] [Push interface (eg, inventory) bits out to interface.h/cpp; add tprintf() to text.h as a nicer interface to text_render_raw Jeremy Apthorp **20080410063558] [Add actions to objects Jeremy Apthorp **20080423011838 This still needs a lot of thought, but it will do for now. Trying to head towards having a pluggable interface; maybe even some generics. At the moment, the only implemented action is 'drop'. ] [Rearrange drop code. Jeremy Apthorp **20080423052504] [Remove arm9/.arm9.elf, oops. Jeremy Apthorp **20080428064108] [Fix inlining problems with gcc 4.3 toolchains Bryan Donlan **20080428064023] [Let drawch be inlined (replace 'loop' label with 1:) Jeremy Apthorp **20080428065027] [Add player.h/player.cpp, rename some stuff, implement Player::use as a switch table :( Jeremy Apthorp **20080504004821] [Fix map generation and rand{4,8,16}. Jeremy Apthorp **20080505020749] [Start on preprocessor hackery for defining objects. Menus broken. Jeremy Apthorp **20080531024412 Sorta based on nethack's object system. Magical macros + #include horror = slightly easier-to-maintain list of objects. ] [Implement hilarious hacks for throwing stuff. NB: totally broken. (But fun!) Jeremy Apthorp **20080531061017] [Add hacks to make stuff collide with opaque cells. No more throwing through trees. Jeremy Apthorp **20080531122518] [Split bresenstate off to generic/ Jeremy Apthorp **20080601065740] [Update TODO Jeremy Apthorp **20080601070204] [Hacks to implement basic targeting (hold A to run and thwack the nearest creature) Jeremy Apthorp **20080601090517] [Split seek and destroy behaviour to seperate function. Jeremy Apthorp **20080601103550] [Add colour lights to the east for testing purposes; actually update blockmap's idea of player location Jeremy Apthorp **20080601123304 * fixes bug with stuff being lit from behind ] [Switch to inverse square falloff, fix some lighting bugs Jeremy Apthorp **20080602034409] [Fix some issues with not correctly re-rendering a dirtied cache. Jeremy Apthorp **20080603104317] [Stop the HDR algorithm from flickering sub-visually to relieve the CPU of some work. Jeremy Apthorp **20080603105446] [Move engine/util.h to include/ Jeremy Apthorp **20080603105934] [Remove testworld (as it no longer builds) Jeremy Apthorp **20080604063854] [Silly bug in adrift/mapgen (hadn't manifested, though...) Jeremy Apthorp **20080604065246] [RFK compiles again (and is hilar broken) Jeremy Apthorp **20080604075748] [Fix creatures to be like objects in definition; add a venus fly trap Jeremy Apthorp **20080606071241] [Overload operators new and delete for that tasty C++ goodness. Jeremy Apthorp **20080607030939] [Remove a chunk of commented code from buf.cpp Jeremy Apthorp **20080607031033] [Only one creature per cell. Jeremy Apthorp **20080607032900 Just hax atm, will soon fix it so there's a big global list of creatures. Need also to make it harder to shoot onesself in the foot while dealing with the node pointers. ] [Add game.map.reset() Jeremy Apthorp **20080607042501] [You can smack monsters now. And they die. As usual, total hacks. Jeremy Apthorp **20080607081705] [The great Node* -> Node remapping of '08. Jeremy Apthorp **20080607112404 There's still some ugliness here in instantiating real nodes (now called NodeV). For now I'm doing Node bar(new NodeV), which is less than ideal. ] [Move recalc_* to generic/, and added an interface in generic/ for getting appearance data Jeremy Apthorp **20080614120716] [Rename blockmap::refresh() to blockmap::refresh_blocked_from() to avoid confusion with generic/recalc's refresh() (which recalc()s the whole screen) Jeremy Apthorp **20080618110613] [Update TODO, rename draw_projectiles to update_projectiles, add a global monster list. Jeremy Apthorp **20080619091610] [Move graphics primitives (line, circle, randwalk, etc) into generic as they are useful for map gen. Jeremy Apthorp **20080620103023] [Add combat module to adrift; just a pulling-apart of seek_and_destroy for now. Jeremy Apthorp **20080620110517] [Add stub creature behaviour module, stub monster_hit_you. Jeremy Apthorp **20080620120722] [Don't spam "no target" when the player holds down 'attack' Jeremy Apthorp **20080723113451] [Add code generation via ruby-based DSL. Jeremy Apthorp **20080817053320] [Add terrain entities; allow specification of nil object in code gen Jeremy Apthorp **20080817063449] [Add entities-stamp to stop make from regenerating entities every build. Jeremy Apthorp **20080817065221] [Split handlers into handlers.rb; generate C identifiers better. Jeremy Apthorp **20080817065252] [Put object entity description to use. Jeremy Apthorp **20080817070440] [Put creature entities to use. Jeremy Apthorp **20080817071006] [Generalise gfxPrimitives a bit. Jeremy Apthorp **20080817073623] [Change terrarium generation algorithm to a CA-based one. Fills more space; looks nicer. Jeremy Apthorp **20080818075801] [Generate better maps; check connectivity (but don't do anything about it yet) Jeremy Apthorp **20080818121928] [Add blowflies that wander aimlessly. Jeremy Apthorp **20080818220651] [Add lake generation, some comments in mapgen.cpp, update TODO Jeremy Apthorp **20081012001416] [Add a map overview (press L) Jeremy Apthorp **20081012011013] [Add running by holding B; make the map show up on the top screen when L is held rather than tap-on/B-off Jeremy Apthorp **20081012054941] [Cosmetic cleanups; fix 'I' in propfont.png Jeremy Apthorp **20081012111305] [Add some more clever combat stuff. Jeremy Apthorp **20081012205114] [Add venus fly traps; have them eat blowflies. Jeremy Apthorp **20081014113521] [Factor out a few repeated functions, add grass around lakes, add hungry labradors. Jeremy Apthorp **20081224084117] [Add animation support, and dorky animated stars. Jeremy Apthorp **20081224125701] [Make the stars a little (less|more) dorky. Jeremy Apthorp **20081224130058] [Add some asserts to cacheat/luxat to enforce bounds. Jeremy Apthorp **20081224235244] [Add NDEBUG support to assert.h Jeremy Apthorp **20081224235622] [Forgot to add creature.cpp, oops Jeremy Apthorp **20081226005941] [Add a dodgy, non-working native port. Jeremy Apthorp **20081226010127] [Fix assert in native port and a couple of segfaults. Jeremy Apthorp **20081226011500] [Fix uninitialized 'visible' value in blockmap, thanks to valgrind :3 Jeremy Apthorp **20081226012001] [Add fake support for IRQ_VBLANK in native port. Jeremy Apthorp **20081226013811] [Add some vague broken rendering test code to the native port. Jeremy Apthorp **20081226021156] [Improve countFoo speed Jeremy Apthorp **20081226023509] [Fix up Object::desc() to return a pointer rather than a reference, for standardisation. Jeremy Apthorp **20081226024705] [Add (currently useless) vending machines; fix up set_tile a bit. Jeremy Apthorp **20081226031444] [Add beam lights, slightly less ghetto vending machines. Jeremy Apthorp **20081226081226] [Make vending machines kickable, add custom object plurals. Jeremy Apthorp **20081226091142] [Add light flicker; make the vending machine lights sporadic. Jeremy Apthorp **20081226102227] [Fix an assert, fix CMakeLists.txt to find SDL properly (thanks fuzzie). Jeremy Apthorp **20081226103559] [Move {monsters,projectiles,animations} inside game.map; change List horror to List, fix Node::operator T*() to work properly. Jeremy Apthorp **20081226120458] [Remove broken operator delete overloading; fix some memory leaks in mapgen. Jeremy Apthorp **20081226125203] [Add test map; debug lighting probe (hold R and touch cells) Jeremy Apthorp **20081226133658] [Add KEY_SELECT/KEY_START to native headers. Jeremy Apthorp **20081226133909] [Fix div_32_32 native code. Jeremy Apthorp **20081226135527] [Fix native KEY_* definitions to be bitwise-exclusive. Jeremy Apthorp **20081226140458] [Add radius flicker to player light and fires. Jeremy Apthorp **20081226142506] [add the start of native keyboard input support Alyssa Milburn **20081226144308] [Add beginnings of fake DMA support for native. Jeremy Apthorp **20081226231227] [make native drawcq render with the char font (and add pregenerated font files) Alyssa Milburn **20081226161154] [Implement a subset of fake DMA, added SDL_QUIT handling, did doublebuffering. Jeremy Apthorp **20081227230624] [Remove spam from DMA. Jeremy Apthorp **20081227230915] [Fix an out-of-bounds error or two (thanks valgrind) and added KEY_SELECT (RSHIFT) Jeremy Apthorp **20081227234015] [Fix up vblank and key logic in native port. Jeremy Apthorp **20081228022149] [More fixes to keypress logic. Jeremy Apthorp **20081228044722] [Add eating and drinking (mostly no-ops, for now) Jeremy Apthorp **20081228053448] [Add resilience, made some combat changes, added player HP (but no player death yet). Jeremy Apthorp **20081228070733 Combat system still very flaky... game seems too deadly at the start and gets a bit too easy fairly quickly. Needs work. ] [Fix broken DEPEND clause in CMakeLists.txt Jeremy Apthorp **20081228121215] [Add player death; slow regeneration; improve player's starting stats; C++ify lightsource.{h,cpp} Jeremy Apthorp **20081228125845] [Add 'new game' button (start); fix mapgen timer cascade; add some asserts (thanks fuzzie) Jeremy Apthorp **20081228143327] [Add some sanity checks to attempt to prevent creature-stomping; stopped creatures from spawning on top of each other. Jeremy Apthorp **20081228144244] [Fix up Player::drop to avoid shadowing, fix plural handling. Jeremy Apthorp **20081229000824] [Remove Node/NodeV, revamp memory management strategy. Warning! Completely untested! Jeremy Apthorp **20081229065805] [Oops, Player::move(DIRECTION,bool) overrode Creature::move(s16, s16). Renamed to moveDir. Jeremy Apthorp **20081229223315] [Fix hilar broken assert (x < w && y < w...?) Jeremy Apthorp **20081229223917] [Make Creature and Object pooled; fix Pool::flush_free to not explode. Jeremy Apthorp **20081229231923] [Move behave() into Creature to avoid creature-> before everything; update TODO. Jeremy Apthorp **20081231232544] [Make lightsource::flicker a function pointer, for more expandable flickering behaviour. Jeremy Apthorp **20081231232930] [Add expanding player-centered circle to map, the better to locate yourself with. Jeremy Apthorp **20090101045907] [Give the player a bit more resilience and a better natural attack to improve survivability. Jeremy Apthorp **20090101051350] [Add will o'wisps, mostly as an excuse to add creature-tracking lights. Jeremy Apthorp **20090101054518] [Add DataStream for preliminary serialization support. Jeremy Apthorp **20090102035723] [Add X/Y/L/R/Start keys to native port. Jeremy Apthorp **20090102035940] [Remove void* state from Object, due to ensuing serialization nightmare. Jeremy Apthorp **20090102044446] [Stop pooled delete from calling destructor twice; oops. Jeremy Apthorp **20090102074513] [Serialisation almost looks like it works, except for lights. Jeremy Apthorp **20090102075743] [Add destructor to Map to console valgrind. Jeremy Apthorp **20090102120620] [Add lightsource flicker method serialisation by way of hilarious hacks. Jeremy Apthorp **20090102120803] [Fix bug in List::operator>>, add assert. Jeremy Apthorp **20090102124154] [Serialise lights by index rather than in-place during Creature serialisation. Jeremy Apthorp **20090102125142] [Move Map into map.h/cpp Jeremy Apthorp **20090102125845] [Add zlib and accompanying ZDataStream; update TODO. Jeremy Apthorp **20090103024603] [Update drawch such that it will compile under -Os; add comment pointing out dubious assumptions. Jeremy Apthorp **20090103024858] [Remove extraneous function declarations from adrift.h Jeremy Apthorp **20090103031603] [Serialise recalled cells and objects. Jeremy Apthorp **20090103033555] [Serialise monsters in list form, rather than in-place inside Cells. Add DataStream::tell(). Jeremy Apthorp **20090103123344] [Add subentities and header postfix handlers in genentities.rb Jeremy Apthorp **20090106054654] [DIRECTION was defined as a u32 (!); it is now a u8. Jeremy Apthorp **20090106124605] [Color HP display in status bar. Jeremy Apthorp **20090108004752] [Enable text console on assert. Jeremy Apthorp **20090108012643] [Equipment is extant and equippable, albeit non-functional. Jeremy Apthorp **20090108014008] [Rearrange creature.h to make a bit more sense. Jeremy Apthorp **20090108052134] [Rearrange object.h; fix a memory leak in stack_item_push. Jeremy Apthorp **20090108054101] [Make withitem() show correct plural Jeremy Apthorp **20090109114853] [Move a bunch of previously Player-specific stuff to Creature, notably the inventory. Jeremy Apthorp **20090109120711] [Serialise equipped items. Jeremy Apthorp **20090109121335]