Browse Source

Split files and get rid of inline cl-heap warning

Lily Carpenter 9 years ago
parent
commit
1079d0fac3
4 changed files with 12 additions and 57 deletions
  1. 2 53
      NOTES.org
  2. 1 1
      crypts-and-corpses.asd
  3. 3 1
      src/crypts-and-corpses.lisp
  4. 6 2
      src/package.lisp

+ 2 - 53
NOTES.org

@@ -3,59 +3,11 @@ http://foo.wyrd.name/en:bearlibterminal:reference
3 3
 http://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=0x
4 4
 
5 5
 * Tasks
6
-** DONE Get bearlibterminal autowrapped and basic window working.
7
-CLOSED: [2016-01-01 Fri 22:52]
8 6
 ** High Priority
9
-*** DONE Tweak health, regen, and damage values.
10
-CLOSED: [2016-01-12 Tue 22:03]
11
-*** DONE Fix mana being allowed to go negative.
12
-CLOSED: [2016-01-12 Tue 19:31]
13
-*** DONE Add instructions page (auto show after start, h key to show later)
14
-CLOSED: [2016-01-12 Tue 21:35]
15
-*** DONE Add status line section for current attack
16
-CLOSED: [2016-01-12 Tue 18:52]
17
-*** DONE Create enemy AI
18
-CLOSED: [2016-01-11 Mon 23:57]
19
-- [X] Detect whether player can be seen
20
-- [X] Move to player
21
-- [X] Attack player
22
-*** DONE Create ally AI
23
-CLOSED: [2016-01-11 Mon 23:57]
24
-- [X] Detect whether enemies can be seen
25
-- [X] If enemies, move to them and attack.
26
-- [X] If not enemies, move toward player.
27
-*** ABORTED Make nearest-open-tile able to use self as the tile
28
-CLOSED: [2016-01-11 Mon 01:59]
29
-*** DONE Base random enemy/tomb placement off center of room, not edges
30
-CLOSED: [2016-01-11 Mon 01:55]
31
-*** DONE Randomly place ally tombs
32
-CLOSED: [2016-01-11 Mon 01:28]
33
-- [X] Player can wake up allies by entering room
34
-*** DONE Randomly place enemies
35
-CLOSED: [2016-01-11 Mon 00:32]
36
-*** DONE Create player character
37
-CLOSED: [2016-01-10 Sun 21:00]
38
-- [X] Health (no regeneration)
39
-- [X] Mana (regenerates per turn)
40
-- [X] Ranged attack (takes mana)
41
-- [X] Melee attack (weak, no mana cost)
42
-*** DONE Create vision
43
-CLOSED: [2016-01-10 Sun 03:49]
44
-*** DONE Create enemy characters (human knights?)
45
-CLOSED: [2016-01-08 Fri 23:37]
46
-*** DONE Add collision detection between all entities (for now nothing is allowed to collide)
47
-CLOSED: [2016-01-08 Fri 23:13]
48
-*** DONE Use axion's crawler for map generation
49
-CLOSED: [2016-01-08 Fri 20:52]
50
-*** DONE Fix broken viewport
51
-CLOSED: [2016-01-06 Wed 22:24]
52
-*** DONE Merge out-of-bounds logic between viewport and mobiles
53
-CLOSED: [2016-01-06 Wed 22:24]
54
-*** DONE Figure out how to get messages in exact center.
55
-CLOSED: [2016-01-02 Sat 03:33]
56
-** Medium priority
7
+*** TODO Split file into logical package files.
57 8
 *** TODO Add unit + property tests for all pure functions
58 9
 *** TODO Add unit + property tests for all classes
10
+** Medium priority
59 11
 *** TODO Create configuration system that can control display and keybindings.
60 12
 *** TODO Create generalized input command dispatch. (consider generalizing this)
61 13
 *** TODO Update input handling for attacks to be less surprising
@@ -64,6 +16,3 @@ CLOSED: [2016-01-02 Sat 03:33]
64 16
 *** TODO Improve ally AI to never go too far from player
65 17
 - Should be simple with the two dijikstra, just have to weight both I think?
66 18
 - Right now they just kind of beserk after the nearest enemy
67
-
68
-*** DONE Create map -> graphics layer so that isn't manual. (consider generalizing this)
69
-CLOSED: [2016-01-02 Sat 01:32]

+ 1 - 1
crypts-and-corpses.asd

@@ -12,4 +12,4 @@
12 12
   :serial t
13 13
   :pathname "src"
14 14
   :components ((:file "package")
15
-               (:file "crypts-and-corpses")))
15
+               (:file "internal")))

+ 3 - 1
src/crypts-and-corpses.lisp

@@ -15,7 +15,9 @@
15 15
 
16 16
 ;;;; crypts-and-corpses.lisp
17 17
 
18
-(in-package #:crypts-and-corpses)
18
+(in-package #:crypts-and-corpses-internal)
19
+
20
+(declaim (notinline cl-heap:dequeue cl-heap:enqueue))
19 21
 
20 22
 (defstruct game-map
21 23
   (width  99 :type fixnum :read-only t)

+ 6 - 2
src/package.lisp

@@ -1,7 +1,11 @@
1 1
 ;;;; package.lisp
2 2
 
3 3
 (defpackage #:crypts-and-corpses
4
+  (:use)
5
+  (:export #:start))
6
+
7
+(defpackage #:crypts-and-corpses-internal
4 8
   (:use #:cl
5 9
         #:bearlibterminal
6
-        #:split-sequence)
7
-  (:export #:start))
10
+        #:split-sequence
11
+        #:crypts-and-corpses))