Add mapper_refresh_rotation
This commit is contained in:
parent
def8effa9f
commit
a30fb4cfdd
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
#include "actions.h"
|
||||||
#include "animation.h"
|
#include "animation.h"
|
||||||
#include "art.h"
|
#include "art.h"
|
||||||
#include "color.h"
|
#include "color.h"
|
||||||
|
@ -49,6 +50,7 @@ static void clear_toolname();
|
||||||
static void update_toolname(int* pid, int type, int id);
|
static void update_toolname(int* pid, int type, int id);
|
||||||
static void update_high_obj_name(Object* obj);
|
static void update_high_obj_name(Object* obj);
|
||||||
static void mapper_destroy_highlight_obj(Object** a1, Object** a2);
|
static void mapper_destroy_highlight_obj(Object** a1, Object** a2);
|
||||||
|
static void mapper_refresh_rotation();
|
||||||
static void update_art(int a1, int a2);
|
static void update_art(int a1, int a2);
|
||||||
static void handle_new_map(int* a1, int* a2);
|
static void handle_new_map(int* a1, int* a2);
|
||||||
static int mapper_mark_exit_grid();
|
static int mapper_mark_exit_grid();
|
||||||
|
@ -104,6 +106,26 @@ static char kSwapPrototypse[] = " Swap Prototypes ";
|
||||||
|
|
||||||
static char kTmpMapName[] = "TMP$MAP#.MAP";
|
static char kTmpMapName[] = "TMP$MAP#.MAP";
|
||||||
|
|
||||||
|
// 0x559618
|
||||||
|
int rotate_arrows_x_offs[] = {
|
||||||
|
31,
|
||||||
|
38,
|
||||||
|
31,
|
||||||
|
11,
|
||||||
|
3,
|
||||||
|
11,
|
||||||
|
};
|
||||||
|
|
||||||
|
// 0x559630
|
||||||
|
int rotate_arrows_y_offs[] = {
|
||||||
|
7,
|
||||||
|
23,
|
||||||
|
37,
|
||||||
|
37,
|
||||||
|
23,
|
||||||
|
7,
|
||||||
|
};
|
||||||
|
|
||||||
// 0x559648
|
// 0x559648
|
||||||
char* menu_0[] = {
|
char* menu_0[] = {
|
||||||
kNew,
|
kNew,
|
||||||
|
@ -208,6 +230,9 @@ int menu_val_2[8];
|
||||||
// 0x6EAA80
|
// 0x6EAA80
|
||||||
unsigned char e_num[4][19 * 26];
|
unsigned char e_num[4][19 * 26];
|
||||||
|
|
||||||
|
// 0x6EBD28
|
||||||
|
unsigned char rotate_arrows[2][6][10 * 10];
|
||||||
|
|
||||||
// 0x6EC408
|
// 0x6EC408
|
||||||
int menu_val_1[21];
|
int menu_val_1[21];
|
||||||
|
|
||||||
|
@ -1052,6 +1077,36 @@ int mapper_edit_init(int argc, char** argv)
|
||||||
|
|
||||||
// ARROWS
|
// ARROWS
|
||||||
for (index = 0; index < ROTATION_COUNT; index++) {
|
for (index = 0; index < ROTATION_COUNT; index++) {
|
||||||
|
int x = rotate_arrows_x_offs[index] + 285;
|
||||||
|
int y = rotate_arrows_y_offs[index] + 25;
|
||||||
|
unsigned char v1 = lbm_buf[27 * (_scr_size.right + 1) + 287];
|
||||||
|
int k;
|
||||||
|
|
||||||
|
blitBufferToBuffer(lbm_buf + y * rectGetWidth(&_scr_size) + x,
|
||||||
|
10,
|
||||||
|
10,
|
||||||
|
rectGetWidth(&_scr_size),
|
||||||
|
rotate_arrows[1][index],
|
||||||
|
10);
|
||||||
|
|
||||||
|
for (k = 0; k < 100; k++) {
|
||||||
|
if (rotate_arrows[1][index][k] == v1) {
|
||||||
|
rotate_arrows[1][index][k] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
blitBufferToBuffer(lbm_buf + y * rectGetWidth(&_scr_size) + x - 52,
|
||||||
|
10,
|
||||||
|
10,
|
||||||
|
rectGetWidth(&_scr_size),
|
||||||
|
rotate_arrows[0][index],
|
||||||
|
10);
|
||||||
|
|
||||||
|
for (k = 0; k < 100; k++) {
|
||||||
|
if (rotate_arrows[1][index][k] == v1) {
|
||||||
|
rotate_arrows[1][index][k] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// COPY
|
// COPY
|
||||||
|
@ -1529,6 +1584,52 @@ void mapper_destroy_highlight_obj(Object** a1, Object** a2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 0x48B6EC
|
||||||
|
void mapper_refresh_rotation()
|
||||||
|
{
|
||||||
|
Rect rect;
|
||||||
|
char string[2];
|
||||||
|
int index;
|
||||||
|
|
||||||
|
rect.left = 270;
|
||||||
|
rect.top = 431 - (_scr_size.bottom - 99);
|
||||||
|
rect.right = 317;
|
||||||
|
rect.bottom = rect.top + 47;
|
||||||
|
|
||||||
|
sprintf(string, "%d", rotation);
|
||||||
|
|
||||||
|
if (tool != NULL) {
|
||||||
|
windowFill(tool_win,
|
||||||
|
290,
|
||||||
|
452 - (_scr_size.bottom - 99),
|
||||||
|
10,
|
||||||
|
12,
|
||||||
|
tool[(452 - (_scr_size.bottom - 99)) * (_scr_size.right + 1) + 289]);
|
||||||
|
windowDrawText(tool_win,
|
||||||
|
string,
|
||||||
|
10,
|
||||||
|
292,
|
||||||
|
452 - (_scr_size.bottom - 99),
|
||||||
|
0x2010104);
|
||||||
|
|
||||||
|
for (index = 0; index < 6; index++) {
|
||||||
|
int x = rotate_arrows_x_offs[index] + 269;
|
||||||
|
int y = rotate_arrows_y_offs[index] + (430 - (_scr_size.bottom - 99));
|
||||||
|
|
||||||
|
blitBufferToBufferTrans(rotate_arrows[index == rotation][index],
|
||||||
|
10,
|
||||||
|
10,
|
||||||
|
10,
|
||||||
|
tool + y * (_scr_size.right + 1) + x,
|
||||||
|
_scr_size.right + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
windowRefreshRect(tool_win, &rect);
|
||||||
|
} else {
|
||||||
|
debugPrint("Error: mapper_refresh_rotation: tool buffer invalid!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 0x48B850
|
// 0x48B850
|
||||||
void update_art(int a1, int a2)
|
void update_art(int a1, int a2)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue