Fixed love crash on mac, added adjustable grid mode, hit 'g', goes up to 9.
This commit is contained in:
parent
bb16ffa2bb
commit
491016eaf4
@ -131,6 +131,7 @@ int SEC;
|
||||
int SEC2;
|
||||
int REPLACE_MODE;
|
||||
int CURRENT_BRUSH;
|
||||
int GRID_MODE;
|
||||
extern sign signs[MAXSIGNS];
|
||||
extern stamp stamps[STAMP_MAX];
|
||||
extern int stamp_count;
|
||||
|
@ -369,8 +369,8 @@ static const part_type ptypes[PT_NUM] =
|
||||
{"PRTO", PIXPACK(0x0020EB), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.005f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_CRACKER, R_TEMP+0.0f +273.15f, 40, "Portal OUT. Things come out here", TYPE_SOLID},
|
||||
{"PSTE", PIXPACK(0xAA99AA), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 20, 1, 31, SC_CRACKER, R_TEMP-2.0f +273.15f, 29, "Colloid", TYPE_LIQUID},
|
||||
{"PSTS", PIXPACK(0x776677), 0.0f, 0.00f * CFDS, 0.00f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 20, 0, 100, SC_CRACKER, R_TEMP-2.0f +273.15f, 29, "blah blah solid not in the menu", TYPE_SOLID},
|
||||
{"ANAR", PIXPACK(0xFFFFEE), 0.7f, 0.02f * CFDS, 0.96f, 0.80f, 0.1f, 0.1f, 0.00f, 0.000f * CFDS, 1, 10, 0, 0, 30, 1, 85, SC_POWDERS, R_TEMP+0.0f +273.15f, 70, "Very light dust. Behaves", TYPE_PART},
|
||||
{"VINE", PIXPACK(0x079A00), 0.0f, 0.00f * CFDS, 0.95f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 20, 0, 0, 10, 1, 100, SC_CRACKER, R_TEMP+0.0f +273.15f, 65, "Vine, not in menu", TYPE_SOLID},
|
||||
{"ANAR", PIXPACK(0xFFFFEE), 0.7f, 0.02f * CFDS, 0.96f, 0.80f, 0.1f, 0.1f, 0.00f, 0.000f * CFDS, 1, 10, 0, 0, 30, 1, 85, SC_POWDERS, R_TEMP+0.0f +273.15f, 70, "Very light dust. Behaves opposite", TYPE_PART},
|
||||
{"VINE", PIXPACK(0x079A00), 0.0f, 0.00f * CFDS, 0.95f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 20, 0, 0, 10, 1, 100, SC_CRACKER, R_TEMP+0.0f +273.15f, 65, "Vine, grows", TYPE_SOLID},
|
||||
{"INVS", PIXPACK(0x00CCCC), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 15, 1, 100, SC_CRACKER, R_TEMP+0.0f +273.15f, 164, "Invisible to everything while under pressure.", TYPE_SOLID},
|
||||
{"EQVE", PIXPACK(0xFFE0A0), 0.7f, 0.02f * CFDS, 0.96f, 0.80f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 1, 0, 0, 0, 30, 0, 85, SC_CRACKER, R_TEMP+0.0f +273.15f, 70, "Shared velocity test", TYPE_PART},
|
||||
{"INST", PIXPACK(0xAAAAAA), 0.0f, 0.00f * CFDS, 1.00f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 1, 0, 100, SC_SPECIAL, R_TEMP+0.0f +273.15f, 251, "helper for INST", 0},
|
||||
|
@ -1304,6 +1304,17 @@ void draw_parts(pixel *vid)
|
||||
int cr, cg, cb;
|
||||
float fr, fg, fb;
|
||||
float pt = R_TEMP;
|
||||
if(GRID_MODE)
|
||||
{
|
||||
for(ny=0;ny<YRES;ny++)
|
||||
for(nx=0;nx<XRES;nx++)
|
||||
{
|
||||
if(ny%(4*GRID_MODE)==0)
|
||||
blendpixel(vid, nx, ny, 100, 100, 100, 80);
|
||||
if(nx%(4*GRID_MODE)==0)
|
||||
blendpixel(vid, nx, ny, 100, 100, 100, 80);
|
||||
}
|
||||
}
|
||||
for(i = 0; i<NPART; i++) {
|
||||
#ifdef OpenGL
|
||||
if(cmode == CM_FANCY) //If fancy mode
|
||||
|
@ -1393,6 +1393,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
if(sdl_key==SDLK_INSERT)
|
||||
REPLACE_MODE = !REPLACE_MODE;
|
||||
if(sdl_key=='g')
|
||||
GRID_MODE = (GRID_MODE+1)%10;
|
||||
if(sdl_key==SDLK_SPACE)
|
||||
sys_pause = !sys_pause;
|
||||
if(sdl_key=='h')
|
||||
@ -2165,6 +2167,8 @@ int main(int argc, char *argv[])
|
||||
sprintf(uitext, "Cracker's V%d FPS:%d Parts:%d REPLACE MODE", SAVE_VERSION, FPS,NUM_PARTS);
|
||||
else if(sdl_mod&(KMOD_CAPS))
|
||||
sprintf(uitext, "Cracker's V%d FPS:%d Parts:%d CAPS LOCK ON", SAVE_VERSION, FPS, NUM_PARTS);
|
||||
else if(GRID_MODE)
|
||||
sprintf(uitext, "Cracker's V%d FPS:%d Parts:%d Grid:%d", SAVE_VERSION, FPS, NUM_PARTS,GRID_MODE);
|
||||
else
|
||||
sprintf(uitext, "Cracker's V%d FPS:%d Parts:%d", SAVE_VERSION, FPS, NUM_PARTS);
|
||||
//printf("%s\n", uitext);
|
||||
|
14
src/powder.c
14
src/powder.c
@ -922,25 +922,27 @@ void update_particles_i(pixel *vid, int start, int inc)
|
||||
if(ISLOVE==1)
|
||||
{
|
||||
ISLOVE = 0;
|
||||
for(ny=4;ny<YRES-4;ny++)
|
||||
for(ny=0;ny<YRES-4;ny++)
|
||||
{
|
||||
for(nx=4;nx<XRES-4;nx++)
|
||||
for(nx=0;nx<XRES-4;nx++)
|
||||
{
|
||||
r=pmap[ny][nx];
|
||||
if((r>>8)>=NPART || !r)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if(parts[r>>8].type==PT_LOVE)
|
||||
else if((ny<9||nx<9||ny>YRES-7||nx>XRES-10)&&parts[r>>8].type==PT_LOVE)
|
||||
parts[r>>8].type = PT_NONE;
|
||||
else if(parts[r>>8].type==PT_LOVE)
|
||||
{
|
||||
love[nx/9][ny/9] = 1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
for(nx=0;nx<=XRES-4;nx++)
|
||||
for(nx=9;nx<=XRES-18;nx++)
|
||||
{
|
||||
for(ny=0;ny<=YRES-4;ny++)
|
||||
for(ny=9;ny<=YRES-7;ny++)
|
||||
{
|
||||
if(love[nx/9][ny/9]==1)
|
||||
{
|
||||
@ -956,6 +958,8 @@ void update_particles_i(pixel *vid, int start, int inc)
|
||||
}
|
||||
if(!rt&&loverule[nnx][nny]==1)
|
||||
create_part(-1,nx+nnx,ny+nny,PT_LOVE);
|
||||
else if(!rt)
|
||||
continue;
|
||||
else if(parts[rt>>8].type==PT_LOVE&&loverule[nnx][nny]==0)
|
||||
parts[rt>>8].type=PT_NONE;
|
||||
|
||||
|
Reference in New Issue
Block a user