Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
vor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
oops, didn't fix bang dots correctly.
[vor.git]
/
main.c
diff --git
a/main.c
b/main.c
index
01fcc13
..
ea1f536
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-42,7
+42,7
@@
#include "sound.h"
#ifdef WIN32
#include "sound.h"
#ifdef WIN32
-#define SetAlpha(surf, flag, alpha)
+#define SDL_SetAlpha(surf, flag, alpha)
#endif
// ************************************* VARS
#endif
// ************************************* VARS
@@
-138,22
+138,20
@@
init_engine_dots() {
void
new_bang_dots(int xbang, int ybang, int dx, int dy, SDL_Surface *s)
{
void
new_bang_dots(int xbang, int ybang, int dx, int dy, SDL_Surface *s)
{
- int x,y,endcount;
- uint16_t *pixel,c;
+ int i, n, x, y;
+ uint16_t *pixel, c;
uint32_t colorkey;
int row_inc;
uint32_t colorkey;
int row_inc;
- double theta,r;
- int begin_generate;
+ double theta, r;
- begin_generate = SDL_GetTicks();
+ n = 24.0 * t_frame;
pixel = s->pixels;
row_inc = s->pitch/sizeof(uint16_t) - s->w;
colorkey = s->format->colorkey;
SDL_LockSurface(s);
pixel = s->pixels;
row_inc = s->pitch/sizeof(uint16_t) - s->w;
colorkey = s->format->colorkey;
SDL_LockSurface(s);
- endcount = 0;
- while (endcount<3) {
+ for(i=0; i<n; i++) {
pixel = s->pixels;
for(y=0; y<s->h; y++) {
for(x = 0; x<s->w; x++) {
pixel = s->pixels;
for(y=0; y<s->h; y++) {
for(x = 0; x<s->w; x++) {
@@
-161,26
+159,21
@@
new_bang_dots(int xbang, int ybang, int dx, int dy, SDL_Surface *s)
if(c && c != colorkey) {
theta = frnd()*M_PI*2;
r = frnd(); r = 1 - r*r;
if(c && c != colorkey) {
theta = frnd()*M_PI*2;
r = frnd(); r = 1 - r*r;
- // r = 1 - frnd()*frnd();
bdot[bd2].dx = 45*r*cos(theta) + dx;
bdot[bd2].dy = 45*r*sin(theta) + dy;
bdot[bd2].x = x + xbang;
bdot[bd2].y = y + ybang;
bdot[bd2].dx = 45*r*cos(theta) + dx;
bdot[bd2].dy = 45*r*sin(theta) + dy;
bdot[bd2].x = x + xbang;
bdot[bd2].y = y + ybang;
- bdot[bd2].c = 0;
+ bdot[bd2].c = (i < n-3) ? 0 : c;
bdot[bd2].life = 100;
bdot[bd2].decay = frnd()*3 + 1;
bdot[bd2].active = 1;
bdot[bd2].life = 100;
bdot[bd2].decay = frnd()*3 + 1;
bdot[bd2].active = 1;
- // Replace the last few bang dots with the pixels from the exploding object
- if(endcount>0) bdot[bd2].c = c;
-
bd2 = (bd2+1) % MAXBANGDOTS;
}
pixel += row_inc;
}
}
bd2 = (bd2+1) % MAXBANGDOTS;
}
pixel += row_inc;
}
}
- if(SDL_GetTicks() - begin_generate > 7) endcount++;
}
SDL_UnlockSurface(s);
}
SDL_UnlockSurface(s);
@@
-310,7
+303,7
@@
drawdots(SDL_Surface *s) {
// Create engine dots out the side we're moving from
for(m = 0; m<4; m++) {
if(ship.jets & 1<<m) { // 'jets' is a bit field
// Create engine dots out the side we're moving from
for(m = 0; m<4; m++) {
if(ship.jets & 1<<m) { // 'jets' is a bit field
- new_engine_dots(80,m);
+ new_engine_dots(200.0*t_frame,m);
}
}
}
}