Massive cleanup of sdl_scale, and fix moving a sign in the zoom window

This commit is contained in:
jacksonmj 2012-04-30 00:34:07 +01:00
parent 74979102b3
commit 8872e33b44
4 changed files with 137 additions and 171 deletions

View File

@ -340,5 +340,10 @@ void render_ui(pixel *vid_buf, int xcoord, int ycoord, int orientation);
void simulation_ui(pixel *vid_buf);
unsigned int decorations_ui(pixel *vid_buf, int *bsx, int *bsy, unsigned int savedColor);
Uint8 mouse_get_state(int *x, int *y);
void mouse_coords_window_to_sim(int *sim_x, int *sim_y, int window_x, int window_y);
#endif

View File

@ -3181,9 +3181,8 @@ void render_signs(pixel *vid_buf)
if (MSIGN==i)
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
mouse_get_state(&mx, &my);
mouse_coords_window_to_sim(&mx, &my, mx, my);
signs[i].x = mx;
signs[i].y = my;
}

View File

@ -184,7 +184,7 @@ void add_sign_ui(pixel *vid_buf, int mx, int my)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -205,9 +205,7 @@ void add_sign_ui(pixel *vid_buf, int mx, int my)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
drawrect(vid_buf, x0, y0, 192, 80, 192, 192, 192, 255);
clearrect(vid_buf, x0, y0, 192, 80);
@ -490,16 +488,14 @@ void ui_list_process(pixel * vid_buf, int mx, int my, int mb, ui_list *ed)
ystart = 5;
while (!sdl_poll())
{
mb = SDL_GetMouseState(&mx, &my);
mb = mouse_get_state(&mx, &my);
if (!mb)
break;
}
while (!sdl_poll() && !selected)
{
mb = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
mb = mouse_get_state(&mx, &my);
for(i = 0; i < ed->count; i++)
{
if(mx > ed->x && mx < ed->x+ed->w && my > (ystart + i*16) && my < (ystart + i * 16) + 16)
@ -525,7 +521,7 @@ void ui_list_process(pixel * vid_buf, int mx, int my, int mb, ui_list *ed)
}
while (!sdl_poll())
{
mb = SDL_GetMouseState(&mx, &my);
mb = mouse_get_state(&mx, &my);
if (!mb)
break;
}
@ -923,7 +919,7 @@ void error_ui(pixel *vid_buf, int err, char *txt)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -931,9 +927,7 @@ void error_ui(pixel *vid_buf, int err, char *txt)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, x0-2, y0-2, 244, 52+textheight);
drawrect(vid_buf, x0, y0, 240, 48+textheight, 192, 192, 192, 255);
@ -959,7 +953,7 @@ void error_ui(pixel *vid_buf, int err, char *txt)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -990,7 +984,7 @@ char *input_ui(pixel *vid_buf, char *title, char *prompt, char *text, char *shad
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -998,9 +992,7 @@ char *input_ui(pixel *vid_buf, char *title, char *prompt, char *text, char *shad
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, x0-2, y0-2, xsize+4, ysize+4);
drawrect(vid_buf, x0, y0, xsize, ysize, 192, 192, 192, 255);
@ -1028,7 +1020,7 @@ char *input_ui(pixel *vid_buf, char *title, char *prompt, char *text, char *shad
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1081,7 +1073,7 @@ void prop_edit_ui(pixel *vid_buf, int x, int y)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1089,9 +1081,7 @@ void prop_edit_ui(pixel *vid_buf, int x, int y)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, x0-2, y0-2, xsize+4, ysize+4);
drawrect(vid_buf, x0, y0, xsize, ysize, 192, 192, 192, 255);
@ -1223,7 +1213,7 @@ void prop_edit_ui(pixel *vid_buf, int x, int y)
exit:
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1235,7 +1225,7 @@ void info_ui(pixel *vid_buf, char *top, char *txt)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1243,9 +1233,7 @@ void info_ui(pixel *vid_buf, char *top, char *txt)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, x0-2, y0-2, 244, 64);
drawrect(vid_buf, x0, y0, 240, 60, 192, 192, 192, 255);
@ -1266,7 +1254,7 @@ void info_ui(pixel *vid_buf, char *top, char *txt)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1314,7 +1302,7 @@ void copytext_ui(pixel *vid_buf, char *top, char *txt, char *copytxt)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1322,9 +1310,7 @@ void copytext_ui(pixel *vid_buf, char *top, char *txt, char *copytxt)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, x0-2, y0-2, xsize+4, ysize+4);
drawrect(vid_buf, x0, y0, xsize, ysize, 192, 192, 192, 255);
@ -1350,7 +1336,7 @@ void copytext_ui(pixel *vid_buf, char *top, char *txt, char *copytxt)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1369,7 +1355,7 @@ int confirm_ui(pixel *vid_buf, char *top, char *msg, char *btn)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1377,9 +1363,7 @@ int confirm_ui(pixel *vid_buf, char *top, char *msg, char *btn)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, x0-2, y0-2, 244, 52+textheight);
drawrect(vid_buf, x0, y0, 240, 48+textheight, 192, 192, 192, 255);
@ -1412,7 +1396,7 @@ int confirm_ui(pixel *vid_buf, char *top, char *msg, char *btn)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1428,7 +1412,7 @@ void login_ui(pixel *vid_buf)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1458,9 +1442,7 @@ void login_ui(pixel *vid_buf)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
drawrect(vid_buf, x0, y0, 192, 80, 192, 192, 192, 255);
clearrect(vid_buf, x0, y0, 192, 80);
@ -1598,7 +1580,7 @@ int stamp_ui(pixel *vid_buf)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1606,9 +1588,7 @@ int stamp_ui(pixel *vid_buf)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, -1, -1, XRES+BARSIZE+1, YRES+MENUSIZE+1);
k = stamp_page*per_page;//0;
@ -1723,7 +1703,7 @@ int stamp_ui(pixel *vid_buf)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1754,9 +1734,7 @@ void tag_list_ui(pixel *vid_buf)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
op = tag = NULL;
@ -1868,7 +1846,7 @@ void tag_list_ui(pixel *vid_buf)
}
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1892,7 +1870,7 @@ int save_name_ui(pixel *vid_buf)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -1942,9 +1920,7 @@ int save_name_ui(pixel *vid_buf)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
drawrect(vid_buf, x0, y0, 420, 90+YRES/4, 192, 192, 192, 255);
clearrect(vid_buf, x0, y0, 420, 90+YRES/4);
@ -2035,16 +2011,14 @@ void menu_ui(pixel *vid_buf, int i, int *sl, int *sr)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
rows = ceil((float)msections[i].itemcount/16.0f);
height = (ceil((float)msections[i].itemcount/16.0f)*18);
width = restrict_flt(msections[i].itemcount*31, 0, 16*31);
@ -2213,7 +2187,7 @@ void menu_ui(pixel *vid_buf, int i, int *sl, int *sr)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -2225,8 +2199,6 @@ void menu_ui_v3(pixel *vid_buf, int i, int *sl, int *sr, int *su, int *dae, int
{
int h,x,y,n=0,height,width,sy,rows=0,xoff=0,fwidth;
SEC = SEC2;
mx /= sdl_scale;
my /= sdl_scale;
rows = ceil((float)msections[i].itemcount/16.0f);
height = (ceil((float)msections[i].itemcount/16.0f)*18);
width = restrict_flt(msections[i].itemcount*31, 0, 16*31);
@ -2594,8 +2566,6 @@ int quickoptions_tooltip_y = 0;
void quickoptions_menu(pixel *vid_buf, int b, int bq, int x, int y)
{
int i = 0;
x /= sdl_scale;
y /= sdl_scale;
if(quickoptions_tooltip_fade && quickoptions_tooltip)
{
drawtext_outline(vid_buf, (XRES - 5) - textwidth(quickoptions_tooltip), quickoptions_tooltip_y, quickoptions_tooltip, 255, 255, 255, quickoptions_tooltip_fade*20, 0, 0, 0, quickoptions_tooltip_fade*15);
@ -3088,7 +3058,7 @@ int search_ui(pixel *vid_buf)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -3116,9 +3086,7 @@ int search_ui(pixel *vid_buf)
bq = b;
mxq = mx;
myq = my;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
if (mx!=mxq || my!=myq || sdl_wheel || b)
mmt = 0;
@ -3800,7 +3768,7 @@ int report_ui(pixel* vid_buf, char *save_id)
fillrect(vid_buf, -1, -1, XRES+BARSIZE, YRES+MENUSIZE, 0, 0, 0, 192);
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -3811,9 +3779,7 @@ int report_ui(pixel* vid_buf, char *save_id)
drawrect(vid_buf, 205, 155, (XRES+BARSIZE-400)-10, (YRES+MENUSIZE-300)-28, 255, 255, 255, 170);
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
drawrect(vid_buf, 200, (YRES+MENUSIZE-150)-18, 50, 18, 255, 255, 255, 255);
@ -3899,7 +3865,7 @@ int open_ui(pixel *vid_buf, char *save_id, char *save_date)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -3993,9 +3959,7 @@ int open_ui(pixel *vid_buf, char *save_id, char *save_date)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
if (active && http_async_req_status(http))
{
@ -4367,7 +4331,7 @@ int open_ui(pixel *vid_buf, char *save_id, char *save_date)
//Prevent those mouse clicks being passed down.
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -5200,9 +5164,7 @@ char *console_ui(pixel *vid_buf,char error[255],char console_more) {
}
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
ed.focus = 1;
memcpy(vid_buf,old_buf,(XRES+BARSIZE)*YRES*PIXELSIZE);
@ -5403,9 +5365,7 @@ unsigned int decorations_ui(pixel *vid_buf,int *bsx,int *bsy, unsigned int saved
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
memcpy(vid_buf,old_buf,(XRES+BARSIZE)*(YRES+MENUSIZE)*PIXELSIZE);
render_parts(vid_buf);
@ -5431,14 +5391,8 @@ unsigned int decorations_ui(pixel *vid_buf,int *bsx,int *bsy, unsigned int saved
box_G.x = XRES - 254 + 40;
box_B.x = XRES - 254 + 75;
}
if (zoom_en && mx>=zoom_wx && my>=zoom_wy //change mouse position while it is in a zoom window
&& mx<(zoom_wx+ZFACTOR*ZSIZE)
&& my<(zoom_wy+ZFACTOR*ZSIZE))
{
mx = (((mx-zoom_wx)/ZFACTOR)+zoom_x);
my = (((my-zoom_wy)/ZFACTOR)+zoom_y);
}
mouse_coords_window_to_sim(&mx, &my, mx, my);//change mouse position while it is in a zoom window
drawrect(vid_buf, -1, -1, XRES+1, YRES+1, 220, 220, 220, 255);
drawrect(vid_buf, -1, -1, XRES+2, YRES+2, 70, 70, 70, 255);
drawtext(vid_buf, 2, 388, "Welcome to the decoration editor v.3 (by cracker64) \n\nClicking the current color on the window will move it to the other side. Right click is eraser. ", 255, 255, 255, 255);
@ -6020,7 +5974,7 @@ int save_filename_ui(pixel *vid_buf)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -6033,9 +5987,7 @@ int save_filename_ui(pixel *vid_buf)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, x0-2, y0-2, xsize+4, ysize+4);
drawrect(vid_buf, x0, y0, xsize, ysize, 192, 192, 192, 255);
@ -6120,7 +6072,7 @@ int save_filename_ui(pixel *vid_buf)
savefin:
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -6165,7 +6117,7 @@ void catalogue_ui(pixel * vid_buf)
cssave = csave = saves;
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -6173,9 +6125,7 @@ void catalogue_ui(pixel * vid_buf)
fillrect(vid_buf, -1, -1, XRES+BARSIZE, YRES+MENUSIZE, 0, 0, 0, 192);
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
sprintf(savetext, "Found %d save%s", rescount, rescount==1?"":"s");
clearrect(vid_buf, x0-2, y0-2, xsize+4, ysize+4);
clearrect(vid_buf2, x0-2, y0-2, xsize+4, ysize+4);
@ -6352,7 +6302,7 @@ void catalogue_ui(pixel * vid_buf)
openfin:
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -6511,7 +6461,7 @@ void render_ui(pixel * vid_buf, int xcoord, int ycoord, int orientation)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -6519,9 +6469,7 @@ void render_ui(pixel * vid_buf, int xcoord, int ycoord, int orientation)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
memcpy(vid_buf, o_vid_buf, ((YRES+MENUSIZE) * (XRES+BARSIZE)) * PIXELSIZE);
render_parts(vid_buf);
@ -6676,7 +6624,7 @@ void render_ui(pixel * vid_buf, int xcoord, int ycoord, int orientation)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -6753,7 +6701,7 @@ void simulation_ui(pixel * vid_buf)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
@ -6761,9 +6709,7 @@ void simulation_ui(pixel * vid_buf)
while (!sdl_poll())
{
bq = b;
b = SDL_GetMouseState(&mx, &my);
mx /= sdl_scale;
my /= sdl_scale;
b = mouse_get_state(&mx, &my);
clearrect(vid_buf, x0-2, y0-2, xsize+4, ysize+4);
drawrect(vid_buf, x0, y0, xsize, ysize, 192, 192, 192, 255);
@ -6856,8 +6802,36 @@ void simulation_ui(pixel * vid_buf)
while (!sdl_poll())
{
b = SDL_GetMouseState(&mx, &my);
b = mouse_get_state(&mx, &my);
if (!b)
break;
}
}
Uint8 mouse_get_state(int *x, int *y)
{
//Wrapper around SDL_GetMouseState to divide by sdl_scale
Uint8 sdl_b;
int sdl_x, sdl_y;
sdl_b = SDL_GetMouseState(&sdl_x, &sdl_y);
*x = sdl_x/sdl_scale;
*y = sdl_y/sdl_scale;
return sdl_b;
}
void mouse_coords_window_to_sim(int *sim_x, int *sim_y, int window_x, int window_y)
{
//Change mouse coords to take zoom window into account
if (zoom_en && window_x>=zoom_wx && window_y>=zoom_wy
&& window_x<(zoom_wx+ZFACTOR*ZSIZE)
&& window_y<(zoom_wy+ZFACTOR*ZSIZE))
{
*sim_x = (((window_x-zoom_wx)/ZFACTOR)+zoom_x);
*sim_y = (((window_y-zoom_wy)/ZFACTOR)+zoom_y);
}
else
{
*sim_x = window_x;
*sim_y = window_y;
}
}

View File

@ -1763,25 +1763,25 @@ int main(int argc, char *argv[])
}
bq = bc; // bq is previous mouse state
bc = b = SDL_GetMouseState(&x, &y); // b is current mouse state
bc = b = mouse_get_state(&x, &y); // b is current mouse state
#ifdef LUACONSOLE
if(bc && bq){
if(!luacon_mouseevent(x/sdl_scale, y/sdl_scale, bc, LUACON_MPRESS)){
if(!luacon_mouseevent(x, y, bc, LUACON_MPRESS)){
b = 0;
}
}
else if(bc && !bq){
if(!luacon_mouseevent(x/sdl_scale, y/sdl_scale, bc, LUACON_MDOWN)){
if(!luacon_mouseevent(x, y, bc, LUACON_MDOWN)){
b = 0;
}
}
else if(!bc && bq){
if(!luacon_mouseevent(x/sdl_scale, y/sdl_scale, bq, LUACON_MUP)){
if(!luacon_mouseevent(x, y, bq, LUACON_MUP)){
b = 0;
}
}
luacon_step(x/sdl_scale, y/sdl_scale,sl,sr);
luacon_step(x, y,sl,sr);
#endif
quickoptions_menu(vid_buf, b, bq, x, y);
@ -1793,27 +1793,21 @@ int main(int argc, char *argv[])
for (i=0; i<SC_TOTAL; i++)//check mouse position to see if it is on a menu section
{
if (!b&&x>=sdl_scale*(XRES-2) && x<sdl_scale*(XRES+BARSIZE-1) &&y>= sdl_scale*((i*16)+YRES+MENUSIZE-16-(SC_TOTAL*16)) && y<sdl_scale*((i*16)+YRES+MENUSIZE-16-(SC_TOTAL*16)+15))
if (!b&&x>=(XRES-2) && x<(XRES+BARSIZE-1) &&y>= ((i*16)+YRES+MENUSIZE-16-(SC_TOTAL*16)) && y<((i*16)+YRES+MENUSIZE-16-(SC_TOTAL*16)+15))
{
active_menu = i;
}
}
menu_ui_v3(vid_buf, active_menu, &sl, &sr, &su, &dae, b, bq, x, y); //draw the elements in the current menu
if (zoom_en && x>=sdl_scale*zoom_wx && y>=sdl_scale*zoom_wy //change mouse position while it is in a zoom window
&& x<sdl_scale*(zoom_wx+ZFACTOR*ZSIZE)
&& y<sdl_scale*(zoom_wy+ZFACTOR*ZSIZE))
{
x = (((x/sdl_scale-zoom_wx)/ZFACTOR)+zoom_x)*sdl_scale;
y = (((y/sdl_scale-zoom_wy)/ZFACTOR)+zoom_y)*sdl_scale;
}
if (y>0 && y<sdl_scale*YRES && x>0 && x<sdl_scale*XRES)
mouse_coords_window_to_sim(&x, &y, x, y);//change mouse position while it is in a zoom window
if (y>=0 && y<YRES && x>=0 && x<XRES)
{
int cr; //cr is particle under mouse, for drawing HUD information
char nametext[50];
if (photons[y/sdl_scale][x/sdl_scale]) {
cr = photons[y/sdl_scale][x/sdl_scale];
if (photons[y][x]) {
cr = photons[y][x];
} else {
cr = pmap[y/sdl_scale][x/sdl_scale];
cr = pmap[y][x];
}
if (cr)
{
@ -1858,28 +1852,28 @@ int main(int argc, char *argv[])
}
if (DEBUG_MODE)
{
sprintf(heattext, "%s, Pressure: %3.2f, Temp: %4.2f C, Life: %d, Tmp:%d", nametext, pv[(y/sdl_scale)/CELL][(x/sdl_scale)/CELL], parts[cr>>8].temp-273.15f, parts[cr>>8].life, parts[cr>>8].tmp);
sprintf(coordtext, "#%d, X:%d Y:%d", cr>>8, x/sdl_scale, y/sdl_scale);
sprintf(heattext, "%s, Pressure: %3.2f, Temp: %4.2f C, Life: %d, Tmp:%d", nametext, pv[y/CELL][x/CELL], parts[cr>>8].temp-273.15f, parts[cr>>8].life, parts[cr>>8].tmp);
sprintf(coordtext, "#%d, X:%d Y:%d", cr>>8, x, y);
}
else
{
#ifdef BETA
sprintf(heattext, "%s, Pressure: %3.2f, Temp: %4.2f C, Life: %d, Tmp:%d", nametext, pv[(y/sdl_scale)/CELL][(x/sdl_scale)/CELL], parts[cr>>8].temp-273.15f, parts[cr>>8].life, parts[cr>>8].tmp);
sprintf(heattext, "%s, Pressure: %3.2f, Temp: %4.2f C, Life: %d, Tmp:%d", nametext, pv[y/CELL][x/CELL], parts[cr>>8].temp-273.15f, parts[cr>>8].life, parts[cr>>8].tmp);
#else
sprintf(heattext, "%s, Pressure: %3.2f, Temp: %4.2f C", nametext, pv[(y/sdl_scale)/CELL][(x/sdl_scale)/CELL], parts[cr>>8].temp-273.15f);
sprintf(heattext, "%s, Pressure: %3.2f, Temp: %4.2f C", nametext, pv[y/CELL][x/CELL], parts[cr>>8].temp-273.15f);
#endif
}
if ((cr&0xFF)==PT_PHOT) wavelength_gfx = parts[cr>>8].ctype;
}
else
{
sprintf(heattext, "Empty, Pressure: %3.2f", pv[(y/sdl_scale)/CELL][(x/sdl_scale)/CELL]);
sprintf(heattext, "Empty, Pressure: %3.2f", pv[y/CELL][x/CELL]);
if (DEBUG_MODE)
{
if (ngrav_enable)
sprintf(coordtext, "X:%d Y:%d. GX: %.2f GY: %.2f", x/sdl_scale, y/sdl_scale, gravx[(((y/sdl_scale)/CELL)*(XRES/CELL))+((x/sdl_scale)/CELL)], gravy[(((y/sdl_scale)/CELL)*(XRES/CELL))+((x/sdl_scale)/CELL)]);
sprintf(coordtext, "X:%d Y:%d. GX: %.2f GY: %.2f", x, y, gravx[((y/CELL)*(XRES/CELL))+(x/CELL)], gravy[((y/CELL)*(XRES/CELL))+(x/CELL)]);
else
sprintf(coordtext, "X:%d Y:%d", x/sdl_scale, y/sdl_scale);
sprintf(coordtext, "X:%d Y:%d", x, y);
}
}
}
@ -1887,8 +1881,8 @@ int main(int argc, char *argv[])
mx = x;
my = y;
if (b && !bq && x>=(XRES-19-new_message_len)*sdl_scale &&
x<=(XRES-14)*sdl_scale && y>=(YRES-37)*sdl_scale && y<=(YRES-24)*sdl_scale && svf_messages)
if (b && !bq && x>=(XRES-19-new_message_len) &&
x<=(XRES-14) && y>=(YRES-37) && y<=(YRES-24) && svf_messages)
{
open_link("http://" SERVER "/Conversations.html");
}
@ -1910,8 +1904,8 @@ int main(int argc, char *argv[])
update_flag = 0;
}
if (b && !bq && x>=(XRES-19-old_ver_len)*sdl_scale &&
x<=(XRES-14)*sdl_scale && y>=(YRES-22)*sdl_scale && y<=(YRES-9)*sdl_scale && old_version)
if (b && !bq && x>=(XRES-19-old_ver_len) &&
x<=(XRES-14) && y>=(YRES-22) && y<=(YRES-9) && old_version)
{
tmp = malloc(128);
#ifdef BETA
@ -1956,9 +1950,9 @@ int main(int argc, char *argv[])
old_version = 0;
}
}
if (y>=sdl_scale*(YRES+(MENUSIZE-20))) //mouse checks for buttons at the bottom, to draw mouseover texts
if (y>=(YRES+(MENUSIZE-20))) //mouse checks for buttons at the bottom, to draw mouseover texts
{
if (x>=189*sdl_scale && x<=202*sdl_scale && svf_login && svf_open && svf_myvote==0)
if (x>=189 && x<=202 && svf_login && svf_open && svf_myvote==0)
{
db = svf_own ? 275 : 272;
if (da < 51)
@ -1976,25 +1970,25 @@ int main(int argc, char *argv[])
if (da < 51)
da ++;
}
else if (x>=219*sdl_scale && x<=((XRES+BARSIZE-(510-349))*sdl_scale) && svf_login && svf_open)
else if (x>=219 && x<=((XRES+BARSIZE-(510-349))) && svf_login && svf_open)
{
db = svf_own ? 257 : 256;
if (da < 51)
da ++;
}
else if (x>=((XRES+BARSIZE-(510-351))*sdl_scale) && x<((XRES+BARSIZE-(510-366))*sdl_scale))
else if (x>=((XRES+BARSIZE-(510-351))) && x<((XRES+BARSIZE-(510-366))))
{
db = 270;
if (da < 51)
da ++;
}
else if (x>=((XRES+BARSIZE-(510-367))*sdl_scale) && x<((XRES+BARSIZE-(510-383))*sdl_scale))
else if (x>=((XRES+BARSIZE-(510-367))) && x<((XRES+BARSIZE-(510-383))))
{
db = 266;
if (da < 51)
da ++;
}
else if (x>=37*sdl_scale && x<=187*sdl_scale)
else if (x>=37 && x<=187)
{
if(sdl_mod & (KMOD_LCTRL|KMOD_RCTRL))
{
@ -2005,13 +1999,13 @@ int main(int argc, char *argv[])
else if(svf_login)
{
db = 259;
if (svf_open && svf_own && x<=55*sdl_scale)
if (svf_open && svf_own && x<=55)
db = 258;
if (da < 51)
da ++;
}
}
else if (x>=((XRES+BARSIZE-(510-385))*sdl_scale) && x<=((XRES+BARSIZE-(510-476))*sdl_scale))
else if (x>=((XRES+BARSIZE-(510-385))) && x<=((XRES+BARSIZE-(510-476))))
{
db = svf_login ? 261 : 260;
if (svf_admin)
@ -2025,7 +2019,7 @@ int main(int argc, char *argv[])
if (da < 51)
da ++;
}
else if (x>=sdl_scale && x<=17*sdl_scale)
else if (x>=1 && x<=17)
{
if(sdl_mod & (KMOD_LCTRL|KMOD_RCTRL))
db = 276;
@ -2034,19 +2028,19 @@ int main(int argc, char *argv[])
if (da < 51)
da ++;
}
else if (x>=((XRES+BARSIZE-(510-494))*sdl_scale) && x<=((XRES+BARSIZE-(510-509))*sdl_scale))
else if (x>=((XRES+BARSIZE-(510-494))) && x<=((XRES+BARSIZE-(510-509))))
{
db = sys_pause ? 264 : 263;
if (da < 51)
da ++;
}
else if (x>=((XRES+BARSIZE-(510-476))*sdl_scale) && x<=((XRES+BARSIZE-(510-491))*sdl_scale))
else if (x>=((XRES+BARSIZE-(510-476))) && x<=((XRES+BARSIZE-(510-491))))
{
db = 267;
if (da < 51)
da ++;
}
else if (x>=19*sdl_scale && x<=35*sdl_scale && svf_open)
else if (x>=19 && x<=35 && svf_open)
{
db = 265;
if (da < 51)
@ -2069,8 +2063,8 @@ int main(int argc, char *argv[])
if (load_mode)
{
load_x = CELL*((mx/sdl_scale-load_w/2+CELL/2)/CELL);
load_y = CELL*((my/sdl_scale-load_h/2+CELL/2)/CELL);
load_x = CELL*((mx-load_w/2+CELL/2)/CELL);
load_y = CELL*((my-load_h/2+CELL/2)/CELL);
if (load_x+load_w>XRES) load_x=XRES-load_w;
if (load_y+load_h>YRES) load_y=YRES-load_h;
if (load_x<0) load_x=0;
@ -2091,8 +2085,8 @@ int main(int argc, char *argv[])
}
else if (save_mode==1)//getting the area you are selecting
{
save_x = mx/sdl_scale;
save_y = my/sdl_scale;
save_x = mx;
save_y = my;
if (save_x >= XRES) save_x = XRES-1;
if (save_y >= YRES) save_y = YRES-1;
save_w = 1;
@ -2109,8 +2103,8 @@ int main(int argc, char *argv[])
}
else if (save_mode==2)
{
save_w = mx/sdl_scale + 1 - save_x;
save_h = my/sdl_scale + 1 - save_y;
save_w = mx + 1 - save_x;
save_h = my + 1 - save_y;
if (save_w+save_x>XRES) save_w = XRES-save_x;
if (save_h+save_y>YRES) save_h = YRES-save_y;
if (save_w<1) save_w = 1;
@ -2141,8 +2135,6 @@ int main(int argc, char *argv[])
}
else if (sdl_zoom_trig && zoom_en<2)
{
x /= sdl_scale;
y /= sdl_scale;
x -= ZSIZE/2;
y -= ZSIZE/2;
if (x<0) x=0;
@ -2164,8 +2156,6 @@ int main(int argc, char *argv[])
{
if (it > 50)
it = 50;
x /= sdl_scale;
y /= sdl_scale;
if (y>=YRES+(MENUSIZE-20))//check if mouse is on menu buttons
{
if (!lb)//mouse is NOT held down, so it is a first click
@ -2247,7 +2237,7 @@ int main(int argc, char *argv[])
else
execute_save(vid_buf);
while (!sdl_poll())
if (!SDL_GetMouseState(&x, &y))
if (!mouse_get_state(&x, &y))
break;
b = bq = 0;
}
@ -2477,8 +2467,6 @@ int main(int argc, char *argv[])
{
if (lb && lm) //lm is box/line tool
{
x /= sdl_scale;
y /= sdl_scale;
c = (lb&1) ? sl : sr;
su = c;
if (lm == 1)//line
@ -2508,9 +2496,9 @@ int main(int argc, char *argv[])
if (zoom_en!=1 && !load_mode && !save_mode)//draw normal cursor
{
render_cursor(vid_buf, mx/sdl_scale, my/sdl_scale, su, bsx, bsy);
mousex = mx/sdl_scale;
mousey = my/sdl_scale;
render_cursor(vid_buf, mx, my, su, bsx, bsy);
mousex = mx;
mousey = my;
}
#ifdef OGLR
draw_parts_fbo();