summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2010-12-19 17:29:30 (GMT)
committer Simon <simon@hardwired.org.uk>2010-12-19 17:29:30 (GMT)
commite380237cbc87ed97b16955b40807b0f2427818e9 (patch)
tree7ca5cf634c1f6dd2034e7e9faedac2fe6d00344e /src/main.c
parent24e662bc2d1f398962a59de85f993e8fad7190bc (diff)
parentee4bb84395f2e8aaa9e9af7080f03d837b0a0344 (diff)
downloadpowder-e380237cbc87ed97b16955b40807b0f2427818e9.zip
powder-e380237cbc87ed97b16955b40807b0f2427818e9.tar.gz
Fix merge
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c96
1 files changed, 83 insertions, 13 deletions
diff --git a/src/main.c b/src/main.c
index fab0284..3e5bfb5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -636,6 +636,31 @@ int parse_save(void *save, int size, int replace, int x0, int y0)
player[18] = parts[i].y+12;
}
+ if(parts[i].type == PT_STKM2)
+ {
+ //player[2] = PT_DUST;
+
+ player2[3] = parts[i].x-1; //Setting legs positions
+ player2[4] = parts[i].y+6;
+ player2[5] = parts[i].x-1;
+ player2[6] = parts[i].y+6;
+
+ player2[7] = parts[i].x-3;
+ player2[8] = parts[i].y+12;
+ player2[9] = parts[i].x-3;
+ player2[10] = parts[i].y+12;
+
+ player2[11] = parts[i].x+1;
+ player2[12] = parts[i].y+6;
+ player2[13] = parts[i].x+1;
+ player2[14] = parts[i].y+6;
+
+ player2[15] = parts[i].x+3;
+ player2[16] = parts[i].y+12;
+ player2[17] = parts[i].x+3;
+ player2[18] = parts[i].y+12;
+
+ }
}
else
p += 2;
@@ -1292,11 +1317,11 @@ int main(int argc, char *argv[])
break;
}
}
- if(sdl_key=='d' && isplayer)
- {
- death = 1;
- //death = !(death);
- }
+ //if(sdl_key=='d' && isplayer)
+ //{
+ // death = 1;
+ // //death = !(death);
+ //}
if(sdl_key=='f')
{
framerender = 1;
@@ -1332,7 +1357,7 @@ int main(int argc, char *argv[])
free(load_data);
}
}
- if(sdl_key=='s')
+ if(sdl_key=='s' && (sdl_mod & (KMOD_CTRL)))
{
if(it > 50)
it = 50;
@@ -1462,10 +1487,8 @@ int main(int argc, char *argv[])
bsy = 0;
}
}
- if(sdl_key=='d')
+ if(sdl_key=='d'&&(sdl_mod & (KMOD_CTRL)))
DEBUG_MODE = !DEBUG_MODE;
- if(sdl_key=='r')
- GENERATION = 0;
if(sdl_key=='i')
{
int nx, ny;
@@ -1479,10 +1502,15 @@ int main(int argc, char *argv[])
}
if((sdl_mod & (KMOD_RCTRL) )&&( sdl_mod & (KMOD_RALT)))
active_menu = 11;
- if(sdl_key==SDLK_INSERT)
+ if(sdl_key==SDLK_INSERT || sdl_key==SDLK_BACKQUOTE)
REPLACE_MODE = !REPLACE_MODE;
if(sdl_key=='g')
- GRID_MODE = (GRID_MODE+1)%10;
+ {
+ if(sdl_mod & (KMOD_SHIFT))
+ GRID_MODE = (GRID_MODE+9)%10;
+ else
+ GRID_MODE = (GRID_MODE+1)%10;
+ }
if(sdl_key=='t')
VINE_MODE = !VINE_MODE;
if(sdl_key==SDLK_SPACE)
@@ -1508,6 +1536,18 @@ int main(int argc, char *argv[])
}
}
}
+ if(sdl_key=='r'&&(sdl_mod & (KMOD_CTRL))&&(sdl_mod & (KMOD_SHIFT)))
+ {
+ save_mode = 1;
+ copy_mode = 4;//invert
+ }
+ else if(sdl_key=='r'&&(sdl_mod & (KMOD_LCTRL|KMOD_RCTRL)))
+ {
+ save_mode = 1;
+ copy_mode = 3;//rotate
+ }
+ else if(sdl_key=='r')
+ GENERATION = 0;
if(sdl_key=='x'&&(sdl_mod & (KMOD_LCTRL|KMOD_RCTRL)))
{
save_mode = 1;
@@ -1864,6 +1904,22 @@ int main(int argc, char *argv[])
copy_mode = 0;
clear_area(save_x*CELL, save_y*CELL, save_w*CELL, save_h*CELL);
}
+ else if(copy_mode==3)//rotation
+ {
+ if(save_h>save_w)
+ save_w = save_h;
+ rotate_area(save_x*CELL, save_y*CELL, save_w*CELL, save_w*CELL,0);//just do squares for now
+ save_mode = 0;
+ copy_mode = 0;
+ }
+ else if(copy_mode==4)//invertion
+ {
+ if(save_h>save_w)
+ save_w = save_h;
+ rotate_area(save_x*CELL, save_y*CELL, save_w*CELL, save_w*CELL,1);//just do squares for now
+ save_mode = 0;
+ copy_mode = 0;
+ }
else
{
stamp_save(save_x*CELL, save_y*CELL, save_w*CELL, save_h*CELL);
@@ -2144,7 +2200,14 @@ int main(int argc, char *argv[])
if(save_mode)
{
- xor_rect(vid_buf, save_x*CELL, save_y*CELL, save_w*CELL, save_h*CELL);
+ if(copy_mode==3||copy_mode==4)//special drawing for rotate, can remove once it can do rectangles
+ {
+ if(save_h>save_w)
+ save_w = save_h;
+ xor_rect(vid_buf, save_x*CELL, save_y*CELL, save_w*CELL, save_w*CELL);
+ }
+ else
+ xor_rect(vid_buf, save_x*CELL, save_y*CELL, save_w*CELL, save_h*CELL);
da = 51;
db = 269;
}
@@ -2273,7 +2336,7 @@ int main(int argc, char *argv[])
sprintf(uitext, "Version %d Beta %d FPS:%d Parts:%d", SAVE_VERSION, MINOR_VERSION, FPSB, NUM_PARTS);
#else
if(DEBUG_MODE)
- sprintf(uitext, "Version %d Beta %d FPS:%d Parts:%d Generation:%d", SAVE_VERSION, MINOR_VERSION, FPSB, NUM_PARTS,GENERATION);
+ sprintf(uitext, "Version %d.%d FPS:%d Parts:%d Generation:%d", SAVE_VERSION, MINOR_VERSION, FPSB, NUM_PARTS,GENERATION);
else
sprintf(uitext, "Version %d.%d FPS:%d", SAVE_VERSION, MINOR_VERSION, FPSB);
#endif
@@ -2315,6 +2378,13 @@ int main(int argc, char *argv[])
else
player[2] = PT_DUST;
}
+ if(isplayer2==0)
+ {
+ if(ptypes[sr].falldown>0 || sr == PT_NEUT || sr == PT_PHOT)
+ player2[2] = sr;
+ else
+ player2[2] = PT_DUST;
+ }
}