22 #ifndef BLADERUNNER_SLICE_RENDERER_H 23 #define BLADERUNNER_SLICE_RENDERER_H 25 #include "bladerunner/color.h" 26 #include "bladerunner/vector.h" 27 #include "bladerunner/view.h" 28 #include "bladerunner/matrix.h" 30 #include "common/rect.h" 32 #include "graphics/surface.h" 35 class MemoryReadStream;
41 class BladeRunnerEngine;
65 float _frameSliceHeight;
66 uint32 _framePaletteIndex;
67 uint32 _frameSliceCount;
83 bool _animationsShadowEnabled[997];
85 Vector3 _shadowPolygonDefault[12];
86 Vector3 _shadowPolygonCurrent[12];
88 Color _setEffectColor;
98 void setView(
View *view);
99 void setLights(
Lights *lights);
102 void setupFrameInWorld(
int animationId,
int animationFrame,
Vector3 position,
float facing,
float scale = 1.0f);
103 void getScreenRectangle(
Common::Rect *screenRectangle,
int animationId,
int animationFrame,
Vector3 position,
float facing,
float scale);
104 void drawInWorld(
int animationId,
int animationFrame,
Vector3 position,
float facing,
float scale,
Graphics::Surface &surface, uint16 *zbuffer);
105 void drawOnScreen(
int animationId,
int animationFrame,
int screenX,
int screenY,
float facing,
float scale,
Graphics::Surface &surface);
107 void preload(
int animationId);
109 void disableShadows(
int *animationsIdsList,
int listSize);
112 void calculateBoundingRect();
113 Matrix3x2 calculateFacingRotationMatrix();
114 void loadFrame(
int animation,
int frame);
116 void drawSlice(
int slice,
bool advanced,
int y,
Graphics::Surface &surface, uint16 *zbufferLine);
117 void drawShadowInWorld(
int transparency,
Graphics::Surface &surface, uint16 *zbuffer);
118 void drawShadowPolygon(
int transparency,
Graphics::Surface &surface, uint16 *zbuffer);
123 Color _cacheColor[20];
124 float _cacheCounter[20];
125 float _cacheStart[20];
126 int _cacheRecalculation;
134 void calculateColorBase(
Vector3 position1,
Vector3 position2,
float height);
135 void calculateColorSlice(
Vector3 position);
Definition: slice_renderer.h:121
Graphics::Surface * scale(const Graphics::Surface &srcImage, int xSize, int ySize)
Definition: set_effects.h:33
Definition: algorithm.h:29
Definition: slice_renderer.h:45
Definition: bladerunner.h:113
Definition: screen_effects.h:39