baseobj = main.obj
-demoobj = demo.obj screen.obj tunnel.obj fract.obj gfxutil.obj
+demoobj = demo.obj screen.obj tunnel.obj fract.obj gfxutil.obj mike.obj
sysobj = gfx.obj vbe.obj dpmi.obj timer.obj keyb.obj mouse.obj logger.obj
obj = $(baseobj) $(demoobj) $(sysobj)
bin = demo.exe
/* Scale normal with depth and unpack R component (horizontal component) */
static void processNormal() {
int scanline;
- unsigned int *normalmap = (unsigned int*)background;
- normalmap += NORMALMAP_SCANLINE * backgroundW;
- unsigned short *dst = normalmap;
- displacementMap = (short*)dst;
- short *dst2 = displacementMap;
float scale;
int i;
int x;
short maxDisplacement = 0;
short minDisplacement = 256;
+ unsigned short *dst;
+ short *dst2;
+ unsigned int *normalmap = (unsigned int*)background;
+ normalmap += NORMALMAP_SCANLINE * backgroundW;
+ dst = (unsigned short*)normalmap;
+ displacementMap = (short*)dst;
+ dst2 = displacementMap;
for (scanline = 0; scanline < REFLECTION_HEIGHT; scanline++) {
scale = 2.0f - (float)scanline / ((float)REFLECTION_HEIGHT - 1);
scrollModTable[scanline] = (int) (backgroundW / scale + 0.5f);
for (i = 0; i < backgroundW; i++) {
x = (int)(i * scale + 0.5f);
- if (x < background) {
+ if (x < backgroundW) {
*dst = (unsigned short)normalmap[x] & 0xFF;
if ((short)*dst > maxDisplacement) maxDisplacement = (short)(*dst);
if ((short)*dst < minDisplacement) minDisplacement = (short)(*dst);
scrollTable[i] += scrollSpeedTable[i] * dt;
scrollTableRounded[i] = (int)(scrollTable[i] + 0.5f) % scrollModTable[i];
}
-}
\ No newline at end of file
+}