summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorCracker64 <cracker642@gmail.com>2011-01-04 18:26:28 (GMT)
committer Cracker64 <cracker642@gmail.com>2011-01-04 18:26:28 (GMT)
commit5a37f32ca12a48432af5be190245d2a377005e49 (patch)
tree37debebea7e19e5529accdbdd2a3329189cb3014 /src/main.c
parent5b86cd5c217efa50df96a2ad36ee137646387655 (diff)
downloadpowder-5a37f32ca12a48432af5be190245d2a377005e49.zip
powder-5a37f32ca12a48432af5be190245d2a377005e49.tar.gz
update with simon, and shift-v now does every other frame properly
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c79
1 files changed, 55 insertions, 24 deletions
diff --git a/src/main.c b/src/main.c
index 59fcea4..c5fc100 100644
--- a/src/main.c
+++ b/src/main.c
@@ -477,6 +477,7 @@ int parse_save(void *save, int size, int replace, int x0, int y0)
if(replace)
{
+ gravityMode = 1;
memset(bmap, 0, sizeof(bmap));
memset(emap, 0, sizeof(emap));
memset(signs, 0, sizeof(signs));
@@ -1515,6 +1516,29 @@ int main(int argc, char *argv[])
else
GRID_MODE = (GRID_MODE+1)%10;
}
+
+ if(sdl_key=='w') //Gravity, by Moach
+ {
+ ++gravityMode; // cycle gravity mode
+ itc = 51;
+
+ switch (gravityMode)
+ {
+ default:
+ gravityMode = 0;
+ case 0:
+ strcpy(itc_msg, "Gravity: Off");
+ break;
+ case 1:
+ strcpy(itc_msg, "Gravity: Vertical");
+ break;
+ case 2:
+ strcpy(itc_msg, "Gravity: Radial");
+ break;
+
+ }
+ }
+
if(sdl_key=='t')
VINE_MODE = !VINE_MODE;
if(sdl_key==SDLK_SPACE)
@@ -1590,32 +1614,33 @@ int main(int argc, char *argv[])
}
}
#ifdef INTERNAL
- int counterthing;
- if(sdl_key=='v')
- {
- if(sdl_mod & (KMOD_SHIFT)){
- if(vs>=1)
- vs = 0;
- else
- vs = 2;
- }
- else{
- if(vs>=1)
- vs = 0;
- else
- vs = 1;
+ int counterthing;
+ if(sdl_key=='v'&&!(sdl_mod & (KMOD_LCTRL|KMOD_RCTRL)))
+ {
+ if(sdl_mod & (KMOD_SHIFT)){
+ if(vs>=1)
+ vs = 0;
+ else
+ vs = 3;//every other frame
+ }
+ else
+ {
+ if(vs>=1)
+ vs = 0;
+ else
+ vs = 1;
+ }
+ counterthing = 0;
}
- counterthing = 0;
- }
if(vs)
- {
- if(counterthing+1>=vs)
- {
- dump_frame(vid_buf, XRES, YRES, XRES+BARSIZE);
- counterthing = 0;
- }
- counterthing = (counterthing+1)%3;
- }
+ {
+ if(counterthing+1>=vs)
+ {
+ dump_frame(vid_buf, XRES, YRES, XRES+BARSIZE);
+ counterthing = 0;
+ }
+ counterthing = (counterthing+1)%3;
+ }
#endif
if(sdl_wheel)
@@ -2033,6 +2058,8 @@ int main(int argc, char *argv[])
svf_id[0] = 0;
svf_name[0] = 0;
svf_tags[0] = 0;
+ svf_description[0] = 0;
+ gravityMode = 1;
memset(fire_bg, 0, XRES*YRES*PIXELSIZE);
memset(fire_r, 0, sizeof(fire_r));
@@ -2386,6 +2413,10 @@ int main(int argc, char *argv[])
strappend(uitext, " [CAP LOCKS]");
if(GRID_MODE)
sprintf(uitext, "%s [GRID: %d]", uitext, GRID_MODE);
+#ifdef INTERNAL
+ if(vs)
+ strappend(uitext, " [FRAME CAPTURE]");
+#endif
if(sdl_zoom_trig||zoom_en)
{