mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'camheight-mapheader' into 'master'
Add CameraHeight level header option See merge request kart-krew-dev/ring-racers-internal!2550
This commit is contained in:
commit
3fd8d10630
6 changed files with 28 additions and 1 deletions
|
|
@ -1494,6 +1494,18 @@ void readlevelheader(MYFILE *f, char * name)
|
|||
deh_warning("Level header %d: invalid lobby size '%s'", num, word2);
|
||||
}
|
||||
}
|
||||
else if (fastcmp(word, "CAMHEIGHT") || fastcmp(word, "CAMERAHEIGHT"))
|
||||
{
|
||||
fixed_t camheight = FloatToFixed(atof(word2));
|
||||
|
||||
if (camheight < 0)
|
||||
{
|
||||
deh_warning("Level header %d: invalid camera height %s", num, word2);
|
||||
continue;
|
||||
}
|
||||
|
||||
mapheaderinfo[num]->cameraHeight = camheight;;
|
||||
}
|
||||
else
|
||||
deh_warning("Level header %d: unknown word '%s'", num, word);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -558,6 +558,8 @@ struct mapheader_t
|
|||
mapheader_lighting_t lighting_encore; ///< Alternative lighting for Encore mode
|
||||
boolean use_encore_lighting; ///< Whether to use separate Encore lighting
|
||||
|
||||
fixed_t cameraHeight; ///< Player camera height to use on this map
|
||||
|
||||
// Audience information
|
||||
UINT8 numFollowers; ///< Internal. For audience support.
|
||||
INT16 *followers; ///< List of audience followers in this level. Allocated dynamically for space reasons. Be careful.
|
||||
|
|
|
|||
|
|
@ -2572,6 +2572,8 @@ static int mapheaderinfo_get(lua_State *L)
|
|||
lua_pushfixed(L, header->mobj_scale);
|
||||
else if (fastcmp(field, "gravity"))
|
||||
lua_pushfixed(L, header->gravity);
|
||||
else if (fastcmp(field, "cameraheight"))
|
||||
lua_pushfixed(L, header->cameraHeight);
|
||||
else {
|
||||
// Read custom vars now
|
||||
// (note: don't include the "LUA." in your lua scripts!)
|
||||
|
|
|
|||
|
|
@ -526,6 +526,7 @@ static void P_ClearSingleMapHeaderInfo(INT16 num)
|
|||
mapheaderinfo[num]->automedaltime[1] = 2;
|
||||
mapheaderinfo[num]->automedaltime[2] = 3;
|
||||
mapheaderinfo[num]->automedaltime[3] = 4;
|
||||
mapheaderinfo[num]->cameraHeight = INT32_MIN;
|
||||
}
|
||||
|
||||
/** Allocates a new map-header structure.
|
||||
|
|
|
|||
|
|
@ -9601,6 +9601,11 @@ void P_DoQuakeOffset(UINT8 view, mappoint_t *viewPos, mappoint_t *offset)
|
|||
|
||||
fixed_t maxShake = FixedMul(cv_cam_height[view].value, mapobjectscale) * 3 / 4;
|
||||
|
||||
if (mapheaderinfo[gamemap-1]->cameraHeight >= 0)
|
||||
{
|
||||
maxShake = FixedMul(mapheaderinfo[gamemap-1]->cameraHeight, mapobjectscale) * 3 / 4;
|
||||
}
|
||||
|
||||
if (battle)
|
||||
{
|
||||
addZ /= 2;
|
||||
|
|
|
|||
|
|
@ -3361,6 +3361,11 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
|||
camdist = FixedMul(cv_cam_dist[num].value, cameraScale);
|
||||
camheight = FixedMul(cv_cam_height[num].value, cameraScale);
|
||||
|
||||
if (mapheaderinfo[gamemap-1]->cameraHeight >= 0)
|
||||
{
|
||||
camheight = FixedMul(mapheaderinfo[gamemap-1]->cameraHeight, cameraScale);
|
||||
}
|
||||
|
||||
if (loop_in < loop->zoom_in_speed)
|
||||
{
|
||||
fixed_t f = loop_out < loop->zoom_out_speed
|
||||
|
|
@ -4543,7 +4548,7 @@ void P_PlayerThink(player_t *player)
|
|||
player->mo->renderflags &= ~RF_DONTDRAW;
|
||||
player->mo->flags &= ~MF_NOCLIPTHING;
|
||||
}
|
||||
|
||||
|
||||
boolean deathcontrolled = (player->respawn.state != RESPAWNST_NONE && player->respawn.truedeath == true)
|
||||
|| (player->pflags & PF_NOCONTEST) || (player->karmadelay);
|
||||
boolean powercontrolled = (player->hyudorotimer) || (player->growshrinktimer > 0);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue