OSX version updated, icon added
This commit is contained in:
18
main.cpp
18
main.cpp
@@ -14,6 +14,12 @@
|
||||
#define MOUSE_BUTTON_MIDDLE 1
|
||||
#define MOUSE_BUTTON_RIGHT 2
|
||||
|
||||
#ifdef __APPLE__
|
||||
#define CTRL SDL_SCANCODE_LGUI
|
||||
#else
|
||||
#define CTRL SDL_SCANCODE_LCTRL
|
||||
#endif
|
||||
|
||||
struct Mouse {
|
||||
int x, y;
|
||||
bool buttons[3];
|
||||
@@ -397,7 +403,7 @@ void DoTilePal() {
|
||||
void floodfill_r(const int x, const int y, const int tile) {
|
||||
const int width_in_tiles = screen_width / tile_width;
|
||||
const int height_in_tiles = screen_height / tile_height;
|
||||
if ( (keyboard[SDL_SCANCODE_LCTRL] ) || ( (x >= map_x && y >= map_y && x < (map_x + width_in_tiles) && y < (map_y + height_in_tiles)) ) ) {
|
||||
if ( (keyboard[CTRL] ) || ( (x >= map_x && y >= map_y && x < (map_x + width_in_tiles) && y < (map_y + height_in_tiles)) ) ) {
|
||||
if (map[x + y * map_width] == tile) {
|
||||
map[x + y * map_width] = tile_sel;
|
||||
floodfill_r(x + 1, y, tile);
|
||||
@@ -419,7 +425,7 @@ void ReplaceTile() {
|
||||
const int x = map_x + (mouse.x / tile_width);
|
||||
const int y = map_y + (mouse.y / tile_height);
|
||||
const int tile = map[x + y * map_width];
|
||||
const bool all_map = keyboard[SDL_SCANCODE_LCTRL];
|
||||
const bool all_map = keyboard[CTRL];
|
||||
const int xi = all_map ? 0 : map_x;
|
||||
const int yi = all_map ? 0 : map_y;
|
||||
const int w = all_map ? map_width : xi+(screen_width / tile_width);
|
||||
@@ -468,9 +474,9 @@ void DoTileMap() {
|
||||
if (mouse.buttons[MOUSE_BUTTON_LEFT]) { map[(map_x + cur_x) + (map_y + cur_y)*map_width] = tile_sel; }
|
||||
if (mouse.buttons[MOUSE_BUTTON_MIDDLE]) { tile_sel = map[(map_x + cur_x) + (map_y + cur_y)*map_width]; }
|
||||
|
||||
if (keyJustPressed == SDL_SCANCODE_Z && keyboard[SDL_SCANCODE_LCTRL]) { Undo_Undo(); }
|
||||
if (keyJustPressed == SDL_SCANCODE_Y && keyboard[SDL_SCANCODE_LCTRL]) { Undo_Redo(); }
|
||||
if (keyJustPressed == SDL_SCANCODE_Z && keyboard[SDL_SCANCODE_LCTRL] && keyboard[SDL_SCANCODE_LSHIFT]) { Undo_Redo(); }
|
||||
if (keyJustPressed == SDL_SCANCODE_Z && keyboard[CTRL]) { Undo_Undo(); }
|
||||
if (keyJustPressed == SDL_SCANCODE_Y && keyboard[CTRL]) { Undo_Redo(); }
|
||||
if (keyJustPressed == SDL_SCANCODE_Z && keyboard[CTRL] && keyboard[SDL_SCANCODE_LSHIFT]) { Undo_Redo(); }
|
||||
}
|
||||
else {
|
||||
if (keyJustPressed == SDL_SCANCODE_TAB) { menu = false; return; }
|
||||
@@ -557,7 +563,7 @@ void DoMiniMap() {
|
||||
ignoreMouse = true;
|
||||
}
|
||||
if (keyJustPressed == SDL_SCANCODE_E) state = STATE_TILEMAP;
|
||||
if (keyboard[SDL_SCANCODE_LCTRL]) {
|
||||
if (keyboard[CTRL]) {
|
||||
if (keyJustPressed == SDL_SCANCODE_A) ShiftMap(1, 0);
|
||||
if (keyJustPressed == SDL_SCANCODE_D) ShiftMap(-1, 0);
|
||||
if (keyJustPressed == SDL_SCANCODE_W) ShiftMap(0, 1);
|
||||
|
||||
Reference in New Issue
Block a user