mirror of
https://git.coom.tech/drummyfish/raycastlib.git
synced 2024-11-23 20:49:57 +01:00
Add init functions
This commit is contained in:
parent
ff5ccd9feb
commit
2467bbbc62
1 changed files with 24 additions and 0 deletions
24
raycastlib.h
24
raycastlib.h
|
@ -330,6 +330,9 @@ void moveCameraWithCollision(Camera *camera, Vector2D planeOffset,
|
||||||
Unit heightOffset, ArrayFunction floorHeightFunc,
|
Unit heightOffset, ArrayFunction floorHeightFunc,
|
||||||
ArrayFunction ceilingHeightFunc, int8_t computeHeight, int8_t force);
|
ArrayFunction ceilingHeightFunc, int8_t computeHeight, int8_t force);
|
||||||
|
|
||||||
|
void initCamera(Camera *camera);
|
||||||
|
void initRayConstraints(RayConstraints *constraints);
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// privates
|
// privates
|
||||||
|
|
||||||
|
@ -1068,6 +1071,9 @@ void _columnFunctionSimple(HitResult *hits, uint16_t hitCount, uint16_t x,
|
||||||
|
|
||||||
int16_t wallHeightWorld = _floorFunction(hit.square.x,hit.square.y);
|
int16_t wallHeightWorld = _floorFunction(hit.square.x,hit.square.y);
|
||||||
|
|
||||||
|
wallHeightWorld = wallHeightWorld != 0 ? wallHeightWorld : 1;
|
||||||
|
// ^ prevent division by zero
|
||||||
|
|
||||||
wallHeightScreen = perspectiveScale((wallHeightWorld *
|
wallHeightScreen = perspectiveScale((wallHeightWorld *
|
||||||
_camera.resolution.y) / UNITS_PER_SQUARE,dist);
|
_camera.resolution.y) / UNITS_PER_SQUARE,dist);
|
||||||
|
|
||||||
|
@ -1442,4 +1448,22 @@ void moveCameraWithCollision(Camera *camera, Vector2D planeOffset,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void initCamera(Camera *camera)
|
||||||
|
{
|
||||||
|
camera->position.x = 0;
|
||||||
|
camera->position.y = 0;
|
||||||
|
camera->direction = 0;
|
||||||
|
camera->resolution.x = 20;
|
||||||
|
camera->resolution.y = 15;
|
||||||
|
camera->shear = 0;
|
||||||
|
camera->height = UNITS_PER_SQUARE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void initRayConstraints(RayConstraints *constraints)
|
||||||
|
{
|
||||||
|
constraints->maxHits = 1;
|
||||||
|
constraints->maxSteps = 20;
|
||||||
|
constraints->computeTextureCoords = 1;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue