diff options
| author | Simon <simon@hardwired.org.uk> | 2010-12-19 17:29:30 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2010-12-19 17:29:30 (GMT) |
| commit | e380237cbc87ed97b16955b40807b0f2427818e9 (patch) | |
| tree | 7ca5cf634c1f6dd2034e7e9faedac2fe6d00344e /src/main.c | |
| parent | 24e662bc2d1f398962a59de85f993e8fad7190bc (diff) | |
| parent | ee4bb84395f2e8aaa9e9af7080f03d837b0a0344 (diff) | |
| download | powder-e380237cbc87ed97b16955b40807b0f2427818e9.zip powder-e380237cbc87ed97b16955b40807b0f2427818e9.tar.gz | |
Fix merge
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 96 |
1 files changed, 83 insertions, 13 deletions
@@ -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; + } } |
