diff options
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/main.cpp b/src/main.cpp index cbac5bb..cd8ee3e 100644 --- a/src/main.cpp +++ b/src/main.cpp | |||
@@ -39,13 +39,13 @@ int main(int argc, char** argv) | |||
39 | throw sdl_error(); | 39 | throw sdl_error(); |
40 | } | 40 | } |
41 | 41 | ||
42 | Level level; | 42 | Level level(ren.get()); |
43 | 43 | ||
44 | std::unique_ptr<State> state; | 44 | std::unique_ptr<State> state; |
45 | 45 | ||
46 | if (argc == 2 && !strcmp(argv[1], "--editor")) | 46 | if (argc == 2 && !strcmp(argv[1], "--editor")) |
47 | { | 47 | { |
48 | state.reset(new Editor()); | 48 | state.reset(new Editor(ren.get())); |
49 | } else { | 49 | } else { |
50 | state.reset(new Simulation(level)); | 50 | state.reset(new Simulation(level)); |
51 | } | 51 | } |
@@ -63,20 +63,12 @@ int main(int argc, char** argv) | |||
63 | 63 | ||
64 | while (SDL_PollEvent(&e)) | 64 | while (SDL_PollEvent(&e)) |
65 | { | 65 | { |
66 | if (e.type == SDL_QUIT) | 66 | if (e.type == SDL_QUIT || |
67 | (e.type == SDL_KEYDOWN && | ||
68 | e.key.keysym.sym == SDLK_ESCAPE)) | ||
67 | { | 69 | { |
68 | quit = true; | 70 | quit = true; |
69 | } else if (e.type == SDL_KEYDOWN) | 71 | break; |
70 | { | ||
71 | switch (e.key.keysym.sym) | ||
72 | { | ||
73 | case SDLK_ESCAPE: | ||
74 | { | ||
75 | quit = true; | ||
76 | |||
77 | break; | ||
78 | } | ||
79 | } | ||
80 | } | 72 | } |
81 | } | 73 | } |
82 | 74 | ||