X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fthunder.c;h=cacb7b55f364327496c6a0c02d6045960aad0117;hp=59843c2fa3f1f5321e3914757dbf7973e300f6cd;hb=7deef4d5a20da09044bf7311c6ee274090cde5e6;hpb=20cdebdd6428760aa0ca30c03094734f0aca173b diff --git a/src/thunder.c b/src/thunder.c index 59843c2..cacb7b5 100644 --- a/src/thunder.c +++ b/src/thunder.c @@ -20,7 +20,7 @@ static unsigned char *blurBuffer, *blurBuffer2; #define THUNDER_RECT_SIZE 2 #define THUNDER_RANDOMNESS 16 -#define THUNDER_SECONDS 0.1f +#define THUNDER_SECONDS 0.075f #define VERTEX_COUNT 12 #define PERSPECTIVE_NEUTRAL_DEPTH 0.5f @@ -33,8 +33,6 @@ static unsigned char *blurBuffer, *blurBuffer2; #define CAMERA_DISTANCE 1.1f -#define PI 3.14159f - /* TODO: Load palette from file */ static unsigned short palette[256]; @@ -188,7 +186,7 @@ void applyBlur() { } void blitEffect() { - unsigned int *dst1 = (unsigned int*) vmem_back; + unsigned int *dst1 = (unsigned int*) fb_pixels; unsigned int *dst2 = dst1 + 160; /* We're writing two pixels at once */ unsigned char *src1 = blurBuffer + BLUR_BUFFER_WIDTH + 1; unsigned char *src2 = src1 + BLUR_BUFFER_WIDTH; @@ -200,7 +198,7 @@ void blitEffect() { tl = *src1; tr = (*src1 + *(src1 + 1)) >> 1; bl = (*src1 + *src2) >> 1; - br = tr + ((*src2 + *(src2 + 1)) >> 1) >> 1; + br = (tr + ((*src2 + *(src2 + 1)) >> 1)) >> 1; /* Pack 2 pixels in each 32 bit word */ *dst1 = (palette[tr] << 16) | palette[tl]; @@ -290,20 +288,22 @@ void animateMesh() { by.y = 1.0f; by.z = 0.0f; - bz.x = cos(yRot + PI/2.0f); + bz.x = cos(yRot + M_PI/2.0f); bz.y = 0.0f; - bz.z = sin(yRot + PI/2.0f); + bz.z = sin(yRot + M_PI/2.0f); for (i = 0; i < VERTEX_COUNT; i++) { MyVertex v1, v2; v1 = vertexBuffer[i]; - /* O re panaia mou */ + v1.y *= sin(time_msec / 1000.0f + v1.x + v1.z); + + /* O re panaia mou */ v2.x = v1.x * bx.x + v1.y * by.x + v1.z * bz.x; v2.y = v1.x * bx.y + v1.y * by.y + v1.z * bz.y; v2.z = v1.x * bx.z + v1.y * by.z + v1.z * bz.z; - + v2.z += CAMERA_DISTANCE; vertexBufferAnimated[i] = v2;