about summary refs log tree commit diff stats
path: root/data/maps/the_quiet/rooms/Main Area.txtpb
blob: 180e0bc550e035f1dc7aec6c961d931a4e3c4516 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
name: "Main Area"
panels {
  name: "SOLID"
  path: "Panels/Main/panel_1"
  clue: "solid"
  answer: "gas"
  symbols: CROSS
  proxies { answer: "liquid" path: "Panels/Q/panel_1" }
}
panels {
  name: "RODENT"
  path: "Panels/Main/panel_2"
  clue: "rodent"
  answer: "rat"
  symbols: EXAMPLE
  proxies { answer: "squirrel" path: "Panels/Q/panel_2" }
}
panels {
  name: "COIN"
  path: "Panels/Main/panel_3"
  clue: "coin"
  answer: "dime"
  symbols: EXAMPLE
  proxies { answer: "quarter" path: "Panels/Q/panel_3" }
}
panels {
  name: "RULE"
  path: "Panels/Main/panel_4"
  clue: "rule"
  answer: "king"
  symbols: JOB
  proxies { answer: "queen" path: "Panels/Q/panel_4" }
}
panels {
  name: "PORCUPINE"
  path: "Panels/Main/panel_5"
  clue: "porcupine"
  answer: "spine"
  symbols: BOXES
  proxies { answer: "quill" path: "Panels/Q/panel_5" }
}
panels {
  name: "DISAGREE"
  path: "Panels/Main/panel_6"
  clue: "disagree"
  answer: "argue"
  symbols: PYRAMID
  proxies { answer: "quarrel" path: "Panels/Q/panel_6" }
}
panels {
  name: "DEMAND"
  path: "Panels/Main/panel_7"
  clue: "demand"
  answer: "ask"
  symbols: PYRAMID
  proxies { answer: "request" path: "Panels/Q/panel_7" }
}
panels {
  name: "FLOWER"
  path: "Panels/Main/panel_8"
  clue: "flower"
  answer: "flowers"
  symbols: PLANET
  proxies { answer: "bouquet" path: "Panels/Q/panel_8" }
}
panels {
  name: "BEE"
  path: "Panels/Main/panel_9"
  clue: "bee"
  answer: "fly"
  symbols: EXAMPLE
  proxies { answer: "mosquito" path: "Panels/Q/panel_9" }
}
panels {
  name: "DUO"
  path: "Panels/Main/panel_10"
  clue: "duo"
  answer: "trio"
  symbols: BOXES
  proxies { answer: "quartet" path: "Panels/Q/panel_10" }
}
panels {
  name: "LINGO 2"
  path: "Panels/Main/panel_11"
  clue: "lingo 2"
  answer: "game"
  symbols: EXAMPLE
  proxies { answer: "sequel" path: "Panels/Q/panel_11" }
}
panels {
  name: "CRUSH"
  path: "Panels/Main/panel_12"
  clue: "crush"
  answer: "mash"
  symbols: SUN
  proxies { answer: "squash" path: "Panels/Q/panel_12" }
}
ports {
  name: "DAEDALUS"
  path: "Components/Warps/worldport"
  orientation: "east"
}
s="o">==(const Input& rhs) const { return std::tie(left, right, up, down) == std::tie(rhs.left, rhs.right, rhs.up, rhs.down); } bool operator!=(const Input& rhs) const { return !(*this == rhs); } }; struct Kickup { int x; int y; size_t cur; size_t radius; size_t chain; std::set<coord> done; std::set<coord> front; }; class Game { public: Game(std::mt19937& rng, Muxer& muxer); void update(size_t dt); std::mt19937& rng; Muxer& muxer; bool quit = false; LoseState losing = LoseState::None; Map map; std::list<Kickup> kickups; int litSpots = 0; bool dirtyLighting = true; bool dirtyRender = true; size_t numLamps = 0; size_t numDust = 0; int player_x = 0; int player_y = 0; int player_oldx = 0; int player_oldy = 0; bool renderPlayer = true; Animation playerAnim {"../res/player_anim.txt"}; int maxZoom = INIT_ZOOM; int curZoom = INIT_ZOOM; bool zooming = false; int zoomProgress = 0; int zoomLength; Input keystate; bool firstInput = false; Input lastInput; bool alreadyBumped = false; Timer bumpCooldown = {500}; Interpolation moveProgress; bool moving = false; bool queueDash = false; Timer dustTimer = {40}; Timer inputTimer = {50}; Timer losePopLampTimer = {800}; Timer losePopPlayerTimer = {3000}; Timer zoomTimer = {62}; private: void tick( int x1, int y1, int x2, int y2, bool invert = false, bool onlyDark = false); void tick(bool onlyDark = false); bool movePlayer(int x, int y); void recalculateLighting(); void recalculateRender(); bool processKeys(const Input& keystate); void kickUpDust(int x, int y, size_t chain); void popLamp(int x, int y, size_t chain); void processKickup(); void loadMap(); void setZoom(size_t zoom); void performDash(); }; #endif /* end of include guard: GAME_H_7D2B65AE */