pristine:0000001681-4b8e794b3bdd844efe629af2966e769aed4ac72886190131dafbf912d38a806a Starting with inventory: 0000047476-28f4f02e99a0068d729c0963208922c1e08ba420bc26a20a51f1f1330da268f5 [TAG bunnyslayer-0.1 Elliott Slaughter **20090504063225 Ignore-this: a5f1d9947868629cf8996827bdd6e0f8 Tagged Bunny Slayer 0.1. ] hash: 0000036060-459aadb423474bda675d98b20d6b19e2ef8accd07bf8e976c8a0cf3de33ca3fa [driver.lisp: Fixed shield block. Elliott Slaughter **20090504065608 Ignore-this: 7e2d0600b9fc21ace2435f28481495c2 ] hash: 0000000448-f5b3eeb2818cbc7759f66b58130df43531f2632ea1c464cf88878d299db30ef7 [driver.lisp: Shadowed CL:ROOM and changed ZONE to ROOM. Elliott Slaughter **20090505070653 Ignore-this: 54c49e8db0b676445077152d06612347 ] hash: 0000000860-e84fe37f4769b5604d2e6b4bf794a4538f394b534e61fe94219af5fe86e0e753 [driver.lisp, hero.lisp: Moved hero code into separate file. Elliott Slaughter **20090505070756 Ignore-this: 9bad27c6fffa659a89cb33b6143684b7 ] hash: 0000031032-a0ff6e5c119013d5f79c84e988a8b8bcf3cda354a8c9e402b428f8914ef99b64 [hero.lisp, health.lisp: Added graph based health system. Elliott Slaughter **20090505094214 Ignore-this: 3f43674f635f60e7b5740aa49ceb7dd4 The health system is based on the concept of nested tissue layers. Each tissue layer protects inner layers, reducing damage, but degrading under abuse. ] hash: 0000009717-629abef2829efcabc672b760e153dce3afbdfb8eee4e7c51f848f4a2ccaeac94 [health.lisp: Removed health bar. Elliott Slaughter **20090506002028 Ignore-this: 294ff290a1ea3ee81f46fe452574031d ] hash: 0000000503-b5a2058414fabeaa4a89afe77084a640f9b172b45ad69de5a8ad706c999e552a [health.lisp, hero.lisp: Added layer attachment and severing. Elliott Slaughter **20090506011341 Ignore-this: 9d1d0f2c9efc306123fde7ac1d05dc4c This allows a hand to severed when the arm is cut off, etc. ] hash: 0000006599-ca2e29bf843b63ed6e5fbab3a5baf6a9da7945f5a7ec5bb91989dff52c543857 [health.lisp: Draw health graph on screen. Elliott Slaughter **20090506030635 Ignore-this: e968542ebd2620b5aab5231b297a79a0 ] hash: 0000034720-87a76787c73267c2f131e80a85052b7cb3bbd1ea817d36351f596b3d74f02a35 [health.lisp: Mannequin changes color when taking damage. Elliott Slaughter **20090506033317 Ignore-this: 43cd11f237b53cbb45590f9f25e2ef83 ] hash: 0000002036-f6d8453927715423a92092f2adb3ad66c69a710d401d831ba3ff39ddba48ebcc [health.lisp: Remove severed limbs from mannequin. Elliott Slaughter **20090506034303 Ignore-this: d165b531d32e75d723eb642b32baf03 ] hash: 0000000315-2cf75da837e590dd6a12e010b1e1b1ab56479f2ada74f664000340abd9c828bf [health.lisp: Fixed severed limb images and set health display to stay after death. Elliott Slaughter **20090506045256 Ignore-this: 6c7f06b6c9086b7306982fd9161296fd ] hash: 0000000440-69c1eecbee73ff672cc8b33b885f91ecf195ced1643a607ee0ddbada6c724ee3 [health.lisp, driver.lisp: Rebalanced bunny attacks. Elliott Slaughter **20090506045733 Ignore-this: 7addc2754eb996cb2d21c3d457edf2b3 ] hash: 0000000391-66c4b4d3bb214a306f69e855bf747facd0b3c112e54622f5e4f559b03ae45042 [runtime.lisp: Mac OSX fixes. Elliott Slaughter **20090510034017 Ignore-this: 5e7fe375e55e6a10bd5bcd84cd878b42 ] hash: 0000000266-e01cbca628573431cbbf53953f0786cd877db165d56c6ecfcf7150d11dce0a2e [health.lisp, driver.lisp: Rebalanced bunny attack. Elliott Slaughter **20090510034100 Ignore-this: a20562aef0be21097eb6e084e344a94a Bunnies now execute only one attach per attack animation. The hero health has been changed accordingly. ] hash: 0000003057-6dde807689ca588409a3ef4a8c6b48a1fe8a0cd601e709aaf382ddfefc496a2f [health.lisp: Rebalanced layer health. Elliott Slaughter **20090510044233 Ignore-this: ab08d6c18f9bc725d9291c664d4cef68 Each layer now takes fractional damage (so a very durable layer will eventually degrade under many light attacks). Layers now have a sensitivity which is a weight determining how heavily a layer should influence color choice when drawing a region. ] hash: 0000005974-4f36e7a27780b2d02983b0f17a17365308855d96b9fa570b546b4587d8729674 [driver.lisp hero.lisp changed bow images and made arrow waver upon being shot Michael Matthews **20090510064441] hash: 0000095277-fc3e39edb9cbc3a6fd80e900256fd6f8cd14e2538b38c3a7066cdcedebfa2477 [graphics.lisp, autoload.lisp: Fixed autoload values of nil. Elliott Slaughter **20090513031429 Ignore-this: a215e5efeb1375b22e48fc153c7ce60d The fix to the autoload.lisp was fairly straightforward: Use alrest (which returns a list of associated values) in lookup to differentiate between a nil value and no value. The fix to graphics.lisp was less straightforward, as SDL does not seem to handle color-keys when zooming completely uniformly. Therefore it was necessary to force the image to never have a color-key when passed nil. ] hash: 0000004474-eff21398f5360fcb59a9234eba1c65f50b45e16988b092efde465a09eeed7732 [graphics.lisp, component.lisp, utils.lisp: Added image elevation support. Elliott Slaughter **20090513035658 Ignore-this: ec0c1add5c10e087bde2672533e606c8 Also moved independent, commonly-used utilities to utils.lisp. ] hash: 0000009273-aaffc3cb31badd615bfd8830f845256f4734e2380b3fe72b55090f8f77137d74 [disp, driver.lisp: Added depths to config files. Elliott Slaughter **20090513041822 Ignore-this: e9694155abde9ca6725ebfd6b2f3694c ] hash: 0000002205-6ec86272206f05c2e4c7025eb789f1387304745dd263e90daa85c05431f3ac48 [driver.lisp: Refactored fill-room. Elliott Slaughter **20090517060315] hash: 0000005938-ea8351e4538088e652013008de6c4bc7731a8b22731cac488af57bcdc49e6d0a [driver.lisp: Added some random shapes to rooms. Elliott Slaughter **20090517063904] hash: 0000001820-a14118e5f954e439e08494d5a69735e9a8df35dc549aaa7e8bcdf60fee582d83 [driver.lisp: Made paths go between doors. Elliott Slaughter **20090517071810] hash: 0000002090-f3a7c8f053c59f59bd4628a853811d6c1754b1962fe656263c660bcf42e74db2 [driver.lisp: Moved character start off center to avoid collisions. Elliott Slaughter **20090517072128] hash: 0000000452-44af232d5cb0f65c845efa7a811fcaa8bf1ec4ad8f6737abaa4db647bbcaa5a0 [driver.lisp added bunny-death-anim moving around, arrow speed/timing changes Michael Matthews **20090517074430] hash: 0000004758-a38cdabcd06c0c0e3e69150c056ca8426a0ba4e53f2cf425af7a95642be0b509 [driver_lisp-added-bunny_death_anim-moving-around_-arrow-speed_timing-changes Michael Matthews **20090517074936] hash: 0000000577-d3fc90d8561821a36cbe577c4c501384e5b057074c85354fb3d8ce5b4eaf9b03 [Added bunny after death pictures Michael Matthews **20090518175848] hash: 0000002809-52dd7faca2d643bf23a573728b073e9bbcf5e6dc9c27d8e94f4c5ac05695d38b [db-alternate.lisp, driver.lisp: Added reset key. Elliott Slaughter **20090523050844 Added reset key which erases the current game and calls GAME-INIT to create a new game. Fixed DROP-INSTANCES-OF-ALL-CLASSES, which did not properly iterate through slot definitions to get rid of all objects. ] hash: 0000001014-cc866c65e9c4a11334220833b6e6b145ff93f0545c29a56f32c45ad0373d2b20 [load.lisp, ...: Fixed default parameters. Elliott Slaughter **20090523194537 Ignore-this: 7ce1e331440f6b06f3ba2736fe0c7a79 Default parameters in load.lisp now match the Makefile. ] hash: 0000001442-b57bc8045d0ee69d46c4eb7e3b6e79dd07f4e6f45ef36c70c29fc1c5563d3ee7 [utils.lisp: Use STRING= instead of SYMBOL-NAME=. Elliott Slaughter **20090523194656 Ignore-this: 6402f5aff7e00bad1dbbaeff2bc9991 ] hash: 0000001230-95895552258974af06c79a9c24de5f8fc8a8ad55a024c864602895f4bad44390 [db-alternate.lisp: New indexed slot schema. Elliott Slaughter **20090523194737 Ignore-this: af1b3ea078bab9596773140dcf694ea8 Two types of slot indexing are now provided. Class indexing uses a class-wide hash table for the index, as before. New instance indexing assumes that the values are going to be instances, and uses those instances to store the index. Class indexing: (defpclass example-class () ((slot-a :index :class))) Instance indexing: (defpclass example-class2 () ((slot-a :index slot-a-index) (slot-a-index :initform nil))) In the second example, slot-a-index will hold a list of all instances whose slot-a refers to that instance. Currently, get-instances-by-value must be used instead of accessing the index slot directly, for safety reasons. (This seems to be a bug.) ] hash: 0000011264-68f33588199d67f83104a712bb46ae5ddae1ddcfee1a0197bff064c15862b03a [Removed compatibility with AllegroCache and Elephant. Elliott Slaughter **20090524010925 Ignore-this: 2859ca2319dd240e7e5d94a85d435fff Conventional databases are much too slow to use in this game. The constant disk reads and writes, even with some amount of caching, cannot be maintained as the game scales. Thus all existing support for databases is being removed. Blackthorn is moving to a MOP-based, entirely in-memory model. The system uses much of the same syntax as the old database code, but the underlying MOP metaclasses use hash-tables and lists to keep track of the inverted indices. The new memory model allows objects to maintain their own indices. Thus it will be theoretically possible for subtrees to be written out to disk individually. CL-STORE is currently being used for serializing objects to and from disk. Elephant's snapshot-set is still theoretically a possibility, although this is not a high priority. ] hash: 0000007301-a2b8d0ae315251295fab9d5153b0b81bcf71c710ab8ea3cf7b1bc982f2e3cd6e [health.lisp driver.lisp added complex health system for guard bunnies Michael Matthews **20090524071827 Tried to get heal working, but it's not working so far. ] hash: 0000009395-c27762d17e5ba13c5bc758150d1e4d262c0754eacfae7af75ce41165ea88a1b5 [health.lisp fixed healing Michael Matthews **20090524072714] hash: 0000000446-c724182918a72033462eb391875e7d47dfd5fe4265162351ffa6cb6b9cd947e7 [health.lisp: Fixed healing. Elliott Slaughter **20090524191204 Ignore-this: 7578b5b45a949c054104f08711000faa ] hash: 0000000270-8e4bcb1cd1ae1b0998d062c3400483c6244b02f895d4a44124f3fc03399b783f [driver.lisp: Doors hold name of target room, not direct reference. Elliott Slaughter **20090524032602] hash: 0000001125-580a677fb1b344ef348c3bb40274a9a7220e7617e6a937aae74007af85cec24a [driver.lisp: Increase transition speed. Elliott Slaughter **20090524215654 Ignore-this: c9c59d1c379699b92e7df86d37404004 ] hash: 0000000310-f9643e3f6f2168b233179ef2292420192ea9c2109122739a83e6a4cc12046cd3 [database.lisp: Added weak indices. Elliott Slaughter **20090524220801 Ignore-this: 63faada4e95ccb932f6fb99716f2bc00 Since the database allows multiple items with the same value, weak hash-tables were not an option for the weak indices (because they would simply get GCed). Instead, weak lists (really lists of weak pointers) are implemented, which allow resources to be freed automatically when they are no longer needed. ] hash: 0000004560-d1c58af2d915568033ae7fbae6a8c638bc41cfcf08fa8a7739d96f24be622647 [hero.lisp: Always check to see if there is a hero. Elliott Slaughter **20090524224953 Ignore-this: 230339a7410247fe8f8618ba2119e27d ] hash: 0000003373-220e21f83a9cd7b18d17b93af4e7f8021d368feb03d4fb15c87fcceded32173c [driver.lisp, save.lisp: Fixed save, load, and reset. Elliott Slaughter **20090524232657 Ignore-this: 7417ce5a8b17a2af6ed63e6c5461dd90 Rooms are written out automatically when left by the transition. This allows the GC to reclaim the memory if needed. Rooms are automatically reloaded when re-entered. ] hash: 0000009433-1188a77f8ed3576e456ba053bea7c9409b9e6dcfb6beb4a01c0f3f723f8bd8bc [save.lisp, main.lisp: Fixed save and load. Elliott Slaughter **20090525063358 Ignore-this: e34c59dc4e9b578a6da86cc3342a3e4 New dependency: Archive (http://www.cliki.net/archive). Save and load now put the saved files in a tar archive. This removes problems with different states, and provides a compact save format which users can move around like before. Archive, the library which supports tar archives, runs on SBCL and CLISP. Thus, saving and loading will be, for the moment, broken on Allegro. MAIN now calls GAME-LOAD when loading, although this somewhat unofficial. Maybe this should be made part of the API. (After all, MAIN can't anticipate which global variables may need to be restored when loading.) ] hash: 0000002615-53703a0f0c526c2bca3222c641570bb405a07eb497bda145b4b55e84564c359e [install.nsi: Use BT icon instead of system icon. Elliott Slaughter **20090525063410 Ignore-this: db4605c2c58e8f24dce8f3988e7a9f62 ] hash: 0000000347-8d79510c2b64c0e3e583bfac197038f8f685d7b1f6e19f6f946082f0c0d5575c [database.lisp: Allegro CL fixes, part 1. Elliott Slaughter **20090525202047 Ignore-this: 37c93c4983e40942117cce31800dbba4 Allegro occaisionally throws a fit when evaluating (inherit-p slot-def), so replace it with (slot-value slot-def 'inherit). ] hash: 0000001011-72d69cff406654859bf1147441d0f3d6df1cd9dc2707ea8bf38a70548e88156a [*.lisp: Remove warnings. Elliott Slaughter **20090525203046 Ignore-this: ca0d8279b88e20109ec042f49aa643f4 ] hash: 0000002508-461a3de3c7a42040fc5a37e742db448f7664669f0a7c3e5c5f86f048ea48a09b [utils.lisp: Allegro CL fixes, part 2. Elliott Slaughter **20090525203609 Ignore-this: b02954006b7a3f129696ef34b1cde3bf ] hash: 0000000738-3bc66c1e5158a60543aa393a16861b650b397ce7f260c532bfae80ddf9622898 [input.lisp: Fixed test for shift key. Elliott Slaughter **20090525211426 Ignore-this: 14e0f964ec48d5f960897b33b293cffc ] hash: 0000000312-e0b79e77cdd8236611c1bde53f8092566e156c756c827f33351f91fb02497a70 [runtime.lisp: Mac OSX portability fixes. Elliott Slaughter **20090530192910 Ignore-this: d65bebc41a2710900d0c14d54ef13c4f Fixes binary builds with Mac OSX. ] hash: 0000000657-e740ee86ff22f20a4ea6ef46e66d240f7cc68db434acf421c1c457b78eb5235e [main.lisp: Added function to get the executable pathname. Elliott Slaughter **20090530201824 Ignore-this: 3f746d5cb416d1b39c42bb718ab335ea ] hash: 0000000479-c434bd39901ed2cb82a104c273c02aa13b35756308a77c95e2c0f683e323c0bb [main.lisp, runtime.lisp, autoload.lisp: Mac OSX portability fixes. Elliott Slaughter **20090530225240 Ignore-this: e72ed4b2dd18f26dc22449e1e54f9381 Changes needed to construct Mac OSX applications. Resources are now loaded from the *resource-directory-pathname* directory. Normally, this is equivalent to *default-pathname-defaults*, but in a Mac app, *default-pathname-defaults* is app/Contents/MacOS but the graphics are in app/Contents/Resources/disp. ] hash: 0000003107-64870dfb3771f0d230fdf7dbf776feee7f563f5454241b1590233f1fd293b800 [Makefile, macos: Added ability to create Mac apps. Elliott Slaughter **20090530231135 Ignore-this: 1fa8abe8ab42e5ce37eb3891e9dfcc56 ] hash: 0000001932-92f92c0d2edd43a27dcbd01a9c2ee0f7e10ce88b32122041da45bcb15b18cbda [Makefile: Minor fixes. Elliott Slaughter **20090530232634 Ignore-this: df368046c0fb706af6a47dabf61504d ] hash: 0000000672-abeaafae11641ea0cb6aedfbc6c261f1c31ec7a7c7fce972f67592750a8e0036 [game.lisp: Added GAME class as a wrapper around global variables. Elliott Slaughter **20090531052916 The GAME class acts essentially as a wrapper around global variables. This reduces the amount of customization needed in user code, because global variables are automatically detected (since they are just slots in the object). Most of the save.lisp has been moved to game.lisp. ] hash: 0000015341-9a75dc72dd21ad33e4266e540f3e9b176ee6b2a727dd7509edf167637b2bf6ab [Makefile: Added Linux tarball distribution. Elliott Slaughter **20090531063901] hash: 0000000604-cc907b1cf59931a852636e664e243f8bf79c32967c8f908d22c9f372437c8636 [game.lisp, main.lisp, driver.lisp: Replaced user GAME-INIT function etc with methods. Elliott Slaughter **20090531063925 The following user functions now map to these methods: GAME-INIT -> INIT-GAME GAME-DRAW -> RENDER GAME-UPDATE -> UPDATE The game instance is automatically constructed for the user by MAIN. The user can control the class of game created by setting *GAME-CLASS*, e.g. (defparameter *game-class* 'my-game) ] hash: 0000003215-320855bed63afa8b782569b9a66663ba9c85a29682602796d0ea00e6f5fc5bb7 [Makefile: Mac OSX tweaks. Elliott Slaughter **20090531070246 Ignore-this: cd5d0bf389b9df4d7583325c514644a8 ] hash: 0000001786-dfa59f6d9627b87fffdc61bcd427165f3170865f5b456782b3a3a5e981dee197 [health.lisp hero.lisp added armor for hero and display of armor on screen and swapping armor Michael Matthews **20090531080601 swapping armor testing is 'n' to switch in a new chestplate ] hash: 0000023197-ca59085214272f475e6d4f85bb0736d3886b4b33fa85da936ce8f6935fd96add [hero.lisp health.lisp replaced tabs Michael Matthews **20090531081507] hash: 0000006334-3d979ce29540459c2c9a5f7961c67ae3b01271d7ca5cb64c7c83ac5ed9305651 [mannequin-armor: Converted png images to gif. Elliott Slaughter **20090531200207 Ignore-this: 611fc861e14a63939cbc494cb4af789e ] hash: 0000008250-98224439132f49079b12929bc8001c481db4291525d09367f0d555c5172cf65f [health.lisp, hero.lisp: Generalized CHOOSE-IMAGE to apply to health layers. Elliott Slaughter **20090531203851 Ignore-this: 4e9bbc8b273f6bd518febb875c287ae2 Fixes half of a bug with respect to healing and armor. ] hash: 0000003180-de01902effa7e1c8aa989d70f07f7205742a80de39cbb5655db85705d30eccce [health.lisp: Fixed healing armor bug. Elliott Slaughter **20090531204422 Ignore-this: 58c01e42e45556d1265fdaa597e87843 ] hash: 0000000801-051cb32b2d8d1db3ac1eabba2ce30fc6a10338cfd9128910df4ebf461cef9b4a [driver.lisp: Fixed door jump effect. Elliott Slaughter **20090531220301 Ignore-this: 5d9f51c28f4db78561b8f2d2df0d5d46 Previously, moving through a door would cause a little jump effect because the character had to be placed entirely inside the destination room to prevent triggering the door on the other side. Now, the door tests for the velocity of the player, and only trigger when the player is moving outside the room. ] hash: 0000004834-9e3b02a47d5df540c6d0ed67f8b4568c0a70434b612e936da55c788f79cc5e7c [health.lisp driver.lisp added repair drop Michael Matthews **20090601201523] hash: 0000002443-7b0acfc18c0e01e70e3111dcb259d9d02f50cfdbfabe4cbc8645e542ffb975f8 [driver.lisp replaced tabs Michael Matthews **20090601201756] hash: 0000000236-e1e973d3231b196f2891ed1ecad29e9ee542a0d3fd62f3b6f8da0195754a1f79 [healthpack/repair.gif: Added border to repair icon. Elliott Slaughter **20090601221430 Ignore-this: 477078fd5d13efc5bc5841819cad97ac ] hash: 0000000568-a64fe4a1ea222f52d439e3670f0967a306e19fdaaba7657791ee30fd8d1f75b0 [event.lisp, ...: Rewrote event system. Elliott Slaughter **20090605001102 Ignore-this: eda3c87e97273162ee98bd94b78c324e First pass at a proper event system. Instead of just defining methods around certain handlers, event-maps define actions and map event names to those actions. For example, :key-c -> (attack-sword #) :key-v -> (attack-item #) These action names can then be rebound to trigger on other events. This change obviously requires rewriting all the keyboard code currently written. The old INPUT-MODE class was kept for the moment, mainly because it handles some stuff that the event system doesn't (e.g. key-repeat, unicode settings, and key-status). ] hash: 0000036750-88cad8929c3fb352f8266e59d742c2f8df67923ebac270b4ded5f75a72d0595c [repl-mode.lisp: Forgot to add file. Elliott Slaughter **20090607025915] hash: 0000003936-d1d5ca3f403013fb9014a52e92701ba57348891af138bea2f2b7dbf7b197cb6e [driver.lisp: Return of the pathfinding enemies! Elliott Slaughter **20090607060520 Added pathfinding enemies from the old example game. They are now called "crows" because of the way they move around the screen. Added a couple of helper functions to utils.lisp to help with complex computations. UNIT computes a unit vector, DOT computes a dot product, and PROJ computes the magnitude of one vector projected onto another. ] hash: 0000004768-669ee00227d1b56c0fa7ff3ceca2044e02bd7b93055bd8867539647a1d8c1f04 [event.lisp: Fix numlock/caplock issue. Elliott Slaughter **20090607062051 If numlock or caplock were pressed, the extra modifiers would cause other keys not to be recognized. Fixed temporarily by removing these from the list of modifiers used in making the name. This means that combinations of numlock/capslock cannot be recognized using the event name. ] hash: 0000000714-4ca0ad25d960a19f6281d4dfe960952b2bda5e4f7bf3655f713a0dc0b83e5bc1 [driver.lisp: Fixed pause key. Elliott Slaughter **20090607063511] hash: 0000000199-dfd85da978845d991dd51f629739b2df38166977526070359aeb2543ed4500fa [health.lisp hero.lisp added shield to be used as a piece of armor Michael Matthews **20090607051814] hash: 0000005154-c0661a0e5dcf2a66ad92d88a10ed06281fc0e4053dee4c27070a8be271108b4e [hero.lisp resolving conflicts after patch in keyboard shield code Michael Matthews **20090607071608] hash: 0000002189-f565199cf96c0fca33907008872745aa025a90089911e996beec43f9de376a86 [added shield images Michael Matthews **20090607072037] hash: 0000000493-063a2a731f381913cd3f8c16f18ea76850482dae8786f601c84976eeb276d34f [driver.lisp: Fixed room children bug. Elliott Slaughter **20090607080706 For whatever reason, this only showed up after adding the shield patch.... ] hash: 0000000336-bf0005ad455889b3f644bc5516d148606b581c3b6e2429c87836841ca92bd532 [driver.lisp, hero.lisp: Formatting changes. Elliott Slaughter **20090607080808] hash: 0000000876-be32062643a3e4fb8661f62798b3b0b38477529a521757a3c4526ed3fac1cb8b [driver.lisp added crow image changing and directions Michael Matthews **20090607080924 Crows are still a little twitchy. ] hash: 0000016630-67693af66cf1f48c62d271f871bc2348f07a5da6e1845faad9623ddf19ee69d9 [driver.lisp: Keep crow animations from being constantly reset. Elliott Slaughter **20090607083133] hash: 0000000651-643a5e9e27865b28adeb47155f62bd75f86c640a172df385acfc502bc504ef82 [Makefile, runtime.lisp: Mac OSX fixes. Elliott Slaughter **20090607225136 Ignore-this: 1e1bfe410e9c6728b445cc3d388acb40 ] hash: 0000000528-761026237135b5c37fce56a7af228c0b8e168359e4d9307b5be162c140feee37 [Initial support for Clozure CL. (Tested on Windows x86.) Elliott Slaughter **20090707055607 Ignore-this: 611558c8ecade2fb854ea876192a456a ] hash: 0000003012-678b2b934a72749aec2fa379a3f27ffbea92267054589d9462648ce1c51aade7 [Fix for lispbuilder-sdl r1362. Elliott Slaughter **20091004080213 Ignore-this: fa898ab59d09e207ea1e2ca78db0aef1 ] hash: 0000000233-449888a917e0050b8af3d316e85183fa97e606f7ccc069157a293b72bd6d8f53