/* default value for element tile size in drawing area */
#define DEFAULT_EDITOR_TILESIZE MINI_TILESIZE
+#define DEFAULT_EDITOR_TILESIZE_MM TILESIZE
/*
/* actual tile size used to display playfield drawing area */
static int ed_tilesize = DEFAULT_EDITOR_TILESIZE;
+static int ed_tilesize_default = DEFAULT_EDITOR_TILESIZE;
#define IN_ED_FIELD(x,y) IN_FIELD(x, y, ed_fieldx, ed_fieldy)
void InitZoomLevelSettings(int zoom_tilesize)
{
if (zoom_tilesize == -1)
- zoom_tilesize = setup.auto_setup.editor_zoom_tilesize;
+ {
+ ed_tilesize = setup.auto_setup.editor_zoom_tilesize;
+ ed_tilesize_default = DEFAULT_EDITOR_TILESIZE;
+
+ if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
+ {
+ ed_tilesize = DEFAULT_EDITOR_TILESIZE_MM;
+ ed_tilesize_default = DEFAULT_EDITOR_TILESIZE_MM;
+ }
+ }
// limit zoom tilesize by upper and lower bound
- zoom_tilesize = MIN(MAX(MICRO_TILESIZE, zoom_tilesize), TILESIZE);
+ ed_tilesize = MIN(MAX(MICRO_TILESIZE, ed_tilesize), TILESIZE);
- ed_tilesize = setup.auto_setup.editor_zoom_tilesize = zoom_tilesize;
+ // store zoom tilesize in auto setup file only if it was manually changed
+ if (zoom_tilesize != -1)
+ setup.auto_setup.editor_zoom_tilesize = ed_tilesize;
MAX_ED_FIELDX = getMaxEdFieldX(FALSE);
MAX_ED_FIELDY = getMaxEdFieldY(FALSE);
case GADGET_ID_ZOOM:
// zoom level editor tile size in or out (or reset to default size)
ed_tilesize = (button == 1 ? ed_tilesize * 2 :
- button == 2 ? DEFAULT_EDITOR_TILESIZE :
+ button == 2 ? ed_tilesize_default :
button == 3 ? ed_tilesize / 2 : ed_tilesize);
// limit zoom level by upper and lower bound