- Can now have animated tiles in layer2
- Life powerup now registers on powerup detector
This commit is contained in:
parent
3967e8d5dd
commit
d478852cc9
|
@ -24,9 +24,9 @@ exitdir 1
|
||||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,4,
|
||||||
4,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,0,0,0,0,0,4,4,4,4,4,4,4,4,4,0,0,0,4,
|
4,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,0,0,0,0,0,4,4,4,4,4,4,4,4,4,0,0,0,4,
|
||||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,0,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,0,0,0,4,
|
||||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,53,53,53,53,53,53,0,0,0,4,
|
||||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,53,53,53,53,53,53,53,0,0,4,
|
||||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
|
4,0,0,0,0,0,0,0,0,81,81,81,81,81,81,81,81,0,0,0,0,0,0,0,0,0,0,0,53,53,53,53,53,53,53,53,0,0,0,4,
|
||||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,
|
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,
|
||||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,7,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,7,0,0,4,
|
||||||
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,7,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,7,0,0,4,
|
||||||
|
@ -40,11 +40,17 @@ exitdir 1
|
||||||
4,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,7,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,7,0,0,4,
|
||||||
4,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,7,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,7,0,0,4,
|
||||||
4,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,7,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,7,0,0,4,
|
||||||
4,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,7,0,0,4,
|
4,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,72,71,73,1,1,1,1,0,0,0,1,0,0,0,0,7,0,0,4,
|
||||||
4,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,4,
|
4,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,4,
|
||||||
4,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,4,
|
4,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,4,
|
||||||
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
|
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
|
||||||
layer2
|
layer2
|
||||||
|
30,11,72
|
||||||
|
31,11,71
|
||||||
|
32,11,73
|
||||||
|
30,12,69
|
||||||
|
31,12,68
|
||||||
|
32,12,70
|
||||||
36,13,8
|
36,13,8
|
||||||
10,16,8
|
10,16,8
|
||||||
20,16,8
|
20,16,8
|
||||||
|
|
|
@ -61,7 +61,7 @@ id 8
|
||||||
solid 1
|
solid 1
|
||||||
dir newtiles
|
dir newtiles
|
||||||
file log1.png log1.5.png log2.png log2.5.png log3.png log3.5.png log4.png log4.5.png
|
file log1.png log1.5.png log2.png log2.5.png log3.png log3.5.png log4.png log4.5.png
|
||||||
animspeed 5
|
animspeed 15
|
||||||
end
|
end
|
||||||
|
|
||||||
tile left
|
tile left
|
||||||
|
@ -534,6 +534,7 @@ tile light
|
||||||
id 5
|
id 5
|
||||||
solid 0
|
solid 0
|
||||||
file newtiles/light.png
|
file newtiles/light.png
|
||||||
|
animspeed 5
|
||||||
end
|
end
|
||||||
|
|
||||||
tile light2
|
tile light2
|
||||||
|
|
6
rc.c
6
rc.c
|
@ -543,7 +543,11 @@ int main (int argc, char **argv) {
|
||||||
|
|
||||||
offset = *animtile;
|
offset = *animtile;
|
||||||
|
|
||||||
tt = gettile(curlevel->map[offset]);
|
// Is l2 tile animated?
|
||||||
|
tt = gettile(curlevel->map2[offset]);
|
||||||
|
if (tt->numframes == 1) { // if no l2, use l1
|
||||||
|
tt = gettile(curlevel->map[offset]);
|
||||||
|
}
|
||||||
|
|
||||||
numframes = tt->numframes;
|
numframes = tt->numframes;
|
||||||
|
|
||||||
|
|
41
shared.c
41
shared.c
|
@ -503,7 +503,28 @@ int loadlevel(int lnum, int wantmonsters) {
|
||||||
p = strtok(NULL, ","); tid = atoi(p);
|
p = strtok(NULL, ","); tid = atoi(p);
|
||||||
p = strtok(NULL, ",");
|
p = strtok(NULL, ",");
|
||||||
if (p == NULL) { // no more data
|
if (p == NULL) { // no more data
|
||||||
|
int numframes;
|
||||||
level->map2[yy*LEVELW+xx] = tid;
|
level->map2[yy*LEVELW+xx] = tid;
|
||||||
|
|
||||||
|
// animated l2
|
||||||
|
numframes = gettileframecount(tid);
|
||||||
|
if (numframes == 1) {
|
||||||
|
// not animated
|
||||||
|
// don't clear this, in case l1 is animated
|
||||||
|
//level->tileframe[y*LEVELW+x] = 0;
|
||||||
|
} else {
|
||||||
|
tiletype_t *thistile;
|
||||||
|
// animated
|
||||||
|
thistile = gettile(tid);
|
||||||
|
if (thistile->animsync) {
|
||||||
|
level->tileframe[yy*LEVELW+xx] = 0;
|
||||||
|
} else {
|
||||||
|
level->tileframe[yy*LEVELW+xx] = rand() % numframes;
|
||||||
|
}
|
||||||
|
tempanim[numanim] = yy*LEVELW+xx;
|
||||||
|
numanim++;
|
||||||
|
}
|
||||||
|
|
||||||
} else { // more data! this means use layer 3
|
} else { // more data! this means use layer 3
|
||||||
level->map3[yy*LEVELW+xx] = tid;
|
level->map3[yy*LEVELW+xx] = tid;
|
||||||
}
|
}
|
||||||
|
@ -1243,7 +1264,9 @@ int loadtiletypes(char *filename) {
|
||||||
}
|
}
|
||||||
t->numframes = frame;
|
t->numframes = frame;
|
||||||
// default animation speed
|
// default animation speed
|
||||||
t->animspeed = 20;
|
if ((t->numframes > 1) && (t->animspeed = 0)) {
|
||||||
|
t->animspeed = 20;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2716,6 +2739,7 @@ int isabilitypowerup(int id) {
|
||||||
case P_JETPACK:
|
case P_JETPACK:
|
||||||
case P_PILL:
|
case P_PILL:
|
||||||
case P_RAYGUN:
|
case P_RAYGUN:
|
||||||
|
case P_LIFE:
|
||||||
case P_TOPHAT:
|
case P_TOPHAT:
|
||||||
return B_TRUE;
|
return B_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -3193,10 +3217,16 @@ void drawtile(SDL_Surface *where, int x, int y) {
|
||||||
tt = gettile(curlevel->bgtileid);
|
tt = gettile(curlevel->bgtileid);
|
||||||
SDL_BlitSurface(levelbg, &area, where, &area);
|
SDL_BlitSurface(levelbg, &area, where, &area);
|
||||||
|
|
||||||
/* now draw real one */
|
/* now draw layer 1 tile */
|
||||||
offset = y*LEVELW+x;
|
offset = y*LEVELW+x;
|
||||||
|
|
||||||
tt = gettile(curlevel->map[offset]);
|
tt = gettile(curlevel->map[offset]);
|
||||||
frame = curlevel->tileframe[offset];
|
if (tt->numframes > 1) {
|
||||||
|
frame = curlevel->tileframe[offset];
|
||||||
|
} else {
|
||||||
|
frame = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (tt->id != curlevel->bgtileid) {
|
if (tt->id != curlevel->bgtileid) {
|
||||||
SDL_BlitSurface(tt->img[frame], NULL, where, &area);
|
SDL_BlitSurface(tt->img[frame], NULL, where, &area);
|
||||||
}
|
}
|
||||||
|
@ -3204,6 +3234,11 @@ void drawtile(SDL_Surface *where, int x, int y) {
|
||||||
/* now draw layer2 if it exists */
|
/* now draw layer2 if it exists */
|
||||||
if (curlevel->map2[offset] != T_BLANK) {
|
if (curlevel->map2[offset] != T_BLANK) {
|
||||||
tt = gettile(curlevel->map2[offset]);
|
tt = gettile(curlevel->map2[offset]);
|
||||||
|
if (tt->numframes > 1) {
|
||||||
|
frame = curlevel->tileframe[offset];
|
||||||
|
} else {
|
||||||
|
frame = 0;
|
||||||
|
}
|
||||||
if (tt->id != curlevel->bgtileid) {
|
if (tt->id != curlevel->bgtileid) {
|
||||||
SDL_BlitSurface(tt->img[frame], NULL, where, &area);
|
SDL_BlitSurface(tt->img[frame], NULL, where, &area);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue