X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fsoft%2Frender.c;h=705de17f30725cecf1d45697c402b164ef706e6a;hp=e2cb9bf660cc9a4167a33df9168cba13b8b6383b;hb=99e9995ba077aa90b20b47d528ccd3ff27949652;hpb=21e27adcd50196e94141390f96c8d4a089ccde08 diff --git a/src/soft/render.c b/src/soft/render.c index e2cb9bf..705de17 100644 --- a/src/soft/render.c +++ b/src/soft/render.c @@ -87,10 +87,7 @@ static int init_screen_gammaa = -1; /* --- misc --- */ static void *Z_getspr (char n[4], int s, int d, char *dir) { - int h = F_getsprid(n, s, d); - if (dir) { - *dir = (h & 0x8000) ? 1 : 0; - } + int h = F_getsprid(n, s, d, dir); return V_getvgaimg(h); } @@ -359,58 +356,59 @@ static void get_entry_size (const menu_t *m, int i, int *w, int *h) { int type = 0; menu_msg_t msg; msg.type = GM_GETENTRY; - assert(GM_send(m, i, &msg)); - type = msg.integer.i; - switch (type) { - case GM_BUTTON: - case GM_SCROLLER: - case GM_TEXTFIELD: - case GM_TEXTFIELD_BUTTON: - msg.type = GM_GETCAPTION; - if (GM_send(m, i, &msg)) { - x = Z_get_big_string_width("%.*s", msg.string.maxlen, msg.string.s); - } - break; - case GM_SMALL_BUTTON: - msg.type = GM_GETCAPTION; - if (GM_send(m, i, &msg)) { - x = Z_get_small_string_width("%.*s", msg.string.maxlen, msg.string.s); - } - break; - default: - assert(0); - } - switch (type) { - case GM_BUTTON: - msg.type = GM_GETSTR; - if (GM_send(m, i, &msg)) { - x += Z_get_big_string_width("%.*s", msg.string.maxlen, msg.string.s); - } - y = 16; - break; - case GM_SMALL_BUTTON: - msg.type = GM_GETSTR; - if (GM_send(m, i, &msg)) { - x += Z_get_big_string_width("%.*s", msg.string.maxlen, msg.string.s); - } - y = 12; - break; - case GM_SCROLLER: - x += (SCROLLER_MIDDLE + 2) * 8; - y = 16; - break; - case GM_TEXTFIELD: - case GM_TEXTFIELD_BUTTON: - msg.type = GM_GETSTR; - if (GM_send(m, i, &msg)) { - x += (msg.string.maxlen + 2) * 8; - } else { - x += (TEXTFIELD_MIDDLE + 2) * 8; - } - y = 16; - break; - default: - assert(0); + if (GM_send(m, i, &msg)) { + type = msg.integer.i; + switch (type) { + case GM_BUTTON: + case GM_SCROLLER: + case GM_TEXTFIELD: + case GM_TEXTFIELD_BUTTON: + msg.type = GM_GETCAPTION; + if (GM_send(m, i, &msg)) { + x = Z_get_big_string_width("%.*s", msg.string.maxlen, msg.string.s); + } + break; + case GM_SMALL_BUTTON: + msg.type = GM_GETCAPTION; + if (GM_send(m, i, &msg)) { + x = Z_get_small_string_width("%.*s", msg.string.maxlen, msg.string.s); + } + break; + default: + assert(0); + } + switch (type) { + case GM_BUTTON: + msg.type = GM_GETSTR; + if (GM_send(m, i, &msg)) { + x += Z_get_big_string_width("%.*s", msg.string.maxlen, msg.string.s); + } + y = 16; + break; + case GM_SMALL_BUTTON: + msg.type = GM_GETSTR; + if (GM_send(m, i, &msg)) { + x += Z_get_big_string_width("%.*s", msg.string.maxlen, msg.string.s); + } + y = 12; + break; + case GM_SCROLLER: + x += (SCROLLER_MIDDLE + 2) * 8; + y = 16; + break; + case GM_TEXTFIELD: + case GM_TEXTFIELD_BUTTON: + msg.type = GM_GETSTR; + if (GM_send(m, i, &msg)) { + x += (msg.string.maxlen + 2) * 8; + } else { + x += (TEXTFIELD_MIDDLE + 2) * 8; + } + y = 16; + break; + default: + assert(0); + } } *w = x; *h = y; @@ -1412,7 +1410,7 @@ void R_begin_load (void) { max_textures = 1; } -void R_load (char s[8], int f) { +void R_load (char s[8]) { assert(max_textures < 256); if (!s[0]) { walh[max_textures] = -1; @@ -1424,9 +1422,6 @@ void R_load (char s[8], int f) { } else { walh[max_textures] = F_getresid(s); walp[max_textures] = V_getvgaimg(walh[max_textures]); - if (f) { - walh[max_textures] |= 0x8000; - } if (s[0] == 'S' && s[1] == 'W' && s[4] == '_') { walswp[max_textures] = 0; } @@ -1444,7 +1439,7 @@ void R_end_load (void) { if (walswp[i] == 0) { R_get_name(i, s); s[5] ^= 1; - g = F_getresid(s) | (walh[i] & 0x8000); + g = F_getresid(s); k = 1; while (k < 256 && walh[k] != g) { k += 1; @@ -1454,7 +1449,7 @@ void R_end_load (void) { j += 1; walh[k] = g; walp[k] = V_getvgaimg(g); - walf[k] = g & 0x8000 ? 1 : 0; + walf[k] = walf[i]; } walswp[i] = k; walswp[k] = i;