projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20131024-1-src
[rocksndiamonds.git]
/
src
/
editor.c
diff --git
a/src/editor.c
b/src/editor.c
index 83df2e15c5048d51ef8dc7bce33d29cc7f367ec4..005a1a2ac5d9be237d106de2f0eb08b360294871 100644
(file)
--- a/
src/editor.c
+++ b/
src/editor.c
@@
-971,8
+971,13
@@
#define RANDOM_USE_QUANTITY 1
/* maximal size of level editor drawing area */
#define RANDOM_USE_QUANTITY 1
/* maximal size of level editor drawing area */
+#if NEW_TILESIZE
+#define MAX_ED_FIELDX (SCR_FIELDX)
+#define MAX_ED_FIELDY (SCR_FIELDY - 1)
+#else
#define MAX_ED_FIELDX (2 * SCR_FIELDX)
#define MAX_ED_FIELDY (2 * SCR_FIELDY - 1)
#define MAX_ED_FIELDX (2 * SCR_FIELDX)
#define MAX_ED_FIELDY (2 * SCR_FIELDY - 1)
+#endif
/*
/*
@@
-2710,7
+2715,7
@@
static struct
GADGET_ID_CONTINUOUS_SNAPPING, GADGET_ID_NONE,
&level.continuous_snapping,
NULL,
GADGET_ID_CONTINUOUS_SNAPPING, GADGET_ID_NONE,
&level.continuous_snapping,
NULL,
- "continuo
s snapping",
"use snapping without releasing key"
+ "continuo
us snapping",
"use snapping without releasing key"
},
{
ED_ELEMENT_SETTINGS_XPOS(0), ED_ELEMENT_SETTINGS_YPOS(7),
},
{
ED_ELEMENT_SETTINGS_XPOS(0), ED_ELEMENT_SETTINGS_YPOS(7),
@@
-5143,7
+5148,7
@@
static void DrawElementBorder(int dest_x, int dest_y, int width, int height,
int by2 = TILEY - by;
int i;
int by2 = TILEY - by;
int i;
- getGraphicSource(border_graphic, 0, &src_bitmap, &src_x, &src_y);
+ get
Fixed
GraphicSource(border_graphic, 0, &src_bitmap, &src_x, &src_y);
BlitBitmap(src_bitmap, drawto, src_x, src_y,
bx, by, dest_x - bx, dest_y - by);
BlitBitmap(src_bitmap, drawto, src_x, src_y,
bx, by, dest_x - bx, dest_y - by);
@@
-5225,7
+5230,7
@@
static void CreateControlButtons()
{
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
{
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
int i;
/* create toolbox buttons */
int i;
/* create toolbox buttons */
@@
-5514,7
+5519,7
@@
static void CreateCounterButtons()
int gd_xoffset;
int gd_x, gd_x1, gd_x2, gd_y;
int x_size, y_size;
int gd_xoffset;
int gd_x, gd_x1, gd_x2, gd_y;
int x_size, y_size;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
char infotext[max_infotext_len + 1];
event_mask = GD_EVENT_PRESSED | GD_EVENT_REPEATED;
char infotext[max_infotext_len + 1];
event_mask = GD_EVENT_PRESSED | GD_EVENT_REPEATED;
@@
-5650,7
+5655,7
@@
static void CreateDrawingAreas()
for (i = 0; i < ED_NUM_DRAWING_AREAS; i++)
{
struct GadgetInfo *gi;
for (i = 0; i < ED_NUM_DRAWING_AREAS; i++)
{
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
int id = drawingarea_info[i].gadget_id;
int x = SX + drawingarea_info[i].x;
int y = SY + drawingarea_info[i].y;
int id = drawingarea_info[i].gadget_id;
int x = SX + drawingarea_info[i].x;
int y = SY + drawingarea_info[i].y;
@@
-5701,7
+5706,7
@@
static void CreateTextInputGadgets()
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
int gd_x, gd_y;
struct GadgetInfo *gi;
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
int gd_x, gd_y;
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
char infotext[MAX_OUTPUT_LINESIZE + 1];
int id = textinput_info[i].gadget_id;
char infotext[MAX_OUTPUT_LINESIZE + 1];
int id = textinput_info[i].gadget_id;
@@
-5749,7
+5754,7
@@
static void CreateTextAreaGadgets()
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
int gd_x, gd_y;
struct GadgetInfo *gi;
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
int gd_x, gd_y;
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
char infotext[MAX_OUTPUT_LINESIZE + 1];
int id = textarea_info[i].gadget_id;
int area_xsize = textarea_info[i].xsize;
char infotext[MAX_OUTPUT_LINESIZE + 1];
int id = textarea_info[i].gadget_id;
int area_xsize = textarea_info[i].xsize;
@@
-5798,7
+5803,7
@@
static void CreateSelectboxGadgets()
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
int gd_x, gd_y;
struct GadgetInfo *gi;
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
int gd_x, gd_y;
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
char infotext[MAX_OUTPUT_LINESIZE + 1];
int id = selectbox_info[i].gadget_id;
int x = SX + selectbox_info[i].x;
char infotext[MAX_OUTPUT_LINESIZE + 1];
int id = selectbox_info[i].gadget_id;
int x = SX + selectbox_info[i].x;
@@
-5875,7
+5880,7
@@
static void CreateTextbuttonGadgets()
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
int gd_x1, gd_x2, gd_y1, gd_y2;
struct GadgetInfo *gi;
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
int gd_x1, gd_x2, gd_y1, gd_y2;
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
char infotext[MAX_OUTPUT_LINESIZE + 1];
int id = textbutton_info[i].gadget_id;
int x = SX + textbutton_info[i].x;
char infotext[MAX_OUTPUT_LINESIZE + 1];
int id = textbutton_info[i].gadget_id;
int x = SX + textbutton_info[i].x;
@@
-5948,7
+5953,7
@@
static void CreateGraphicbuttonGadgets()
{
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
{
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
int i;
/* create buttons for scrolling of drawing area and element list */
int i;
/* create buttons for scrolling of drawing area and element list */
@@
-6055,7
+6060,7
@@
static void CreateScrollbarGadgets()
int gd_x1, gd_x2, gd_y1, gd_y2;
struct GadgetInfo *gi;
int items_max, items_visible, item_position;
int gd_x1, gd_x2, gd_y1, gd_y2;
struct GadgetInfo *gi;
int items_max, items_visible, item_position;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
if (i == ED_SCROLLBAR_ID_LIST_VERTICAL)
{
if (i == ED_SCROLLBAR_ID_LIST_VERTICAL)
{
@@
-6122,7
+6127,7
@@
static void CreateCheckbuttonGadgets()
{
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
{
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
int gd_x1, gd_x2, gd_x3, gd_x4, gd_y;
int i;
int gd_x1, gd_x2, gd_x3, gd_x4, gd_y;
int i;
@@
-6185,7
+6190,7
@@
static void CreateRadiobuttonGadgets()
{
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
{
Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
- unsigned
long
event_mask;
+ unsigned
int
event_mask;
int gd_x1, gd_x2, gd_x3, gd_x4, gd_y;
int i;
int gd_x1, gd_x2, gd_x3, gd_x4, gd_y;
int i;
@@
-7409,6
+7414,11
@@
void DrawLevelEd()
FadeOut(REDRAW_FIELD);
#endif
FadeOut(REDRAW_FIELD);
#endif
+#if 1
+ /* needed if different viewport properties defined for editor */
+ ChangeViewportPropertiesIfNeeded();
+#endif
+
OpenDoor(DOOR_OPEN_2 | DOOR_NO_DELAY);
#if DEBUG
OpenDoor(DOOR_OPEN_2 | DOOR_NO_DELAY);
#if DEBUG
@@
-7438,6
+7448,10
@@
void DrawLevelEd()
BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
DOOR_GFX_PAGEX6, DOOR_GFX_PAGEY1, DXSIZE, DYSIZE, DX, DY);
BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
DOOR_GFX_PAGEX6, DOOR_GFX_PAGEY1, DXSIZE, DYSIZE, DX, DY);
+#if 0
+ printf("::: %d, %d / %d, %d\n", VX, VY, EX, EY);
+#endif
+
/* draw bigger door */
DrawSpecialEditorDoor();
/* draw bigger door */
DrawSpecialEditorDoor();
@@
-8164,7
+8178,7
@@
static int PrintElementDescriptionFromFile(char *filename, int start_line)
int max_lines_per_screen = (SYSIZE - pad_y) / font_height - 1;
return DrawTextFile(sx, sy, filename, font_nr, max_chars_per_line, -1,
int max_lines_per_screen = (SYSIZE - pad_y) / font_height - 1;
return DrawTextFile(sx, sy, filename, font_nr, max_chars_per_line, -1,
- max_lines_per_screen, -1, TRUE, FALSE, FALSE);
+ max_lines_per_screen,
0,
-1, TRUE, FALSE, FALSE);
}
static void DrawPropertiesInfo()
}
static void DrawPropertiesInfo()
@@
-8803,7
+8817,7
@@
static void DrawEditorElementAnimation(int x, int y)
ANIM_MODE(graphic) == ANIM_CE_SCORE ?
custom_element.collect_score_initial : FrameCounter);
ANIM_MODE(graphic) == ANIM_CE_SCORE ?
custom_element.collect_score_initial : FrameCounter);
- DrawGraphicAnimationExt(drawto, x, y, graphic, frame, NO_MASKING);
+ Draw
Fixed
GraphicAnimationExt(drawto, x, y, graphic, frame, NO_MASKING);
}
static void DrawEditorElementName(int x, int y, int element)
}
static void DrawEditorElementName(int x, int y, int element)
@@
-10300,7
+10314,10
@@
static void FloodFill(int from_x, int from_y, int fill_element)
static int DrawLevelText(int sx, int sy, char letter, int mode)
{
static short delete_buffer[MAX_LEV_FIELDX];
static int DrawLevelText(int sx, int sy, char letter, int mode)
{
static short delete_buffer[MAX_LEV_FIELDX];
- static int start_sx, start_sy;
+ static int start_sx;
+#if 0
+ static int start_sy;
+#endif
static int last_sx, last_sy;
static boolean typing = FALSE;
int letter_element = EL_CHAR_ASCII0 + letter;
static int last_sx, last_sy;
static boolean typing = FALSE;
int letter_element = EL_CHAR_ASCII0 + letter;
@@
-10342,8
+10359,12
@@
static int DrawLevelText(int sx, int sy, char letter, int mode)
DrawLevelText(0, 0, 0, TEXT_END);
typing = TRUE;
DrawLevelText(0, 0, 0, TEXT_END);
typing = TRUE;
- start_sx = last_sx = sx;
- start_sy = last_sy = sy;
+ start_sx = sx;
+#if 0
+ start_sy = sy;
+#endif
+ last_sx = sx;
+ last_sy = sy;
DrawLevelText(sx, sy, 0, TEXT_SETCURSOR);
break;
DrawLevelText(sx, sy, 0, TEXT_SETCURSOR);
break;
@@
-10708,10
+10729,10
@@
static void HandleDrawingAreas(struct GadgetInfo *gi)
gi->y + sy * MINI_TILEY,
el2edimg(new_element));
else
gi->y + sy * MINI_TILEY,
el2edimg(new_element));
else
- DrawGraphicExt(drawto,
- gi->x + sx * TILEX,
- gi->y + sy * TILEY,
- el2img(new_element), 0);
+ Draw
Fixed
GraphicExt(drawto,
+
gi->x + sx * TILEX,
+
gi->y + sy * TILEY,
+
el2img(new_element), 0);
if (id == GADGET_ID_CUSTOM_GRAPHIC)
new_element = GFX_ELEMENT(new_element);
if (id == GADGET_ID_CUSTOM_GRAPHIC)
new_element = GFX_ELEMENT(new_element);
@@
-11505,7
+11526,9
@@
static void HandleControlButtons(struct GadgetInfo *gi)
BackToFront(); /* force redraw of undrawn special door */
BackToFront(); /* force redraw of undrawn special door */
+#if 0
DrawCompleteVideoDisplay();
DrawCompleteVideoDisplay();
+#endif
level_editor_test_game = TRUE;
level_editor_test_game = TRUE;
@@
-11733,8
+11756,8
@@
void HandleLevelEditorKeyInput(Key key)
void HandleLevelEditorIdle()
{
void HandleLevelEditorIdle()
{
- static unsigned
long
action_delay = 0;
- unsigned
long
action_delay_value = GameFrameDelay;
+ static unsigned
int
action_delay = 0;
+ unsigned
int
action_delay_value = GameFrameDelay;
int xpos = 1, ypos = 2;
int i;
int xpos = 1, ypos = 2;
int i;